{"id":75,"date":"2020-12-20T13:41:25","date_gmt":"2020-12-20T12:41:25","guid":{"rendered":"https:\/\/workerbase.org\/wordpress\/?p=75"},"modified":"2021-11-20T16:10:06","modified_gmt":"2021-11-20T15:10:06","slug":"seguito-concettuale-della-turing-machine","status":"publish","type":"post","link":"https:\/\/arkenidar.com\/wordpress\/2020\/12\/20\/seguito-concettuale-della-turing-machine\/","title":{"rendered":"seguito concettuale della Turing Machine"},"content":{"rendered":"\n<p>La macchina di Turing ha segnato a fondo il concetto di cosa sia un computer. I programmi venivano codificati come una lunghissima sequenza d&#8217;istruzioni. Tali sequenze vengono eseguite sequenzialmente, spostandosi in una casella a destra o a sinistra nel caso di un nastro magnetico. Nel caso di una memoria ad accesso arbitrario l\u2019ordine di esecuzione delle istruzioni \u00e8 \u201cavanti per default\u201d altrimenti salta verso una specifica istruzione anche non adiacente. Questo default consente ad esempio di risparmiare memoria cosa che non avviene in una mia variante <a href=\"https:\/\/workerbase.org\/wordpress\/2020\/12\/20\/il-mio-acronimo-resm\/\" target=\"_blank\" rel=\"noreferrer noopener\">RESM<\/a> dove ogni istruzione ha due e sempre due istruzioni successive. Il processore e i linguaggi C-like hanno ovviamente preso la scelta del \u201cavanti per default\u201d + \u201csalti qualora bisogni\u201d. E cos\u00ec vengono in essere istruzioni quali il GOTO del BASIC e ancor prima il JUMP del linguaggio macchina di cui sono importanti specialmente le varianti condizionali ovvero che avvengono soltanto a particolari condizioni.<\/p>\n\n\n\n<p>Il GO TO, \u201cvai a\u201d \u2026 e la sequenza di istruzioni lineare divenne non lineare. Si pose il problema dello spaghetti code ovvero di tessiture indecifrabili di programmi che fecero nascere la programmazione strutturata che trov\u00f2 la sua accettazione anche grazie al supporto nei linguaggi come Pascal e C \u2026<\/p>\n\n\n\n<p>Come nota dell\u2019autore io tendo a conservare i pezzi d&#8217;informazione che permettono una comprensione storica ed evolutiva.<\/p>\n\n\n\n<p>Queste sono le basi dei linguaggi e dei processori odierni. Nessuno ha mai pensato cose come rendere un programma non una sequenza d&#8217;istruzioni con salti, non una sequenza d istruzioni con salti disciplinati in gerarchie strutturate, ma un grafo di grafi ma non sar\u00f2 io a introdurlo. In ogni caso vedo la necessit\u00e0 di mezzi visuali per definire i programmi. E non soltanto come testo decorato e \u201cassistito\u201d (come in VisualStudio con IntelliSense), ma come abbandono o integrazione della definizione di programmi mediante testo sequenziale, in oggetti grafici manipolabili e configurabili che esemplifichino il funzionamento del programma anche a fini di debug o refactoring. E gi\u00e0 esistono varie notazioni e vari tipi di diagrammi ma non so perch\u00e9 i programmi debbano venire ancora scritti come files di testo semplice, poi elaborato.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La macchina di Turing ha segnato a fondo il concetto di cosa sia un computer. I programmi venivano codificati come una lunghissima sequenza d&#8217;istruzioni. Tali sequenze vengono eseguite sequenzialmente, spostandosi in una casella a destra o a sinistra nel caso di un nastro magnetico. Nel caso di una memoria ad accesso arbitrario l\u2019ordine di esecuzione [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"class_list":["post-75","post","type-post","status-publish","format-standard","hentry","category-computer"],"_links":{"self":[{"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/posts\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/comments?post=75"}],"version-history":[{"count":1,"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/posts\/75\/revisions"}],"predecessor-version":[{"id":76,"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/posts\/75\/revisions\/76"}],"wp:attachment":[{"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/media?parent=75"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/categories?post=75"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arkenidar.com\/wordpress\/wp-json\/wp\/v2\/tags?post=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}