Vraag & Antwoord

OS Linux

Aantal regels code Linux vs. Windows

Anoniem
None
8 antwoorden
  • Ik hoor en lees vaak dat Windows zoveel regels code heeft, zo iets van 40 miljoen regels, en dat het bijna een onmogelijke taak is om daar doorheen te komen en te controleren mocht het ooit open source worden zoals Linux.

    Nou is mijn vraag, hoeveel regels code heeft Linux (dat moet ook in de miljoenen lopen denk ik) en hoe lopen open source programmers daar doorheen om te zoeken naar foutieve of verkeerde code of om de boel aan te passen.
  • Het zal ongeveer 10 miljoen regels zijn, MAAR de code van linux is in een heleboel onderdelen opgesplitst (kernel, bash, xfree), waardoor het debuggen stukken makkelijker wordt. Windows daarintegen, heeft 40 miljoen regels code waar niemand een touw aan vast kan knopen omdat het al deze dingen in één brok code heeft staan. Lees ook 'gewoon voor de fun' (just for fun) van Linus Thorvalds, daar staat een vergelijkbaar verhaal.
  • [quote:d794d7ad15="webspider"]Het zal ongeveer 10 miljoen regels zijn, MAAR de code van linux is in een heleboel onderdelen opgesplitst (kernel, bash, xfree), waardoor het debuggen stukken makkelijker wordt. Windows daarintegen, heeft 40 miljoen regels code waar niemand een touw aan vast kan knopen omdat het al deze dingen in één brok code heeft staan.
    [/quote:d794d7ad15]
    En jij hebt de code van Windows gezien om deze uitspraak te kunnen doen?

    Ik denk zelf dat de kernel van Windows [i:d794d7ad15]gewoon[/i:d794d7ad15] een los onderdeel is. Maar dat het voornamelijk de shell is waar geen touw aan vast te knopen is. Denk aan (internet) explorer. En alle Microsoft applicaties die daar 'handig' gebruik van maken.
    [quote:d794d7ad15="webspider"]Lees ook 'gewoon voor de fun' (just for fun) van Linus Thorvalds, daar staat een vergelijkbaar verhaal.[/quote:d794d7ad15]
  • move to linux…

    t.
  • Hm… ik heb ergens gelezen dat de code voor Windows NT (kernel + ActiveX + Explorer + ander spul!) samen ongeveer 40 miljoen is, terwijl de Linux kernel zelf uit 50 miljoen regels bestaat. Heel vreemd.
  • Eens kijken, de Linux-kernel (2.5.1) bestaat uit zo'n 3.1 miljoen regels code, KDE bestaat uit 2,6 miljoen regels code (localisatie niet meegerekend), X Free meer dan 3 miljoen regels code, en dan heb je nog een hele zooi commandoprompt applicaties, waardoor ik gok dat een Linux-OS, dat vergelijkbaar is met Windows (dus met een stukkie minder applicaties dan een vanille-linuxdistro) zo'n 15 miljoen coderegels bevat.

    Hoe dat allemaal wordt bijgehouden? Linux is geheel modulair opgebouwd. Voor vrijwel elk stukkie Linux is een apart project beschikbaar dat dit onderdeel van het OS onderhoudt.
    Windows is een heel stuk minder modulair opgebouwd. Dat zal met XP wel meevallen, maar Win9x was een dusdanige kluwen dat het hele systeem opnieuw moest worden gestart al wou je de letterweergave van je Windows-GUI wijzigen. Bij Linux herstart slechts het onderdeel dat verantwoordelijk is door de letterweergave. Ander voorbeeld is de trage oplossing van bugs in Windows. Waar IE meer dan een maand nodig had om een bepaalde bug op te lossen was deze in de KDE-browser Konqueror binnen 2 dagen opgelost en als patch beschikbaar - een aardige prestatie als je bedenkt dat aan IE enkele duizenden programmeurs sleutelen, en aan konqueror slechts een handvol.

    Grote verschil tussen een propietary-applicatie zoals Windows en een Open Source project als de Linux-kernel, of een groot project zoals KDE, Gnome, Mozilla, etc.. is dat bij de laatstgenoemden de code vanaf regel 1 op straat ligt en ingekeken kan worden. Om dat beheersbaar te houden moet deze code helder en duidelijk worden opgesteld. Waar je bij propietary-software vanwege een tijdsdruk even snel een dirty hack kunt maken om iets te laten werken kun je dat bij OSS vaak wel vergeten, je hack wordt in de mailinglists etc al snel weggehoond door de overige developers.
    Bij KDE bijv. wordt elke toevoeging aan een applicatie door derden eerst aangeboden in een mailinglist, aldaar gekeurd, en dan pas in het cvs geplaatst. Toevoegingen door de onderhouders van een bepaald onderdeel van KDE worden via cvs-mailinglists nauwlettend in de gaten gehouden door een groot publiek van mede-ontwikkelaars en vaak hevig bediscusseerd als de code niet voldoet aan de verwachtingen van de anderen..
    Verder zijn OSS-projecten eigenlijk nooit echt gebonden aan deadlines, de software is klaar als het echt af is..

    Als je kijkt naar grote softwareprojecten die van propietary naar OSS zijn gegaan, dan blijkt de code vaak een janboel (Netscape) of slecht gedocumenteerd (StarOffice) Bij netscape heeft het meer dan een jaar geduurd om de code te ontpluizen, en heeft men uiteindelijk besloten om de code aan de kant te zetten en vanaf 0 opnieuw te beginnen. Bij StarOffice zijn ze nog steeds bezig met het ontpluizen van de softwarecode en zijn de eerst versies uit dit OSS-project vooral bedoeld om met een schoner product te komen.. Als je dat verplaatst naar Windows - waarvan we de code idd niet kennen, maar wel bekend zijn met de slechte beveiliging, de stabiliteitsproblemen die pas na bijna 20 jaar beginnen te verdwijnen, en de soms trage reactie op gevaarlijke bugs, en het niet veilig kunnen krijgen van IE (zie C'T van deze maand), dan valt te verwachten dat de broncode van Windows toch een aardige spaghetti is die niet zo 1,2,3 valt te ontcijferen mocht deze ooit als OSS worden uitgebracht..


    Rinse
  • Oké, bedankt mensen voor jullie bijdrage en vooral Maximilaan (Rinse) voor zijn uitgebreide uitleg.

    Ik snap nu wat meer hoe in elk geval Linux is opgebouwd, Windows zal ook wel modulair opgebouwd zijn alleen kan niemand dat controleren omdat het geheim is en de gene die het weten, buiten Micro$oft mensen, zo dichtgeplakt zijn met contracten dat ze niks kunnen of willen zeggen.

    Met vriendelijke groet,

    Jorrit
  • [quote:8f06b87d3b="ODF"]Oké, bedankt mensen voor jullie bijdrage en vooral Maximilaan (Rinse) voor zijn uitgebreide uitleg.[/quote:8f06b87d3b]
    Graag gedaan ;)
    [quote:8f06b87d3b]

    Ik snap nu wat meer hoe in elk geval Linux is opgebouwd, Windows zal ook wel modulair opgebouwd zijn alleen kan niemand dat controleren omdat het geheim is en de gene die het weten, buiten Micro$oft mensen, zo dichtgeplakt zijn met contracten dat ze niks kunnen of willen zeggen.
    [/quote:8f06b87d3b]
    Yep, Windows is niet 1 groot blok code, getuige het feit dat het redelijk schaalbaar is.
    Linux is alleen modulairder opgebouwd, waardoor het op een nog grotere scala van hardwaretypes draaiende te krijgen is. Beide hebben hun voor en tegens Feit is wel dat het op straat gooien van de Windows-code zeker niet zal betekenen dat er binnen afzienbare tijd klonen komen die hierop gebaseerd zijn. Die angst van MS is in principe ongegrond. Waarom niet? Nou, hoe goed of slecht het ook geprogrammeerd mag zijn, de codebase is zo enorm groot dat het ruime tijd zal vergen om het te lezen. De enigen die op kort termijn kunnen profiteren van het opengooien Windows zijn crackers die heel graag de onbekende beveiligingsgaten in dit systeem willen gebruiken ;)

    Max

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.