Linguaggi di programmazione da zero

GB962
Ciao a tutti,
vorrei imparare ad utilizzare dei linguaggi di programmazione ma non so proprio niente sull'argomento, avete qualche consiglio?
Grazie in anticipo.

Risposte
GB962
Non ho uno scopo preciso, sono un ragazzo di 14 anni a cui piacciono i computer, uso LaTeX e da lì ho scoperto che mi piace creare da me i documenti, senza essere vincolato dai programmi, adesso ho pensato che oltre a creare documenti potrei anche creare applicazioni, per questo mi sono rivolto a voi.
Per quanto riguarda un linguaggio che mi ispira particolarmente avevo proposto il basic perché da quello che so è stato uno dei primi e quindi, mi sembrava una buona idea iniziare da lì

apatriarca
Come qualsiasi altra cosa in informatica, i linguaggi di programmazione hanno subito una enorme evoluzione. La dimensione dei programmi è cresciuta tantissimo dai primi in assembly e nuove funzionalità sono state aggiunte per gestire al meglio questa maggiore complessità. Non credo che l'anzianità di un linguaggio sia un buon criterio di scelta. Personalmente sceglierei Python, come ho già avuto modo di dire, ma Basic è comunque molto usato nelle scuole superiori ed è abbastanza semplice. Ti consiglierei comunque almeno la versione per il framework .net (anche se ci sono molti nostalgici del vecchio linguaggio).

naighes
"apatriarca":
[...]Ti consiglierei comunque almeno la versione per il framework .net (anche se ci sono molti nostalgici del vecchio linguaggio).


Scusami, apatriarca, ma sono di avviso contrario.
Faccio solo una piccola premessa, perchè sembra che il nostro amico GB96 non abbia le idee chiarissime.
Concordo pienamente con Rggb, ovvero sull'importanza del saper "programmare", indipendentemente dalla piattaforma.
Proprio per questo motivo ti sconsiglio, almeno inizialmente, di appoggiarti a codice "managed", faccio quindi prevalentemente riferimento a .NET e a Java.
Questi ultimi offrono allo sviluppatore una serie di strumenti che, sotto certi aspetti, tendono ad alleggerirne le responsabilità (basti pensare, ad esempio, agli algoritmi di garbage collection). Magari, in futuro di tali strumenti non potrai farne a meno (dipende da "cosa vorrai fare da grande..."), ma al momento ti consiglio di metterli da parte.
Se posso permettermi un consiglio, inizia da C o anche da C++ (non è didatticamente errato introdurre da subito il paradigma OO).
Ma, prima ancora, comincia con l'imparare a programmare, lasciando perdere il calcolatore elettronico e avvalendoti solamente della buona vecchia "carta e penna"!
Sei giovanissimo e non so se i testi che sto per proporti potranno risultare o meno alla tua portata (non sono un docente), ma un piccolo sforzo puoi tentarlo!
Sono "dei miei tempi", ma molto esaustivi a mio avviso:

Elementi di Sintassi dei Linguaggi di Programmazione
Elementi di Semantica Operazionale

Spero di esserti stato di aiuto.
Un saluto!

blob84
Visto che hai solo 14 anni, inizia a smanettare con python, leggendoti i tutorial su internet, per leggerti i libri noiosi delle scuole c'è tempo.

david_e1
Python: è un linguaggio semplice e di alto livello (i.e. che è possibile usare senza preoccuparsi tanto di allocazione della memoria, tipi & co.) e con cui è possibile iniziare a creare programmi "utili" (i.e. non dei semplici esercizi) praticamente da subito.

C lo sconsiglierei perché è estremamente complesso, dato che è molto vicino all'hardware, ed è molto difficile per un principiante realizzare applicazioni "utili" e funzionanti: è facile scoraggiarsi.

C++ poi lo eviterei il più possibile (già è abbastanza assurdo come primo linguaggio all'Università), perché è molto più complesso del C (motivo per cui è spesso usato impropriamente) e presenta una lunga serie di insidie più o meno nascoste che è necessario conoscere per poterlo usare per creare qualcosa di utile.

Quindi consiglierei Python: puoi partire da una delle guide postate prima e usarlo per creare script utili...

Rggb1
Condivido, tranne che per "C ... è estremamente complesso". ;)

david_e1
"Rggb":
Condivido, tranne che per "C ... è estremamente complesso". ;)

Lo dico da persona che usa il C abbastanza di frequente in ambito HPC: fare qualunque cosa di diverso dal gestire array, dal parsing di un file di configurazione allo storage di dati in una lista linkata, in C, e' una pena micidiale...

Raptorista1
"david_e":
[quote="Rggb"]Condivido, tranne che per "C ... è estremamente complesso". ;)

Lo dico da persona che usa il C abbastanza di frequente in ambito HPC: fare qualunque cosa di diverso dal gestire array, dal parsing di un file di configurazione allo storage di dati in una lista linkata, in C, e' una pena micidiale...[/quote]
Tuttavia, e proprio perché il titolo di questo thread include la clausola "da zero", vorrei citare il mio prof di informatica che ieri ci disse "il C è un linguaggio di livello molto basso, ma didatticamente è davvero ottimo, perché vi obbliga a considerare molti aspetti della programmazione che vi serve di conoscere, così se poi userete linguaggi di livello più alto (=MATLAB) riuscirete a capire meglio il suo comportamento.

Quindi, tornando alla domanda iniziale, se il tuo obiettivo è "solo" quello di fare qualche programma per il piacere di programmare, allora vai diretto con il Python, altrimenti considera il C come punto di partenza!

apatriarca
Il C è un linguaggio con una sintassi molto semplice ma che richiede parecchia padronanza e rigore per essere usato in progetti di una certa complessità. Ci vuole molto tempo per imparare ad usarlo bene. Nonostante abbia imparato il C da autodidatta, credo sia più adeguato ad un corso di laurea rispetto ad uno studio personale. È infatti poco produttivo e può essere a volte un po' frustrante. In un corso si è costretti a proseguire per la strada scelta dal proprio professore, mentre da soli si è più inclini a rinunciare. È per questo che avevo consigliato Python. Permette di imparare le principali regole di programmazione in poco tempo e permette di creare programmi anche complessi con poco codice e in poco tempo. Dopo che le prime difficoltà di programmazione sono state superate si può comunque sempre decidere di imparare un linguaggio di più basso livello come il C.

Raptorista1
@apatriarca: sono d'accordo con quanto dici. A questo punto la scelta dipende dalla forza di volontà di GB96 :D

hamming_burst
A questo punto la scelta dipende dalla forza di volontà di GB96


....scommettiamo che adesso ci dirà: "Ma che imparare...scrivo io il linguaggio da zero, poi lo dovete imparare voi!" :-D

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.