Originariamente inviato da DarCas

VB ha sicuramente una programmabilità molto friendly, ma prevede l'acquisto di licenze altrimenti i tuoi software non possono essere legalmente distribuiti.
L'unica licenza necessaria e' quella dell'ambiente di sviluppo, poi puoi distribuire il sw a chi vuoi.
Era questo che intendevi, vero?
Teniamo conto che un VB costa qualche centinaio di euro.

Phyton non l'ho mai provato, ma ho visto il tool ed è molto frindly e simile a VB, so anche che è molto potente, ma per il resto non so altro.
Ehm... Python e' interpretato e non ha nulla a che fare con vb. "Di suo" arriva solo con l'interprete, che non ha una gui ma gira su terminale.

Java non ha a che fare con nessuno. Per programmare in Java - seriamente - bisogna essere dei buoni analisti e conoscere i paradigmi di programmazione. Si basa completamente sulla programmazione ad oggetti. E' molto potente ed ha il lato positivo di essere utilizzabile su un qualsiasi sistema che abbia la virtual machine installata! Nn costa nulla!
Assomiglia molto a C++ come costrutti, ma presenta un framework che slega molti concetti dal sistema operativo su cui gira (multi-threading, gestione dei socket, ecc...)

Una cosa che hanno in comune è che non basta avere il tool per programmare ma ci vuole una buona conoscenza teorica, specialmente per c++ e java (forse anche per python).
Anche per Python.


Per iniziare potresti passare dal PHP al Python, che e' gratuito e ha il supporto a GTK. Ai tuoi utenti servira' l'interprete.
Oppure passa al C++, che supporta anch'esso GTK (e GTK+), ma non potrai distribuirne i binari compilati a tutti gli utenti di tutti i SO: non c'e' compatibilita' binaria fra *nix e win.
Il java resta comunque una buona scelta, ma obbliga gli utenti del tuo sw ad avere una JVM installata. Non tutti ce l'hanno, e winXP ne giunge sprovvisto.
Fai le tue considerazioni in base al target delle tue utenze e in base ai tuoi gusti personali.
Un linguaggio vale l'altro, anche se i veri hacker (Eric Raumond) dicono che si dovrebbe partire da Python, Java, C/C++, Perl e LISP. Se cerchi il suo "hacking-howto" c'e' anche una recensione di Python.

Riporto di seguito un estratto da quel documento:

1. Impara a programmare.
Questa, ovviamente, è la capacità fondamentale dell'hacker. Se non conosci alcun linguaggio di programmazione, ti suggerisco di iniziare con Python. È progettato in maniera chiara, ben documentato e abbastanza adatto ai principianti. Malgrado sia un buon linguaggio con il quale cominciare, non è proprio un giocattolo; è molto potente e flessibile e adatto anche a grandi progetti. Ho scritto una più dettagliata recensione su Python. Dei buoni manuali sono disponibili sul sito web di Python.

Anche Java è un buon linguaggio per imparare a programmare. È più difficile di Python, ma produce un codice più veloce rispetto a Python. Lo ritengo un eccellente secondo linguaggio.

Ma devi essere conscio che non raggiungerai i livelli di abilità di un hacker o più semplicemente di un programmatore se conosci solamente uno o due linguaggi - hai bisogno di imparare a pensare ai problemi legati alla programmazione in maniera più generale, indipendentemente dal linguaggio specifico. Per essere un vero hacker, hai bisogno di arrivare al punto di poter apprendere un nuovo linguaggio in pochi giorni semplicemente confrontando il manuale con quanto già sai. Questo significa che dovrai imparare parecchi linguaggi differenti tra loro.

Se vuoi dedicarti seriamente alla programmazione, dovrai imparare il C, il linguaggio cardine di Unix. Il C++ è molto vicino al C; se già ne conosci uno, non ti sarà difficile imparare l'altro. Nessuno di questi due linguaggi, comunque, è adatto per iniziare ad imparare. E, al momento, quanto più riesci a evitare di programmare in C tanto più sarai produttivo.

Il C è veramente efficiente, e utilizza al meglio le risorse della macchina. Sfortunatamente, C fornisce questa efficienza in cambio di una notevole mole di lavoro manuale per la gestione delle risorse (quali la memoria) ad un basso livello. Tutta la programmazione di basso livello è complessa e soggetta a bug, e ti richiederà un'enorme quantità di tempo per il debugging. Con le odierne macchine, così potenti, questo in genere rappresenta un cattivo compromesso - è più conveniente utilizzare un linguaggio che impiega in maniera meno efficiente il tempo della macchina ma che impiega più efficacemente il tuo tempo. Ad esempio, Python.

Altri linguaggi di particolare importanza per gli hacker sono Perl e LISP. Perl è degno di essere appreso per ragioni pratiche; è largamente utilizzato per costruire pagine web dinamiche e per l'amministrazione di sistema; così, anche se non dovrai mai scrivere in Perl, dovresti imparare almeno a leggerlo. Molte persone usano Perl nella maniera in cui io suggerisco di usare Python, per evitare di programmare in C quei lavori che non richiedono l'efficienza della macchina che C fornisce. Avrai bisogno di essere in grado di capire il loro codice.

LISP è da imparare per un altro motivo: la profonda e illuminante esperienza che proverai quando finalmente riuscirai a farlo tuo. Questa esperienza ti renderà un programmatore migliore per il resto dei tuoi giorni, anche se non lo utilizzerai poi molto. (Puoi procurarti qualche esperienza iniziale con LISP in maniera abbastanza semplice realizzando e modificando le modalità di editing per l'editor di testo Emacs.)

È meglio, addirittura, imparare tutti questi cinque linguaggi (Python, Java, C/C++, Perl e LISP). Oltre che essere i linguaggi più importanti per l'hacking, essi rappresentano approcci molto differenti alla programmazione, e ognuno ti educherà in maniera preziosa.

Non posso fornire qui delle istruzioni complete su come imparare a programmare - è un compito complesso. Ma posso dirti che libri e corsi vari non te lo insegnano (molti, forse la maggior parte dei migliori hacker è autodidatta). Puoi imparare le caratteristiche dei linguaggi - frammenti di conoscenza - dai libri, ma l'approccio mentale che trasforma quella conoscenza in reali capacità può essere appreso solo mediante la pratica e l'apprendistato. Ciò che devi fare è (a) leggere codice e (b) scrivere codice.

Imparare a programmare è come imparare a scrivere bene nel linguaggio nativo. Il miglior modo per farlo è leggere del materiale scritto dai maestri della forma, scrivere qualcosa per conto proprio, leggere molto di più, scrivere qualcosa in più, leggere molto di più, scrivere qualcosa in più... e ripetere il tutto finché la tua scrittura inizia a sviluppare la forza e l'economia che vedi nei tuoi modelli.

Una volta, trovare del buon codice da leggere era un'impresa ardua, poiché esistevano ben pochi programmi disponibili anche sotto forma di codice sorgente, a disposizione degli hacker per la lettura e la manipolazione. Tutto ciò è cambiato radicalmente; software open-source, strumenti per la programmazione e sistemi operativi (tutti costruiti da hacker) sono oggi largamente disponibili.