View Single Post
Old 04-02-2010, 19:35   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
Linguaggi da imparare per un principiante in ordine di preferenza:
1) Java
2) Python

Linguaggi da imparare per chi non è un principiante in ordine di preferenza:
1) C#
2) Java
3) C++
4) C
5) Python

Framework/linguaggi per applicazioni web in ordine di preferenza:
1) php
2) Asp .net
3) JavaEE

Framework/linguaggi per applicazioni con GUI in ordine di preferenza:
1) C# (se si vuole realizzare un'applicazione esclusivamente per Windows)
2) Java
3) C++ e framework Qt


Python

Pro: portabilità su molte piattaforme grazie all'interprete, inteprete e runtime molto leggeri, bassa difficoltà di apprendimento, buona produttività (potrebbe essere più alta con ambienti di sviluppo all'altezza), buona documentazione ufficiale
Contro: basse prestazioni, framework ufficiale non include librerie valide per le interfacce grafiche, miscuglio di vari paradigmi di programmazione, non esiste ancora un ambiente di sviluppo che ne esalti al massimo le caratteristiche, non c'è retrocompatibilità fra
Perché va imparato come primo linguaggio: Python è un linguaggio con difficoltà di apprendimento molto basse. E' quindi adatto come primo linguaggio per chi intende avvicinarsi alla programmazione. L'indentazione forzata è sicuramente positiva per un principiante.
Perché va imparato: sicuramente è un linguaggio in crescita ed è un'ottima alternativa ai linguaggi di scripting per applicazioni di sistema, ma non si ferma sicuramente solo a questo ambito. Anche se personalmente nutro qualche perplessità nell'uso come linguaggio general purpose.


Java

Pro: portabilità su molte piattaforme grazie alla virtual machine, bassa difficoltà di apprendimento, framework molto completo, ottima documentazione ufficiale, disponibili ottimi strumenti di sviluppo, unico paradigma di programmazione
Contro: runtime che sta crescendo a dismisura con tempi di caricamento della virtual machine in aumento, reattività delle interfacce grafiche non eccelsa. Dopo l'acquisizione di Sun da parte di Oracle un leggero velo di incertezza è scesa sul futuro di questa piattaforma, ci vorrà qualche anno per dissiparlo.
Perché va imparato come primo linguaggio: è un linguaggio abbastanza semplice da imparare. E' un ottimo punto di inizio per chi si vuole inserire subito nel mondo del lavoro (solo per questo aspetto l'ho messo come prima scelta). Gli strumenti di sviluppo danno una grossa mano all'apprendimento.
Perché va imparato: va imparato perché è diffusissimo e perché ha livelli di produttività elevati, anche grazie agli ottimi strumenti di sviluppo. L'ampio framework permette di affrontare in modo agevole tantissimi ambiti della programmazione.
Strumenti consigliati: Eclipse, Netbeans


C#

Pro: la piattaforma .Net è sicuramente il suo punto di forza, linguaggio principe per la programmazione su Windows, unico paradigma di programmazione, produttività molto alta, buone prestazioni, ottimi strumenti di sviluppo
Contro: portabilità limitata (problema più legato alla piattaforma che al linguaggio), si evolve molto rapidamente
Perché va imparato: linguaggio molto diffuso e destinato a crescere. E' sicuramente il linguaggio migliore da imparare per chi vuole creare applicazioni per Windows. Gli ottimi strumenti di sviluppo danno sicuramente una grossa mano ad aumentare la produttività.
Strumenti consigliati: Visual Studio 2005/2008/2010, Visual C# Express


C++

Pro: adatto alla programmazione a basso livello e di sistema, le librerie Qt potrebbero riportarlo in auge anche come alternativa per la scrittura di applicazioni con interfaccia grafica, ottime prestazioni, disponibile su moltissime piattaforme hardware/software
Contro: troppe regole e sintassi eccessivamente complicata, produttività di medio livello, libreria standard dipendente in parte dalla vecchia libreria C, bisogna affidarsi a framework esterni per accedere alla maggior parte delle funzioni di sistema e per aumentare la produttività, miscuglio di paradigmi di programmazione
Perché va imparato: ha una base di sviluppatori ampia ed è spesso rischiesto in ambito lavorarivo. E' comunque un linguaggio che secondo me deve essere presente nel bagaglio culturale di un buon programmatore. E' classificabile come linguaggio di medio-basso livello, pur potendo operare a basso livello (a stretto contatto con la macchina, ai livelli del C), consente anche di astrarre diverse risorse di sistema con l'uso della sua libreria.
Strumenti consigliati: QtSDK (QtCreator come ambiente di sviluppo), Visual Studio 2005/2008/2010, Visual C++ Express, Code::Blocks


Qt framework

Pro: disponibile su moltissime piattaforme hardware/software e per molti linguaggi di programmazione, utilizzabili in progetti commerciale senza pagare alcuna licenza, ottima documentazione ufficiale
Perché va imparato: le librerie Qt, di proprietà di Nokia, permettono di creare applicazioni grafiche il cui codice è compilabile (o eseguibile, a seconda del linguaggio) senza modifiche su molte piattaforme. QtCreator è un ambiente di sviluppo per C++ molto avanzato. Lo sviluppo di applicazioni con interfaccia grafica con C++ e Qt permette di aumentare notevolmente la produttività del C++ in questo ambito. Le librerie Qt, oltre all'interfaccia grafica, astraggono anche altre funzionalità di sistema che prima dovevano essere implementate o con altre librerie o tramite la scrittura di codice fortemente dipendente dal sistema operativo.
Strumenti consigliati: QtSDK (QtCreator come ambiente di sviluppo per C++)


C

Pro: adatto alla programmazione a basso livello e di sistema, linguaggio molto usato a livello accademico e nell'open source, ottime prestazioni
Contro: linguaggio vecchio, produttività bassa, pochissime funzionalità nella libreria standard, necessità di affidarsi a librerie esterne, disponibile su qualsiasi piattaforma hardware/software
Perché va imparato: ha una base di sviluppatori ampia ed è spesso rischiesto in ambito lavorarivo. E' comunque un linguaggio che secondo me deve essere presente nel bagaglio culturale di un buon programmatore. E' d'obbligo se si cercano le massime prestazioni. E' classificabile come un linguaggio di basso livello, cioè è molto vicino al linguaggio macchina, l'unico fra quelli qui consigliati. E' richiestissimo in campi quali la programmazione di microcontrollori o la programmazione di sistema.
Strumenti consigliati: Code::Blocks (con compilatore MinGW gcc su Windows)


Php

Pro:
disponibilità di hosting a basso costo, molte applicazioni web già scritte, ottima documentazione, buona documentazione ufficiale
Contro: non è il massimo come linguaggio di programmazione, utilizzabile con moltissimi sistemi operativi e con molti server web, bassa efficienza ad alti carichi
Perché va imparato: è d'obbligo per qualsiasi programmatore di siti web perché è diffusissimo in ambito lavorativo.
Strumenti consigliati: Apache


Asp .Net

Pro: ottima scelta per altissimi carichi e per la coordinazione con applicazioni Windows già esistenti
Contro: pochi servizi di hosting a basso costo, spesso è necessario un servizio di housing, utilizzabile solamente nel mondo Microsoft
Perché va imparato: è la scelta obbligatoria per chi vuole sviluppare servizi web collegati al mondo Microsoft. L'applicazione deve essere creata con i linguaggi della piattaforma .Net.
Strumenti consigliati: Visual Studio, IIS


JavaEE

Pro: ottima scelta per altissimi carichi e per la coordinazione con applicazioni Java già esistenti, compatibile con molte piattaforme
Contro: pochi servizi di hosting a basso costo, spesso è necessario un servizio di housing
Perché va imparato: si programma usando il linguaggio Java. E' utilizzato spesso in ambienti in cui i sistemi in gioco sono etorogenei (sistemi operativi dei server non Microsoft e client misti).
Strumenti consigliati: dipende molto dalla piattaforma su cui si intende lavorare

Ultima modifica di cionci : 04-09-2010 alle 08:11.
cionci è offline