Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 47, views: 11.998 •

Dick Grune was de bedenker van het concurrent versions system - ook wel bekend als cvs - waarmee ontwikkelaars tegelijkertijd aan softwareprojecten kunnen werken. Voor de derde aflevering van Polderpioniers gaat Tweakers.net bij hem op bezoek. In de volgende aflevering: Kees Schouhamer Immink, de bedenker van de codering van de cd, dvd en blu-ray.

Reacties (47)

Ik was eigenlijk wel benieuwd naar een reactie van meneer Grune op de uitgesproken mening van Torvalds op CVS. Maargoed ik begrijp dat je dan bezig blijft als je moet reageren op al die rants :P
For the first 10 years of kernel maintenance, we literally used tarballs and patches, which is a much superior source control management system than CVS is, but I did end up using CVS for 7 years at a commercial company Transmeta[10] and I hate it with a passion. When I say I hate CVS with a passion, I have to also say that if there are any SVN (Subversion) users in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started. The slogan of Subversion for a while was "CVS done right", or something like that, and if you start with that kind of slogan, there's nowhere you can go. There is no way to do CVS right.

[Reactie gewijzigd door dualnibble op 3 juni 2012 09:10]

Ja daar ben ik ook benieuwd naar. Echter Torvalds is geen god. Hij heeft vaak sterke meningen zonder goede argumentatie. Zo kraakt Torvalds b.v. ook c++ af ten faveure van c. Weliswaar is de taal c++ verre van perfect, maar het is een grote verbetering t.o.v. van c, waar je alles met de hand moet dan en waar buffer overruns en memory leaks aan de orde van de dag zijn. Degene die nu nog c kiest om een applicatie te bouwen is echt niet slim bezig.
Ik denk dat jij je even moet inlezen in de figuur Torvalds, C en C++, etc.

Je kan zowel in C als C++ even goed buffer overruns, memory leaks en wat dan nog schrijven. Als jij in he destructor resources niet vrijgeeft: boem. Als je zonder controleren data inleest: boem.

Bovendien zijn er redenen waarom Torvalds geen C++ in de kernel wil. Het is helemaal geen argumentatie-loze keuze.
Ik weet niet wat voor c++ jij gebruikt, maar c++ bied je nu juist de mogelijkheden om dit soort dingen te voorkomen. Precies zoals jezelf al zegt in de destructor dealloceer je de geclaimde resources. De basic_string is een superieure oplossing t.o.v. char arrays. Het voorkomt buffer overruns en resource leaks. Daarnaast is het performance wise vaak ook nog sneller. De lengte wordt b.v. bijgehouden ipv met strlen iedere keer berekend. Ook gebruiken de meeste string library implementaties small buffer optimalisaties wat cache vriendelijker werkt.

Wellicht dat jij een goed argument kan vinden in zijn verhaal 'C++ is a horrible language', de rest van de c++ community kon dat niet. Het blijft bij persoonlijke aanvallen en non argumentatie.

Edit: link

[Reactie gewijzigd door gast128 op 3 juni 2012 12:00]

Verschrikkelijk offtopic deze discussie, maar voor c++ is geen standaard. Er zijn wel 10 tallen implementaties die onderling niet uit te wisselen zijn , dus wat kan je er nu eigenlijk over zeggen.
http://en.wikipedia.org/wiki/C%2B%2B#Standardization

Er zijn belangerijke lessen geleerd uit CVS, En er zijn wellicht betere 'implementaties' maar het concept dat je software gebruikt om samen code te schrijven is toch wel met CVS naar een breed publiek gebracht.

[Reactie gewijzigd door Mr_Light op 3 juni 2012 18:31]

C++ is we degelijk gestandariseerd, maar vrijwel geen enkele compiler ondersteunt de standaard volledig.

Ja het is een beetje off topic geraakt. Torvalds heeft bij het schrijven van Git CVS als anti voorbeeld genomen ('Take CVS as an example of what not to do; if in doubt, make the exact opposite decision.'). Vandaar dat we geinteresseerd zijn wat Grune daarop te zeggen had. Zoals ik al eerder aangaf staat Torvalds bekend om zijn expliciete mening waar niet altijd een sterk argument achter zit. De discussie over c++ is daar een voorbeeld van.

Edit: kleine bewoording

[Reactie gewijzigd door gast128 op 3 juni 2012 18:42]

Dat ligt er maar aan wat je wilt maken. Ik kan me voorstellen dat voor een kernel of b.v. game engine the overhead van c++ de performance teveel benadeeld. En dan is C een uitstekende keuze.
Programmeertalen zijn niet alleen maar objectief te vergelijken als goed en slecht. Het hangt maar net van je probleem af. Het is ook voor een groot deel persoonlijke voorkeur qua stijl en manier van denken.
Ach Torvalds is in veel op zichten een lompe boer. Er zijn inmiddels vele verschillende oplossingen mogelijk om tegelijk aan verschillende versies van software te werken en o Torvalds het nu wel of niet leuk vind het is soms simpel weg de enige manier om het goed te doen zonder dat je een dictator achtig figuur als Torvalds nodig hebt.

CVS heeft zeker beperkingen en die worden steeds duidelijker naarmate de groep mensen die aan een project werken groeit. Maar zo als je in dit filmpje ook ziet is het niet iets dat echt bedoeld was om met een enorme groep mensen aan een project te werken meer om met een klein aantal mensen de overhead van het met de hand bijhouden van versies te automatiseren.
Persoonlijk denk ik dat hoe je het ook wendt of keert je simpel weg niet zonder een version management oplossing kan, zeker niet als je met een team van meer dan 10 of 20 mensen aan een project werkt kun je eigenlijk niet meer zonder, tenzij je echt al het werk in aparte modules kan splitsen en dat 100% van de tijd kan doen (maar zeer zelden het geval)

CVS is mijn's inziens wat lastig om mee te werken in een grotere groep je voelt gewoon dat het wat ouder is en nooit echt bedoeld is voor de grotere groepen. Subversion zo als Torvalds al aanhaalt is niet heel veel beter, ja het is een verbetering ten opzichte van CVS maar het is ook niet echt meer dan dat en daarom simpel weg niet heel veel beter.
Met een aantal toevoegingen zo als tools waar mee je makkelijk (binnen een grafische interface) kunt zien wie wat uitgechecked heeft, welke versies met welke andere zijn gemerged of waar een fork heeft plaats gevonden etc, maken de wereld een heleboel fijner voor een build manager. Er zijn natuurlijk oplossingen die met CVS en of SVN werken en dit soort dingen bieden maar helaas zijn deze vaak nog wat klungelig en onhandig wat UI betreft. De alles in een oplossingen van bij voorbeeld IBM zijn daar in tegen erg duur zien er goed uit (en werken prettig) maar juist de prijs maakt dat ze vaak niet gebruikt worden.

Persoonlijk heb ik in de tijd dat ik in build management heb gewerkt altijd erg veel baad gehad bij een grafisch overzicht van een project waar je simpel weg veel meer informatie kunt zien in een oog opslag dan je met een tekst gebaseerde oplossing kunt. En zeker in een groter team is het iedere ochtend even alles door nemen en developers die een fork hebben gemaakt of hun werk niet hebben in gecheckt even te vragen of ze hier van op de hoogte zijn etc. Een grote groep developers +20 betekend dat er altijd wel zo iets gebeurt, 99% van de tijd is er niets aan de hand en meld de developer zich zelf al op het moment dat je aan komt lopen maar zo af en toe kan het een vervelende situatie voorkomen.

CVS zou ik alleen gebruiken bij kleine projecten tot een man of 5 a 10, maar ook dan zou ik liever met SVN werken. Boven deze aantallen en met een echte build manager zijn tools die sneller makkelijker (en dus grafisch) een overzicht van een project kunnen bieden een heleboel handiger. Daar naast kun je in dat soort projecten ook vaak de kosten verantwoorden voor een meer geavanceerde manier van version control.
Wat misschien ook mee speelt in Torvalds aversie is dat Grune in de vakgroep van Tanenbaum zat. En Tanenbaum was de bedenker van Minix. Moet je maar eens voor de grap googlen op Minix tanenbaum en Torvalds dan kom je ook in een regelrecht modder gevecht terecht. Maar goed nu gaan we helemaal off topic.

Grune was een goede docent en ik ben blij en trots dat ik van hem vakken heb mogen volgen.
Ach, Torvalds moet niet zo zeuren want dhr Grune heeft exact hetzelfde met CVS gedaan als wat Torvalds met Git deed: iets in elkaar zetten dat doet wat ze wilden dat het deed. Ze hebben beiden iets gemaakt omdat ze een probleem hadden wat ze wilden oplossen. In beide gevallen zijn de systemen uitgegroeid tot iets wat door heel veel mensen gebruikt wordt. Bij CVS is dat kennelijk nooit verder ontwikkeld, bij Git lijkt dat wel zo te zijn. Daarbij moet wel gezegd dat er destijds weinig oog was voor version control en dat is tegenwoordig wel anders. Gevolg is dat er toen eigenlijk niks was en je nu een flinke concurrentie hebt.
Mooi interview. Je hoeft amper vragen te stellen en de beste man praat lekker door.

Kijk uit naar de volgende!
Ja, inderdaad. Vindt ik ook, makkelijk interview zo. Wel een goed en leuk interview.

Mooi dat hij dat zegt dat hij geen ambitie had om het uit te vinden maar dat hij het simpelweg nodig had. Zo gaat dat vaker. Je hebt zelf iets nodig, je gooit het erna online en er zijn meerdere mensen die er plezier van hebben.
Handig systeem.
Mooi interview! Grappig om te zien dat vele uitvindingen gewoon bedoeld waren voor eigen gebruik, totdat er andere mensen zijn met hetzelfde probleem en graag jou uitvinding willen gebruiken.

Sjonge, wat hebben Nederlanders eigenlijk veel bijgedragen aan de techniek! Erg trots op onze polderpioniers! :D
"Ik had niet de ambitie om dit uit te vinden. Ja Ik had het nodig."

Necessity is the mother of all inventions. :)
Mooi om te zien, ik kijk al uit naar de volgende aflevering.
Erg leuke serie idd! Goed bezig Tweakers, kijk al uit naar de volgende!
De volgende aflevering, of de volgende serie? Of allebei? :)

Inderdaad, heel leuke afwisseling van de gewone nieuwsitems, ga zo door!
Leuke en interessante reeks! Ik ga ze allemaal even op mijn gemak bekijken en wat collega's tippen...
Leuke report, ik heb er met plezier naar gekeken. Ga zo door!
Polderpioniers is echt leuk en informatief om naar te kijken en ik kijk er dan ook met alle plezier naar. En ik kijk ook uit naar naar de volgende.
Ik kom uit 1997 dus dit vind ik informatief om te zien.
Erg leuk om te zien, een erg handige vinding van de beste man, hoewel ik SVN gebruik, staat hij toch aan de basis van het hele idee en de techniek! Bedankt!

Op dit item kan niet meer gereageerd worden.



Populair: Vliegtuig Luchtvaart Websites en communities Crash Smartphones Apple Games Besturingssystemen Politiek en recht Rusland

© 1998 - 2014 Tweakers.net B.V. onderdeel van De Persgroep, ook uitgever van Computable.nl, Autotrack.nl en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013