Newsgroup: it.comp.programmare
Titolo: consiglio scelta linguaggio

Allo stato attuale il mondo dell'informatica è letteralmente invaso da
una miriade di programmi, formati, linguaggi di programmazione,
sistemi operativi, ecc&#8230; Ormai sono 7 anni che utilizzo il pc e
considerando che sono partito da zero (non sapevo neanche a che cosa
serviva, né come accenderlo) ho compiuto passi notevoli. Ho cominciato
a muovere anche i primi passi nel mondo della programmazione (ho
scritto i programmi più banali con Basic, C, ho poi fatto una toccata
e fuga con Visual Basic e Visual C++) ma mi sono accorto che ormai
tale campo è diventato una giungla. Nonostante ciò avrei comunque la
volontà di approfondire le mie conoscenze relative all'argomento, per
questo avrei bisogno di alcune dritte da persone più esperte di me che
mi sappiano indirizzare. Il mio obiettivo è quello di riuscire (un
giorno, chissà) di riuscire a smanettare sia a livello fisico il
computer, manipolando i dati di input e output, nonché di riuscire a
lavorare con databases grandi, realizzando programmi di alto livello
che interagiscano con il sistema operativo e che abbiano
un'interfaccia grafica. Qual è, se esiste, il linguaggio di
programmazione che permetta di lavorare sia a livello basso che a
livello alto? Mi rendo conto che creare una interfaccia grafica con
assembler sia un'impresa tanto ardua quanto masochista, ma a me
andrebbe bene saper programmare sia ad alto che a basso livello,
incorporando strutture semplici in programmi più complessi. Avrete
qualche dritta da darmi? Per quanto ho potuto sondare finora non
conosco persone che mi sappiano dare informazioni in merito, perché i
pochi che sanno qualcosa hanno tutti opinioni di parte (o assebler o
Visual Basic). Pensate che a scuola hanno tentato di insegnarmi il C++
senza mai accennare all'argomento della programmazione ad oggetti, che
è la vera potenzialità del C++ rispetto al classico C. Dove posso
reperire le giuste informazioni in rete? Oppure potete consigliarmi
qualche rivista/libro, da non spendere un'infinità? Grazie.

donnapibic ha scritto:
<snip>
hai un sacco di roba da imparare, purtroppo e per fortuna.
Immagino che l'unico linguaggio che ti permetta di andare a ravanare nei 
dettagli più bassi ma anche di fare cose di alto livello sia ancora solo 
il c++ e in minor parte il c. Ma va detto che in praticamente tutti i 
linguaggi di alto livello è possibile usare estensioni scritte in altri 
di livello più basso. Io mio orienteri su linguaggi di alto livello, non 
perchè ci sia nulla di male nell'uso del C o dell' assembly o del forth, 
ma perchè mi pare difficile la possibilità di trovarti a ravanare a 
livello così basso da usare l'assembly.
Probabilmente, visto che un'infarinature ce l'hai già sarebbe meglio 
approfondire il c++. A riguardo mi hanno parlate bene di "Effective 
C++". Giusto i miei due cent.

 qualche rivista/libro, da non spendere un'infinità? Grazie.
http://www.geocities.com/x_scn/Ebooks/Lang.html

 altrimenti io partirei con Python/Perl. 
perchè? sembra (non dico che tu lo intenda) una delle cose in stile "i 
linguaggi dinamici sono giocattoli, la roba seria è altra".
Io da quando ho iniziato a programmare in ruby ho scoperto più cose 
sulla programmazione di quante ne avrei mai immaginate in java :)
PS
auguri auguri a tutti

Python.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 auguri auguri a tutti
Mi aggiungo anchio :-)

 qualche dritta da darmi?
Il linguaggio C++ permette di spaziare notevolmente tra il basso e 
l'alto livello.
Tuttavia, il prezzo da pagare e' la grande complessita' del linguaggio, 
a cui si aggiunge che l'alto livello non e' in realta' altissimo. Per 
spaziare maggiormente tra il basso e l'alto livello, consiglio di usare 
due linguaggi diversi; per esempio potresti usare i linguaggi C o 
Assembly per la programmazione a basso livello, e Python o C# per la 
programmazione ad alto livello. Da un programma scritto in un linguaggio 
ad alto livello puoi richiamare routine scritte in un linguaggio a basso 
livello e incorporate in una libreria dinamica.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 questo caso ben poco di quanto appreso ti sarebbe utile.
lisp non è funzionale! (ok, è più funzionale del C, ma è multiparadigma 
comunque, come python o ruby, i lisper si incavolano a riguardo ;).
Cmq,scrivo per chiedere: cosa è Q? (cercare su google è arduo in questo 
caso)

 caso)
Ti posto il link:
http://q-lang.sourceforge.net/

 
http://q-lang.sourceforge.net/
grazie mille :)

Ci sono diversi modi per programmare e qualcuno te ne ha elencati alcuni.
Sono tutti validi sistemi, ma...
Io ti consiglio il C++, per la sua potenza e la sua versatilità.
Poi, secondo me, il C++ (programmato ad oggetti e non come purtroppo te lo
hanno insegnato) è una scuola di vita per un programmatore.
Imparati bene il C++ standard e poi, quando lo conosci bene, puoi utilizzare
uno dei tanti framework disponibili.

 stesse caratteristiche ma cross platform
Se vai a vedere il Language Level di Delphy/Objective Pascal, scopri che e`
confrontabile con quello del C++.
-- 
[ RiK0                                ]
[ non credo negli schemi non vincenti ]
[ two is an odd prime number          ]

 opportune differenze.
Impararlo no. Imparare a pensare e a programmare usando i costrutti tipici
del linguaggio si. Imparare una sintassi e una manciata di funzioni e`
banale. 
Imparare a strutturare un programma sfruttando le caratteristiche di un
dato linguaggio, non e` banale. Prende tempo. Chiaramente se lo devi fare a
livello professionale.


 qualche dritta da darmi?
[...]
allora, come già ti hanno scritto in tanti, C/C++ potrebbe essere una
scelta(che condivido, ammettendo però di non conoscere il python, per cui
è un giudizio non oggettivo).
Con C/C++ puoi accedere all'hardware(porte seriali, dischi, periferiche
varie) e innestare codice assembler nel caso ti serva..
Al contempo puoi realizzare un'interfaccia grafica tramite le mille
librerie presenti su questo mondo... che possono essere quelle dell'API
w32(windows.h) piuttosto che dalle varie Gtk, Qt, SDL e addirittura glut..
Inutile dire che anche per i database c'è supporto di fior fior di
librerie..
La scelta sta a te... io inizierei a studiare il C e poi il C++ da un
libro e NON utilizzerei subito un'interfaccia di sviluppo grafica(come
possono essere Visual C++ o Borland C++(esiste ancora? o.o)), per cui mi
scaricherei un compilatore come DEV-C++ e inizierei con quello...
In ambiente Linux vale tutto quello detto sopra, escludendo l'api
win32(per ovvi motivi...) e il compilatore, che è già incluso, e si
chiama gcc(il quale viene utilizzato anche da dev-c++ se non sbaglio).
omissis [at] informazionelibera [dot] org