2014-05-17, 13:02
  #1
Medlem
Lite old news men jag vill hra ur C-programmerare ser p detta.
Heartbleed-buggen i OpenSSL orsakades ju av ett pyttelitet programmeringsfel i hur de allokerade och hanterade minnet. Troligen hade en sdan bugg aldrig kunnat uppst i Java eller .NET dr man inte allokerar [x] bytes i minnet fr att returnera ett svar frn en tjnst. Man lter String-objektet ta hand om det problemet. Drfr menar jag att ldre sprk som C borde fasas ut, kanske t.o.m frbjudas i de flesta organisationer. De mikroskopiska prestandafrdelarna som man kan f r inte vrda de risker och de buggar som uppstr, inkl episka skerhetshl som Heartbleed.
Citera
2014-05-17, 13:10
  #2
Medlem
pickledonions avatar
Visst har du en pong i det du sger. C r dock mycket viktigt fr inbyggda system och kanske till och med det strsta sprket inom den industrin. S att fasa ut C r orimligt. Men man vljer s klart sprk efter tillmpning och inte tvrt om.
Citera
2014-05-17, 13:19
  #3
Medlem
ElSilencios avatar
Episkt, ja. Men det gr inte C smre eller fr den delen Java bttre (som i sin tur nyligen hade sin beskrda del av skerhetsproblem).

Mikroskopiska frdelar vxer lavinartat i stora system, varje skruv och mutter gr sitt.

Sedan r det kanske lite fel att kalla ett programeringssprk gammalt om det uppdateras och fljer utvecklingen.

Debugging r A och O och hanterar man minnesallokering skall man ta ansvar fr det. MS var/r rtt slarviga med det...
Citera
2014-05-17, 13:25
  #4
Medlem
.Chloes avatar
Man kan koda C skert, och nr man vl gr det s r det en av de mest flexibla sprken. Visst har du en pong i det du sger, men kunskapen om de olika srbarheterna r mer knda nu n de var frut.
Citera
2014-05-17, 15:15
  #5
Avstngd
guderis avatar
Frbjuda kan man ju inte gra, bara fr att vissa programspk kat abstraktionsnivn betyder ju inta att ngonstans p vgen mste en allokering ske, eller menar du frbjuda fr programmerare men tillta fr ingenjrer?
Citera
2014-05-17, 16:24
  #6
Medlem
Citat:
Ursprungligen postat av guderi
Frbjuda kan man ju inte gra, bara fr att vissa programspk kat abstraktionsnivn betyder ju inta att ngonstans p vgen mste en allokering ske, eller menar du frbjuda fr programmerare men tillta fr ingenjrer?
Nej. Jag skrev att "ldre sprk som C borde fasas ut, kanske t.o.m frbjudas i de flesta organisationer". Om jag vore IT-chef i en stor organisation skulle jag se till att vldigt riskfyllda sprk och teknologier avskaffades i frmn fr nyare och skrare teknologier.
Citera
2014-05-17, 16:27
  #7
Medlem
Citat:
Ursprungligen postat av .Chloe
Man kan koda C skert, och nr man vl gr det s r det en av de mest flexibla sprken. Visst har du en pong i det du sger, men kunskapen om de olika srbarheterna r mer knda nu n de var frut.
Ja, men det kostade ju en massa anvndares lsenord och andra hemliga uppgifter. Var det vrt besvret fr att uppn en optimal minneshantering? (Den var ju lngt ifrn optimal men syftet med koden och teknikvalen var vl bl.a. det).
Citera
2014-05-17, 16:49
  #8
Avstngd
guderis avatar
Citat:
Ursprungligen postat av Binary
Nej. Jag skrev att "ldre sprk som C borde fasas ut, kanske t.o.m frbjudas i de flesta organisationer". Om jag vore IT-chef i en stor organisation skulle jag se till att vldigt riskfyllda sprk och teknologier avskaffades i frmn fr nyare och skrare teknologier.

Jag menar bara att allt r ju relativt, tnk om VM till C# eller Java p en plattform tex innehller en allokeringsbug som personerna som skrev dessa rkade f med, d riskerar ju den buggen att smitta samtliga program som utfr den allokeringen "under ytan".

Ngonstans mste ju kod fr allokering skrivits och d finns ju mjligheterna att en bugg smyger in dr ocks.
Citera
2014-05-17, 18:50
  #9
Medlem
Citat:
Ursprungligen postat av guderi
Jag menar bara att allt r ju relativt, tnk om VM till C# eller Java p en plattform tex innehller en allokeringsbug som personerna som skrev dessa rkade f med, d riskerar ju den buggen att smitta samtliga program som utfr den allokeringen "under ytan".

Ngonstans mste ju kod fr allokering skrivits och d finns ju mjligheterna att en bugg smyger in dr ocks.

Fast koden till C# och Java granskas och testas vl av miljoner mnniskor?

Man kan programmera skert i C, men nr inte ens folk som skriver nt s viktigt som OpenSSL gr det, kanske vi behver skydda oss frn oss sjlva.
Citera
2014-05-17, 19:34
  #10
Avstngd
guderis avatar
Citat:
Ursprungligen postat av SchackNorris
Fast koden till C# och Java granskas och testas vl av miljoner mnniskor?

Man kan programmera skert i C, men nr inte ens folk som skriver nt s viktigt som OpenSSL gr det, kanske vi behver skydda oss frn oss sjlva.

Visst r det s, jag ville bara ppeka att inget system r idiotskert, det skulle ju rcka med en svrklckt bugg i en .NET uppdatering .
Buggar kommar alltid uppst och jag tror inte heller att C skulle utgra en strre risk n ngot annat sprk, dr r man ju i alla fall medveten om riskerna medan man i Java eller C# mer eller mindre litar p att systemen r rtt frn brjan
Citera
2014-05-17, 20:20
  #11
Medlem
Bortsett frn faktorer som att fretaget kan vara beroende av, och drmed till en strre eller mindre del bunden till, redan skriven kod, och att programmerarna inom fretaget kanske endast besitter kunskap om just det sprk som tidigare alltid anvnts, s anvnder man ju det sprk som bst tillgodoser ndamlet. Hur mycket du n vill s kan du till exempel inte koda krnan till ett operativsystem i Java. Inte utan en underliggande JVM som frst mste laddas in, vilken i sin tur exekverar krnan. Denna JVM kan du inte heller koda i Java.

Som det redan har ppekats s finns det ju inget system som r helt skert. En C programmerare har dock ett strre ansvar n en som programmerar i Java eller C# just nr det gller minneshanteringen, men Java och C# programmerare r ju som sagt beroende av att JVM respektive .NET-ramverket r felfria.

Huruvida koden bakom olika JVM och .NET-ramverk granskas och mer eller mindre n koden till OpenSSL lter jag vara osagt. Men vill man kunna lita helt och hllet p koden som krs, och inte litar p ngon annan n sig sjlv, s r det utan tvekan C som gller.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in