05 nov 2012, 19.03link html
- Scritto da: gueshow
> Salve a tutti, sono Tommaso e sono nuovo del
> forum.
> Ho scaricato diversi libri di programmazione che
> a breve leggerò, ma vorrei sapere se ci sia
> qualcosa da conoscere prima o comunque da quale
> linguaggio cominciare per poi a quale
> passare.

Quando incominciai io a programmare (fine anni 80) quasi tutti gli home-computer avevano BASIC preinstallato che era anche particolarmente semplice da imparare (era infatti pensato proprio per insegnare le basi della programmazione a persone che non avevano mai avuto un computer per le mani) perciò era molto facile rispondere ad una domanda come la tua.

Oggi al contrario difficilmente i computer vengono consegnati con un qualsiasi linguaggio preinstallato (se si vuole escludere i linguaggi di scripting incorporati nel SO). Senza contare che esistono linguaggi particolarmente adatti per determinati SO ma non per altri, particolarmente adatti per la creazione di GUI (interfacce grafiche e annessi e connessi) piuttosto che script (utili per esempio per far fare cose ripetitive al SO) piuttosto che pagine WEB, ecc. A questo poi devi anche tenere in conto il discorso della portabilità... e quindi di quali SO ospiteranno i tuoi programmi. Insomma... se 20 anni fa la risposta a questa tua domanda era semplice e piuttosto immediata ora non lo è più.

Se vuoi imparare a programmare, diciamo avere una base per capire come funzionano i programmi, cosa sono le variabili, le funzioni, come tali programmi possono interagire con monitor, tastiera, mouse, ecc... un linguaggio piuttosto semplice ma che da soddisfazioni immediate (paragonabile al BASIC da questo punto di vista) è Processing [ http://processing.org/ ]. difficile che ci farai mai qualcosa di serio (a parte forse analisi grafica di dati o interazioni con hardware tipo Arduino), ma è molto adatto per incominciare a programmare dato che "nasconde" diversi dettagli noiosi permettendoti così di concentrarti sul programma. Il linguaggio assomiglia a Java ma la facilità d'uso e il modo grafico di interagire con l'utente ricorda molto BASIC. Viene installato anche con un suo IDE molto semplice ed intuitivo quindi è un pacchetto completo (ovvero una volta installato hai tutto quello che ti serve per incominciare ad usarlo e imparare).

Se vuoi invece orientarti su un linguaggio abbastanza intuitivo che permetta anche di disegnare GUI in ambiente Windows allora puoi scaricarti le versioni Express di Visual Basic che trovi gratuitamente sul sito della Microsoft [ http://www.microsoft.com/visualstudio/ita/download... clicca su Visual Basic 2010 Express ]. Visual Basic (VB.NET), come dice il nome, è un discendente del BASIC, ma è stato pesantemente modificato per essere a tutti gli effetti un linguaggio moderno adatto sia ai neofiti che a sviluppare applicazioni anche piuttosto complesse. Anche Visual Basic viene fornito di un suo IDE (più avanzato e complesso di quello di Processing) e quindi anch'esso è un pacchetto completo pronto all'uso una volta installato.

Se invece ti interessa un linguaggio di scripting, allora puoi scegliere fra Python [ http://www.python.it/ ], Ruby [ http://www.ruby-lang.org/it/ ] e altri. I linguaggi di scripting sono in genere facili da imparare, molto adatti per automatizzare parti del sistema operativo o comunque task che non richiedono l'interazione con l'utente se non un'interazione molto semplice, nascondono molti dettagli e quindi non ti fanno perder tempo ma creare applicazioni GUI è piuttosto ostico anche se possibilissimo, inoltre spesso richiedono che tu ti doti di IDE esterni o comunque di un editor di testo per scrivere il programma. Senza un IDE debuggare (ovvero eseguire il programma passo passo, verificare il contenuto delle variabili, inserire punti di interruzioni, ecc) diventa poco pratico ma è certamente possibile programmare anche senza un IDE.

Se invece cerchi un linguaggio multipiattaforma in grado di funzionare su una pletora di ambienti e dispositivi allora forse Java è più adatto a te, però è anche un linguaggio piuttosto vasto e perciò richiede un certo impegno e studio. anche il linguaggio scelto da Android e quindi ottimo per sviluppare App per Tablet e telefonini Android. Puoi scaricare l'ultimo JDK (Java Development Kit) da qui http://www.oracle.com/technetwork/java/javase/down... (il JRE non ti serve se installi il JDK perché il JDK contiene a sua volta il JRE). Un buon IDE per Java è Eclipse (http://eclipse.org/downloads/ per esempio Eclipse Classic). Se vuoi sviluppare per Android dovrai scaricarti anche l'Android SDK [ http://developer.android.com/sdk/index.html ]. Comunque IMO se sei alle prima armi forse è meglio se incominci con qualcosa di meno complesso.

Se invece ti interessa la programmazione WEB allora anche qui hai a disposizione una marea di linguaggi fra cui PHP, ASP.NET, Java, Python, Ruby, Javascript (che NON ha nulla a che vedere con Java), ecc.

Tieni conto che alla fine la struttura dei programmi è simile perciò una volta che avrai preso familiarità con un linguaggio non dovresti avere grosse difficoltà a capire e familiarizzare con un altro linguaggio. Di linguaggi ce ne sono parecchi, quelli che ho citato sono solo quelli più comuni al momento. Altri linguaggi che varrebbe la pena di conoscere sono Scala [ http://www.scala-lang.org/ ], Google-GO [ http://golang.org/ ], Haskell [ http://www.haskell.org/haskellwiki/Haskell ], Google-Dart [ http://www.dartlang.org/ ] e chissà quanti altri che ora non mi vengono in mente ma che hanno tutti caratteristiche molto interessanti e particolari.