SPiN skrev:
"Vilket språk kommer att överleva bäst i framtiden?"
-- Svårt att säga, det beror på hur Microsoft utvecklar C#. C++ kommer att finnas kvar länge, länge känns det som.
Färre och färre applikationer (klienter såväl som services) utvecklas i C++ till förmån för framför allt C#, VB.Net och Java. Jag tror trenden kommer fortsätta starkt. Jag vet inget företag som skulle börja utveckla en webtjänst eller en serverplattform i C++, eftersom utvecklingstiden väsentligt längre än i C#, VB.Net eller Java. Tidigare har prestanda varit ett problem, men den tiden är förbi.
Inbyggda system utvecklas till stor del fortfarande i C eller C++, men med tanke på att vanliga mobiltelefoner nu kan köra Java eller C# kan man väl ana vart utvecklingen kommer gå. Även inbyggda system kommer troligen gå samma väg. Dock tror jag det kommer ta längre tid.
Operativsystem är väl där man ser starkaste anledningarna att fortfarande använda C/C++, men hur många av dina potentiella arbetsgivare håller på med sådant? Jämfört med sådana där du har nytta av C#.
SPiN skrev:
C++ är däremot kraftfullare, som tillsammans med C blir ett hårdvarunära språk vilket inte C# är.
Jag håller med om att C/C++ är mer hårdvarunära, men tycker att C# är mycket kraftfullare språk än C++. C#, tillsammans med .Net klassbiblioteket (BCL - Base Class Library) har stöd för så otroligt mycket som saknas i C++, typsäkerhet, 100-tals färdiga klasser som är lättanvända (betydligt lättare att lära sig än STL, och innehåller dessutom betydligt mer), delegates, stöd för asynkron programmering, möjlighet att dela kod med andra MSIL-språk (exempelvis VB.Net), bättre guidelines, lättare att göra användargränssnitt mm. Listan kan göras hur lång som helst.
Jag har hållt på med C++ sedan länge och C# sedan tidiga betorna kom. Nu när jag sätter mig med C++, vilket fortfarande händer ibland, sjunker min produktivitet rejält. Med C# eller Java koncentrerar jag mig 100% på problemet som ska lösas, men i C++ finns det alltid fällor och länkfel som tar fokus från de egentliga uppgifterna.
SPiN skrev:
Det hela beror ju egentligen på vad du ska programmera för applikationer. Det finns en mängd med olika programmeringsspråk som lämpar sig bäst för olika saker. Att välja ett språk efter hur många tutorials på nätet det finns känns lite skumt. :)
Så, vad vill du åstadkomma med din programmering?
Instämmer helt.
Vidare håller jag med PeW om att man ska lära av andra. Läs inte bara språk, utan även systemdesign och design patterns.
Alla bra programmerare jag känner utom 1 är högskoleutbildade och de "programmerare" jag stött på som är självlärda har föga imponerat på mig. Alltså håller jag helt med PeW om att learning by doing inte är det bästa sättet.