Använder du Java för inbyggda system?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Använder du Java för inbyggda system?

Inlägg av Al_Bundy »

C används oftast inom inbyggda system av just att kompilatorn är billigare att tillverka jämfört med C++ kompilator. Men Java brukar också användas för inbyggda system. Dock så verkar det inte alls vara lika populärt som C. Antar att det är en kostnadsfråga det också.

Då är frågan, bortsett från Raspberry Pi, vad finns det för fler "styrkortsdatorer" som går att styra dess I/O-pinnar med Java?
Brukar du använda Java för att programmera inbyggda system?
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Använder du Java för inbyggda system?

Inlägg av lillahuset »

Anledningen att använda C är inte priset på kompilatorn utan att C oftast genererar bättre kod för inbyggda system. En annan anledning kan möjligen vara att branschen är konservativ.

Varför använda Java? Ska man absolut ha ett interpreterande språk är det väl bättre att välja Python (populärt) eller FORTH (effektivt).

Edit: Alla datorer som man kan köra Linux på. Typ.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av Al_Bundy »

Varför använda Java? Ska man absolut ha ett interpreterande språk är det väl bättre att välja Python (populärt) eller FORTH (effektivt).
Man kanske vill göra jobbet snabbt och man kanske vill ha GUI?

Python är ett leksaksspråk. Python fungerar bra för enkla script t.ex beräkningar.

Det vore intressant och veta vad "en bättre kod" är.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Använder du Java för inbyggda system?

Inlägg av lillahuset »

"Bättre kod" brukar vara kompakare och snabbare kod i det här sammanhanget. Buggfri kod, om det nu finns, är naturligtvis också bättre kod.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av sodjan »

Sen beror det ju även mycket på vad man menar med "inbyggda system".
Det går att "bygga in" nästan vad som helst var som helst. Men på vad man
traditionellt skulle kunna kalla inbyggda system så vill man nog inte ha en JVM.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av Al_Bundy »

Brukar inte Java användas när det kommer till lite större inbyggda system?
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Använder du Java för inbyggda system?

Inlägg av Mr Andersson »

Det är en väldigt bred definition av vad ett inbyggt system är. T.ex. bankomater kör ofta en helt vanlig windows-pc.

Ett exempel på ett ett litet embedded javasystem är SIM-kort. https://en.wikipedia.org/wiki/Java_Card. Så visst går det om man nu absolut vill. Sen varför man skulle vilja köra java kan man ju undra sig? Vidare så har java-VM:t i gamla SIM-kort haft ett antal säkerhetshål. Och med tanke på hur ofta operatörerna byter ut korten finns det säkert ett antal miljoner sårbara användare som inte har någon aning om det.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Använder du Java för inbyggda system?

Inlägg av lillahuset »

Vad används Java till överhuvudtaget?
Som jag har fattat det har Java två "fördelar":
Nummer ett är att det är intepreterande så "write once, use everywhere" anses gälla . Skriver man ett HAL så gäller samma för de flesta språk. Enda nackdelen är att det blir olika binärer till olika system.
Nummer två är att det inte finns några pekare. Fördelen med det är att inget kan "peka åt helvete". Jag tycker det är en nackdel. Om man bara är lite noggrann är det inget problem att "garantera" att inga pekare "åekar åt helvete".
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av sodjan »

Att vissa språk saknar en specifik pekar-typ (t.ex. för att det som pekare löser
i vissa språk, löses på annat sätt i andra) är ju i sig inget problem.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Använder du Java för inbyggda system?

Inlägg av lillahuset »

Det har du naturligtvis rätt i.
Men, att använda pekare till en struct, som är ett vanligt sätt att hantera hårdvara i C, är ju väldigt bekvämt. I de flesta andra språk (som jag har kommit i kontakt med) kräver lite mer overhead både vid skrivning av program och exekvering. Assembler är naturligtvis ett undantag. :)

Beskrivningen att C är maskinoberoende assembler tycker jag att stämmer ganska bra. Men jag förstår att inte alla gillar det.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av sodjan »

Visst är det så. C är ett implementationsspråk. Inom embedded, OS, drivrutiner
o.s.v. fungerar det bra. Men som språk för "business logic" är det inte lika bra,
där finns bättre alternativ och Cobol är sannolikt fortfarande ett av de största.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Använder du Java för inbyggda system?

Inlägg av lillahuset »

Ja Cobol får väl anses som en riktig succé.
Jag kollade som hastigast på Wikipedia och enligt Gartner Group använde 1997 80% av alla företag i världen COBOL med en kodbas på 200 miljarder rader och fem miljarder nya rader per år.
Användarvisningsbild
maDa
Inlägg: 4073
Blev medlem: 11 november 2005, 22:13:16
Ort: Malmö
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av maDa »

Java är endast aktuellt för high-level saker som GUI/webb som du själv nämner och har gigabytes minne att leka med. Annars är det C eller assembler som gäller.
Bo.Siltberg
Inlägg: 357
Blev medlem: 30 juli 2018, 06:46:13

Re: Använder du Java för inbyggda system?

Inlägg av Bo.Siltberg »

Väl talat. Java vill man inte ha för viktiga system där man vill ha stabilitet och kontroll på vad koden gör alla dagar om året.
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Använder du Java för inbyggda system?

Inlägg av Mr Andersson »

Det håller jag inte riktigt med om. Javakod gör, precis som alla andra språk, det du skriver att den ska göra. Däremot har du väldigt liten kontroll på när den gör det.
Skriv svar