Newsgroup: it.lavoro.informatica
Titolo: Ma nel mondo 'embedded' si usa Java???

Domanda ovviamente per chi e' nel campo..... si usa solo C/C++?
Non andrebbe bene anche Java con le J2ME e magari Assembler per le
funzioni piu' cruciali o non c'e' speranza???
p.s. Non che non ne sarei capace ma non mi piacerebbe molto farmi
ritornare mal di testa fra puntatori e distruttori. :-)

 wrote in message
news:d38ffda4.03020...@posting.google.com...

Esiste:
http://java.sun.com/features/2001/04/embed.html
http://www.rtjcom.com/home.html
http://eddiemcnally.hypermart.net/ejava.html
Ma siceramente non mi sconfinfera molto, l'abbinamento Java con real time.
Gia' abbinare il real time con Windows CE non mi ha convinto e con WinCE ci
ho lavorato 15 mesi in Svezia.
Non mi convince in quanto i parametri/limiti per definire un sistema come
real time sono stretti come tempistica.
E Windows CE non mi sembrava tutto quel campione di velocita' come risposta
ad eventi esterni/interrupts.
Poi se prendiamo il Java...bho' dovrei vederlo prima di giudicare ma parto
prevenuto.
Preferisco trafficare con puntatori e distruttori e sporcarmi le mani di
calce a basso livello con assembler, timers, schedulers, interrupts e i loro
cugini poveri.
Maurus

ritornare mal di testa fra puntatori e distruttori. :-)
Ehehehehe il C e' un linguaggio per uomini veri :)
Che puntano :)
C'ya
	Steve
--
Artificial intelligence is no match for natural stupidity.
(Sullivan's Lemma)

cugini poveri.
Amen :)
Noi siamo uomini veri ! 
Che non portano mai la cravatta e hanno sempre l'asciugamano con se'.


 Che non portano mai la cravatta e hanno sempre l'asciugamano con se'.
Posso offrirti un Gotto Esplosivo Pangalattico ? ;-)
Massimo

Posso offrirti un Gotto Esplosivo Pangalattico ? ;-)
42
 :-)


 con real time.
Non ho alcuna esperienza di sistemi embedded (scusatemi se scantono un
po').. ma posso confermare i tuoi dubbi.
Durante la tesi abbiamo dovuto lavorare in Java su un ambiente distribuito
in cui un host era un robot mobile (RWI B21r, con Linux). La scelta di Java
era necessaria per via dell'architettura software ad Agenti (usavamo la
piattaforma JADE, di TILab... ma FIPA-OS o altri era lo stesso da questo
punto di vista).
Riuscire a far quadrare i conti tra la reattivita' richiesta da un robot
mobile e i tempi propri del framework+Java...e' stato difficile (ma
entusiasmante, NdA:-).. ed il risultato ha evidenziato la necessita' di
macchine dalle prestazioni abbastanza alte per "arginare" i limiti temporali
imposti proprio da Java (non solo, ma anche).
Spero di non aver detto scemenze nel contesto del discorso.
Ciao,
    Zar.


La scorsa estate, per il nuovo prodotto che stiamo sviluppando, sono stato
incaricato di valutare le possibili strade da prendere.
L'unico punto fisso era l'hardware (Scheda nostra basata su ARM) e OS (Linux).
Ero molto affascinato dal mondo Java principalmente per la facilità di sviluppo
di logiche applicative (sviluppare in C o C++ effettivamente richiede più
attenzione) e di manutenubilità del codice. Non essendo la velocita di calcolo
un "must" del nostro prodotto la via sembrava perfetta. Invece no: Virtual
machines poco stabili e footprints incompatibili con devices embedded alla fine
ci hanno riportato al buon vecchio C++ (con mio dispiacere); purtroppo, nel
mondo industriale "civile", c'è spazio per l'innovazione solo quando questa
"paga": aggiungere Mb di flash ad ogni pezzo prodotto era antieconomico.
Esistono però molti esempi di device con Java onboard. Prova a dare un occhio a
www.linuxdevices.com
, trovi una sezione Java con articoli e links.
Ciao,
Gianandrea.

 Che puntano :)
LOL..puntano a cosa? :)
-- 
Rhymes (rhy...@NOSPAMmyself.com)
linux registered user #219707
linux registered machine #172395

 LOL..puntano a cosa? :)
all'heap mon ami ... l'heap, il nirvana degli informatici veri (o l'inferno,
dipende dai casi e dai punti di vista ... ;-))
Bye
Sergio

...

Ciao.
Beh, Java si puo' usare, tanto piu' che alcuni processori sono in
grado di eseguire bytecode nativo (es. ARM9). Cio' non significa che
sia una buona scelta. Personalmente, programmo in C e assembler (piu'
il primo, ma anche l'asm ha la sua ragione di esistere). Evito anche
il C++, che ritengo troppo pesante per le applicazioni embedded, in
cui la memoria e' generalmente una risorsa preziosa.
Emanuele

all'heap mon ami ... l'heap, il nirvana degli informatici veri (o l'inferno,
Se poi l'heap ha i capelli biondi meglio ancora !
Sai che stack ! :-)


 
Quindi secondo te il C e' "duttile" ed il C++ no?
Ma per favore....
Fausto


In effetti questa sembra grossetta anche a me. Però pensa sempre che non esiste
un linguaggio migliore in assoluto; devi sempre rapportare la scelta fatta agli
obiettivi prefissati ed il tipo di logica che si intende sviluppare.
Se effettivamente si tratta di logiche complesse, il C è come spararsi sulle
p***e. Modellizzare una logica complessa senza oggetti è un lavoraccio; se poi
parliamo di manutenibilità del codice, allora mi metto le mani nei capelli! ;o)
G.

Ma per favore....
Non facciamo i talebani per favore :-)
Potessi userei sempre C++ ma vigliacca se ci sono riuscito finora se
non per progetti secondari.



Condivido.
In effetti io ribattevo sull'assunto di Stefano.
Fausto


Qual'è stato il problema principale che hai incontrato?


Anche io ho avuto lo stesso problema penso:
il problema principale quando si lavora nei sistemi embedded e real time
systems e' che con il micro della scheda per cui si sviluppa il
firmware/software, viene fornito un misero ambiente di
sviluppo/compilatore/emulatore/loader per eeprom o flash.
Ed ovviamente il compilatore e' puntualmente un compilatore C.
Ti parlo di schede Mitsubishi, 16 bits e Texas Instruments DSP.
Maurus


Ah beh, allora non si pone neanche il problema della scelta!
Ormai con tutti i porting di linux per ambienti palmari ed embedded gcc viene
praticamente gratis, anche se alla fine il cross-compiling ti fa sudare sempre
un bel pò! ;o)

 Non facciamo i talebani per favore :-)
Grazie per l'aggettivo poco qualificativo che mi hai
appioppato.
Comunque il "talebano" che ti sta rispondendo usa il C++,
il C, l'assembler o Java a seconda delle  richieste del cliente,
o dei requisiti della piattaforma a disposizione.
Ad esempio ho fatto il porting per uC/OS II di J.Labrosse per
il Fujitsu FR50. Ma non mi sarei sognato minimente di utilizzare
il C++ per tre motivi:
- obbligo di utilizzo dell'assembler per il contex switching;
- resto del progetto completamente in C;
- l'unico compilatore C++ per Fujitsu FR50 e' lo GNU e non e'
   stabile per questa piattaforma.
Saluti dal "KABUL"  :-)
Fausto

Qual'è stato il problema principale che hai incontrato?
Principalmente che spesso per la piattaforma in uso non esiste un
compilatore C++, altrettanto spesso lavoro su codice gia' esistente
(rigorosamente in C) e mischiare ambienti non e' il massimo, specie su
sistemi critici.
Inoltre il footprint di un codice C++ e' generalmente piu' grosso
dello stesso in C (ci sono eccezioni ma si ricade ai punti precedenti)
e per finire non lavoriamo su isole deserte.
Se 30 persone lavorano in C come fai tu a lavorare sullo stesso codice
in C++ ?
C'ya
	STeve


un bel pò! ;o)
Eh gia' ... perche' tu credi che si possa sempre scegliere l'ambiente
Hw eh ? :-)
Dillo a me che FINALMENTE sto facendo ANCHE un lavoro su piattaforma
per embedded Linux e ho dovuto bestemmiare in cinese arcaico per
provare a far funzionare un'ambiente che avevo gia'.
Nulla da fare ... ho dovuto buttare via tutto e prendere una schedina
gia' collaudata con Linux altrimenti ero ancora li' a cristare in
gaelico antico, moderno e contemporaneo !


Saluti dal "KABUL"  :-)
 :-)
Ciao



Le bestemmie sono un step irrinunciabile nel ciclo di progetto. ;o)
Quello che può variare è se bestemmi e poi risolvi o bestemmi e poi devi tornare
indietro. A un buon progettista sono capitati sicuramente entrambi gli scenari.
Comunque io bestemmio in friulano... ;)
G.

 in C++ ?
Dure battaglie. E' sucesso anche qui, ma appena mi è capitata tra le mani un pò
di autonomia decisionale ho sparato: facciamolo in Java, poi abbiamo chiuso la
trattativa sil C++. ;)
G.

 gaelico antico, moderno e contemporaneo !
mi ha sempre affascinato la lingua gaelica :P non sapevo ne fossi un
profondo conoscitore ;-)


Comunque io bestemmio in friulano... ;)
:-)
