Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_meta_box_present is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_send_notification is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_modify_title_and_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_heading is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$response_body is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_8bf8db47419db46d10d3da619bda0965 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_8bf8db47419db46d10d3da619bda0965 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Microsoft rilascia il suo codice sorgente! Per festeggiare 50 anni di attività

Microsoft rilascia il suo codice sorgente! Per festeggiare 50 anni di attività

Il 4 aprile 1975 Bill Gates e Paul Allen fondarono Microsoft, un'impresa che ebbe inizio con lo sviluppo di Altair BASIC, il primo software creato per il personal computer Altair 8800. Nonostante le difficoltà, come la limitata memoria dei computer dell'epoca, il progetto ebbe un enorme successo.

Era il 4 aprile 1975, esattamente 50 anni fa, quando Bill Gates e Paul Allen crearono Microsoft. La storia dell’azienda è nata, incredibilmente, con una rivista. A ricordarlo è lo stesso Gates in un lungo e appassionato post: il numero di gennaio 1975 di Popular Electronics aveva in copertina un sistema Altair 8800. Creato da una piccola azienda di elettronica chiamata MITS, era un kit per l’assemblaggio di un “computer personale” che prometteva di mettere nelle mani degli appassionati un sistema davvero all’avanguardia per quei tempi. “Quando Paul ed io vedemmo quella copertura, capimmo due cose: la rivoluzione dei personal computer era imminente e volevamo essere tra i primi a farne parte“, scrive oggi Gates.

Copertina Popular Electronics Altair 8800

Microsoft rilascia oggi quello che Gates considera il suo codice sorgente

Parafrasando il titolo del suo libro Source Code, in cui Gates rileva alcuni segreti di Microsoft, il co-fondatore della multinazionale statunitense pubblica quello che presente come il “codice sorgente” dell’azienda che ha fondato con Allen. Cliccate qui: questo è il codice sorgente originale di Altair BASIC, il primo software Microsoft, sviluppato nel 1975. Scrive Gates:

Quel codice rimane il più affascinante che io abbia mai scritto.

BASIC (Beginner’s All-purpose Symbolic Instruction Code) è un linguaggio di programmazione progettato per essere facile da imparare, che permetteva agli utenti di programmare l’Altair 8800, uno dei primi personal computer. Il codice sorgente di Altair BASIC ha segnato l’inizio di Microsoft ed è considerato una pietra miliare nella storia dell’informatica.

A metà anni ’70 il concetto di PC praticamente non aveva senso. Gates e Allen volevano sviluppare un software che permettesse alle persone di programmare l’Altair rivoluzionando il modo con cui le persone interagivano con queste macchine. Così, contattarono Ed Roberts, il fondatore di MITS, spiegando che avevano pronta (in realtà mentirono!…) una versione del linguaggio di programmazione BASIC per il chip che alimentava l’Altair 8800. Il fine ultimo era quello di portare un computer su ogni scrivania e in ogni casa.

Mi sembra ieri che Paul ed io eravamo piegati sulla PDP-10 nel laboratorio informatico di Harvard, scrivendo il codice che sarebbe diventato il primo prodotto della nostra nuova azienda (Bill Gates).

Il PDP-10 (Programmed Data Processor-10) fu uno dei primi grandi sistemi di calcolo sviluppato dalla Digital Equipment Corporation (DEC) negli anni ’60. Si trattava di una serie di computer mainframe progettata principalmente per l’uso nelle università, nei centri di ricerca e nelle istituzioni. La sua architettura era basata su un sistema a 36 bit, e supportava linguaggi di programmazione come il FORTRAN, il LISP e il BASIC, che erano utilizzati in molte delle applicazioni accademiche e di ricerca.

È diventato un simbolo della “Golden Age” dei mainframe ed è famoso, appunto, per essere stato usato dal duo Gates-Allen per realizzare il BASIC per l’Altair 8800.

Bill Gates e Paul Allen, fondatori Microsoft

Il BASIC come linguaggio che ha segnato la storia dell’informatica

Inventato nel 1964 da due professori del Dartmouth College, il BASIC era progettato per essere facile da imparare anche da persone senza esperienza in ambito informatico. Con poco studio e senza specifiche competenze tecniche, una persona poteva scrivere il proprio software in BASIC: da un programma per gestire un libro paga a un gioco del tris.

“Il BASIC è stato il primo linguaggio che Paul ed io abbiamo imparato (e viene ancora usato oggi)“, racconta Gates, riferendosi alle molteplici implementazioni che sono seguite negli anni. Lo stesso Visual Basic è un’evoluzione di quell’azzeccata intuizione.

I computer, tuttavia, non parlano e non parlavano il BASIC. E il linguaggio che parlano è così complesso e poco intuitivo che programmare così diventa un’impresa titanica. Per colmare questo gap, Gates e Allen hanno realizzato un interprete BASIC, che traduceva il codice in istruzioni che il computer capiva, eseguendo il programma riga per riga. In un altro articolo abbiamo parlato di linguaggio macchina e differenze tra compilazione e interpretazione.

I due fondatori di Microsoft vagliarono anche l’idea di realizzare un compilatore che traduceva l’intero programma e lo eseguiva tutto in una volta. Tuttavia, pensarono che l’approccio riga per riga di un interprete sarebbe stato utile per i programmatori alle prime armi, poiché avrebbe fornito un feedback immediato sul loro codice, permettendo loro di correggere gli errori in tempo reale.

Sviluppo senza il chip Intel 8080 dell’Altair 8800

Nel suo ricordo, a cinquant’anni di distanza, Gates osserva che lui e Allen non disponevano del chip Intel 8080 su cui l’Altair era basato. Quindi Allen si mise a scrivere un programma che simulava quel chip sul PDP-10 di Harvard. In questo modo fu possibile testare il software in corso di sviluppo senza avere un Altair fisico.

Gates si concentrò sulla stesura del codice principale, mentre un altro amico, Monte Davidoff, lavorava su una parte chiamata il “pacchetto matematico”.

Programmammo giorno e notte per due mesi per creare il software che avevamo detto esistesse già (Bill Gates).

La memoria dei computer all’epoca era costosa. Memoria extra per l’Altair poteva costare facilmente più del computer stesso, quindi ogni byte contava.

Così Gates, Allen e Davidoff pensarono che se fossero riusciti a far entrare il loro codice BASIC in soli quattro kilobyte, i possessori dell’Altair avrebbero ancora avuto abbastanza memoria per eseguire i programmi che avrebbero scritto, senza dover spendere troppo.

Per soddisfare questa limitazione, usai varie tecniche per ottimizzare l’uso della memoria, come strutture dati compatte e algoritmi efficienti. Fu una sfida divertente, e anche se Paul ed io eravamo stressati nel cercare di consegnare il nostro Altair BASIC a MITS il più rapidamente possibile, mi divertii un mondo a capire come far entrare tutto in 4 KB (Bill Gates).

Il successo di Altair BASIC

Dopo molte notti insonni, Gates e il suo team erano pronti per mostrare l’interprete BASIC a Ed Roberts. La dimostrazione ebbe successo tanto che MITS accettò di acquistare il software in licenza.

Fu un momento cruciale: Altair BASIC divenne il primo prodotto della nuova azienda, che in prima battuta Gates e Allen decisero di chiamare Micro-Soft (per poi eliminare in seguito il trattino).

Ecco perché il codice sorgente di Altair BASIC, che Gates condivide oggi dalle colonne del suo blog, è presentato come il “codice sorgente di Microsoft”.

È straordinario pensare a come questo singolo pezzo di codice abbia dato vita a mezzo secolo di innovazione da parte di Microsoft. Prima di Office, Windows 95, Xbox, prima delle soluzioni AI, c’era il codice sorgente originale, e mi diverto ancora a vederlo, anche dopo tutti questi anni (Bill Gates).

Con la famosa “Open Letter to Hobbysts” del 1976, Gates criticò aspramente chi utilizzava copie piratate di Altair BASIC. D’altra parte il numero elevatissimo di copie in circolazione contribuì a renderne ancora più colossale il successo. Da lì a MS-DOS e PC-DOS, con tutte le polemiche che ne seguirono (ne parliamo nell’articolo citato in apertura), fu un attimo. La strada era ormai segnata.

Credit immagini nell’articolo: The Gates Notes LLC

Ti consigliamo anche

Link copiato negli appunti