Citat:
Ursprungligen postat av
DrDoak
Som de flesta säkert vet, så har priserna på mikrochip stigit och ligger (väl?) idag på en rekordhög nivå även om man justerar för inflation. Vad folk som kan lite om IT också vet är att du får ut mycket mer "kräm" ur varje bit mikrochip ju mer maskinnära som du programmerar, generellt (undantag kan förstås finnas). T.ex. visade ett simulerat test att många högnivåspråk tog ca 5-10 gånger längre tid på sig att utföra en miljard loopar (
Coding classrooom,
Yousuckatprogramming). Eng. billion = Sv. miljard dvs. 1 000 000 000.
Under en ganska lång period så sjänk priserna på mikrochip snabbt och prestandan ökade så mycket att det inte ansågs värt att hålla på med högnivåspråk annat än om man sysslade med hårdvara som hade begränsningar, t.ex. inbyggda system i små och enkla maskiner, eller kritisk industri etc. Med stigande priser på mikrochip kan jag tycka att det borde bli mer och mer efterfrågan på kompetens att programmera maskinnära som t.ex. C och Rust.
Viss kritik kan förstås lyftas mot att vissa av språken saknar sophämtning (eng. garbage collector) mm. vilket gör att de snabbare språken offrar en viss säkerhet, men i slutändan så är ju förmågan att bygga säkra program (via manuell formgivning från programmeraren) också en del av programmeringen.
Vad säger ni?
Har jag svårt att tro.
Jag tycker det låter missvisande att enbart benchmarka på "en miljard loopar". Sure, det säger ju kanske en del om nån slags exekveringshastighet, men att ha en dator att stå å snurra en miljard gånger utan att utföra nåt vettig arbete verkar ju bara dumt, vad ska det tjäna till? Värdet kommer knappast av hastigheten, värdet uppstår ju snarare när bearbetningen är klar och det kommer nåt vettigt ur den.
Varje språk har sina egna för- och nackdelar såklart. Att skriva nån slags firmware i annat än assembler eller möjligen C (eller på senare tid Rust) verkar ju dumt, framförallt om det krävs nån slags plattform för att exekvera koden. Firmware och embeddedkod brukar oftast inte ha lyxen med oändligt minne och oändligt med exekveringstid.
Att däremot skriva nåt som exekverar i en webserver nånstans i nåt annat än högnivå GC-språk verkar genuint korkat och otroligt tidsödande, en gång i tiden fanns CGI för detta, där webservern forwardade anrop till nåt C-härke (eller nåt obegripligt PERL-script för extra bonuspoäng) som hijackade in och utströmmar och på så sätt kunde förmås att köra i en webbkontext.
Världen har gått vidare sen dess på goda grunder.
Att forka nya processer för varje anrop verkar ju både korkat och dyrt "computationally" och för att undvika det behöver man rulla sin egen trådhantering istället. Att få koden att skita ur sig html, på ett sätt som går att underhålla, kräver att man rullar sin egen templatemotor alt använder en, för att med dess hjälp hålla logik och presentation åtskilda (i den mån det gick).
Listan kan göras lång på skälen att man uppfann bättre sätt än CGI att hantera det på. Således tvivlar jag på att det du beskriver kommer vara eller ens är ett problem.
Rätt verktyg för rätt ändamål kommer alltid vara det bästa receptet imo.