Är språket Rust framtiden för inbyggda system?

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av Krille Krokodil »

abcabc skrev:Ett exempel är att C saknar inbyggd kontroll att man inte accessar arrayer utanför vad arrayen är deklarerad för. Jag accepterar att man kan vilja stänga av en sådan kontroll, men att den överhuvud taget inte finns? Historiskt har denna sak troligen kostat samhället 100-tals miljarder i säkerhetsluckor, då många intrång utnyttjat detta.
Och i andra vågskålen?

Hur mycket har samhället vunnit på att C ger programmerarna full kreativ frihet?

Hur mycket arbetstid går idag förlorad på att användarna sitter med overbloated overhead-strösslade härken
som kryper fram som en drogad snigel samt vad är kostnaderna för att köpa ny IT vart 3:e år för att det ska
gå att skicka mail och göra lite Office-dokument inom rimliga väntetider?
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av lillahuset »

abcabc: GPIO etc har inget i C att göra. De ska hanteras av drivrutiner i ett bibliotek man länkar till.

Krille: Så sant!
Användarvisningsbild
abcabc
Inlägg: 188
Blev medlem: 13 september 2014, 21:59:16

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av abcabc »

lillahuset skrev:abcabc: GPIO etc har inget i C att göra. De ska hanteras av drivrutiner i ett bibliotek man länkar till.
Jag håller helt med, det är inte det jag menade.

I Arduino så har man normala fuktioner för att accessa GPIO, dessa funktionener modifierar parametrarna och kontrollerar att parametrarna är rimliga, detta tycker jag är bra.

I Atmels utvecklingsmiljö, de som producerat MPU:n i Arduino, utvecklingsmiljön är gratis, bra och enkelt nedladdningsvar, så accessas all HW med mystiska makron, ingen parameterkontroll, numren till HW är fokuserad på elektronikkonstruktören, ej SW-ingenjören. Det finns inga funktioner som de i Arduino, och jag har noterat att det är Atmels makron som används av proffesionella utvecklare, man vill inte skapa Arduino-liknande funktioner av prestandaskäl. Begripligt men tveksamt.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av Icecap »

abcabc: det är ju skitsnack att det är pointernas frihet som har givit många av de problem - orsaken är att programmörerna inte har fantasi nog att fundera över vad som kan gå fel.

Jag använder seriell kpmmunikation en hel del (vilket LAN-kommunikation ju är) och du är mer än välkommen att försöka overflow'a mina rutiner!

Jag kör inte kontrakt-programering, jag misstror allt jag hittar. Jag har letat upp rutiner på nettet och har blivit inspirerat - men nästan alltid skrivit om dom helt eller delvist. Resultatet är att mina program brukar vara stabila och säkra.

Detta är inte för att jag är en lysande programmör men för att jag är upplyst om att saker kan gå fel och att man ska kolla det som kommer in.
Användarvisningsbild
abcabc
Inlägg: 188
Blev medlem: 13 september 2014, 21:59:16

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av abcabc »

Icecap skrev:abcabc: det är ju skitsnack att det är pointernas frihet ...
Jag älskar pekare (*), en orsak till att jag till slut insåg att jag inte gillade Swift var att de hade avskaffat pekare, helt och hållet, och istället infört otympliga klasser som skulle hantera samma sak, vilket blev extremt otympligt.

Jag kan nog garantera att jag kan hitta säkerhetsluckor i din kod som skulle ha hanterars med en vettig inbyggd parameter och overflowkontroll.

Eller så är din kod perfekt, men det är ju inte perfekta programmerare vi behöver skydda oss mot, du kan i mitt idealspråk stänga av kontrollen, medans med mer självinsikt kan lämna den på :-)

Hoppas du inte blir sur, men alla programmerare skrivet enstaka buggar, frågan är bara hur många, det kan jag garantera.
Användarvisningsbild
abcabc
Inlägg: 188
Blev medlem: 13 september 2014, 21:59:16

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av abcabc »

Och i andra vågskålen?
Hur mycket har samhället vunnit på att C ger programmerarna full kreativ frihet? ...
Det är ett mycket bra argument (som inte förstås av andra än programmerare) något jag också håller med om fullt ut, och det är också en orsak varför jag tycker om rust och inte swift och java och till viss del go.

Rust lämnar plats för kreativitet, och i och för sig dumhet men det kan jag köpa, precis som C.

Jag måste tyvärr lämna en brasklapp, jag har inte använt rust professionellt, och jag har inte använt använt dess utvecklingsmiljö. Detta är inser jag mycket allvarliga och nog fatala invändningar initialt, så var företag måste göra dess egen utvärdering.

Notera att jag lämnat ut alla skriptspråk, som python, men java och c# är lite speciella, de är i princip skriptspråk då de då interpreterade men med mikrokod, men är har ofta grundläggande support i OS. Men det går inte att skriva BIOS eller andra initiala program i dessa språk.
gkar
Inlägg: 1453
Blev medlem: 31 oktober 2011, 15:28:29
Ort: Linköping

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av gkar »

Jag kan ju lägga till att för vissa typer projekt och system får/vill man inte använda dynamiskt minne.
(Diskussionen varför är en helt annat ämne!)

Därför är det bra om språket man brukar använda går att använda i dessa tillämpningar också.
Det är drygt att byta språk för att det inte söder vissa elementära saker.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av lillahuset »

Nu förstår jag inte riktigt din poäng. :?
Menar du att man måste byta från C för att skriva program som inte använder dynamiskt minne eller missuppfattar jag helt?
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av Mr Andersson »

Jag tror han menar att "moderna" språk med "säkerhetsförbättringar"* gör en massa saker bakom kulisserna och kan allokera (och fragmentera) minne utan att du förväntar dig det.

TS nämner saker som kontroll av overflow och arrayindexering.. Allt sånt kostar, det finns inget magiskt sätt att göra det gratis utan cpu-tid.
En vettig programmerare validerar indata i alla publika funktioner, sen vet man att allt internt är okej. Det är bara dumheter att runtime:n ska slösa tid på att kontrollera varenda enstaka indexering.

*) Det finns inga språk med säkerhetshål (php borträknat), bara dåliga programmerare.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av Krille Krokodil »

abcabc skrev:Jag älskar pekare (*), en orsak till att jag till slut insåg att jag inte gillade Swift var att de hade avskaffat pekare, helt och hållet, och istället infört otympliga klasser som skulle hantera samma sak, vilket blev extremt otympligt.
Betydligt smidigare i M$ Kindergarten-C/C++ [C#] med delegater, "out", "unsafe" etc, jag kan klart se vissa fördelar med att man måste vara mer explicit än "*" och "&" där.

C# fungerar mycket bra för inbyggda system när man har projektbudget så att man kan sätta in I7 Quad Core 32 GB RAM i elskåpet. :D
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1339
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av baron3d »

I en PIC12xxxx går nog C# lite segt.
Findecanor
Inlägg: 982
Blev medlem: 2 juli 2010, 23:04:07

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av Findecanor »

Mr Andersson skrev:TS nämner saker som kontroll av overflow och arrayindexering.. Allt sånt kostar, det finns inget magiskt sätt att göra det gratis utan cpu-tid.
Nja, det finns processor-arkitekturer som har stöd för det olika overflow-kollar. Bl.a. MIPS har stöd för att trap:a (hårdvaru-exception) på overflow på 32-bittars och 64-bittars additioner och subtraktioner.
Jag har för mig att det ska finnas någon äldre arkitektur som har range-check på pekar/adress-operationer som skulle passa Pascal (men jag kanske har blandat ihop det med någon virtuell maskin...).

Men många processorarkitekturer har tyvärr varit designade för att köra C/C++ i första hand.
RISC-V har t.ex. inte ens något hårdvarustöd för carry-flagga (i.a.f. vanligtvis) så t.ex. bignum-aritmetik blir trögt på den plattformen.
kodar-holger
EF Sponsor
Inlägg: 916
Blev medlem: 26 maj 2014, 12:54:35
Ort: Karlskoga

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av kodar-holger »

Ingen aning men måste påpeka att ni stavar fel till Ada. Det är ett namn och skall ha initialt versalt A och därefter gemena da.

Tycker att C hyllas lite väl mycket med argument som bara för att man kan göra si och så behöver man ju inte göra det. Om man nu inte skall göra det, varför är det då tillåtet? En överväldigande majoritet av alla programmerare är medelmåttor och kommer att falla i de gropar som finns om det finns gropar. Det händer naturligtvis aldrig oss överduktiga programmerare att vi råkar skriva if(a=3) i c eller for (...);{...}

C++ lägger till saker som gör livet lättare men tar inte bort alla fadäser som fanns i C. Och ändå är det det som betalar mina räkningar även om jag gärna skulle få återfall i Ada.

Jag tror att det krävs ett större paradigmskifte för att C/C++/assembler/programspråk X skall gå i graven. Programmering är ett onödigt steg (för typ 99% av all kod som skrivs). Det är något maskiner kan göra om vi lär oss göra specarna i typ xtUML och får bra verktyg för att få modellerna till något som kör på hårdvaran som kanske inte kommer vara traditionella CPUer som idag utan nån mix som typ zynq-plattformen som varit upp här på forumet nån gång.
Användarvisningsbild
abcabc
Inlägg: 188
Blev medlem: 13 september 2014, 21:59:16

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av abcabc »

kodar-holger skrev:...
Jag tror att det krävs ett större paradigmskifte för att C/C++/assembler/programspråk X skall gå i graven.
...
Du har nog rätt, men det är lite dystert.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Är språket Rust framtiden för inbyggda system?

Inlägg av lillahuset »

Varför tycker du det är dystert?
Skriv svar