{"id":288,"date":"2003-02-21T00:00:00","date_gmt":"2003-02-20T23:00:00","guid":{"rendered":""},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"288","status":"publish","type":"post","link":"https:\/\/www.vialattea.net\/content\/288\/","title":{"rendered":"Vorrei sapere con quale software vengono creati i sistemi operativi (Windows,Unix,DOS&#8230;) e i programmi per creare software (Visual Basic, C++ &#8230;). Possibile ci sia un &#8220;programma per fare programmi&#8221;?"},"content":{"rendered":"<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><\/p>\n<p>I linguaggi di programmazione ed i relativi programmi che consentono di <i>compilare<\/i>,<br \/>\novvero trasformare in moduli eseguibili per le varie piattaforme, sono<br \/>\nla \u201cbase\u201d di componenti (un po&#8217; come i mattoncini delle costruzioni)<br \/>\nper costruire altri programmi: \u201cprogrammi per fare programmi\u201d, appunto.<br \/>\n<\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Il <\/p>\n<p><i>C<\/i><\/p>\n<p> e la sua versione ad oggetti <\/p>\n<p><i>C++<\/i>sono i linguaggi di programmazione storicamente pi\u00f9<br \/>\nutilizzati non solo per la creazione di sistemi operativi, ma anche per<br \/>\nla scrittura di gran parte delle applicazioni commerciali.<br \/>\n<\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Il<br \/>\nlinguaggio C nasce nel 1970 ad opera di Dennis Ritchie nel cuore dei<br \/>\nBell Labs (la compagnia telefonica americana) e sostituisce il<br \/>\nfarraginoso predecessore, il linguaggio B, basato su un compilatore di<br \/>\npessima efficienza.<br \/>\n<\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Il successo del C \u00e8 immediato, tanto che in pochi anni, nel 1973, consente di scrivere per intero un sistema operativo, lo <\/p>\n<p><i>UNIX<\/i><\/p>\n<p>, a tutt&#8217;oggi imbattuto per efficienza, qualit\u00e0, stabilit\u00e0 e portabilit\u00e0. Il linguaggio gode di propriet\u00e0 importantissime:<\/p>\n<p><\/font><\/p>\n<ul class=\"Normal\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><\/p>\n<li> E&#8217; un<br \/>\nlinguaggio di medio livello, ovvero consente contemporaneamente di<br \/>\naggregare le funzioni in macro-aree e di programmare bit-per-bit.\n<\/li>\n<li>\n<p>\tE&#8217; portabile in pi\u00f9 piattaforme<\/p>\n<\/li>\n<li>\n<p>\tFa uso estensivo di strutture di puntatori e gestisce direttamente l&#8217;indirizzamento di aree di memoria.<\/p>\n<\/li>\n<li> Il codice compilato \u00e8 efficiente quasi quanto il linguaggio<br \/>\nmacchina (il set di istruzioni nativo di ogni microprocessore), ma non<br \/>\ndipende dalla piattaforma o dall&#8217;hardware.\n<\/li>\n<li>\n<p>\tConsente di produrre e di richiamare agilmente <\/p>\n<p><i>librerie<\/i><\/p>\n<p> di funzioni.\u00a0<\/p>\n<\/li>\n<li>\n<p>\tConsente di inglobare chiamate a procedure in linguaggio macchina e di gestirne il ritorno in modo consistente<\/p>\n<\/li>\n<p><\/font><\/ul>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Il primo libro sul C <\/p>\n<p><i>Kerningham &amp; Ritchie &#8211; Linguaggio C<\/i><\/p>\n<p>, diviene in pochissimo tempo un best-seller e costituir\u00e0 la base per la versione standard <\/p>\n<p><i>ANSI C<\/i><\/p>\n<p>, che verr\u00e0 definita nel 1989 con pochissime variazioni rispetto al C di Kernigham e Ritchie.<\/p>\n<p><\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Nel periodo tra il 1983 ed il 1985, Bjarne Sroustrup, sempre nei Bell Labs, idea e realizza il C++, la versione <\/p>\n<p><i>ad oggetti <\/i>del C, che risponde ai nuovi concetti di linguaggi<br \/>\nformali, in corso di definizione proprio in quegli anni. Il C++ \u00e8 una<br \/>\nvera e propria estensione del C, tanto che i compilatori C++ compilano<br \/>\nprogrammi scritti in C K&amp;R e ANSI.<br \/>\n<\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Nelle facolt\u00e0 di informatica si studia da anni una versione semplificata del sistema operativo UNIX: il MINIX scritto <\/p>\n<p>(<i>da zero<\/i>) interamente in C e linguaggio macchina nel 1987 dal Prof. Andrew Steven Tanenbaun a scopo didattico.<\/p>\n<p><\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Anche<br \/>\nquesta idea in breve tempo gode di un successo clamoroso e\u00a0 si<br \/>\nprospetta l&#8217;idea di scrivere un vero e proprio sistema operativo in<br \/>\ngrado di girare su varie piattaforme, proprio grazie alle<br \/>\ncaratteristiche di portabilit\u00e0 del linguaggio C.<br \/>\n<\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">In poco<br \/>\ntempo, il MINIX viene utilizzato in tutte le universit\u00e0 grazie al fatto<br \/>\ndi essere scritto interamente in codice aperto e condiviso con tutti.<br \/>\nE&#8217; proprio uno dei tanti studenti, Linus Torvalds dell&#8217;universit\u00e0 di<br \/>\nHelsinki, che nell&#8217;Agosto del 1991 inizia a pensare alla scrittura di<br \/>\nquello che diventer\u00e0 l&#8217;unico vero concorrente allo strapotere di<br \/>\nMicrosoft e del suo validissimo sistema operativo Windows (anche questo<br \/>\nscritto per lo pi\u00f9 in C): il Linux, scritto in C e C++.<br \/>\n<\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Un altro folgorante successo: <\/p>\n<p><i>milioni <\/i>di sviluppatori si uniscono all&#8217;idea, nascono consorzi,<br \/>\ngruppi, reti e catene di distributori. Il 1999 consacrer\u00e0 il Linux come<br \/>\nsoggetto di business allettante e redditvo: colossi come IBM, DELL,<br \/>\nOracle, Motorola si lanciano nell&#8217;affare. All&#8217;inizio del terzo<br \/>\nmillennio, SUN produrr\u00e0 una suite di Office Automation, <i>StarOffice<\/i><\/p>\n<p>, per disegnare, elaborare testi, scambiare messaggi e lavorare analoga al pi\u00f9 blasonato e diffuso <\/p>\n<p><i>Office<\/i> di Microsoft e le maggiori aziende di consulenza si<br \/>\nlanciano nell&#8217;offrire servizi consulenziali e di implementazione basati<br \/>\nsu Linux.<br \/>\n<\/font><\/p>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Tutto questo, grazie all&#8217;incredibile potenza e flessibilit\u00e0 dei \u201cprogrammi che scrivono programmi\u201d, come il C.<\/p>\n<p><\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[&#8230;]<\/p>\n","protected":false},"author":180,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62],"tags":[],"class_list":["post-288","post","type-post","status-publish","format-standard","hentry","category-software"],"_links":{"self":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/users\/180"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/comments?post=288"}],"version-history":[{"count":0,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/288\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/media?parent=288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/categories?post=288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/tags?post=288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}