Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    [OT] programmazione - aprile 2013

    Apriamo il thread di aprile con un tema scomodo: build system.
    Cosa avete provato? È effettivamente vero che cmake risolve ogni problema, compresa la fame nel mondo e lo stallo politico italiano?
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #2

    Progetto FISH, cercasi programmatori

    Sotto il patrocinio di Google, HTML.it è lieta di annunciare un progetto che (speriamo) si sviluppi almeno inizialmente in seno alla nostra sezione.

    Sono tempi in cui si usano strumenti tecnologici per fini completamente diversi rispetto a quelli per cui nascevano: HTTP nasce come protocollo stateless; HTML serviva per semplici ipertesti; i template C++ nascevano per "genericizzare" i tipi di una funzione; PHP nasceva per piccole pagine personali; i processori x86 nascevano come microcontrollori; X11 era progettato per uso su rete; le crocs come strumento di tortura.

    In tutti questi casi, abbiamo abusato dello strumento tecnologico e abbiamo vinto. In effetti, quasi ogni caso in cui si è perso tempo a cercare di fare le cose per bene e studiare software e protocolli adeguati per un certo fine si è risolto in un fallimento: chi usa davvero i sistemi operativi microkernel? NNTP? l'architettura IA64? chi conta davvero i cicli macchina degli algoritmi come Knuth? Il grosso delle soluzioni che usiamo ogni giorno sono degli hack, dei "kludge" di qualche genere, e vincono alla grande su soluzioni ben pensate.

    Per questo motivo, Google ha deciso di sponsorizzarci per provare vedere se è possibile ottenere il "successo della soluzione inferiore" per così dire "in laboratorio"; è stato quindi scelto come obiettivo realizzare il browser per il progetto Frogh, un sistema operativo scritto completamente in HTML - dal bootloader (<iframe src="/boot/frogh">) alla interrupt table (<table id="interrupt"> ... </table>) ai driver grafici (<canvas id="DVI-1"> ... </canvas>) al software applicativo.

    In quest'ottica di ribaltamento della usuale "gerarchia di linguaggi", si è deciso che il browser, scritto ovviamente in HTML, si occuperà di interpretare della pagine scritte in assembly MIX, trasportate su protocollo NTP (possibilmente con IPoAC, secondo la RFC 1149).

    L'assembly MIX è stato scelto per la grande diffusione nella nostra target audience (che sicuramente ha perso qualche mese della sua vita sul Knuth), non è legato ad un'architettura particolare (in modo da evitare liti tra fazioni) ed è egualmente antipatico a tutti. Inoltre, esistono già in rete molti interpreti di questo linguaggio da cui prendere spunto, spesso con licenze FOSS.

    Il passaggio da linguaggio dichiarativo (HTML) a linguaggio imperativo è una scommessa interessante: le webapplication attuali sono sempre più JavaScript (imperativo) che HTML (dichiarativo), per cui tanto vale buttarsi e passare ad un linguaggio completamente imperativo per chiudere la questione.

    Il browser, naturalmente, dovrà comunque fornire uno strato di compatibilità per l'HTML scritto finora; questo sarà realizzato con un convertitore interno HTML->MIX, il cui output verrà poi reinterpretato in HTML comprensibile al sistema operativo. Questo, oltre a fornire un'ampia copertura delle funzionalità del motore MIX->HTML fin da subito, assicura un grado di sandboxing estremo, dato che l'HTML proveniente dall'esterno non interagisce mai con l'HTML del sistema operativo.

    Per questo e altri motivi architetturali (meglio descritti nel wiki che appronteremo al più presto), il browser ha come nome interno "4-stage Producer of Interpreted Language", che rientra nel più generale progetto "Fundamental Inversion of Software Handmaking".

    Concludo invitandovi tutti a partecipare a questo interessante progetto: 4PrIL FISH ha bisogno di voi!
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Mi spiace, ma non sono un programmatore, al massimo sono una divinità.
    Però posso partecipare solo se mi dai il nickname Ayukawa

  4. #4

  5. #5
    Vincenzo1968, era un pesce d'aprile, ma forse le assurdità scritte erano un po' troppo verosimili, visto che nessuno ha raccolto.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    però l'idea del boot in html non era male... che palle sti boot testuali

  7. #7
    Originariamente inviato da MItaly
    Vincenzo1968, era un pesce d'aprile, ma forse le assurdità scritte erano un po' troppo verosimili, visto che nessuno ha raccolto.
    Noooo, e che ca... volo! Avevo già scritto mezzo sistema operativo...

    Comunque, consiglierei di scaricare le applicazioni e smanettare con mix e mmix(dopo aver letto i libri di Knuth, s'intende). Al limite, se vi secca smanettare con mix, leggete almeno i libri di Knuth.

    Ora che me ne faccio del mezzo sistema operativo in mix-html?

  8. #8
    Il Knuth lo sto leggendo nel tempo libero, estremamente interessante e ben fatto - tanto quanto ostico.

    Comunque, provvedo a unire questa discussione con l'OT di Aprile, in modo da evitare di avere in giro troppi thread OT.

    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Originariamente inviato da MItaly
    Il Knuth lo sto leggendo nel tempo libero, estremamente interessante e ben fatto - tanto quanto ostico.

    Comunque, provvedo a unire questa discussione con l'OT di Aprile, in modo da evitare di avere in giro troppi thread OT.

    Io non vedo l'ora che esca il volume V(ma anche il VI e il VII):

    http://www-cs-faculty.stanford.edu/~knuth/taocp.html

    Ma se ne parla nel 2020, sigh!

  10. #10
    Io di fronte ad un programma così monumentale ho sempre il dubbio che ci lasci le penne prima di finire...
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.