Carlo Denza : 1 Dicembre 2022 08:00
Autore: Carlo Denza
Qual è la migliore definizione per la creatività degli informatici? Possiamo considerarli come i moderni sciamani, creano universi, invocano routine, modellano ed eseguono con rituali arcaici linguaggi fortemente tipizzati e con esotiche espressioni.
Il 29 Ottobre 2022, all’età di 100 anni, ci lascia un autorevole figura della Storia dell’Informatica. Kathleen Britten nasce in Inghilterra il 9 luglio 1922. Studia alla University of London dove consegue la laurea in matematica con successivo dottorato di ricerca in matematica applicata.
Acquista il corso Dark Web & Cyber Threat Intelligence (e-learning version)
Il Dark Web e la Cyber Threat Intelligence rappresentano aree critiche per comprendere le minacce informatiche moderne. Tra ransomware, data breach e attività illecite, le organizzazioni devono affrontare sfide sempre più complesse per proteggere i propri dati e le infrastrutture. Il nostro corso “Dark Web & Cyber Threat Intelligence” ti guiderà attraverso i meccanismi e le strategie utilizzate dai criminali informatici, fornendoti competenze pratiche per monitorare, analizzare e anticipare le minacce.
Accedi alla pagina del corso condotto dall'Prof. Pietro Melillo sulla nostra Academy e segui l'anteprima gratuita.
Per un periodo limitato, potrai utilizzare il COUPON CTI-16253 che ti darà diritto ad uno sconto del 20% sul prezzo di copertina del corso
Per ulteriori informazioni, scrivici ad [email protected] oppure scrivici su Whatsapp al 379 163 8765
Supporta RHC attraverso:
Dopo aver studiato alcuni documenti di laboratorio redatti da Burks, A.W., Goldstine, H.H. e John von Neumann nel 1946 alla Birkbeck University di Londra, in quello che oggi è chiamato Dipartimento di Scienza e Sistemi Informativi.
Viene progettata una macchina di tipo von Neumann ARC(Automatic Relay Calculator) utilizzando dei relè molto veloci della Siemens disponibili in Europa. La Kathleen oltre a costruire l’hardware, scrisse tutto il software per le macchine ARC2 e SEC, inventando quello che in seguito sarebbe stata conosciuto come linguaggio di programmazione assembly.
Ma cosa intendiamo per linguaggio di programmazione?
Con linguaggio di programmazione si intende esprimere un processo con il quale, mediante un programma e un processore si ha la possibilità di eseguire un algoritmo o più semplicemente di risolvere un problema. Dove, con processore intendiamo la macchina che eseguirà il processo descritto dal programma. Con il termine processore non bisogna intendere un processore in sé stesso, ma un architettura di elaborazione.
Un altra importante caratteristica dei linguaggi è quella di riconoscere, come linguaggi di programmazione, solo quelli computazionalmente completi. Per linguaggi computazionalmente completi intendiamo un linguaggio di programmazione equivalente in potere espressivo al linguaggio macchina di Turing e che non riescono ad esprimere anche programmi di cui non è decidibile la terminazione; Ad esempio SQL non è un linguaggio completo perché si può sempre dire quando termina il programma. Quindi per definizione si definisce completo un linguaggio in grado di simulare arbitrarie macchine di Turing.
Nella seppur “recente” storia dell’informatica possiamo annoverare decine, centinaia, forse migliaia di linguaggi di programmazione. Sebbene molti di essi sono caduti in disuso o sono stati dimenticati, hanno comunque influenzato o avuto un peso nella nascita di quelli moderni.
Orientarsi in questo maremagnum di linguaggi, non è semplice, riconoscerne somiglianze e differenze è afferrarne il language design è ancora più complicato. Ma presentando alcuni di quelli che possiamo considerare i progenitori dei linguaggi di oggi, si può riconoscere e capire alcuni dei più importanti concetti che hanno introdotto.
Possiamo intendere come paradigma computazionale, uno stile di programmazione. Uno stile sostanziale di programmazione che include tutti gli strumenti teorici forniti da un linguaggio per la stesura del codice sorgente di un programma.
Definisce così, il modo in cui il programmatore concepisce e identifica il programma. Esistono diversi paradigmi di programmazione. Il paradigma non è il solo e unico aspetto determinante in un linguaggio, ma è certo che la scelta di un determinato paradigma computazionale influenza la maniera in cui si risolve un problema.