Per gli standard odierni, non c'è più "da zero".
Vedi, "da zero" significa programmare un computer con 1 e 0. Questo è l'equivalente di costruire strumenti dalle pietre.
La gente cominciando con 1 e 0 ha trovato un modo per rendere le cose più facili, costruendo i primi linguaggi Assembly. Questo è l'equivalente di frecce e lance. E la nostra generazione lo ha ereditato.
La generazione successiva ha ereditato il linguaggio Assembly e, basandosi su di esso, ha costruito linguaggi di alto livello. Questo è l'equivalente di strumenti di metallo. A quel punto, costruire strumenti di pietra è diventato obsoleto.
Ovviamente, l'informatica è più recente e si è evoluta più velocemente di qualsiasi altra cosa, quindi le persone che hanno programmato in 0 e 1 non solo sono ancora vive, ma sono piuttosto giovani, considerando che erano pionieri.
Ma dubito che qualcuno di loro sosterrebbe che qualcuno inizi con 0 e 1. Oggi tutti iniziano con un linguaggio di programmazione di alto livello. E facendo questo, non stiamo iniziando "da zero".
I linguaggi di programmazione sono strumenti. Così come le librerie. Se il vostro obiettivo è quello di costruire più/più nuovi/migliori strumenti (non c'è niente di male in questo!), potreste considerare di tornare agli 0 e agli 1, ma dubito che qualcuno ve lo suggerisca.
Ma, dall'altro lato, se quello che volete è costruire un programma per l'utente finale, concentratevi sul programma e fate uso degli strumenti che avete a disposizione. Non ha senso reinventare la ruota. Non si vede un falegname che forgia i propri strumenti d'acciaio per il gusto di "farlo da zero".
Non c'è più "da zero" nell'informatica. Ci siamo evoluti e dobbiamo ringraziare quei geni che hanno avuto davvero difficoltà con gli 1 e gli 0 che ci hanno davvero spianato la strada, e grazie ai quali abbiamo il privilegio di programmare con linguaggi di alto livello oggi.
A voi, ragazzi! Nessuna scuola come la vecchia scuola!