Pages: [1]   Go Down
Author Topic: esprimo un desiderio circa la didattica sulla piattaforma arduino  (Read 1399 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.electroit.tk/index.php/topic,192.msg1486.html#new

Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 104
Posts: 6611
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il problema di tutti i linguaggi è che senza compilatore specifico non si và da nessuna parte. E per Modula 2 non credo esista un compilatore per i microcontrollori AVR.
Sul piano della didattica sono d'accordo con te; ovvero sarebbe necessario un approccio più schematico nella programmazione, soprattutto per chi si affaccia a questa per la prima vota: è quello che il TeamArduino sta studiando proprio in questo periodo.
Se non sei stato all'Arducamp o se non hai guardato il filmato della presentazione (http://arduino.tv/v.html), sappi che che stanno sviluppando un progetto che prevede la creazione di un'interfaccia a blocchi per la programmazione dell'Arduino tramite IDE, come quella dei Lego MindStorm

Il progetto, a quanto o capito, è in alpha, o beta privata, e a settembre, o giù di lì, sarà disponibile come beta pubblica.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

0
Online Online
Faraday Member
**
Karma: 24
Posts: 2810
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il problema di tutti i linguaggi è che senza compilatore specifico non si và da nessuna parte. E per Modula 2 non credo esista un compilatore per i microcontrollori AVR.
Sul piano della didattica sono d'accordo con te; ovvero sarebbe necessario un approccio più schematico nella programmazione, soprattutto per chi si affaccia a questa per la prima vota: è quello che il TeamArduino sta studiando proprio in questo periodo.
Se non sei stato all'Arducamp o se non hai guardato il filmato della presentazione (http://arduino.tv/v.html), sappi che che stanno sviluppando un progetto che prevede la creazione di un'interfaccia a blocchi per la programmazione dell'Arduino tramite IDE, come quella dei Lego MindStorm

Il progetto, a quanto o capito, è in alpha, o beta privata, e a settembre, o giù di lì, sarà disponibile come beta pubblica.

Io non voglio il giocattolo per far lampeggiare un led, ho la zucca e la voglio fare funzionare. È evidente che i sistemi simil lego ti portano lonato dall'hardware con tutto ciò che ne consegue, al momento io mi tengo caro il mio C e le sue strafottenze.

Diverso è il discorso per un nuovo linguaggio di programmazione che offra più possibilita dal punto di vista del code design, perchè diciamocelo il C non offre nulla in merito, ancora ancora il C++ ha qualche chance, ma si tratta sempre di un linguaggio general purpose. C'è un progetto che si è arenato che vedeva riuniti i produttori di alcuni microcontroller device che volevano un C++ specifico per le applicazioni embedded, ma come ho detto si è arenato o almeno io non riesco a trovarne traccia.

Benvenga il modula 2 3 4 ecc, c'è appunto da vedere cosa offre e come usarlo attraverso un compilatore possibilimente Open Source.

Comunque di recento mi è arrivato questo libro http://books.google.it/books?id=UnpIKZmodSAC&pg=PA308&dq=design+pattern+C%2B%2B&hl=it&sa=X&ei=JGeTT8KdL8XP4QT1w8TQDw&ved=0CDkQuwUwATha#v=onepage&q=design%20pattern%20C%2B%2B&f=false

E devo dire che c'è modo e modo di usare il C, resta sempre il fatto che non è il modo ideale ma è già qualcosa in più.

Il linguaggio ideale sarebbe quello che ti permette di avere efficienza di esecuzione e ti permette di scrivere in modo leggibile ed ordinato oltre che sicuro. Con il C si è costretti ad implementare le macchine a stati, o la queue, ecc che sono tutti problemi implementativi che ti allontano dall'obbiettivo principale che poi sarebbe la funzionalità dell'applicazione.

Insomma il C e quello che è, e per il momento ce lo dobbiamo tenere stretto, perchè non c'è altro che permetta prestazioni a run-time equiparabili.

Alla fine +1 per il modula o qualsiasi altro linguaggio a venire.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Inizialmente mi ero posto il problema della revisione della grammatica C e cio' mi ha portato a rivedere la grammatica ANSI-C per definirne un subset piu' safe: l'idea e' stata costruire un programma (io lo chiamo "la maestrina") da frapporre fra il precompilatore e il compilatore che abortisse o meno il processo di compilazione in caso di violazione di regola safety del codice C sotto processo (bacchettando le mani la dove c'e' la violazione) , ho applicato parecchie idee del pascal, ho rimosso il casting, ho vietato l'algebra dei puntatori, ho applicato tutte le regole misra e alcune regole D0178B, ho tolto e forzato un sacco di cose pero' alla fine la conclusione di quel lavoro ha mostrato che spingendomi oltre stavo iniziando a definire la grammatica di un linguaggio nuovo e li mi sono fermato perche' esiste gia' quel linguaggio e si chiama: modula2, e' performante quanto il C tanto che ci hanno gia' scritto dei kernel in russia e negli stati uniti, addirittura un bootloader e i driver, tutto in modula2, ed esiste anche un crosscompilatore per avr8.

Il vero problema e' che gm2 (1) e' supportato ma non ancora integrato nel ramo ufficiale di gcc, e quello che c'e' si appoggia al core gcc 4.1.2, quindi e' anche poco supportato dal 2008 in poi, cosa che come tristemente sappiamo ha delle lamentose implicazioni nella machine layer per i nuovi core avr8 che devono indirizzare piu' di 64Kbyte.

Il desiderio esplicito e' quindi: che sia ripreso ed aggiornato, e se si riesce, e se vi piace, e se a Banzi piace, integrato nel sistema di sviluppo della piattaforma arduino, magari per arduino2.


(1) Nel mondo GNU si chiama: gm2, che sta per gnu modula2.
Logged

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ci sto lavorando, appoggiandosi a gcc-4.1.2, gm2 puo' supportare anche avr8, piccoli esempi gia' compilano e ho il support (unsafe) per librerie C e C++.
Logged

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Chicca che non ha troppa importanza ma e' carina: l'ho messo in overlay e incluso nei profili di stage4 sia per Raspberry P1 sia per Fonera2, significa poter programmare in modula2 su un sistema linux embedded.
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5480
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ci sto lavorando, appoggiandosi a gcc-4.1.2, gm2 puo' supportare anche avr8, piccoli esempi gia' compilano e ho il support (unsafe) per librerie C e C++.
Questa cosa funziona solo in linuz o anche in win ???
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Potenzialmente anche Windows, pero' bisogna installare il supporto unix perche' serve roba GNU per compilare il compilatore gcc con in aggiunta il core language gm2.

Io non l'ho mai fatto ma di base mi aspetto che su Windows sia una cosa possibile ma da curare per bene e non immediata.
Logged

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Anche per macOSX dovrebbe essere fattibile, serve pero' XCODE, il pkg di gcc per Apple, e i macports.
Logged

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi piacerebbe sapere cosa ne pensa Banzi.
Logged

Pages: [1]   Go Up
Jump to: