PROGRAMMING LANGUAGES: A brief story. From 1800 till today - AFK Story
HTML-код
- Опубликовано: 28 авг 2024
- #programming #history #ada
In this video ( • Panoramica sui LINGUAG... ) I gave an overview of programming languages. Today, let's see their story: how were programming languages invented? And what language was the first programming language written in? It all starts in the 19th century, before electronic computers were invented (it sounds strange, but that's exactly what happened). Great, now I know you want to know more, go watch this video!
► USEFUL LINKS:
- devskiller.com...
- en.wikipedia.o...
- en.wikipedia.o...
- www.ukessays.c...
- en.wikipedia.o...
- en.wikipedia.o...
- en.wikipedia.o...
- www.learnacade...
► ACKNOWLEDGEMENTS
- Analytical Engine: Mr. John Cummings. CC BY-SA 2.0
Konrad Zuse: Deutsches Museum
- Turing Machine: Rocky Acosta CC BY 3.0
- ENIAC: TexasDex CC BY-SA 3.0
-Harvad Mark I: Daderot CC BY-SA 3.0
- Z4: Clemens PFEIFFER CC BY 2.5
Don't miss the other videos you find in the Channel:
► AFK Breaking News: • BREAKING NEWS
► AFK Story/Stories: • STORIA/STORIE
►AFK Under the hood: • UNDER THE HOOD
► AFK VLOG: • VLOG
► Subscribe to the Channel!
► Follow me on Instagram: / valerio_afk
Video HS-22-014
Complimenti per i tuoi video davvero. Eniac l'ho visto in una visita guidata molti anni fa, per me era un sogno❤. Poi...una piccola curiosità sulle schede perforate, oltre che ad essere largamente impiegate sino agli anni 90 sulle macchine tessili industriali, le schede perforate erano utilizzate addirittura per i pedaggi autostradali sino alla fine degli anni 70!
Con quale programma si generano i programmi? E con quale programma è stato generato il programma col quale generiamo i programmi? È sempre stato il mio punto di domanda costante!
Sono contento di sapere di non esser l'unico che se lo chiedeva. Grazie per aver guardato 😉
Nooo grande mvv blog
Sei un pozzo di conoscenza, in più è un piacere ascoltare. Fai parte di un bel gruppo di youtuber, che stanno facendo crescere positivamente la piattaforma. Grande.
Grazie 1000 per essere passato da queste parti!
questo canale è fantastico!!!!
Grazie per essere passato!!!
Ottima sintesi! Hai anche un blog in cui tratti questi argomenti?
No mi spiace
Fai dei video veramente simpatici e interessanti. Infatti li manderò a mia figlia sedicenne a cui sto iniziando a dare un po'di infarinatura informatica: C e Python (che in parte fanno già a scuola) e Linux -- se avanza un po' di tempo anche C++. Per farle capire quanto fa schifo 😄 Un unica preghiera: non usare quella espressione "nordica" "Scorsa settimana" senza l'articolo. È terribile e solo superata da "piuttosto che". Per il resto continua così. Una puntata interessante potrebbe essere quella su Zuse. In CH si sussurra che lo Z3, che si dice perso in un bombardamento di Berlino nel tardo '43, sia stato trafugato e sia stato installato nei sotterranei di quello che sarebbe poi diventato il nucleo della facoltà di informatica dell'ETH (e che quindi quando lo Z4 avrebbe trovato il fratellino minore, quando venne installato negli anni 50). Per ovvi motivi nessuno (soprattutto gli americani) era al corrente di ciò, dato che gli svizzeri avrebbero dovuto spiegare come tale oggetto fosse arrivato da una nazione in guerra ...
Molto interessante!
Veramente ottimi contenuti! Mi sei spuntato nella homepage di RUclips e dal primo video che ho visto ho saputo quali pulsanti cliccare (like e subscribe). Continua così!
Grazie mille per aver guardato ed esserti iscritto 🙂
Dopo che mi sono riempito la homepage di canali IT esteri e via dicendo , fa sempre piacere che YT mi consiglia qualcosa di nostrano e a quanto pare anche di qualità
Beh, forse ti sono saltato fuori proprio per questo motivo. Io ho fatto del mio meglio per aprire questo canale sotto YT Italia, ma di fatto vivo all'estero xD. Ad ogni modo, grazie mille per aver guardato!
In merito ai linguaggi di programmazione del periodo che va dal 1959 a tutt'oggi credo sia necessario ricordare il Report Program Generator o RPG sviluppato nel 1959 da IBM per i suo sistemi 1401 e poi utilizzato nei minisistemi IBM dal S/3 al S/34 S/36 per poi diventare il linguaggio di programmazione del sistema AS/400 con il nome RPG IV e poi ILE RPG.
Il sistema AS/400 nato nel 1988 è tuttora uno dei sistemi utilizzati nel mondo business ed è venduto con il nome I Series e poi Power Systems.
Giusto per far capire l'importanza di questo sistema nella storia dell'informatica voglio ricordare che tutta la parte gestionale di Microsoft fino alla fine degli anni '90 veniva gestita da una rete di AS/400 e non da server con architettura Intel e S.O. Microsoft.
Un'ultima notazione, in moltissimi istituti tecnici negli anni che vanno dalla fine degli anni '70 fino agli anni '90 i due linguaggi di programmazione che venivano insegnati nei corsi di studio di ragioniere programmatore erano il COBOL e l'RPG e tale conoscenza consentiva l'assunzione quasi automatica al termine della maturità.
Se parliamo di storia della programmazione credo che questi approfondimenti possano essere utili.
Ciao antonio. Ti ringrazio per la precisione di entrambi i commenti. Benche' siano molto ben dettagli, non ho ben capito come l'aver tralasciato questi due dettagli renda il racconto da me fatto pieno di sviste, a tuo dire.
Ti faccio un esempio. La macchina di H.H. e' stata usata come base per altri dei dispositivi di cui parlo (ENIAC, per dirne uno)? Non credo che dire "usava le schede forate" sia un buon argomento, visto che gia' esistavo da prima. Stessa cosa per AS/400 RPG. A parte il fatto che venivano spiegati a scuola, C (per dirne uno) era basato/influenzato da esso?
Ora ti chiedo, le mie "sviste" rendono poco fruibile/disfunzionale il mio racconto? O per meglio dire, come sono funzionali i tuoi approfondimenti nel contesto del mio racconto? C'e' un buco di 'trama'?
Buono il contenuto. Potrei umilmente consigliare un "linguaggio" parlato più lento e quindi un pò più intelligibile? Non vuole essere una critica, ma semplicemente un consiglio per non far distrarre dai preziosi contenuti offerti. Non nego che, ma potrebbe essere un mio personale limite, molte frasi che dici in maniera tronca e date per concluse, siano da esplicitare del tutto, per essere rese più digeribili.
Scusami.
Beh, faro' del mio meglio. Spesso parlo molto velocemente (e non me ne rendo conto), a volte parlo lentamente (e ancora una volta non me ne rendo conto). Tuttavia ho scoperto che quando ho fretta di fare un video (perche' poi devo sbrigarmi ad editarlo), tendo a parlare lentamen te (sembra strano eh), mentre quando non ho fretta (tipo nel weekend), tendo a parlare piu' velocemente. Il perche', non lo so. Infatti, il video che uscira' domani e' stato girato in fretta e furia. Tuttavia parlo (almeno dal mio punto di vista) piu' lentamente. Spero che quel tipo di andatura possa piacerti, anche se ovviametne non posso garantire che sara' sempre cosi', perche' mi accorgo di come e' andato il video quando lo trasferisco al computer. Vediamo come andra. Ad ogni modo, grazie per essere passata da queste parti.
Nel video che ho appena visto ci sono, a mio parere troppe "sviste" o "abbreviazioni".
Non si può passare da Ada Lowelace (1815-1852) al 1936 come se in quegli 80 anni non sia successo nulla.
Non si possono liquidare le schede perforate con due frasi, peraltro neanche troppo esatte.
La storia dell'elaborazione automatica delle informazioni (informatica) nasce nel 1886 con il brevetto di Herman Hollerit che inventa la prima macchina tabulatrice con la quale vince il contratto con il governo USA per l'elaborazione dei dati del censimento generale del 1890.
Hollerit vendette al Governo degli Stati Uniti oltre 70 milioni di schede perforate per il censimento del 1890.
Già quella macchina ha una architettura simile a quella che Von Newman svilupperà dopo la II guerra mondiale.
I DATI sono memorizzati su schede perforate e vengono elaborati, all'inizio solo tramite conteggio, con l'uso della tecnologia elettromeccanica esistente all'ora.
Per ogni scheda che veniva letta un sistema di cavi faceva scattare un relè, avanzare un contatore e si apriva uno sportellino di una scatola con 26 postazioni detta selezionatore.
La programmazione di questa macchina avveniva inizialmente attraverso la saldatura fisica dei cavi secondo lo schema necessario al raggiungimento del contatore voluto.
Esempio se un foro nella scheda rappresentava il sesso, un foro per gli uomini e uno per le donne e un altra serie di fori rappresentava la razza, uno per i bianchi, uno per gli afroamericani, uno per i cinesi etc etc. e si voleva che un contatore contasse tutti gli uomini bianchi ecco che si collegavano i cavi affinché un determinato contatore scattasse solo se erano presenti entrambe i fori.
Questo sistema comportava parecchi problemi, la macchina non poteva essere riprogrammata se non dissaldando tutti i cavi e ricombinandoli.
Il sistema fu poi modificato nel 1906 passando dalla saldatura dei cavi all'uso di cavi con spinotti che consentiva quindi di cambiare la programmazione in modo più veloce ma dovendo sempre riposizionare tutti gli spinotto con evidenti problemi di errori nel rifare delle configurazioni già fatte.
La cosa venne risolta attraverso dei pannelli removibili (IBM 1928) che potevano essere quindi riposti in armadi e riutilizzati senza dover rimettere tutti gli spinotti.
Questi sistemi di "programmazione" sono stati utilizzati fino alla fine degli anni '70 nei centri meccanografici, io ho lavorato per una quindicina di giorni nel 1976.
Le schede perforate sono state utilizzate come sistema di memorizzazione delle informazioni fino all'arrivo dei nastri magnetici il cui primo utilizzo è del 1951. Poi progressivamente sono state utilizzate solo come input dei dati che poi venivano copiati su nastro magnetico o su disco. Le schede perforate come supporto di input dei dati vengono sostituite agli inizi degli anni '70 dai Floppy Disk e scompaiono di fatto agli inizi degli anni '80 dopo circa 100 anni di utilizzo.
Il periodo dell'elaborazione dati in modo elettromeccanico viene sempre "dimenticato" come se non fosse importante.
Dobbiamo però ricordare che la principale azienda informatica del '900 è stata la IBM che nasce dalla fusione nel 1911 della Tabulating Machine Company di Hollerit, nata nel 1896, con altre due società e che nel 1924 cambierà nome in International Business Machine.
La IBM avrà il monopolio del mercato durante tutta la prima parte del '900 e anche oltre. La base del suo fatturato saranno le applicazioni commerciali e la vendita delle schede perforate. Saranno questi ricavi quelli che sosterranno tutto il settore di R&S IBM che a tutt'oggi è l'azienda con il maggior numero di brevetti legati all'informatica.
Dato che stiamo parlando di un periodo che va dal 1886 al 1950 non credo si possa sorvolare.
Bel video, parlare del linguaggio FORTH?
Grandissimo, continua così
Grazie mille per aver guardato 🙂
Bel video grazie.
Grazie a te :)
Bellissimo video, ma ho una domanda: ma se uno volesse indirizzare un ragazzo ad imparare il suo primo linguaggio di programmazione, secondo te, quale sarebbe la migliore scelta? Ciao e grazie.
Grazie mille Pasquale per aver visto. Non e' una domanda semplice, ma cerchero' di dare una risposta veloce. Se e' uno smanettone (come lo ero io da ragazzino), C/C++. Se non e' uno smanettone, allora ti consiglio di guardare questo video: ruclips.net/video/ZJMr3Nv0Ytc/видео.html
Bellissimo video maaaa: quindi i linguaggi di programmazione come sono scritti? Non l'ho capito 😅
❤😊
Ok accetto il tuo punto di vista ma quel brivido quando hai parlato di VB sinceramente non ľho capito, considera che VB viene ancora usato adesso ed é stata usata la versione per MSDOS per sviluppare FreeBASIC attualmente il migliore compilatore con sintassi BASIC al mondo ed é autocompilabile dato che gli stessi sorgenti di FreeBASIC sono scritti nel medesimo linguaggio, si puo programmare a Oggetti e Procedurale ottimo per fini didattici ed essendo compatibile con le librerie scritte in C e C++ si possono sviluppare applicazioni che usano api windows librei GTK QT ecc ecc io stesso ho sviluppato un gestionale che opera in rete usando server mysql e interfaccia GTK e il gestionale puo essere compilato per windows BSD e linux.
E a differenza di python é autonomamente implementabile, per chi non lo sa Python pup essere implementato solo tramite C C++e altri linguaggi.
La maggior parte dei linguaggi di programmazione (python incluso) sono self-hosted (en.wikipedia.org/wiki/Self-hosting_(compilers)) - a meno che abbia frainteso il tuo punto. PS.: non ricordo esattamente il punto del video a cui ti riferisci, molto probabilmente era dovuto al fatto che non mi piace BASIC.
@@valerio_afk Accetto il fatto che non ti piace BASIC.
Ma devo chiarire il mio post:
I linguaggi autocompilabili sono quei linguaggi dove i sorgenti di base sono scritti nel medesimo linguaggio spiego meglio:
I sorgenti di C sono scritti in C
I sorgenti di C++ sono scritti in C e C++
I sorgenti di Fortran sono scritti in Fortran
I sorgenti di FreeBASIC sono scritti in FreeBASIC
I sorgenti di VisualBASIC sono scritti in C++
I Sorgenti di Python sono scritti in C
Tornando a Python ha una sola implementazione scritta in Python è si tratta del suo compilatore JIT PYPY che serve a ottimizzare il codice in memoria e compilarlo in codice macchina prima di eseguirlo ( Come fa PHP dalla versione 8 in poi )
I Compilatori JIT hanno il vantaggio che una volta caricato e compilato il programma questo ha prestazioni pari a un programma compilato ma deve essere volta per volta caricato e compilato.
Zuse aveva realizzato il primo computer elettronico programmabile prima di ENIAC lo realizzò in casa sua ed era veramente geniale, continuò il lavoro durante la IIGM per poi continuare e diventare uno dei primi costruttori di computer della Germania.
questo e' un ottimo spunto per farci un video, quando iniziero' la serie riguardante le persone piu' importanti nella storia dell'informatica, computer, e altro. Gia' di alcune ne ho parlato, ma non dal punto di vista della loro vita, ma di quello che hanno fatto (tipo Tim Berners-Lee per internet).
La macchina Turing può eseguire un algoritmo relativo ad un problema ma ci sono problemi che non non hanno un algoritmo ( es : un algoritmo in grado di calcolare tutte le equazioni diofantee )
Ma infatti ho cercato di stare attento e usare il termine "computazione". Banalmente anche la computazione dei numeri casuali rientrano in quella serie di problemi di cui tu parli. Ad ogni modo, ti ringrazio per aver guardato e spero che ti sia iscritto 🙂
Ciao, la musica pulpica in sottofndo di chi é?
Scusa il ritardo, ma ho dovuto aprire il vecchio progetto e non ho potuto farlo prima. Si chiama Road Trip (Slynk) e credo di averla trovata nella raccolta audio di YT
Ciao video veramente interessante. Volevo chiederti se potevi parlare del codice Yaml, su come è strutturato e come poterlo usare, grazie.
Grazie per aver visto. Ho preso nota di YAML e in futuro ci faccio un video dedicato ;)
Grazie
Simula67 ?
Faresti un video su questo?
È il primo object oriented della storia
Ci proviamo 🙂
Mi spiace, ma le schede perforate, erano usate per la programmazione imperativa che va da cobol, Fortran, simula etc... Ogni scheda era una linea di programma e la realizzazione di programmi con questo metodo era estremamente pratica. Era prassi scambiarsi sottoprogrammi passando il relativo pacco di schede e costruire un programma non era altro che una unione di questi pacchi di schede che spesso venivano stampate con differenti colori. Per i dati era la stessa cosa, era un modo di lavoro estremamente pratico e rapido anche perché la stampa delle schede permetteva di analizzare con molta attenzione il codice. Un batch di schede veniva poi dato in pasto ad un lettore e finalmente avveniva l'esecuzione.
Mi spiace per cosa? Ho fatto quel video 9 mesi fa e non ho ben capito se ho sbagliato qualcosa (che puo' capitare), oppure stai facendo una precisazione. Se ti riferisci a un punto preciso, fammi sapere 🙂
@@valerio_afk non te la prendere, in effetti non sono stato chiaro, il "mi spiace" era in funzione di una tua affermazione per la quale ho inteso che le schede perforate non erano adatte per l'inserimento di programmi, ma in realtà erano diffusissime e si sono usate fino alla metà degli anni 80'. Non solo, ma il loro uso permetteva di organizzare bene il lavoro considerando che all'epoca si scriveva in alternativa su una telescrivente è successivamente una stampante con tastiera. In realtà, la nei primi calcolatori sua meccanici che elettronici, faceva da padrona la banda perforata a 5 o 7 bit. Il motivo è per il fatto che la banda perforata conteneva anche le istruzioni per tornare indietro, i famosi "skip" (salti) o cicli for , che guarda caso sono usatissimi in Fortran. Con quel metodo il programma poteva non essere memorizzato localmente, ma letteralmente caricato sui registri della CPU. Un metodo che è durato fino all'inizio degli anni 60'. La banda perforata, proprio per questa sua qualità di fungere da memoria sequenziale bidirezionale, veniva usata per lo start veloce delle CPU fino a tutti gli anni 70',poi soppiantata dai floppy da 8/5 pollici.
Assolutamente non me la sono preso. Mi spiace averti dato quell'impressione. Appena posso lo riguardo (specialmente quella parte) e vado a vedere se mi sono espresso male. Grazie mille per aver approfondito!
Complimenti. Un appunto: Apple nel 1972 non esisteva.😅
Io inizia con Turbo Pascale, poi C, C++, poi mi buttai sull'HTML, PHP,
Ma perché youtube mi ha fatto scoprire questo canale così tardi.
Forse perché ho aperto il canale 6 mesi fa. Ancora sto crescendo ma grazie a voi sta andando meglio delle mie aspettative
@@valerio_afk doveva farmelo scoprire 5 mesi e 29 giorni fa allora ahha. Complimenti :)
interessante ma ...Parla più piano! ...ti mangi le parole... scandisci bene, sennò non capisce nulla!
Apple ormai tutto quello che riscrive lo fa in Swift in modo da unficare le app tra Mac, iPad e iPhone.
hai lasciato fuori anche i linguaggi di programmazione orientati alla simulazione al computer come il Siman ad esempio