[Programmazione] Come iniziare, quale linguaggio?

Ultimo aggiornamento 10 agosto 2009 alle 19:55 da nane77
Pubblicato da kioskea-modo

Come iniziare, quale linguaggio?




Introduzione


Ciao a tutti,
Una delle domande ricorrenti su questo forum dedicato ai principianti è "Come iniziare la programmazione?" o, talvolta, "Quale lingua per iniziare?". Cercherò di rispondere, ma occorre sapere che questo tipo di domande è suscettibile a discordie. Per cercare di avere qualcosa relativamente obiettivo, mi sono basato sui pareri dei membri raccolti attraverso le risposte a tali domande (utilizzare la funzione di ricerca nel forum di programmazione)

Quindi, non c'è un linguaggio di programmazione per cominciare, la programmazione comincia su un foglio, con algoritmi. Naturalmente, per provare gli algoritmi, può essere comodo farlo con un linguaggio di programmazione, ma in questo caso, l'unica cosa che raccomando è un linguaggio semplice, e non ad oggetti, e non grafico. Buone scelte sono Basic, Pascal, Python, tuttavia, la sintassi di questi ultimi può essere più utile in futuro. Ma nulla è davvero da escludere qui, anche la lingua della calcolatrice basta per verificare un algoritmo semplice. Quindi, è utile avere un'idea sui diversi tipi di linguaggi, su cosa è un compilatore ed altro. (I linguaggi informatici).

Adesso, abbiamo una buona base per cominciare la programmazione...ma abbiamo bisogno di un obiettivo, una idea, un software da fare. Qui, non posso fare niente per voi, dipende dal vostro gusto, la vostra conoscenza, ... e lì si fa le prime scelte tecniche:
linguaggio orientato oggetto, sì o no?
Multi-piattaforma, sì o no?
Con la macchina virtuale, si o no?
UI Interfaccia utente, sì o no?
L'accesso ad un database? Se sì, la quale?
...

Una volta fatte queste scelte, la gamma dei linguaggi è particolarmente limitato.

Vediamo linguaggi più spesso citati per iniziare con sempre in mente il punto di vista dell'apprendimento.

Quelli che si possono utilizzare


Delphi/Pascal


Una buona soluzione, i compilatori e gli ambienti di sviluppo sono liberi (in determinate condizioni). Si può iniziare facendo piccoli programmi nei shell in Pascal e poi passare (dopo aver capito il concetto di oggetti) a cose più avanzate, con ambiente grafico utilizzando Delphi (e Kylix sotto Linux: o)). Il linguaggio è abbastanza intuitivo, rigoroso, la creazione di una interfaccia grafica è semplice. La portabilità è ristretta, ma esiste per qualche piattaforme (Kylix. ..)


Per imparare:
Sito ufficiale Delphi (in inglese): http://www.codegear.com/products/delphi

Java


Linguaggio ad oggetti, molto portatile, sintassi utilizzata anche per gli script internet (sintassi, non il linguaggio ...). Ci sono molti ambienti di sviluppo gratuito sulla rete basta scegliere secondo ai suoi gusti, tuttavia, non ha la facilità di Delphi per le interfacce grafiche. Si tratta di un linguaggio "nuova generazione", che darà anche un'esperienza interessante per coloro che desiderano lavorare nell'informatica.

Per imparare:

http://java.sun.com/docs/books/tutorial/
http://java.sun.com/reference/api/index.html

Python


Semplice, veloce, dà buone abitudini di programmazione, leggero (tal punto che passare ad un altro linguaggio sembra subito pesante), aperto, un sacco di documentazione su Internet. Esso Permette di farsi piacere anche facendo script potenti (con la programmazione orientata oggetti. E 'anche "nuova generazione" e portatili. Funziona con una macchina virtuale che può essere compattata con alcune classi disponibili sul web (ci ne sono di tutti i tipi e per tutti gli scopi ...) in un file exe per distribuire l'applicazione in modo semplice e indipendente.

Sito ufficiale python (in inglese): www.python.org
Tutorial python: python.developpez.com
Python Tutorial: www.python-eggs.org/links.html

.Net


"Il futuro" secondo Microsoft, ce ne di buono e di cattivo in questa piattaforma, ma permette di programmare applicazioni grafiche in maniera semplice, funziona solo sotto Windows, con alcuni tentativi adattivi per Linux. Mi raccomando il linguaggio C# il linguaggio "nativo" di questa piattaforma: la sua sintassi è vicina a C e Java, senza puntatori, tutto avviene a un livello di astrazione superiore ai vecchi linguaggi Microsoft. Ciò è paragonabile a Java e Python, tranne per il fatto che non è libero.
Un ambiente di programmazione libero e OpenSource per .Net: www.icsharpcode.net/OpenSource/SD (Grazie Rodolphe_)

Smalltalk


Eccellente linguaggio orientato agli oggetti . Software libero, sintassi semplice, che richiede un rigore senza precedenti nella programmazione agli oggetti. Purtroppo, poco diffuso, è raro trovare un lavoro fatto con esso, ma dà sempre un riferimento solido, e le cose come Squeak permettono di fare tante cose con esso.

Squeak: www.squeak.org/

Quelli che possiamo utilizzare in un secondo tempo


C/C++


Sono buoni linguaggi, ma con una sintassi complicata, che non facilita il loro apprendimento. Inoltre l'uso di puntatori rende il loro utilizzo, anche da professionisti, spesso difficile. Il vantaggio è che questi linguaggi possono essere utilizzati su più piattaforme (dopo la compilazione) e che, una volta imparati, gli altri appaiono più semplici.Sono ancora ampiamente utilizzati nel mondo professionale. Ad usare se si vuole lavorare nell'informatica.

PHP


Linguaggio inizialmente previsto per lo sviluppo di pagine web dinamiche. La sua sintassi è vicina al C++.
PHP è abbastanza "semplice" per affrontare e permette abbastanza facilmente di comunicare con un database.
Per sviluppare pagine web dinamiche, richiede anche una buona conoscenza di HTML e, eventualmente, SQL se avete bisogno di un database.
Permette di avere rapidamente una "visibilità" del lavoro mettendolo on line, e quindi avere i commenti/suggerimenti da parte degli utenti.
Permette inoltre di sviluppare applicazioni normale (non-web).
Si noti inoltre che è possibile programmare in procedurale oppure orientata agli oggetti, come desiderato.
Detto questo è un buon linguaggio, ma non necessariamente il migliore per imparare. E 'potente e permissivo in modo che si può acquistare cattive abitudini ad imparare con esso. Soprattutto in termini di pagine web, non spinge a programmare correttamente.
Se si trova un linguaggio facile da imparare per tutto l'arco della OOP, lasciando dietro di lui buone abitudini, si dovrebbe scegliere una lingua come python.

Sito ufficiale: www.php.net/

Ada


Linguaggio ancora usato nel mondo del tempo reale. Rimane relativamente facile da imparare, ma è particolarmente raccomandato per i futuri informatici, se no l'interesse è limitato. E 'meglio passare a Ada con il solo obiettivo "tempo reale" o al meno informatica imbarcata. Esso tende a scomparire.

Lisp /CAML /...


I linguaggi Funzionali. Sono molti, classificati in due grandi categorie: i puri (Haskell) e i non-puri (famiglia lisp). La famiglia dei puri è classificata in due: i veramente puri, la famiglia (Haskell) e la famiglia ML (CAML, LMS ,...). Il modo di programmare è completamente diverso rispetto ad altre linguaggi. In realtà, la programmazione funzionale è un altro modo per vedere un programma ma non impedisce per esempio di aver un linguaggio funzionale et di oggetto o anche un linguaggio funzionale che combina imperativo/oggetto/funzionale (Ocaml). Ne conoscere uno permette di avere una buona base e consentirà ad un maggior numero di persone orientate alla matematica a muoversi lentamente verso l'informatica. Essi sono spesso utilizzati in analisi numerica o nell'intelligenza artificiale (ma questo è solo a causa della loro origine). Esse possono essere utilizzate per programmare tutto ciò che può essere programmato con gli altri linguaggi (la comunità commonlisp è molto attiva, per esempio).

http://caml.inria.fr
http://www.lisp.it

Quelli che non si possono utilizzare


(X) HTML /CSS


Si tratta qui di presentare un documento, e non programmare. E mettendo alcuni script in mezzo non cambierà il fatto che non è programmazione.

Per imparare:
http://it.kioskea.net/contents/html/htmlintro.php3

Perl


Cerchiamo di essere chiari, questo linguaggio apparentemente semplici, non è adatto per imparare la programmazione. La sua flessibilità e la sua potenza può dare cattive abitudini di programmazione e anche scoraggiare alle errori che consente di fare silenziosamente. Meglio iniziare l'apprendimento con un linguaggio
rigoroso, e quindi poi usare in Perl.
Grazie a Jeremy Proprio per la correzione

Visual Basic/Basic


Formalmente scoraggiato da tutti i professionisti che l'hanno usato. Dà cattive abitudini di programmazione (dichiarazione delle variabili non necessari, nessun concetto di valore/riferimento, tentativo abortito di fare dell'oggetto,...), e Microsoft (si tratta di un linguaggio proprietario) l'ha abbandonato al profitto della Framework.Net. Infine non c'è nessuna versione gratuita, si deve pagare. L'unico punto positivo è la facilità di fare delle interfacce grafiche semplici per Windows (Ah sì, ho dimenticato, non è portatile anche...), ma non è da solo in questo caso, se questo è ciò che si desidera, vedere Delphi o .NET.
Basic è più o meno lo stesso, vi sono compilatori liberi, ma è un linguaggio che è obsoleto, ne veloce ne portatile, ne oggetto, ne rigoroso. Preferire Pascal che permette, più tardi di passare a Delphi.


Per i matematici, si può anche provare a usare i linguaggi di aiuto alla prova. Eppure, il loro potere è limitato, ma si spera che si svilupperanno con il tempo. Per ora i più popolari sono in coppia con la famiglia ML Haskell. Per Ocaml, c'è coq. I paradigmi sono basati sulla logica.



Un altro dettaglio, vi sono sopra diversi siti in inglese (o anglo-americani). Questo è comune nel mondo della programmazione, e imparare a programmare si farà in migliori condizioni, se si legge l'inglese, anche se siamo in grado di scriverlo. (per le domande sui forum specializzati ...).

Beh, spero di essere stato il più completo possibile, ma mi rendo conto che non sono davvero obiettivo, il mio parere è ancora molto evidente: o).

Buon apprendimento.

------------------------------------


Troverete anche un sacco di compilatori liberi per linguaggi diversi all'indirizzo:
www.thefreecountry.com/

PS: iniziare la programmazione, è anche trovarsi di fronte ad una spinosa questione: ma perché il mio programma non funziona? I messaggi di errore previsti (o non) dall'ambiente di compilazione o di esecuzione (o il comportamento dell'insieme) i principianti a volte si tuffano in perplessità senza fondo che può diventare frustrante. Un buon metodo è quello di mostrare il codice a qualcuno con esperienza e/o spiegare il problema ad altri. A volte la lettura a voce alta del suo ragionamento mette sulla buona strada per conoscere il bug. Infine, la (buona) capacità di programmare è (spesso) associato all'estrazione di questo mondo materiale in cui siamo tutti immersi. Benvenuto in un mondo dove nulla è davvero concreto.

Se la programmazione vi stuzzica... abbiate in quei momenti un foglio e una matita (l'ultima arma dell'informatico) sul vostro comodino, scrivete le soluzioni che vengono in mente e provate la mattinata, sareste probabilmente sorpresi :-)
Migliori risposte per « Come iniziare, quale linguaggio? » in :
Messa in opera di una procedura qualità Vedi Messa in opera di una procedura qualità Il miglioramento della qualità (riduzione delle non-qualità e miglioramento del processo lavorativo) in un'azienda richiede una riflessione comune della direzione e a tutto il personale per definire gli...
Come sapere se qualcuno mi ha bloccato su MSN (WLM) VediPer scoprire se siamo stati "bloccati" Per scoprire se siamo stati "eliminati" Per scoprire se siamo stati bloccati e eliminati Con GAIM o aMSN Con un sito web vecchio Metodo Windows Live Messenger offre tre opzioni per la...
Antivirus gratuito : Quale scegliere? VediLa scelta di un anti-virus rimane una decisione personale, a seconda del gusto. Di seguito viene riportata una selezione dei migliori antivirus gratuiti. 1. Antivir Personal Edition 2. Avast Home 3. AVG 4. Anche... 4.1 Altri link 4.1...
[BIOS] Accedere al setup del BIOS VediPer modificare le impostazioni della scheda madre, il BIOS possiede un'interfaccia, il setup del BIOS, da modificare con grande attenzione Qual' è il tasto che dà accesso al Setup? Entrare nel programma di installazione Reimpostare la...
Il formato DivX (DivX, Xvid, 3ivX, VP3) VediIl formato DivX Il formato DivX è un formato di compressione/decompressione video che permette di ottenere dei video compressi molto poco voluminosi con una perdita di qualità decisamente ragionevole. Così il formato DivX permette di stoccare un...
Il protocollo FTP (File Transfer Protocol) VediIntroduzione al protocollo FTP Il protocollo FTp ( File Transfer Protocol), è, come indicato dal suo nome, un protocollo di trasferimento di file.La creazione del protocollo FTP data 1971, anno nel quale un meccanismo di trasferimento di file...