maDa skrev:RPi är gränsfall för kalla embedded... Ja, om du bakar en egen image som tål strömavbrott och tuff hantering. Nej, om du bara kör en Rasbian out-of-the-box.
Jag har inget emot Java som språk, men jag tycker JVM-tänket är skit rent ut sagt. Dålig kompabilitet mellan versioner och käkar obegripliga mängder minne.
Vill bara döda en gammal myt. Idag är Java riktigt snabbt.
"Is JAVA fast? Yes, since introduction of SSE and SSE2 streaming commands and other major enhancements, JAVA 1.5 is closing the gap. The best proof is JAKE2 a resource and CPU hungry 3D game engine. Some years ago such an approach would have been laughable."
Från den sidan: "Is it a bad benchmark? Yes, because it only checks for floating point
computational speed (good for science, games, applications)..."
Floating point är normalt ingen större sak för inbyggda system, kanske i vissa
specialfall i reglertekniska lösningar. En floating point testar främst hur bra floating
point stödet i den aktuella hårdvaran är, det spelar mindre roll vad det är för
miljö som kör processorn, det är sannolikt ändå FPU'n som "bromsar".
Kanske att skillnaden mellan Java och C++ hade varit större för jobb som är
mer beroende av programmiljön och mindre på specifika moduler i processorn.
Jajaja, för en 3D-spelmotor om SSE och andra "major enhancements" finns i processorn.
Jag levde rätt länge i FFT-världen och ingen av oss hade tyckt att Java var ett bra val med 60% av prestanda hos C++. Vi hade knappast valt C++ heller. C eller assembler.
Al_Bundy skrev:
Jag talar om prototyp/styrsystem som tillverkas få utav. Jag vet om att massproduktion så måste det vara så snålt att företaget flyttar till Kina.
Det är tillverkning som behöver flytta (eller automatiseras) men även Kina börjar bli dyrt, de klättrar i näringskedjan...
Somsagt. Man får först definiera vad "inbyggda system" innebär exakt, vart gränsen går.
Sen får man skilja på att kompilera Java-kod direkt till maskinvara, eller köra det den feta JVM-motorn.
Spårket är bara ett språk. I slutändan ska det bli maskinkod av det.
Som jag har förstått det så är Java SE Embedded till för att programmera CPU:er. Java ME är till för att programmera linuxbaserade kort med GPIO-pinnar.
Al_Bundy skrev:Som jag har förstått det så är Java SE Embedded till för att programmera CPU:er. Java ME är till för att programmera linuxbaserade kort med GPIO-pinnar.
Det har funnits mikrodatorer med inbyggt Javastöd i hårdvaran t.ex. AVR32, ingen har hittills blivit någon succé.
I µC-världen finns det jo en hel del språk som kompilerar till maskinkod.
Det finns BASIC, C, C++, Java, Pascal och en del andra. Och de är nog ung. lika snabba för det.
Men ska man använda de funktioner som har med GUI osv. att göra är det inte så ofta att ett µC-system har detta i sig - speciellt inte om det rör sig om att styra hårdvara.
Så igen handlar tråden om att TS har en hammare och vill ha allting till att likna en spik. Och ja, fungerar det då fungerar det och är det vad man kan kommer inlärningsprocessen att ta avsevärd längre tid med ett annat språk.
Sedan är min erfarenhet att har man fattat hur man bygger upp ett program kan man programmera i väldigt många språk, de samma funktioner finns i nästan alla, bara med lite olika namn och parameter och uppdelningen i funktioner sker ju "per automatik".
Alltså är det inte språket som är det största hinder för att göra bra program.
Al_Bundy skrev:Som jag har förstått det så är Java SE Embedded till för att programmera CPU:er. Java ME är till för att programmera linuxbaserade kort med GPIO-pinnar.
Det har funnits mikrodatorer med inbyggt Javastöd i hårdvaran t.ex. AVR32, ingen har hittills blivit någon succé.