PDA

Visualizza la versione completa : Consiglio su linguaggio di programmazione


rigel1482
04-12-2014, 22:02
Buonasera a tutti,
sperando di avero postato nella sezione corretta, vorrei chiedere, da assoluto neofita quale sono un consiglio.
Ho scoperto con dispiacere la mia assoluta ignoranza in materia di programmazione e volevo iniziare a colmarla.
Oh voi einstein della tecnologia da quale linguaggio mi consigliate di partire???

il vostro padawan aspetta consigli! :ecco:

(ps: proprio neofita no...me la cavo con matlab se conta qualcosa)

Grazie

paolino_delta_t
04-12-2014, 22:49
Mhm credo ci starebbe bene un bel thread sticky che risponda a questa domanda, dato che viene posta 3-4 volte al giorno :D

Comunque io la penso così:

1. C a malapena accettabile per chi inizia, meglio optare per linguaggi di alto livello ed estremamente espressivi, e con "batterie incluse"
2. C++ è assolutamente da evitare ( lo dico perchè c'è chi consiglia di iniziare da questo )
3. Objective-C evitare come la peste ( c'è gente folle che lo consiglia perchè è figo dato che si usa per fare le app iOS )
4. Python è imho la scelta migliore ( e la pensano così pure i docenti di Stanford, MIT e svariate altre università in tutto il mondo )

Le cose fondamentali da tenere a mente sono:

1. l'informatica non è letteratura latina, per cui lo studio SOLO teorico è inutile e controproducente ( bisogna imparare facendo )
2. la logica ( che è fondamentale per risolvere problemi algoritmicamente ) la si affina scrivendo programmi
3. mentre realizzi programmi trovi problemi implementativi che ti costringono a studiarti la sintassi del linguaggio, determinati algoritmi o altre nozioni

In conclusione ti consiglio d'iniziare con Python ( c'è pure un pdf gratuito che s'intitolata Pensare da informatico ). I programmi da fare non c'è bisogno d'inventarseli, c'è il sito Project Euler che contiene una marea di esercizi di programmazione.

Per l'apprendimento c'è anche l'ottimo sito Codecademy. Noterai che è in inglese. Beh l'inglese è obbligatorio per gli informatici, c'è poco da fare.

rigel1482
04-12-2014, 23:49
Mhm credo ci starebbe bene un bel thread sticky che risponda a questa domanda, dato che viene posta 3-4 volte al giorno :D


immaginavo e non sarebbe male fare un bel 3d. Premettendo che ti ringrazio per la risposta e poichè per lavoro mi devo sorbire ore ed ore di excel pensavo anche al visual basic. ma mi trovo un po' confuso a riguardo.
Grazie in anticipo

Scara95
05-12-2014, 09:27
Evita di iniziare con VB. Impara prima "a programmare" e poi potrai sbizzarrirti con qual si voglia linguaggio.
Python è un'ottima scelta per entrare nel mondo della programmazione per le ragioni già spiegate sotto.

Mi continuo a chiedere perché ogni corso universitario in Italia di introduzione alla programmazione usi C o C++.
Addirittura assembly a medicina a Padova O.o
Per fortuna dovrebbe essere un'introduzione...

MItaly
05-12-2014, 09:47
Prometto che nel weekend sistemo un thread in rilievo :stordita: nell'ultimo anno non ho richiamato l'attenzione ai vecchi thread sulla questione perché erano decisamente vecchi, ora direi che abbiamo costruito un buon buffer di risposte aggiornate sul tema. :mem:

szz
05-12-2014, 11:48
1. C a malapena accettabile per chi inizia, meglio optare per linguaggi di alto livello ed estremamente espressivi, e con "batterie incluse"
2. C++ è assolutamente da evitare ( lo dico perchè c'è chi consiglia di iniziare da questo )


Eh si, perché oggi per programmare basta una funzione:


doIt()

E sai già programmare.. :biifu:

misterx
05-12-2014, 12:10
dipende da che genere di programmi e dal bagaglio culturale/conoscitivo di partenza.
Programmare può essere abbastanza semplice come molto complesso: implementare ad esempio un albero RB con tutte le funzioni di bilanciamento anche in Visual Basic, un linguaggio ritenuto semplice, non è affatto banale.

paolino_delta_t
05-12-2014, 12:34
Eh si, perché oggi per programmare basta una funzione:


doIt()

E sai già programmare.. :biifu:

Vedo che non hai minimamente compreso il mio intervento.

M.A.W. 1968
05-12-2014, 14:10
Quoto appieno le argomentazioni di paolino_delta_t, Python è consigliatissimo come linguaggio d'abbrivio, poiché consente di essere produttivi con una curva di apprendimento non eccessivamente ripida, dovuta sostanzialmente a tre fattori:

1) Librerie ricchissime e liberamente disponibili (in C e C++ l'I/O da terminale offerto dalle librerie standard è fermo al 1982, e metà delle relative funzioni è deprecata, anche se intere legioni di docenti e di studenti lo ignorano bellamente);
2) Sintassi ampiamente espressiva, coerente, sintetica, semplificata e moderna;
3) Sostanziale indipendenza da architettura e SO, trattandosi di un linguaggio interpretato e genuinamente HLL.

Inoltre non sarebbe male affiancare un testo di introduzione alla logica della programmazione, come lo Sprankle (http://www.amazon.com/Problem-Solving-Programming-Concepts-Edition/dp/0132492644). Importante è invece dimenticare per sempre che purtroppo, per mere ragioni di retrocompatibilità e salvaguardia degli investimenti nel mercato burotico, a tutt'oggi esistano ancora linguaggi derivati dal basic.

Occorre comunque rimarcare che l'uso di un linguaggio didatticamente valido non esime assolutamente dalla creazione di un vero background da informatico, di cui la conoscenza di uno, cinque, dieci o cento linguaggi è solamente l'epifenomeno. Occorre come minimo una solidissima preparazione nell'area algoritmico-computazionale, una profonda conoscenza dei principi del software engineering, nozioni non banali di architettura dei calcolatori e delle reti di calcolatori, e dopo tutto ciò una full immersion nella scienza dell'ottimizzazione, che richiede un cumulo di competenze orizzontali e verticali che afferiscono a tutte le discipline già richiamate, dalla capacità di ottimizzazione algoritmica e algebrico-computazionale alla pefetta conoscenza dell'architettura target.



Ho scoperto con dispiacere la mia assoluta ignoranza in materia di programmazione

Questa affermazione suona un po' ingenua e fa sorridere. Come dire, mi sono svegliato una mattina e guardandomi allo specchio ho scoperto con raccapriccio di non avere la muscolatura di Schwarzenegger... steroidi e anabolizzanti a parte, occorrono anni di studio e lavoro mirato e specifico!


Mi continuo a chiedere perché ogni corso universitario in Italia di introduzione alla programmazione usi C o C++.
Addirittura assembly a medicina a Padova

Perché l'università italiana vive fuori dal tempo, e i docenti di quei corsi in genere insegnano quello che a loro volta hanno appreso da studenti, non essendo in alcun modo specialisti in quell'area, con poche eccezioni. Così per oltre un decennio gli studenti sono stati ammorbati con l'uso di Pascal (povero Blaise, chissà come si rivolta nella tomba!) e Basic vari, poi è arrivata l'ondata di C e C++ con i disastri che purtroppo ben conosciamo (ogni anno nelle multinazionali si spendono cifre spaventose per "riformare" laurati e addottorati da poco imbarcati in azienda), e ultimamente vanno molto di moda java e in misura minore php. No comment.

chumkiu
05-12-2014, 14:34
Sebbene lo detesti come linguaggio...
consiglio Python

Il motivo è che è abbastanza versatile (puoi fare dal web alle app per desktop), ma la cosa principale è che tantissimi tutorial, articoli, video sulla programmazione generica (concetti generici, algoritmi, approfondimenti sull'OOP, argomenti quali l'intelligenza artificiale ecc. ecc) utilizzano molto spesso codice scritto in python. Se ne hai padronanza, ovviamente, ti risulterà più facile seguirli.

L'effetto collaterale è che puoi diventare un python-boy e non vedrai più altro linguaggio all'infuori di esso... ma se ci stai attento può non accadere e ampliare gli orizzonti :)

Loading