Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer
Lära sig C språket?
Jag tror dina personliga erfarenheter färgar dina åsikter. Det finns massor av större program (än mer tjänster) byggda i C# Solidworks exempelvis, eller Azure och Office 365. Jag jobbar med en stor webb-applikation som är byggd helt i ASP.Net och det finns massvis av webbtjänster eller -applikationer som är det. Stora företag gillar ASP.Net/C# då det är MS och de lever ofta helt i MS värld.
Tror du inte har koll på vad Microsoft i så fall använder. Det finns stöd för .NET i Azure, men grunden är utvecklat i C++. Finns en del som är lite kritiska till MS just därför att de inte riktigt äter sin egen hundmat, alla deras kritiska komponenter är i grunden C++ program (något som Herb Sutter pekade på när MS åter började göra stora investeringar i MSVC++ runt 2011).
Har aldrig använt Solidworks, men en snabb Google visar att det (precis som nära nog alla MS program) exporterar ett COM-gränssnitt så man kan skripta det från externa program. M.a.o. kärnan i Solidworks är ett C++ program, inte ett .NET program, eftersom du tar upp det som exempel antar jag att det är fullt möjligt att bygga funktioner via .NET.
Även ASP.Net är ett dåligt exempel på att .NET fungerar i stora, prestandakritiska problem. Var ligger de potentiella prestandaflaskhalsarna i ett sådan system? De ligger i hanteringen och distributionen av session, något som sköts via IIS som är utvecklat i C++, det ligger i databasen och dessa är i princip alltid utvecklade i C++ och det ligger i OSet som är utvecklat i C. D.v.s det som faktiskt kör .NET tillhör den delen av koden som exekveras en fraktion av tiden.
Om du jobbar på en stor webb-applikation, hur stor är den i rader kod? SLOC är säger inte allt, men det ger ändå en fingervisning om komplexiteten av systemet.
Och visst färgar mina erfarenheter mina åsikter, det gäller nog alla. Men peka gärna på något C# projekt som är >1M rader kod (det är inte jättestort, en modern webbläsare är >10M rader kod, MS Office lär ligga där också). De stora .NET program jag använt, t.ex. klienten till IxLoad ger en bedrövlig användarupplevelse när det kommer till hur snabbt saker reagerar (mängden CPU och RAM som används är löjligt givet vad programmet gör). Tidigare versioner var utvecklade i C++/MFC och visst behövde man lyfta programmet en del, men prestanda var aldrig ett problem på den tiden.
Tror du inte har koll på vad Microsoft i så fall använder. Det finns stöd för .NET i Azure, men grunden är utvecklat i C++. Finns en del som är lite kritiska till MS just därför att de inte riktigt äter sin egen hundmat, alla deras kritiska komponenter är i grunden C++ program (något som Herb Sutter pekade på när MS åter började göra stora investeringar i MSVC++ runt 2011).
Tja det beror förstås på vad man menar. Azure innefattar ju en mängd saker som Windows Server och diverse annat (Linux-instanser exempelvis). Men vad jag förstår så är själva Azure-tjänsten skriven i ASP.Net och C#.
Har aldrig använt Solidworks, men en snabb Google visar att det (precis som nära nog alla MS program) exporterar ett COM-gränssnitt så man kan skripta det från externa program. M.a.o. kärnan i Solidworks är ett C++ program, inte ett .NET program, eftersom du tar upp det som exempel antar jag att det är fullt möjligt att bygga funktioner via .NET.
Jag är inte superinsatt i det programmet, bara hört det som ett exempel på ett större program byggt i C#, men det kanske inte är hela programmet som du säger. Plugins och liknande byggs normalt i .Net/C# i alla fall.
Även ASP.Net är ett dåligt exempel på att .NET fungerar i stora, prestandakritiska problem. Var ligger de potentiella prestandaflaskhalsarna i ett sådan system? De ligger i hanteringen och distributionen av session, något som sköts via IIS som är utvecklat i C++, det ligger i databasen och dessa är i princip alltid utvecklade i C++ och det ligger i OSet som är utvecklat i C. D.v.s det som faktiskt kör .NET tillhör den delen av koden som exekveras en fraktion av tiden.
Fast det gäller väl all kod som körs som online-tjänster typ? Det kan finnas flaskhalsar på en massa ställen, men visst är det normalt nätverket som ställer till det.
Om du jobbar på en stor webb-applikation, hur stor är den i rader kod? SLOC är säger inte allt, men det ger ändå en fingervisning om komplexiteten av systemet.
Tja, inte miljoner rader C#-kod men inte så långt ifrån. Applikationen jag jobbar med har varit under utveckling i 15 år så mycket av logiken ligger i databasen (över 2000 stored procedures i en standardinstallation, pust) men vi jobbar ju bort från det mot EF och så. Webbapplikationer är dock normalt inte alls lika kodtunga som en vanlig applikation förstås så det är inte helt lätt att jämföra.
Och visst färgar mina erfarenheter mina åsikter, det gäller nog alla. Men peka gärna på något C# projekt som är >1M rader kod (det är inte jättestort, en modern webbläsare är >10M rader kod, MS Office lär ligga där också). De stora .NET program jag använt, t.ex. klienten till IxLoad ger en bedrövlig användarupplevelse när det kommer till hur snabbt saker reagerar (mängden CPU och RAM som används är löjligt givet vad programmet gör). Tidigare versioner var utvecklade i C++/MFC och visst behövde man lyfta programmet en del, men prestanda var aldrig ett problem på den tiden.
Jag vet inte om antal kodrader är en särskilt bra måttstock. Det krävs ju många gånger fler rader för att göra simpla saker i C liksom. Dock lär väl exempelvis microsoft.com eller dell.com ha mer än en miljon rader kod. MySpace körde också ASP.Net när det fanns. Många större websiter gör inte det men det är ju för att de började smått, ofta typ i ett garage eller så, och då blir det ganska dyrt med MS i jämförelse med alternativen.
Fortfarande går det ju att göra det mesta med merparten av de stora programmeringsspråken. Jag hade inte byggt ett spel i Java exempelvis men det funkade ju bra för mojäng liksom.
- Apple förbjuds ta provision för köp utanför appar16
- Bahnhof CGNAT ipv4 & ipv610
- Dagens fynd (bara tips, ingen diskussion) — Läs första inlägget först!20k
- Quiz: Teknikrevolutioner97
- Fick ingen manual till mitt MSI B650?6
- Bilder på ditt senaste inköp (2025) [inga produktbilder]479
- Stora feta metaltråden!5,8k
- 94 procent av alla lösenord är osäkra5
- Solceller, solpaneler, egen elproduktion, styra elförbrukning967
- Köpte en 98" tcl mq85. Som gick sunder under upplyftning till läggenhet.14
- Köpes Fractal Design North Vit sökes / FD Define R6 bytas/säljas
- Säljes Asus rog strix 1080ti 11Gb
- Köpes Steam Deck OLED
- Köpes sökes: AM4 Bakplatta (Fäste för cpu kylare)
- Säljes Asus TuF VG259QM 240hz Lenovo Legion Y25f-10 144Hz 2st 1080p skärmar
- Säljes Cooler Master Masterkeys Pro S RGB
- Säljes Threadripper TR4 dator Ryzen 1950X (16-core/32-tread) + X399 + GTX1060 6GB + RAM 32GB
- Säljes extern ssd. seagate firecuda 2tb
- Säljes Garderobsrensning
- Köpes AM5/AM4-paket m-ITX
- 94 procent av alla lösenord är osäkra5
- Xbox blir dyrare24
- Apple förbjuds ta provision för köp utanför appar16
- Quiz: Teknikrevolutioner97
- Microsoft: 30 procent av vår kod skrivs av AI62
- Massiv ökning av antalet DDoS‑attacker23
- Bitcoin-mining inte längre lönsamt72
- Forskare bedrev AI-experiment på Reddit i smyg20
- Veckans fråga: Hur spelar du mest datorspel?59
- EA-spel skrotas när över 300 sägs upp32
Externa nyheter
Spelnyheter från FZ