Permalänk
Datavetare

Gammal är äldst

Är fullt medveten om alla brister i att skapa ett "popularitetsindex" för programspråk. Var ändå lite intressant när C, ett språk som har två år kvar till sin 50-årsdag, återtog förstaplatsen i TIOBE-index (inte första gången just C har förstaplatsen på just detta index).

Man kan i.o.f.s. konstatera att de populära språken, oavsett hur man mäter, tenderar vara rätt till åren kommen. På just TIOBE är snittåldern på pallen (C, Java, Python) lite drygt 34 år. Utökar man det till topp 10 minskar det bara till lite drygt 30 år.

Är först på plats 11-20 man hittar ungdomar som Swift, Go och, min nya storfavorit, Rust.

Hur man sammanställer ett sådant här index är väldigt avgörande för vilket resultat man får. TIOBE baserar sig på sökningar relaterat till respektive språk.

PYPL är ett annat index där man också gör ranking från sökning, men där handlar det om sökningar på "tutorials" relaterat till de olika språken. Här finns C inom tio-i-topp, men pallen utgörs av Python, Java och JS (snittålder 28 år).

Github har ännu ett index baserat på hur mycket kod som läggs till i respektive språk. Där är pallen JS, Python, Java. C lär lämna topp-10 där inom något år, hänger kvar på plats 10 just nu.

Oavsett hur man mäter så verkar Python, JS och Java ligga i topp, så de är nog de mest "populära" språken i någon generell definition. Kom i kontakt med Python första gången på 90-talet (används redan då av vissa som jobbar med "computational chemistry" på KTH, även om Fortran dominerade då). Python är faktiskt hela 30 gammalt, första versionen lanserades redan 1990!

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Har programmerat fler språk än vad jag orkar räkna upp, de mer obskyra tillhör väl E på Amigan och ABAP för SAP:s system på en gammal IBM Z. Assembler har alltid varit "roligast" (framförallt på C64/Amiga; läses Motorolas 680x0 och 6502), men när man började jobba så blev det ju mest C++/Java/Perl. Idag är det uteslutande Python3 (speciellt i dessa tider när Python2 är EOL, den tekniska skulden är... inte rolig) för analyser/ljustering/kognitiva system. Rust är fint. Go också. Men Python går ändå snabbare att få "något komplicerat från tanke till maskin". Speciellt när vi blandar in TensorFlow och lite mer hugande systemering. Dagens ungdomar bölar hela tiden över GO och Rust, men vad fan... Tycker man skall vara tyst så länge man inte har skrivit Cobol i produktionskod och göra som man blir tillsagd

Visa signatur

Asus B550E-Gaming / Ryzen 5900X stock / Corsair Vengeance 32GB 3600 MHz CL18 /
ASUS TUF 4080 Gaming OC / Samsung 980 PRO 2TB PCI-Ev4 + 2TB WD Black NVME PCI-Ev3 / Corsair RM850x v2 / Acer Predator XB273UGX 1440p 270 Hz G-Sync / Phantek P500A / Arctic Cooling LF II 240mm / Evo 4 / Sennheiser IE 300 / Rode NT1-A
Synology 1621+ 6*16 / 1513+ 5*8 / LG CX 65" / XBox Series X
Ownit > Bahnhof

Permalänk
Datavetare

Funderade på om det borde finnas "annat" eller ej. Misstänker nästan att den kommer få flest röster

Det jag gillar så skarp med Rust är att man där till stor del lyckas lösa problem som idag står för väldigt stor andel av de buggars som görs. Framförallt gillar jag hur de hanterar förhindrande av data-race. Visst kan man lösa det som de funktionella språken ofta gör, problemet är att CPUer är stenhårt optimerade för "mutable state". Rust tillåter "mutable state" på ett sätt så man ändå hittar nästan alla fall av potentiella data-race vid kompilering.

Gillar även Go. Go löser också ett specifikt problem på ett sätt som många andra språk försökt lösa med ramverk och massa tillägg, men det blir sällan lika bra som om man designar språket från scratch för en specifik uppgift. I fallet Go är det hantering av I/O som skiner, även om Erlang var långt tidigare med det mesta som Go implementerar. Go har dock fördelen att "vanliga" beräkningar har nära C prestanda i Go medan Erlang brukar var lite tröttare på just sådant (men Erlang är helcoolt).

Slutligen får jag ge en 🌹 till TypeScript, det har gjort webbprogrammering uthärdligt, möjligen kan WASM göra det till ett rent nöje!

Fyll gärna på, håll det till vad ni gillar med ert favoritspråk (eller era om det är flera!)

Edit: Gillar självklart C. Det har ålderskrämpor, men är det språk jag används mest under min yrkesverksamma karriär så här långt (jobbar mycket med OS-kärnor och inbyggda-system). Men kanske vi får se en ändring här. Microsoft och vissa inom Linux-världen kikar på Rust för att bl.a. skriva drivrutiner (jag kollar också lite på det för RTOS), Intel jobbar mot att kunna använda Rust i firmware, BIOS och liknande.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Kotlin och Python är favoriterna just nu, men ska jag välja en blir det nog Kotlin pga starkare typsystem (nullsäkerhet!), bättre statisk typning (fast MyPy börjar verkligen ta sig) och bättre stöd för funktionell programmering. Exempelvis är lambdafunktioner i Python så kasst implementerat att jag nästan aldrig använder dem, medan det faller sig väldigt naturligt i Kotlin. Gillar också stödet för immutability i Kotlin, samt att nästan allt är expressions. Det är så mycket tydligare att sätta värdet hos en variabel till en if-sats returvärde, istället för att sätta värdet som en sidoeffekt någonstans i en godtyckligt komplicerad sats.

Kan också nämna att jag är ett stort fan av JVM som platform, och har en förkärlek för språk som kör på den. Tycker till och med att Java är helt OK att jobba i.

Permalänk
Avstängd

HolyC borde allt varit med.

Permalänk
Medlem
Skrivet av Yoshman:

Funderade på om det borde finnas "annat" eller ej. Misstänker nästan att den kommer få flest röster

Det jag gillar så skarp med Rust är att man där till stor del lyckas lösa problem som idag står för väldigt stor andel av de buggars som görs. Framförallt gillar jag hur de hanterar förhindrande av data-race. Visst kan man lösa det som de funktionella språken ofta gör, problemet är att CPUer är stenhårt optimerade för "mutable state". Rust tillåter "mutable state" på ett sätt så man ändå hittar nästan alla fall av potentiella data-race vid kompilering.

Gillar även Go. Go löser också ett specifikt problem på ett sätt som många andra språk försökt lösa med ramverk och massa tillägg, men det blir sällan lika bra som om man designar språket från scratch för en specifik uppgift. I fallet Go är det hantering av I/O som skiner, även om Erlang var långt tidigare med det mesta som Go implementerar. Go har dock fördelen att "vanliga" beräkningar har nära C prestanda i Go medan Erlang brukar var lite tröttare på just sådant (men Erlang är helcoolt).

Slutligen får jag ge en 🌹 till TypeScript, det har gjort webbprogrammering uthärdligt, möjligen kan WASM göra det till ett rent nöje!

Fyll gärna på, håll det till vad ni gillar med ert favoritspråk (eller era om det är flera!)

Edit: Gillar självklart C. Det har ålderskrämpor, men är det språk jag används mest under min yrkesverksamma karriär så här långt (jobbar mycket med OS-kärnor och inbyggda-system). Men kanske vi får se en ändring här. Microsoft och vissa inom Linux-världen kikar på Rust för att bl.a. skriva drivrutiner (jag kollar också lite på det för RTOS), Intel jobbar mot att kunna använda Rust i firmware, BIOS och liknande.

Då jag börjat med mobilappar så har jag börjat programmera i språket Dart som används i flutter. Börjat kika lite på dart:ffi och där använder man C-interface om man t.ex. ska prata med bibliotek i C++. Snubblade på en artikel hur man kan kombinera Dart med Rust via ffi: https://dev.to/sunshine-chain/dart-meets-rust-a-match-made-in...

Så jag har börjat titta på Rust också och gillar det jag ser
Med dart får man lätt problemen som rust försöker lösa, exempelvis variabler som kan vara null, pekare som ändrar objekt från olika ställen o.s.v. Genom att försöka lära mig lite rust kanske jag blir bättre på att tänka rätt även i andra programspråk. Jaja det är väl bara att testa. Jag programmerar bara som hobby och gör det jag tycker verkar roligt.

Permalänk
Medlem

Jag har hoppat omkring i massa olika språk för lite mindre sidoprojekt genom åren och har testat Rust, Haskell, Elm, Elixir och säkert några till, men jag är fortfarande som gladast när jag får sitta och skriva Ruby.

Det kommer bli intressant i framtiden när allt fler språk går emot stark typning som t ex Haskell/Rust och se hur den listan ser ut i framtiden. Att få hjälp av en kompilator är riktigt nice!