Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Kwaliteit van code

Pagina: 1
Acties:
  • 3.890 views

Verwijderd

Topicstarter
Modbreak:Dit topic is afgesplitst vanuit [opensource] Wie schrijft het?


Als je tegenwoordig een stukje software wilt schrijven dan moet je redelijk je best doen wil je niet gebruik maken van een stukje open-source code of code die hiervan is afgeleid.

Of iets open-source is of niet geeft geen enkele indicatie voor de kwaliteit van de code. Het hangt volledig van de persoon af en of het een haastklus is geweest. Ik heb zelf nog nooit goede code gezien van iemand zonder universitaire opleiding. De verhalen over de "self-taught programmer" zijn dan ook niet meer dan verhalen.

Ik heb voor mijn werk verschillende malen aan open-source bijgedragen en doe dit privé ook in sommige gevallen door bijv. foutrapporten in te sturen bij niet zo belangrijke issues. Als iets me echt ongelooflijk irriteert dan repareer ik het zelf en als het dan een nuttige verandering is voor iedereen stuur ik de verandering in.

Mensen willen geen grote hoeveelheden home made patches blijven ondersteunen en dat is de reden dat mensen bijdragen. Puur eigenbelang dus (en dat is ook goed).

[ Voor 4% gewijzigd door MueR op 22-12-2010 17:29 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:55

Creepy

Tactical Espionage Splatterer

Ach, ervaringen zijn persoonlijk he. Ik heb ook heel wat code gezien van personen zonder een universitaire opleiding die bagger is, net zoveel overigens als code van mensen MET een universitaire opleiding ;) Codekwaliteit is iets wat speelt, zowel bij opensource projecten en bij closed source projecten. Bij opensource is het makkelijk te controleren, bij closed source niet.

[ Voor 28% gewijzigd door Creepy op 22-12-2010 10:30 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 22 december 2010 @ 10:18:
Ik heb zelf nog nooit goede code gezien van iemand zonder universitaire opleiding.
You've got to be kidding me. Dan zit je nog niet lang genoeg in 't vak of je hebt nog niet veel code gezien. Ik beweer niet dat iemand met universitaire opleiding géén "goede" code kan schrijven, zéér zeker niet, maar ik heb werkelijk enorme shitloads aan bagger gezien van universitair opgeleide lui (en ja, ook van self-taught figuren net zo goed). Ik vermoed dat 't een X-factor, aanleg, talent of whatever is. Maar een universitaire opleiding is zéker geen garantie voor "goede" code.

Maar goed, we gaan nu wel heel erg offtopic.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Verwijderd schreef op woensdag 22 december 2010 @ 10:18:
Of iets open-source is of niet geeft geen enkele indicatie voor de kwaliteit van de code. Het hangt volledig van de persoon af en of het een haastklus is geweest.
Ik vermoed dat je kan zeggen dat de codekwaliteit van een OS project minstens een factor heeft die recht evenredig is met de populariteit van de software. Hoe meer exposure, hoe meer contributors en hoe harder de codebase neigt te evolueren naar een onderhoudbaar geheel.

Er zijn natuurlijk ook tegenvoorbeelden (x11 anyone?), maar als average kan de stelling volgens mij wel gelden.
Ik heb zelf nog nooit goede code gezien van iemand zonder universitaire opleiding. De verhalen over de "self-taught programmer" zijn dan ook niet meer dan verhalen.
Op dit soort trolls ga ik niet meer zeggen dan dat ik nog maar weinig universitairen tegen het lijf ben gelopen die degelijke code konden schrijven wanneer ze de schoolbanken verlieten. Misschien zit het verschil NL/BE hier voor iets tussen, maar die stelling is je reinste non-sense.
Mensen willen geen grote hoeveelheden home made patches blijven ondersteunen en dat is de reden dat mensen bijdragen. Puur eigenbelang dus (en dat is ook goed).
Dat is 1 manier om ertegenover te staan ;)
Er zijn ook mensen die het gewoon voor de name&fame willen doen of gewoon om te kunne bijdragen aan een project dat ze veelvuldig gebruiken.

[ Voor 9% gewijzigd door H!GHGuY op 22-12-2010 13:08 ]

ASSUME makes an ASS out of U and ME


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

RobIII schreef op woensdag 22 december 2010 @ 10:26:
[...]

You've got to be kidding me. Dan zit je nog niet lang genoeg in 't vak of je hebt nog niet veel code gezien. Ik beweer niet dat iemand met universitaire opleiding géén "goede" code kan schrijven, zéér zeker niet, maar ik heb werkelijk enorme shitloads aan bagger gezien van universitair opgeleide lui (en ja, ook van self-taught figuren net zo goed). Ik vermoed dat 't een X-factor, aanleg, talent of whatever is. Maar een universitaire opleiding is zéker geen garantie voor "goede" code.
offtopic:
Sterker nog, ik heb code gezien van mensen die de universiteit gedaan hebben die echt compleet nergens op sloeg, puur omdat ze weliswaar een leuke basis van theoretische kennis hebben, maar geen idee hebben hoe sommige dingen in de praktijk werken. En dan gaat het meestal ook nog eens gepaard met een air van "ik heb de uni gedaan, dus ik heb gelijk, ongeacht hoeveel praktijkervaring jij hebt" :X

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Verwijderd schreef op woensdag 22 december 2010 @ 10:18:
Ik heb zelf nog nooit goede code gezien van iemand zonder universitaire opleiding.
Dat is een kwestie van tijdig je ogen sluiten, dan zie je de goede code niet meer |:(
De verhalen over de "self-taught programmer" zijn dan ook niet meer dan verhalen.
En hoe deden de eerste programmeurs het dan? En diegene die de eerste studies hebben opgezet? Ik heb hier nog wel wat voorbeeldjes van academische code wat prima werkt (het doet wat het moet doen) maar niet is te onderhouden omdat geen mens er een touw aan vast kan knopen. Zelfs de veroorzaker van deze problemen is hier inmiddels op teruggekomen, ziet ook door de bomen het bos niet meer.

Logisch en gestructureerd werken én de boel eenvoudig houden, daar heb je meer aan dan een academische titel. Wat niet wil zeggen dat een academische titel waardeloos is.

Verwijderd

Remus schreef op woensdag 22 december 2010 @ 16:32:
offtopic:
Ik zie niet helemaal in wat deze discussie over opgeleide <> self-taught programmeurs toevoegt aan een discussie over opensource.
Die is er niet. Dat wordt pijnlijk duidelijk als je open source-code bekijkt. Iedereen kan bagger schrijven, maar ook juweeltjes :+.

Dat is nu de charme en de kracht van opensource. Jan de fruitboer van de hoek kan een briljante oplossing bedenken voor een softwareprobleem, dit bijdragen aan een open source-project en weer verdwijnen. Even goed kan een programmeur die tegen een bug aanloopt, de code direct fixen en bijdragen zodat iedereen ermee kan worden, zonder dat hij een bugfixrequest moet indienen bij de supplier.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Op dezelfde manier kan Jan de fruitboer van de hoek ook iets schrijven wat een mooie feature lijkt maar wat uiteindelijk zo lek blijkt als een mandje. Die charme die je noemt kan net zo goed een beerput zijn.

[ Voor 16% gewijzigd door NMe op 22-12-2010 17:25 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
NMe schreef op woensdag 22 december 2010 @ 17:25:
Op dezelfde manier kan Jan de fruitboer van de hoek ook iets schrijven wat een mooie feature lijkt maar wat uiteindelijk zo lek blijkt als een mandje. Die charme die je noemt kan net zo goed een beerput zijn.
Maar Jan de fruitboer kan natuurlijk niet zomaar iets inchecken ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Ik vat hier 'kwaliteit van code' even op als design kwaliteit omdat ik mij daar meestal het meest aan erger. Ik vis deze guidelines, of 'odors of rotting software', uit het boek Agile Software Development van Robert C. Martin:

1. Rigidty: the system is hard to change because every change forces many other changes to other parts of the system
2. Fragility: changes cause the system to break in places that have no conceptual relationship to the part that was changed
3. Immobility: it is hard to disentangle the system into components that can be reused in other systems
4. Viscosity: doing things right is hard than doing things wrong
5. Needless complexity: the design contains infrastructure that adds no direct benefit
6. Needless repetition: the design contains repeating structures that could be unified under a single abstraction
7. Opacity: it is hard to read and understand. It does not express its intent well.

Als ik die 7 richtlijnen bekijk (die ik zelf wel ondersteun) is het meer een vakmanschap dan een exacte wetenschap. Ik weet mij nog een vak te herinneren, 'software management', dat maar met een zeer beperkt en discutabele set aan meeteenheden voor code kwaliteit kwam aanzetten.

Bij een vakmanschap is het vooral de ervaring die spreekt en een zeker talent. Vergelijkbaar met hoe koks smaken leren te onthouden en te combineren en daardoor beter gaan koken. Een kok opgeleid onder een meester met 2 michelinsterren zie je vaak dat de leerling ook een michelinster weet te halen, en het is bekend hoe lastig die te krijgen zijn. Tegelijk zal een meesterkok niemand aannemen die geen enkele aanleg voor koken heeft. Iemands aanleg is in grote mate -in mijn ervaring als studentassistent- gerelateerd aan iemands interesse/doortastenheid (welke hier de oorzaak of gevolg zijn durf ik niet te zeggen).

Ik durf de stelling neer te leggen dat de beste programmeurs diegenen zijn die voordat ze een universitaire opleiding begonnen al regelmatig wat progten. Iemand die alles alleen doet leert niet samenwerken, iemand die de theoretische basis heeft maar geen ervaring heeft niet het noodzakelijke gevoel om in te schatten wanneer een design elegant is; die gaat teveel op de ideële toer (of heeft geen idee).

Het is een proces van vallen en opstaan. In hetzelfde boek over agile development bespreken ze een lang voorbeeld over het ontwikkelen van een score systeem voor bowlen. Als ik eerlijk ben vond ik dat ze het nogal bagger deden maar uiteindelijk rolt er een ontwerp uit waarin de lezer zich kan vinden; met name omdat ze de visie achter de ontwikkeling doorhebben. Als de ontwikkelingsvisie niet duidelijk is kan code door de één beoordeeld worden als briljant en eenvoudig, en door de ander als moeilijk uitbreidbaar.

Nog een interessante: C. Martin beweert dat twee redelijk/matige ontwikkelaars die goed met elkaar communiceren beter is dan twee zeer goede ontwikkelaars die nauwelijks weten te communiceren.

Leg niet te snel de schuld bij iemand maar kijk zeker ook naar het proces.

[ Voor 5% gewijzigd door Verwijderd op 22-12-2010 20:04 ]


  • Victor
  • Registratie: November 2003
  • Niet online
Als ik zo eens om me heen (en naar mezelf) kijk, is één ding duidelijk: je opleiding en aantal jaren werkervaring zeggen geen klap over je kwaliteit als programmeur. Ik zie mensen met 10+ jaar werkervaring die het naar mijn idee gewoon echt niet begrepen hebben en mensen met genoeg theoretische kennis om de meest complexe systemen te bouwen en dat vervolgens ook consequent doen (wat in de praktijk vooral betekent dat het nooit afkomt, uiteindelijk niet te begrijpen is en daarmee ook niet te onderhouden).

Wat maakt dan wel een goede programmeur in mijn ogen? Iemand met een goede dosis theoretische kennis (die je jezelf prima bij kunt brengen, daar heb je echt geen opleiding voor nodig) en het inzicht om praktische, eenvoudige oplossingen te zoeken en die vervolgens zo zuiver mogelijk te implementeren (en met zuiver bedoel ik dan alle relevante principes, patterns en best practices in acht nemend).

En tja, hoe word je dan een goede programmeur?
code:
1
2
3
4
10 TRY
20 FAIL
30 LEARN
40 GOTO 10

Verwijderd

Victor schreef op woensdag 22 december 2010 @ 20:20:
Als ik zo eens om me heen (en naar mezelf) kijk, is één ding duidelijk: je opleiding en aantal jaren werkervaring zeggen geen klap over je kwaliteit als programmeur. Ik zie mensen met 10+ jaar werkervaring die het naar mijn idee gewoon echt niet begrepen hebben en mensen met genoeg theoretische kennis om de meest complexe systemen te bouwen en dat vervolgens ook consequent doen (wat in de praktijk vooral betekent dat het nooit afkomt, uiteindelijk niet te begrijpen is en daarmee ook niet te onderhouden).
...
Bedoel je dat mensen vastgeroest zitten in hun oude gewoonten? Zelf namelijk andere ervaringen.

Verwijderd

NMe schreef op woensdag 22 december 2010 @ 17:25:
Op dezelfde manier kan Jan de fruitboer van de hoek ook iets schrijven wat een mooie feature lijkt maar wat uiteindelijk zo lek blijkt als een mandje. Die charme die je noemt kan net zo goed een beerput zijn.
True, en ook dat is een deel van de charme van OS. Daarom voeren de meeste goede OS-projecten ook niet zonder nadenken/nakijken alle gesubmitte changes door.

Verwijderd

Het is natuurlijk ook maar wat je kwaliteit noemt zoals Atsjie al aangaf. Iets kan 'minder mooi' in mekaar zitten
maar qua performance beter zijn dan iets heel doordachts en theoretisch super gebouwd stukje software.

Ik ben het alleen niet helemaal met punt 5 (Needless complexity) eens, soms maak je gewoon dingen met het oog op uitbreiding en schaalbaarheid en zul je weleens (moeten) maken die aanvankelijk nog niet nodig zijn maar wel in de toekomst kunnen komen, zonder dan teveel werk te hoeven verrichten. Denk hierbij aan een Database Adapter voor meerdere database types of meerdere connecties ondanks dat je aanvankelijk alleen één MySql database aan zal spreken.

Daarnaast is het soms een kwestie van smaak, persoonlijk krijg ik altijd de kriebels als ik de code achter Drupal bekijk, al moet ik toegeven dat sommige aspecten hiervan erg goed in elkaar steken, in werking dan.

Met betrekking tot het hele OpenSource vs ClosedSource verhaal, beide staan niet garant voor goede code alleen is het bij opensource wel zo dat zo snel er slechte code inzit dit zeker uit zal komen. Bij closed source kan het net zo goed een hoop meuk zijn maar dat zie je niet ... mischien wel goed ook, anders vrees ik dat er een hoop grote jongens nog wat uit te leggen hebben ;)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 27-11 13:05

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op donderdag 23 december 2010 @ 01:07:
[...]

Bedoel je dat mensen vastgeroest zitten in hun oude gewoonten? Zelf namelijk andere ervaringen.
Ik heb beide ervaringen. Het is een duidelijke scheiding tussen mensen die zich wel doorontwikkelen en mensen die het allemaal wel best vinden. In die laatste categorie is verder nog een onderscheid te maken tussen de 'ik zit mijn tijd wel uit' en de 'vroeger was alles beter' mentaliteit.
Verwijderd schreef op donderdag 23 december 2010 @ 08:55:
Het is natuurlijk ook maar wat je kwaliteit noemt zoals Atsjie al aangaf. Iets kan 'minder mooi' in mekaar zitten
maar qua performance beter zijn dan iets heel doordachts en theoretisch super gebouwd stukje software.
Performance. De meest overrate en eigenlijk minst belangrijke metric. Natuurlijk moet je geen domme dingen gaan doen (de N+1 SELECTs, verkeerde datastructuren en collection types), maar op een gegeven moment kom je op een bepaald punt aan waar meer performance er voor gaat zorgen dat je code onduidelijker wordt. Vaak wordt vergeten hoeveel een zwaardere server kost en hoe duur een software engineer is. Mij een week inhuren staat gelijk aan een dikke server kunnen kopen.

Performance wordt pas belangrijk wanneer de gestelde requirements niet gehaald worden. En vaak zit de bottleneck niet in de code, maar in de IO. Dat is beter op te lossen door slimmer te query-en, hier en daar wat te cachen en soms wat configuratie dingen aan te passen.
Verwijderd schreef op donderdag 23 december 2010 @ 08:55:
Ik ben het alleen niet helemaal met punt 5 (Needless complexity) eens, soms maak je gewoon dingen met het oog op uitbreiding en schaalbaarheid en zul je weleens (moeten) maken die aanvankelijk nog niet nodig zijn maar wel in de toekomst kunnen komen, zonder dan teveel werk te hoeven verrichten. Denk hierbij aan een Database Adapter voor meerdere database types of meerdere connecties ondanks dat je aanvankelijk alleen één MySql database aan zal spreken.
Inderdaad een valkuil waar velen invallen, en eigenlijk zie je de voordelen van punt 5 pas na jaren ervaring. In de praktijk zie je namelijk dat veel van dit soort generiek werk nogal doorschiet. Hierdoor wordt de applicatie vervolgens eerder lastiger te onderhouden dan niet. 10 generieke oplossingen waarvan er na jaren gebruik uberhaupt maar 1 gebruikt werd kost uiteindelijk toch meer tijd. Daarnaast zorgt de initiele extra ontwikkel tijd er alleen maar voor dat het nog langer duurt voordat je uberhaupt je eerste oplevering kunt doen.

Ik zeg trouwens niet dat dingen nooit generiek opgelost moeten worden, maar wanneer je je aan andere vuistregels houdt (Verantwoordelijkheden goed scheiden, onderdelen van je applicatie koppelen via duidelijke interfaces) dan kun je gewoon normaal ontwikkelen zonder dat een latere 'generiekizering' onmogelijk wordt.

[ Voor 82% gewijzigd door Janoz op 23-12-2010 10:05 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Janoz schreef op donderdag 23 december 2010 @ 09:51:
Performance. De meest overrate en eigenlijk minst belangrijke metric. Natuurlijk moet je geen domme dingen gaan doen (de N+1 SELECTs, verkeerde datastructuren en collection types), maar op een gegeven moment kom je op een bepaald punt aan waar meer performance er voor gaat zorgen dat je code onduidelijker wordt. Vaak wordt vergeten hoeveel een zwaardere server kost en hoe duur een software engineer is. Mij een week inhuren staat gelijk aan een dikke server kunnen kopen.
En dan staat daar een fraaie server in een grote doos op de vloer, en dan? Dan doet dat ding nog steeds niets, laat staan dat het performance probleem is opgelost. Er moet nog steeds iemand aan het werk worden gezet om de boel te installeren en de code en data te migreren naar de nieuwe server. Dat gebeurt niet gratis. En de performancewinst is beperkt, een nieuwe server zal wellicht 10 tot 100x zo snel zijn, maar met slimme code kan de performance wel 10.000 keer beter worden. Zo heb ik code gezien dan van ruim 70 uur terug ging naar zo'n 40 seconden, dat ga je met betere hardware echt niet redden met een budget van een paar duizend euro.
Performance wordt pas belangrijk wanneer de gestelde requirements niet gehaald worden.
Helemaal mee eens. Helaas ontbreken vaak SMART requirements.
En vaak zit de bottleneck niet in de code, maar in de IO. Dat is beter op te lossen door slimmer te query-en, hier en daar wat te cachen en soms wat configuratie dingen aan te passen.
En dus zit de oorzaak van het probleem weldegelijk in de code, daarin staan de brakke queries en nested loops. IO is een vast gegeven voor een bepaalde server, de wijze waarop je gebruik maakt van de beschikbare IO is echter iets wat je grotendeels zelf in de hand hebt. En daar komt dus slimme code om de hoek kijken.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
@cariolive23: Ik denk dat Janoz wel uitging van enigszins fatsoenlijke code. Excessen waar je de performance met een factor 10.000 verbetert of van 70 uur terug weet te brengen naar 40 seconden wijzen op, in de basis, waarschijnlijk gare software. Op 't moment dat de applicatie goed in elkaar zit is de volgende stap meestal betere/meer hardware, caching, loadbalancing en andere geintjes. En dus niet het nog dieper graven naar mogelijke puntjes waar je een paar milliseconden kunt (micro)optimaliseren. Dat neemt niet weg dat er zo nu en dan niet eens geprofiled moet (kunnen) worden als 't niet helemaal naar wens performed ofzo.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 27-11 13:05

Janoz

Moderator Devschuur®

!litemod

cariolive23 schreef op donderdag 23 december 2010 @ 10:32:
Helemaal mee eens. Helaas ontbreken vaak SMART requirements.
Requirements worden niet ineens niet SMART. Als je ze niet SMART hebt dan moet je ze SMART krijgen of op papier krijgen dat ze niet SMART zijn.
En dan staat daar een fraaie server in een grote doos op de vloer, en dan? Dan doet dat ding nog steeds niets, laat staan dat het performance probleem is opgelost. Er moet nog steeds iemand aan het werk worden gezet om de boel te installeren en de code en data te migreren naar de nieuwe server. Dat gebeurt niet gratis. En de performancewinst is beperkt, een nieuwe server zal wellicht 10 tot 100x zo snel zijn, maar met slimme code kan de performance wel 10.000 keer beter worden. Zo heb ik code gezien dan van ruim 70 uur terug ging naar zo'n 40 seconden, dat ga je met betere hardware echt niet redden met een budget van een paar duizend euro.

En dus zit de oorzaak van het probleem weldegelijk in de code, daarin staan de brakke queries en nested loops. IO is een vast gegeven voor een bepaalde server, de wijze waarop je gebruik maakt van de beschikbare IO is echter iets wat je grotendeels zelf in de hand hebt. En daar komt dus slimme code om de hoek kijken.
Mijn opmerking gingen dan ook niet over brakke code. Brakke code is brak en zou zo snel mogelijk vervangen moeten worden. Waar mijn opmerking meer over ging is goede code die onduidelijker gemaakt wordt omdat performance belangrijker gevonden wordt dan readibility en maintanability, zonder dat er een duidelijk aanwijsbare SMART business requirement aan ten grondslag ligt. Doelloze micro-optimalisaties omdat iemand bij sales roept dat 'het te langzaam is' (en achteraf blijkt dat hij een voor intranet snelheden ontwikkelde applicatie via een GPRS verbinding probeert te demo-en).

Maar uiteraard. Het is wel even belangrijk aan te stippen dat performance niet onbelangrijk is, voordat mijn opmerking straks als goedkeuring wordt gebruikt om brakke code te schrijven.

[ Voor 4% gewijzigd door Janoz op 23-12-2010 10:49 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Mischa_NL
  • Registratie: Mei 2004
  • Laatst online: 01-02-2023
RobIII schreef op donderdag 23 december 2010 @ 10:38:
@cariolive23: Ik denk dat Janoz wel uitging van enigszins fatsoenlijke code. Excessen waar je de performance met een factor 10.000 verbetert of van 70 uur terug weet te brengen naar 40 seconden wijzen op, in de basis, waarschijnlijk gare software. Op 't moment dat de applicatie goed in elkaar zit is de volgende stap meestal betere/meer hardware, caching, loadbalancing en andere geintjes. En dus niet het nog dieper graven naar mogelijke puntjes waar je een paar milliseconden kunt (micro)optimaliseren. Dat neemt niet weg dat er zo nu en dan niet eens geprofiled moet (kunnen) worden als 't niet helemaal naar wens performed ofzo.
Het hangt helemaal van de applicatie af! of photoshop nou 1 seconde langer de tijd neemt om een bepaald filter toe te passen is totaal niet interessant. Een Core gedeelte van je game engine wat 60 keer pe rseconde MINIMAAL aangeroepen moet worden, is daarentegen een essentieel onderdeel van tot op het bot toe optimisen. Ik heb namelijk code in een render thread geschreven die rete-duidelijk was maar zo traag als ...
Nu is mijn render gedeelte waarschijnlijk niet meer geweldig leesbaar door allerlei caches en sorteringsmechanismes, maar snel is het wel!

Performance is relatief imho: Hoe belangrijker performance hoe minder bleangrijk readability, en onderhoud hoeven te zijn.

Verwijderd

@Janoz ... wie zei er iets over generiek ? Ikke niet volgens mij ;) ... ging mij er meer om dat punt 5 van het lijstje mij overkwam als iets zo single purpose developen dat je eigenlijk regel 1 weer breekt.

overcomplexiteit met als enige doel het complex maken van iets wordt natuurlijk niemand vrolijk van, maar dat betekend aan de andere kant ook niet dat er niet nagedacht mag worden over eventuele schaalbaarheid.

Mbt onleesbare code en performance ... zo snel als je inderdaad micro-optimalisatie als laatste redmiddel ziet voor perfomance issues en onleesbaarheid kiest boven onderhoudbare en duidelijke code , ben je inderdaad al ver heen ... vandaar ook mijn kriebels bij het zien van Drupal code ;)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 27-11 13:05

Janoz

Moderator Devschuur®

!litemod

Maar dat zeggen we toch ook? Pas wanneer er een SMART requirement aan ten grondslag ligt.Verder moet je proberen het geen tradeoff te laten zijn. Readability en onderhoud zijn nooit minder belangrijk. Misschien enkel relatief. Maar het is niet vanzelfsprekend een tradeoff.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 27-11 13:05

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op donderdag 23 december 2010 @ 11:30:
@Janoz ... wie zei er iets over generiek ? Ikke niet volgens mij ;) ... ging mij er meer om dat punt 5 van het lijstje mij overkwam als iets zo single purpose developen dat je eigenlijk regel 1 weer breekt.
En ik probeer aan te geven dat dat nu precies de valkuil is waar veel mensen intrappen. Je kunt keurig een single purpose oplossing maken zonder dat het regel 1 schaadt door netjes te programmeren (bv als Uncle Bob)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Mischa_NL schreef op donderdag 23 december 2010 @ 11:26:
Performance is relatief imho: Hoe belangrijker performance hoe minder bleangrijk readability, en onderhoud hoeven te zijn.
Als je readability en maintainability moet opofferen voor performance dan heb je volgens mij een design probleem, tenzij we echt over micro-optimalisaties spreken. Hoewel ik zelfs op dat moment nog durf te betwisten dat er dan een probleem in zit.

Je design zou rekening moeten houden met scalability, waarmee je eigenlijk 90% van de performance al moet afgedekt hebben. De overige 10%, optimalisaties, kun je dan wel verstoppen in een functie/class/... die apart op correctheid te verifieren is.

Readability is grotendeels afhankelijk van de fysische indeling van je code. Je kan bijna per definitie zeggen dat elke functie langer dan X regels of meer dan Y niveau's van geneste scopes of ... niet readable is.
Een mens kan slechts een beperkte hoeveelheid data tegelijk overzien. Deel je code op in begrijpbare componenten met een duidelijke naam en je komt al een heel eind. Opdelen heeft echt geen impact op performance. (En nee, een echt performance kritische zaak (real-time en co) schrijf je niet in Java/C#, in tegenstelling tot scalable code. Gebruik dan lekker C/C++ en laat de compiler maar lekker inlinen. Niet dat Java/C# JIT compilers dit niet zouden kunnen).

Maintainability is dan weer grotendeels afhankelijk van logische indeling van je code. Ook hier durf ik beweren dat dit geen impact moet hebben op performance. Als je code scalable is, en je optimalisaties mooi kunt hiden in afzonderlijke readable/maintainable onderdelen, dan heb je gewoon het beste van beide werelden.

ASSUME makes an ASS out of U and ME


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

H!GHGuY schreef op donderdag 23 december 2010 @ 12:56:
[...]


Als je readability en maintainability moet opofferen voor performance dan heb je volgens mij een design probleem, tenzij we echt over micro-optimalisaties spreken. Hoewel ik zelfs op dat moment nog durf te betwisten dat er dan een probleem in zit.

Je design zou rekening moeten houden met scalability, waarmee je eigenlijk 90% van de performance al moet afgedekt hebben. De overige 10%, optimalisaties, kun je dan wel verstoppen in een functie/class/... die apart op correctheid te verifieren is.
Dat is helaas natuurlijk ook heel erg afhankelijk van de taal.

In een paar talen is er een directe tradeoff tussen leesbaarheid en snelheid. Maar... de waarde van dit verschil wordt vaak nogal overschat, een beetje extra snelheid is leuk maar vaak zeker niet nodig.
Readability is grotendeels afhankelijk van de fysische indeling van je code. Je kan bijna per definitie zeggen dat elke functie langer dan X regels of meer dan Y niveau's van geneste scopes of ... niet readable is.

Een mens kan slechts een beperkte hoeveelheid data tegelijk overzien. Deel je code op in begrijpbare componenten met een duidelijke naam en je komt al een heel eind. Opdelen heeft echt geen impact op performance. (En nee, een echt performance kritische zaak (real-time en co) schrijf je niet in Java/C#, in tegenstelling tot scalable code. Gebruik dan lekker C/C++ en laat de compiler maar lekker inlinen. Niet dat Java/C# JIT compilers dit niet zouden kunnen).
Opdelen van code levert weer extra functie calls op, extra functie calls zijn (zonder inlining) weer een performance hit ;)

Met een fatsoenlijke JIT compiler (of C/C++) is dit inderdaad geen probleem nee. Maar bij talen als Javascript of PHP (waar veel mensen het hier waarschijnlijk over hebben) kan je er niet vanuit gaan dat dit goed geregeld wordt.

Er is dus zeker iets voor te zeggen, maar zoiets moet je pas doen _na_ je met een profiler duidelijk geconstateerd hebt dat er een performance probleem is in dat stuk code. In plaats van microoptimalisaties doen vanaf het begin :P

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Topicstarter
cariolive23 schreef op woensdag 22 december 2010 @ 14:26:
En hoe deden de eerste programmeurs het dan?
Lees de PhD thesis maar van pioniers uit die tijd, dan heb je het antwoord. Het waren wiskundigen die ermee begonnen zijn, aangezien een computer gewoon een ander formeel systeem is.

Als je bijv. kijkt naar wat nu goede wetenschappers zijn, dan zijn dit ook mensen die onder de groten der Aarde hebben gestudeerd; precies zoals iemand hierboven ook al heeft aangegeven.

Dit geldt trouwens voor bijna iedere wereldberoemde wetenschapper; ze hebben van de besten geleerd. Als je als wiskundige niet zelf teksten van de besten leest en je op je universiteit geen les krijgt van de besten wordt je niet meer dan een amateur. Er is hierop overigens geloof ik een bekende uitzondering, een of andere Indiër die onafhankelijk een gigantische hoeveelheid calculus had herontdekt en een aantal nieuwe resultaten had gevonden, maar die persoon wordt geloof ik als nationale held gezien in India, dus zovaak komt dat niet voor.

Je kunt nog zo slim zijn, maar als je niet de goede voedingsbodem/omgeving hebt, wordt het gewoon niets.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wolfboy schreef op donderdag 23 december 2010 @ 13:32:
Met een fatsoenlijke JIT compiler (of C/C++) is dit inderdaad geen probleem nee. Maar bij talen als Javascript of PHP (waar veel mensen het hier waarschijnlijk over hebben) kan je er niet vanuit gaan dat dit goed geregeld wordt.
Van PHP weet ik het niet, maar voor JS is, zeker de afgelopen jaren, toch wel heel serieus gewerkt aan dergelijke optimalisaties en kan 't ondertussen aardig meekomen dacht ik zo (hoewel ik er niet superdiep in zit).
Ik vraag me serieus af of je nog wel in contact staat met de werkelijkheid of dat je gewoon een troll bent...

[ Voor 73% gewijzigd door RobIII op 23-12-2010 13:37 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 26-11 17:32

Gé Brander

MS SQL Server

Victor schreef op woensdag 22 december 2010 @ 20:20:
En tja, hoe word je dan een goede programmeur?
code:
1
2
3
4
10 TRY
20 FAIL
30 LEARN
40 GOTO 10
Oh, zegt dit iets over de kwaliteiten van jou code of over de theorie erachter? ;)

Misschien is het meer zoals dit bedoeld:
code:
1
2
3
4
5
6
7
10 TRY
20 FAIL
30 LEARN
40 REMEMBER
50 DOCUMENT
60 APPLY LEARNED IN NEW CODE IN THE FUTURE
70 GOTO 10


Let op de knipoog!

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Verwijderd schreef op donderdag 23 december 2010 @ 13:33:
Als je als wiskundige niet zelf teksten van de besten leest en je op je universiteit geen les krijgt van de besten wordt je niet meer dan een amateur.
Met andere woorden, vrijwel iedereen is een amateur. Er zijn tenslotte maar een paar studenten die les krijgen van de beste professors, het overgrote deel van de studenten krijgt les van de mindere goden.
Je kunt nog zo slim zijn, maar als je niet de goede voedingsbodem/omgeving hebt, wordt het gewoon niets.
Hmmm, dat is al een heel stuk ruimer, een "goede voedingsbodem/omgeving" is al véél meer dan uitsluitend een universiteit. Je hebt zelf ook heel veel invloed op jouw voedingsbodem en omgeving, jij zoekt zelf een werk- en studie omgeving uit.

En vergeet niet te leren van andermans fouten, dat scheelt jou veel tijd.

Verwijderd

Topicstarter
RobIII schreef op donderdag 23 december 2010 @ 13:36:
Ik vraag me serieus af of je nog wel in contact staat met de werkelijkheid of dat je gewoon een troll bent...
Volgens mij is zo'n reactie in strijd met de voorwaarden van Tweakers.net.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 27-11 13:05

Janoz

Moderator Devschuur®

!litemod

Wolfboy schreef op donderdag 23 december 2010 @ 13:32:
Met een fatsoenlijke JIT compiler (of C/C++) is dit inderdaad geen probleem nee. Maar bij talen als Javascript of PHP (waar veel mensen het hier waarschijnlijk over hebben) kan je er niet vanuit gaan dat dit goed geregeld wordt.
Als je denkt dat je inlinen nodig zult gaan hebben in je php of javascript applicatie zou je misschien beter kunnen kijken of je uberhaupt wel het juiste platform gekozen hebt.

Maar mocht je er echt niet omheen kunnen, dan kun je altijd kijken of je een precompiler kunt gebruiken. (inlinen is immers geen rocketsience)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

RobIII schreef op donderdag 23 december 2010 @ 13:36:
[...]

Van PHP weet ik het niet, maar voor JS is, zeker de afgelopen jaren, toch wel heel serieus gewerkt aan dergelijke optimalisaties en kan 't ondertussen aardig meekomen dacht ik zo (hoewel ik er niet superdiep in zit).
Daar heb je helemaal gelijk in. Helaas is dat een aanname die je (op het web iig) nog niet kan maken.

Je zit toch nog vaak genoeg met IE7 of (als je echt pech hebt) IE6 waarbij je gegarandeerd beroerde performance hebt.

Wil je complexere code dan nog snel krijgen dan zit je al snel meer voor de performance dan voor de netheid te werken.

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Topicstarter
cariolive23 schreef op donderdag 23 december 2010 @ 13:44:
Met andere woorden, vrijwel iedereen is een amateur. Er zijn tenslotte maar een paar studenten die les krijgen van de beste professors, het overgrote deel van de studenten krijgt les van de mindere goden.
Dat klopt.
Hmmm, dat is al een heel stuk ruimer, een "goede voedingsbodem/omgeving" is al véél meer dan uitsluitend een universiteit. Je hebt zelf ook heel veel invloed op jouw voedingsbodem en omgeving, jij zoekt zelf een werk- en studie omgeving uit.
Dat is ook zo, maar zonder universiteit is het heel lastig om die sprong te maken en ik denk dat het zo lastig is dat bijna niemand de sprong maakt.
En vergeet niet te leren van andermans fouten, dat scheelt jou veel tijd.
Juist, en veel van die dingen leer je dus al op een universiteit; het is gewoon tijdsbesparing.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Janoz schreef op donderdag 23 december 2010 @ 13:49:
[...]

Als je denkt dat je inlinen nodig zult gaan hebben in je php of javascript applicatie zou je misschien beter kunnen kijken of je uberhaupt wel het juiste platform gekozen hebt.

Maar mocht je er echt niet omheen kunnen, dan kun je altijd kijken of je een precompiler kunt gebruiken. (inlinen is immers geen rocketsience)
In eerste instantie is dit uiteraard niet nodig. Het was ook alleen maar een voorbeeld van omgevingen waar opslitsen (en dus extra functie calls) niet per definitie triviaal zijn.

Wat betreft het kiezen van een ander platform. Javascript is voor clientside browsercode de enige optie die altijd/overal werkt en met legacy browsers heb je dan weinig alternatieven dan optimaliseren voor de snelheid.

Noot: ik zie code optimaliseren voor snelheid in plaats van leesbaarheid alleen als laatste optie. Ik raad het zeker niet aan als het niet _echt_ nodig is.

Blog [Stackoverflow] [LinkedIn]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Verwijderd schreef op donderdag 23 december 2010 @ 13:33:
[...]

Dit geldt trouwens voor bijna iedere wereldberoemde wetenschapper; ze hebben van de besten geleerd. Als je als wiskundige niet zelf teksten van de besten leest en je op je universiteit geen les krijgt van de besten wordt je niet meer dan een amateur.
Ik kan prima van de besten leren zonder dat ik naar de uni ben gegaan. Er zijn talloze boeken beschikbaar, nog naast het feit dat veel universitaire lesmethoden gewoon online beschikbaar zijn voor het grote publiek. Daarnaast betekent jouw argument nogal een kip-ei-probleem. Hoe heeft de eerste "beste" zich dan in godesnaam alles aangeleerd? Bovendien impliceert jouw argument dat niemand ooit beter kan worden dan zijn leraar, en als dat waar was, dan liep onze kennis als samenleven achteruit in plaats van vooruit.

En dan nog: theoretische kennis is leuk, maar praktijkervaring is veel belangrijker. In mijn eerste weken als embedded software-programmeur was ik heel enthousiast begonnen met het schrijven van multithreaded code en interrupthandlers omdat ik dat op school geleerd had terwijl dat blijkbaar voor de chip waarmee ik werkte heel erg onpraktisch was om performanceredenen. Uiteindelijk heb ik een terugval naar puur procedurele code gemaakt met een loopje in de main-functie die zelf prioriteiten en tijd uitdeelde aan stukjes code en die interrupts afhandelde op het moment dat dat nodig/relevant was. Soms moet je juist even afstappen van wat je denkt te weten en andere dingen verzinnen. Een goed informaticus is niet iemand die goed op kan dreunen wat zijn leraar hem geleerd heeft, maar iemand die in de praktijk goede keuzes kan maken op basis van zijn kennis en daarmee ook kan kiezen om niet die dingen toe te passen maar het anders aan kan pakken omdat de situatie daar om vraagt.

offtopic:
Even als achtergrond: ik ben iemand die ondanks een Gymnasium/VWO-achtergrond tóch naar het HBO is gegaan. Niet omdat ik de universiteit niet aan zou kunnen (mijn punten waren goed genoeg) maar omdat ik meer waarde hechtte aan de praktijkervaring die stages bieden dan aan de feitenkennis uit stoffige boeken die je op scholen krijgt. Ik heb er nog nooit spijt van gehad.

[ Voor 12% gewijzigd door NMe op 23-12-2010 14:00 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:55

Creepy

Tactical Espionage Splatterer

gang-ster: je kan voor een groot deel prima "universiteit" vervangen door "een degelijke opleiding". Dat maakt je verhaal al gelijk een stuk vriendelijker ;) Ik ben het namelijk absoluut niet eens met je dat je alleen op een universiteit dit soort dingen zou leren. Dat een goede opleiding bijna een vereiste is voor het goed kunnen ontwikkelen ben ik wel met je eens. Tuurlijk zijn er uitzondering van mensen die zonder opleiding de zaken goed op orde hebben, maar dat zijn er helaas niet zoveel. En dan moeten we natuurlijk niet vergeten te melden dat het volgen van een opleiding absoluut geen garantie is voor goede kwaliteit van code ;)
Oftewel: zo zwart-wit is het allemaal niet, maar je lijkt het wel zo te zien.

[ Voor 5% gewijzigd door Creepy op 23-12-2010 14:02 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

NMe schreef op donderdag 23 december 2010 @ 13:56:
offtopic:
Even als achtergrond: ik ben iemand die ondanks een Gymnasium/VWO-achtergrond tóch naar het HBO is gegaan. Niet omdat ik de universiteit niet aan zou kunnen (mijn punten waren goed genoeg) maar omdat ik meer waarde hechtte aan de praktijkervaring die stages bieden dan aan de feitenkennis uit stoffige boeken die je op scholen krijgt. Ik heb er nog nooit spijt van gehad.
offtopic:
De practica/projecten op de TU's kunnen anders redelijk uitdagend zijn hoor. Op het HBO heb je meer begeleiding bij de projecten, op de TU is het meer zoiets als "hier is de theorie, ga het maar in de praktijk proberen".


Persoonlijk denk ik dat zowel een fatsoenlijke opleiding als praktijkervaring van belang is.
In de praktijk kan je prima leren hoe je moet programmeren, maar het ontwerpen van een volledige applicatie en het inschatten waar eventueel problemen zullen komen is iets wat ofwel _veel_ ervaring of wat andere voorkennis vereist.

De meeste kennis die je krijgt op het WO/HBO is niet direct in de praktijk inzetbaar, maar het geeft je wel een heel goed idee van de achterliggende principes. Al zal je dat niet altijd nodig hebben, het is zeker niet zinloos om die kennis toch op te doen. En ook al is zoiets ook prima uit boeken te leren denk ik niet dat er veel mensen zijn die uit hunzelf de achterliggende wiskunde gaan leren. Simpelweg omdat het in de praktijk niet nodig (lijkt) te zijn :)


Mijn conclusie... een WO studie geeft je een mooie basis die op z'n tijd zeer nuttig is. Maar het is zeker geen garantie (of verplichting) voor goede code kwaliteit.

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Topicstarter
NMe schreef op donderdag 23 december 2010 @ 13:56:
Ik kan prima van de besten leren zonder dat ik naar de uni ben gegaan. Er zijn talloze boeken beschikbaar, nog naast het feit dat veel universitaire lesmethoden gewoon online beschikbaar zijn voor het grote publiek. Daarnaast betekent jouw argument nogal een kip-ei-probleem. Hoe heeft de eerste "beste" zich dan in godesnaam alles aangeleerd? Bovendien impliceert jouw argument dat niemand ooit beter kan worden dan zijn leraar, en als dat waar was, dan liep onze kennis als samenleven achteruit in plaats van vooruit.
Je zou best wel bij het begin kunnen beginnen, maar als je alles negeert wat al bedacht is, dan kom je niet verder. Je hoeft niet per se beter te zijn dan je leraar, maar die kwaliteit straalt er wel vaak vanaf. Dat is gewoon een Gauss curve, natuurlijk. Even als heel concreet voorbeeld kun je bijv. Shafi Goldwasser nemen. Kijk maar eens welke beroemde cryptograaf haar heeft begeleid. Ik heb bij goede papers die ik heb gelezen wel eens vaker gekeken waar dat vandaan kwam om de nature-nurture theorie te kunnen testen en elke keer kon je gewoon zien dat er een goede omgeving aanwezig was; je ziet daar geen PHP c0ders.

Je kunt beter worden dan je leraar in een bepaald gebied door je daarin te specialiseren of een speciale interesse te ontwikkelen voor dat bepaalde gebied.

Het ontdekken van nieuwe resultaten is gegeven die achtergrond dan meer een kwestie van geluk, maar de juiste omstandigheden zijn dan in ieder geval gecreëerd.

Als je vanuit 0 moet beginnen ben je dood voordat je de state-of-the-art hebt bijgehaald.

Als jij gewoon simpele werkende systemen wilt maken, dan hoef je niet naar een universiteit te gaan. Wil je echter in de game-industrie aan game-engines werken? Wil je de code voor een kernreactor schrijven? Wil je goede visualisaties maken gebaseerd op heel veel data? Wil je de New York stockexchange werkend houden? In dat geval heb je het wel gewoon nodig.

Zonder universitaire opleiding snap je gewoon niet waar het over gaat. Als je denkt "hoe moeilijk kan het zijn?", probeer dan maar eens een willekeurige paper over topologie te lezen. Ik zou zelfs zeggen dat je met alleen HBO daar enorme moeite mee zult hebben.

  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Je hebt duidelijk het verschil tussen wetenschap en praktijk (nog) niet in de gaten.

Wil je een carriere in de wetenschap, dan heb je inderdaad een universitaire opleiding nodig.
Wil je echter aan de slag in de software industrie en werken aan game-engines, ingewikkelde visualisatie tools etc etc schrijven, is die universiteit echt niet van zo'n groot belang als jij nu schetst.

Het gaat er om hoe goed je bent in het daadwerkelijk ontwerpen en implementeren van software. Dat leer je niet per definitie op een universiteit; op een universiteit leer je onderzoek doen. Het in de praktijk brengen van vaardigheden als programmeren, ontwerpen, problemen op een praktische(dus geen nieuwe methode die alleen in ideale omstandigheden voldoet) wijze oplossen leer je daar niet. Daarvoor moet je aanleg hebben en praktijkervaring.

Uiteraard kan je zonder universitaire opleiding in de problemen komen bij een zwaar theoretisch onderwerp, omdat je misschien de kennis er niet voor hebt om de theorie te kunnen begrijpen. Dit staat echter los van je vaardigheden als programmeur en de kwaliteit van de code.
Een natuurkundig probleem in een computermodel gieten kan bijvoorbeeld bij uitstek geschikt zijn voor een universitair opgeleid persoon, of de code ervan leesbaar en onderhoudbaar is en het model in de praktijk gebruikt kan worden hangt af van de vaardigheden als programmeur.

[ Voor 25% gewijzigd door EddoH op 23-12-2010 14:42 ]


  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Verwijderd schreef op donderdag 23 december 2010 @ 14:27:Zonder universitaire opleiding snap je gewoon niet waar het over gaat.
}:O

Nogmaals, een universitaire opleiding is een prima start, het is echter niet de heilige graal. Wanneer jij stelt dat iemand zonder universitaire opleiding het niet snapt, prima, maar dat zegt meer over jouw gebreken dan over de personen waar jij het over hebt.

"universitaire opleiding" is overigens ook erg ruim, er zijn vele tienduizenden universiteiten van een beroerd laag niveau. Dus waarom je daar nu zo'n hoge waarde aan toekent, het is mij een raadsel. Toon gewoon eens wat meer respect voor het goede werk van anderen, dat maakt het allemaal een stuk vriendelijker dan domweg van je af schoppen.

Verwijderd

Topicstarter
Creepy schreef op donderdag 23 december 2010 @ 14:01:
gang-ster: je kan voor een groot deel prima "universiteit" vervangen door "een degelijke opleiding". Dat maakt je verhaal al gelijk een stuk vriendelijker ;) Ik ben het namelijk absoluut niet eens met je dat je alleen op een universiteit dit soort dingen zou leren. Dat een goede opleiding bijna een vereiste is voor het goed kunnen ontwikkelen ben ik wel met je eens. Tuurlijk zijn er uitzondering van mensen die zonder opleiding de zaken goed op orde hebben, maar dat zijn er helaas niet zoveel. En dan moeten we natuurlijk niet vergeten te melden dat het volgen van een opleiding absoluut geen garantie is voor goede kwaliteit van code ;)
Oftewel: zo zwart-wit is het allemaal niet, maar je lijkt het wel zo te zien.
Ik zie niets zwart-wit, maar P(goede programmeur/heeft er iets van begrepen| universiteit) > P(goede programmeur/heeft er iets van begrepen | HBO). Als dit niet zo zou zijn, dan zouden universiteiten hun accredidatie verliezen.

Die formule is wat mij betreft het enige dat telt. Als ik een nieuwe game-engine programmeur zoek en ik heb 20 personen die een universitaire achtergrond hebben met wat computationale geometrie (met een mooi cijfer) dan weet ik wat zo ongeveer het niveau is van zo'n persoon. Een HBO'er die zijn eigen game-engine geschreven heeft, zou wel in aanmerking kunnen komen, maar het moet overduidelijk zijn dat hij vergelijkbare opdrachten heeft gedaan als de universitaire studenten, maar met 20 universitaire studenten gaat hij het waarschijnlijk niet redden.

  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Sorry maar ik denk dat de meeste werkgevers de HBO-er die een game-engine(mits van redelijke kwaliteit) heeft geschreven in dienst nemen dan een WO-er met papiertje computationele geometrie...

Je kan geen game engine schrijven zonder dat je weet waar je mee bezig bent. En al die theorie is voor de gemiddelde HBO-er met aanleg prima zelf te leren.

Je vergeet dat er veel VWO-ers zijn die HBO kiezen. Denk je dat dit komt doordat ze niet intelligent genoeg voor WO zijn, of dat ze liever op een meer praktische manier bezig zijn met hun kwaliteiten?

[ Voor 48% gewijzigd door EddoH op 23-12-2010 14:53 ]


Verwijderd

Topicstarter
EddoH schreef op donderdag 23 december 2010 @ 14:37:
Uiteraard kan je zonder universitaire opleiding in de problemen komen bij een zwaar theoretisch onderwerp, omdat je misschien de kennis er niet voor hebt om de theorie te kunnen begrijpen. Dit staat echter los van je vaardigheden als programmeur en de kwaliteit van de code.
Een programmeur is niet iemand die bijv. alleen om de beperkte mogelijkheden van een platform kan heenwerken; ik ben het niet eens met wat jouw idee is van een programmeur.

Het kan zijn dat de andere mensen in deze thread een programmeur als een code klopper zien, maar zo zie ik dat niet.

Op een universiteit leer je niet de quirks van bepaalde tools (en dat is ook goed), maar relevante kennis m.b.t. programmeren leer je er wel. Dingen als "hoe bewijs je dat een stuk code doet wat het moet doen?", "hoe bewijs je dat iets een bepaalde complexiteit heeft?", "hoe werkt een computer eigenlijk op alle niveaus?". Dit zijn meer de basisvakken, maar ze worden wel op een andere manier onderwezen dan op het HBO en door kwalitatief betere mensen (anders zouden die mensen wel op een universiteit lesgeven).

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:55

Creepy

Tactical Espionage Splatterer

EddoH: ik weet zeker dat dat zo is. (heb wat bekenden in de gamewereld). Ik kan zelf de opmerkingen van gang-ster ook niet serieus nemen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Verwijderd schreef op donderdag 23 december 2010 @ 14:51:
[...]

Een programmeur is niet iemand die bijv. alleen om de beperkte mogelijkheden van een platform kan heenwerken; ik ben het niet eens met wat jouw idee is van een programmeur.
Ik denk niet dat je helemaal snapt wat mijn idee is van een programmeur. Algortimische complexiteit, low level werking van een computer, onafhankelijk van een bepaalde taal en/of toolset behoort natuurlijk allemaal tot de de competenties van een programmeur. Als iemand die vaardigheden niet bezit, kan hij geen goede programmeur zijn.

  • Cloud
  • Registratie: November 2001
  • Laatst online: 03-11 10:25

Cloud

FP ProMod

Ex-moderatie mobster

Op zich heb je een punt hoor, maar ik denk dat je nog steeds geheel voorbij gaat aan deze alinea:
EddoH schreef op donderdag 23 december 2010 @ 14:37:
[...]

Het gaat er om hoe goed je bent in het daadwerkelijk ontwerpen en implementeren van software. Dat leer je niet per definitie op een universiteit; op een universiteit leer je onderzoek doen. Het in de praktijk brengen van vaardigheden als programmeren, ontwerpen, problemen op een praktische(dus geen nieuwe methode die alleen in ideale omstandigheden voldoet) wijze oplossen leer je daar niet. Daarvoor moet je aanleg hebben en praktijkervaring.

[...]
En als ik dan dit lees:
Verwijderd schreef op donderdag 23 december 2010 @ 14:51:
[...]

Op een universiteit leer je niet de quirks van bepaalde tools (en dat is ook goed), maar relevante kennis m.b.t. programmeren leer je er wel. Dingen als "hoe bewijs je dat een stuk code doet wat het moet doen?", "hoe bewijs je dat iets een bepaalde complexiteit heeft?", "hoe werkt een computer eigenlijk op alle nivo's?". Dit zijn meer de basisvakken, maar ze worden wel op een andere manier onderwezen dan op het HBO en door kwalitatief betere mensen (anders zouden die mensen wel op een universiteit lesgeven).
Dan zie ik daar inderdaad drie dingen die verschrikkelijk veel behandeld worden op het WO en eigenlijk ook alleen maar toepasbaar zijn binnen het WO danwel onderzoek. In het bedrijfsleven zul je er (behalve bij echt kritische applicaties of applicatie waar levens vanaf hangen) eigenlijk nooit tegenaan lopen. :)

[kort-door-de-bocht]
Dan kun je nog zo mooi wiskundig bewijzen dat stukken code doen wat ze moeten doen, je werkgever heeft véél liever dat je méér code maakt die onderhoudbaar, schaalbaar is en na unit-testing blijkt te werken, etc.
[/kort-door-de-bocht]

Kortom, verschil theoretische WO en de praktijk waar de meesten in terecht komen.

offtopic:
Ik ben overigens net als NMe een van de mensen die met VWO ook HBO is gaan doen op basis van de gebruikte leermethoden. Al heb ik het nog wel een half jaar aangekeken op de uni.

[ Voor 4% gewijzigd door Cloud op 23-12-2010 15:07 ]

Never attribute to malice that which can be adequately explained by stupidity. - Robert J. Hanlon
60% of the time, it works all the time. - Brian Fantana


Verwijderd

Verwijderd schreef op donderdag 23 december 2010 @ 14:51:
[...]

Een programmeur is niet iemand die bijv. alleen om de beperkte mogelijkheden van een platform kan heenwerken; ik ben het niet eens met wat jouw idee is van een programmeur.

Het kan zijn dat de andere mensen in deze thread een programmeur als een code klopper zien, maar zo zie ik dat niet.

Op een universiteit leer je niet de quirks van bepaalde tools (en dat is ook goed), maar relevante kennis m.b.t. programmeren leer je er wel. Dingen als "hoe bewijs je dat een stuk code doet wat het moet doen?", "hoe bewijs je dat iets een bepaalde complexiteit heeft?", "hoe werkt een computer eigenlijk op alle nivo's?". Dit zijn meer de basisvakken, maar ze worden wel op een andere manier onderwezen dan op het HBO en door kwalitatief betere mensen (anders zouden die mensen wel op een universiteit lesgeven).
Ik heb op een uni gewerkt; De leraren daar zijn niet per definitie van een betere kwaliteit. Ze hebben per definitie op een betere baan gesolliciteerd en zijn ook nog aangenomen. En het manier van onderwijs op de uni en HBO is tegenwoordig vrijwel hetzelfde, vooral ze zoveel mogelijk beroepen willen bereiken op de uni, iets wat men op het HBO wel doet.

[ Voor 3% gewijzigd door Verwijderd op 23-12-2010 15:07 ]


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Verwijderd schreef op donderdag 23 december 2010 @ 14:43:
Die formule is wat mij betreft het enige dat telt. Als ik een nieuwe game-engine programmeur zoek en ik heb 20 personen die een universitaire achtergrond hebben met wat computationale geometrie (met een mooi cijfer) dan weet ik wat zo ongeveer het nivo is van zo'n persoon. Een HBO'er die zijn eigen game-engine geschreven heeft, zou wel in aanmerking kunnen komen, maar het moet overduidelijk zijn dat hij vergelijkbare opdrachten heeft gedaan als de universitaire studenten, maar met 20 universitaire studenten gaat hij het waarschijnlijk niet redden.
Behalve dat je argumenten kant nog wal raken getuigt dit ook nog eens van een enorme onkunde over de games-industrie.

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 21:22

RayNbow

Kirika <3

Verwijderd schreef op donderdag 23 december 2010 @ 14:43:
[...]

Ik zie niets zwart-wit, maar E(P(goede programmeur/heeft er iets van begrepen| universiteit)) > E(P(goede programmeur/heeft er iets van begrepen | HBO)). Als dit niet zo zou zijn, dan zouden universiteiten hun accredidatie verliezen.

Die formule is wat mij betreft het enige dat telt.
Die notatie is volgens mij niet correct. ;)

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • Morax
  • Registratie: Mei 2002
  • Laatst online: 10:30
Ik ben van mening dat er meerdere factoren zijn die iemand 'goed' maken, waaronder:
• Talent
• Inzet/Motivatie
• Opleiding
• Ervaring

Geen van deze is een heilige graal die altijd leidt tot een 'goede' programmeur. Iemand met veel talent, motivatie en de nodige jaren ervaring kan net zo goed zijn als iemand met veel inzet/motivatie en een goede opleiding.

Feit blijft wel dat de echte top-notch programmeurs vaak een combinatie van alle factoren hebben :)

Ik vind het in ieder geval erg kort door de bocht om maar te zeggen dat elke programmeur zonder universitaire opleiding niet goed is.

(Ben zelf een PHP-programmeur, die op de middelbare is begonnen is met HTML en later PHP, en daarna na HAVO een HBO informaticaopleiding heeft gedaan)

[ Voor 23% gewijzigd door Morax op 23-12-2010 15:18 ]

What do you mean I have no life? I am a gamer, I got millions!


Verwijderd

RayNbow schreef op donderdag 23 december 2010 @ 15:12:
[...]

Die notatie is volgens mij niet correct. ;)
Dat denk ik inderdaad ook ;)

[ Voor 75% gewijzigd door Verwijderd op 23-12-2010 15:16 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Verwijderd schreef op donderdag 23 december 2010 @ 14:43:
[...]

Ik zie niets zwart-wit, maar E(P(goede programmeur/heeft er iets van begrepen| universiteit)) > E(P(goede programmeur/heeft er iets van begrepen | HBO)). Als dit niet zo zou zijn, dan zouden universiteiten hun accredidatie verliezen.
Je lijkt niet bepaald geremd door enige praktijkervaring op dat gebied.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Stephan224
  • Registratie: Maart 2002
  • Laatst online: 31-10-2022
Morax schreef op donderdag 23 december 2010 @ 15:16:
Ik ben van mening dat er meerdere factoren zijn die iemand 'goed' maken, waaronder:
• Talent
• Inzet/Motivatie
• Opleiding
• Ervaring

Geen van deze is een heilige graal die altijd leidt tot een 'goede' programmeur. Iemand met veel talent, motivatie en de nodige jaren ervaring kan net zo goed zijn als iemand met veel inzet/motivatie en een goede opleiding.

Feit blijft wel dat de echte top-notch programmeurs vaak een combinatie van alle factoren hebben :)

Ik vind het in ieder geval erg kort door de bocht om maar te zeggen dat elke programmeur zonder universitaire opleiding niet goed is.

(Ben zelf een PHP-programmeur, die op de middelbare is begonnen is met HTML en later PHP, en daarna na HAVO een HBO informaticaopleiding heeft gedaan)
Goed gezegd! Ik heb mezelf allerlei talen aangeleerd en ik heb totaal geen ICT gerelateerde opleiding genoten.

Ik ben inmiddels all-round medior software ontwikkelaar.

Talent zal het zwaarste wegen mbt de kwaliteit van de opgeleverde code.

Software Developer, checkout my bitcoin software at my website www.haasonline.com (Trade Bots and more...)


Verwijderd

In een psychologie vakje hoorde ik ooit de theorie dat het IQ (dat op zich een vrij discutabel instrument is, maar dat daargelaten) van iemand -gemiddeld genomen- óf geleidelijk toeneemt óf geleidelijk afneemt na puberteit. Dit heeft vooral te maken met de uitdagingen die iemand krijgt in zijn dagelijkse bezigheden, met name op het werk. Beschouw de hersenen als een spier die training nodig hebben om hun taken goed te blijven doen. Iemand die zijn hele leven lang maar nieuwe talen blijft leren zal dit op oudere leeftijd nog altijd redelijk kunnen, terwijl iedereen boven de 50 daar normaal veel moeite mee heeft.

Dat gezegd hebbende; iemand die in staat is een hogere opleiding te volgen zou -in principe- beter in staat moeten zijn nieuwe dingen op te pikken en te onthouden. Dit moet wel onderhouden worden. Bereid zijn te leren en buiten het bedrijf/vakgebied te kijken. Doe je 10 jaar hetzelfde dan zijn de gevolgen voorspelbaar.

Stel jezelf altijd de vraag waar waarde wordt geschapen. Er zijn zoveel factoren die wij vaak erg beperkt bewust afwegen, het komt vooral neer op een onderbuikgeboel welke aspecten het meest van belang zijn op een gegeven moment. Dat is gelijk ook het mooie aan de mens, hoewel we bijzonder slecht zijn in (met name textuele) informatieverwerking weten we wel te constateren wat het meeste relevant is in een bepaalde context. Ik geloof dat in AI dit nog altijd één van de grootste problemen is om na te bootsen. Een computer kan beter rekenen, informatieverwerken en op sommige vlakken beter leren dan mensen maar kan maar moeilijk relevantie bepalen van zowel fysieke als conceptuele begrippen (simpelweg omdat het er onmetelijk veel zijn). Neem het bekende voetbalspel met robots; we kunnen hier heel ver in komen maar alleen omdat de omgeving beperkt is.

Een wat relevanter voorbeeld voorbeeld; zet de kwaliteitsfactoren onder elkaar voor een project en schaal ze van 1-5. Stuur dit vervolgens op naar de klant ter goedkeuring. Het gemiddelde van deze matrix komt bijna altijd uit tussen de 3-4, ofwel we beloven meer dan gemiddeld (3). Als je er vanuit gaat dat er een normale verdeling van kwaliteit is -een ongebaseerde aanname- betekend dit dat je altijd meer belooft dat je kan waarmaken. Of je neemt deze extra kwaliteit voor eigen rekening (stressen met overwerk of zet je beste en meest waardevolle mensen in), en/of ze komen op de rekening van de klant (in tijd en geld), en/of je levert een product af dat niet aan de beloofde kwaliteit voldoet. Wees realistisch over wat je kan bereiken met de geboden middelen en wees bewust over de kwaliteitsfocus. En erg belangrijk, communiceer dit naar de klant. Liever een ontevreden klant aan het begin van het traject en een tevreden aan het eind, dan andersom. In de praktijk is dit lastig omdat je niet het gevaar wil lopen de klant in een vroeg stadium te verliezen. Goede communicatie en een ontwikkelingsvisie overleggen is erg belangrijk.

We lopen vaak op >100% om het project binnen het slepen en betalen dit terug als we het eenmaal hebben. Een hoog tempo houd je nu eenmaal niet vol.

Slechte kwaliteit zal er altijd zijn, als dit maar rechtgezet word in goede kwaliteit op de punten waar de klant het meest aan heeft. Zo heb ik zelf ooit de fout begaan door een mooi geschreven prototype af te leveren -simpelweg omdat ik zo gewend was te werken- terwijl het toch weggegooid werd aan het begin van het project. Het draait erom dat zowel jij als de klant leert wat de bedoeling is, als één van beide hierin achterop raakt ontstaat frictie en waardeverlies. Als je denkt dat dit aan het begin van het project al helemaal duidelijk is -wat bewust of onbewust bij élk project gebeurd- zit je eveneens fout.
Ook met schermontwerpen en uml diagrammen zie je dat deze vaak erg gedetailleerd zijn waardoor je alleen maar afgeleid wordt van de belangrijke vraagstukken.

Zoals eigenlijk de leidraad van mijn eerdere geraas; ik zoek kwaliteit eerder in het proces -o.a. hoe je iedereen inzet en communicatie- dan in de mensen die de regels tikken. We mogen er niet van uit gaan dat je bedrijf betere software maakt dan de concurrent, alleen dat je die software geschikter kan maken voor de klant. Een mooi technisch hoogstandje kan je een concurrentievoordeel geven maar het zal altijd een race blijven, de concurrent leert toch wel. Zonder enige middelen kun je heel snel iets opzetten in de IT, zie hoe alle grote internetreuzen ontstaan zijn.

Je kan beter je eigen business opeten dan wachten totdat de concurrent dat doet.

[ Voor 3% gewijzigd door Verwijderd op 23-12-2010 15:43 ]


Verwijderd

Topicstarter
EddoH schreef op donderdag 23 december 2010 @ 14:58:
[...]


Ik denk niet dat je helemaal snapt wat mijn idee is van een programmeur. Algortimische complexiteit, low level werking van een computer, onafhankelijk van een bepaalde taal en/of toolset behoort natuurlijk allemaal tot de de competenties van een programmeur. Als iemand die vaardigheden niet bezit, kan hij geen goede programmeur zijn.
Ik reageerde op het gedeelte dat je nu hebt verwijderd. Dus...

Verwijderd

Topicstarter
Onzin

[ Voor 97% gewijzigd door Verwijderd op 23-12-2010 16:42 ]


Verwijderd

Topicstarter
Onzin

[ Voor 97% gewijzigd door Verwijderd op 23-12-2010 16:42 ]


  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Verwijderd schreef op donderdag 23 december 2010 @ 16:22:
[...]

Ik reageerde op het gedeelte dat je nu hebt verwijderd. Dus...
Ik heb geen enkel deel in mijn posts verwijderd :? , alleen aangevuld met extra text.

Verwijderd

Topicstarter
Morax schreef op donderdag 23 december 2010 @ 15:16:
Ik ben van mening dat er meerdere factoren zijn die iemand 'goed' maken, waaronder:
• Talent
• Inzet/Motivatie
• Opleiding
• Ervaring

Geen van deze is een heilige graal die altijd leidt tot een 'goede' programmeur. Iemand met veel talent, motivatie en de nodige jaren ervaring kan net zo goed zijn als iemand met veel inzet/motivatie en een goede opleiding.

Feit blijft wel dat de echte top-notch programmeurs vaak een combinatie van alle factoren hebben :)

Ik vind het in ieder geval erg kort door de bocht om maar te zeggen dat elke programmeur zonder universitaire opleiding niet goed is.

(Ben zelf een PHP-programmeur, die op de middelbare is begonnen is met HTML en later PHP, en daarna na HAVO een HBO informaticaopleiding heeft gedaan)
Ik heb dat niet zo kort door de bocht gezegd. Verder ben ik het met je eens.

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Grappig dat in dit topic al veel mensen tonen weinig kaas van logica gegeten te hebben. gang-ster beweert dat hij nooit goede code heeft gezien van iemand die geen universitaire opleiding heeft gedaan, en vervolgens komt er een hele lading aan postings waarin beweerd wordt dat óók universitair opgeleiden slechte code kunnen schrijven. Dat is ongetwijfeld zo, maar dat werd door gang-ster ook helemaal niet betwist. Hij impliceerde zelfs niet eens dat universitair opgeleiden vaak goede code schrijven :)

Code schrijven is waarschijnlijk net als autorijden; 90% van de programmeurs denkt dat ze bij de betere helft horen :P

[ Voor 10% gewijzigd door eamelink op 23-12-2010 16:43 ]


  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
eamelink schreef op donderdag 23 december 2010 @ 16:42:
Grappig dat in dit topic al veel mensen tonen weinig kaas van logica gegeten te hebben. gang-ster beweert dat hij nooit goede code heeft gezien van iemand die geen universitaire opleiding heeft gedaan, en vervolgens komt er een hele lading aan postings waarin beweerd wordt dat óók universitair opgeleiden slechte code kunnen schrijven. Dat is ongetwijfeld zo, maar dat werd door gang-ster ook helemaal niet betwist. Hij impliceerde zelfs niet eens dat universitair opgeleiden vaak goede code schrijven :)
Misschien niet, maar hij beweert wel dat het amateurs zijn en dat ze niet snappen waar het over gaat:
Verwijderd schreef op donderdag 23 december 2010 @ 14:27:Zonder universitaire opleiding snap je gewoon niet waar het over gaat.
en
[message=,noline]gang-ster schreef op donderdag 23 december 2010 @ 13:33:[/message]:
Als je als wiskundige niet zelf teksten van de besten leest en je op je universiteit geen les krijgt van de besten wordt je niet meer dan een amateur.
Dit soort uitspraken hebben alleen maar tot doel om mensen belachelijk te maken en niet meer dan dat. Leuk dat je de troll wilt verdedigen, maar wat wil je er mee bereiken?

Verwijderd

Topicstarter
cariolive23 schreef op donderdag 23 december 2010 @ 17:02:
Misschien niet, maar hij beweert wel dat het amateurs zijn en dat ze niet snappen waar het over gaat:
Het kan toch zo zijn dat het een bepaalde toewijding vereist om tot een bepaald nivo te komen? Timmermannen hebben precies hetzelfde. Je hebt mensen die een spijker in een plank kunnen slaan, maar je hebt ook vakmannen.
Dit soort uitspraken hebben alleen maar tot doel om mensen belachelijk te maken en niet meer dan dat. Leuk dat je de troll wilt verdedigen, maar wat wil je er mee bereiken?
Het spijt me, maar dan heb je ook een probleem met Carl Friedrich Gauss.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Verwijderd schreef op donderdag 23 december 2010 @ 18:56:
[...]

Het kan toch zo zijn dat het een bepaalde toewijding vereist om tot een bepaald nivo te komen? Timmermannen hebben precies hetzelfde. Je hebt mensen die een spijker in een plank kunnen slaan, maar je hebt ook vakmannen.
Gek genoeg is een opleiding juist bij timmermannen niet wat ze tot vakman maakt, maar de ervaring. Een programmeur kan ook niet zonder ervaring. En ik durf te zeggen dat de opleiding leuk is bij het vormen van iemand maar dat het absoluut niet de enige manier is om iemand te vormen. Iemand met goede discipline kan ook zonder opleiding een goede programmeur worden. En het verschil tussen iemand die van HBO of WO af komt is zelfs nog kleiner. Op HBO zitten voor een deel zelfs dezelfde docenten die ook les geven op WO. :z
Het spijt me, maar dan heb je ook een probleem met Carl Friedrich Gauss.
Want die generaliseerde ook door 90% van het vakgebied af te doen als "amateurs" enkel op basis van het feit dat ze nooit naar de universiteit gegaan zijn? Waar komt jouw wereldbeeld vandaan? :?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Verwijderd schreef op donderdag 23 december 2010 @ 18:56:
[...]

Het spijt me, maar dan heb je ook een probleem met Carl Friedrich Gauss.
Die goede man is al lang dood, daar kan ik dus geen problemen mee hebben. Dat hij tijdens zijn leven wellicht een onmogelijk mens was om mee samen te werken, dat zou best kunnen maar heeft niets met mij of mijn mening te maken.

Een goede opleiding is een goed startpunt van je carriere, het is (hopelijk) geen eindstation. Het startpunt zegt ook niets over dit eindstation. Einstein was ook een waardeloze student.

Verwijderd

Topicstarter
NMe schreef op donderdag 23 december 2010 @ 19:29:
Gek genoeg is een opleiding juist bij timmermannen niet wat ze tot vakman maakt, maar de ervaring. Een programmeur kan ook niet zonder ervaring. En ik durf te zeggen dat de opleiding leuk is bij het vormen van iemand maar dat het absoluut niet de enige manier is om iemand te vormen. Iemand met goede discipline kan ook zonder opleiding een goede programmeur worden. En het verschil tussen iemand die van HBO of WO af komt is zelfs nog kleiner. Op HBO zitten voor een deel zelfs dezelfde docenten die ook les geven op WO. :z
Ik heb nooit gezegd dat ervaring niet ook belangrijk is. Mijn docenten (althans diegene die het waard waren om naar te luisteren) hebben niet op het HBO lesgegeven, overigens.
Want die generaliseerde ook door 90% van het vakgebied af te doen als "amateurs" enkel op basis van het feit dat ze nooit naar de universiteit gegaan zijn? Waar komt jouw wereldbeeld vandaan? :?
We hebben het hier over kwaliteit. Het percentage mensen dat dit nivo bereikt is 1% of nog minder van de mensen die aan een universitaire studie beginnen. Dus het percentage in de gehele populatie programmeurs ligt nog veel lager.

Gauss stak gewoon boven de rest uit en had deze kwaliteit. Ik denk dat het gewoon Nederlandse cultuur is waarom je dit niet kunt zeggen zonder een aantal mensen tegen het hoofd te stoten.

Ik snap overigens niet waarom je jouw ervaring impliciet presenteert als zijnde een "correct" wereldbeeld en bovendien is dit weer op de man spelen (en dat ga je overigens toch niet "winnen"). Als je een goede moderator zou zijn dan weet je wat je moet doen :+

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Verzand nou zelfs een topic als dit (deze?) in een discussie of WO/HBO nuttig is? Natuurlijk is dat nuttig. Zowel met als zonder kan je "programmeur" worden, maar het WO papiertje is wel verdomd handig. Ik durf zelfs te beweren dat er een sterke positieve correlatie is tussen het hebben van een WO/HBO papiertje en de kwaliteit van de programmeur. Uiteraard heb je aan beide kanten uitschieters. Ik snap niet dat daar altijd zo'n discussie voor nodig is. Het lijkt wel of alle discussie tegenwoordig -- ook in de politiek etc -- over die 1% gaat in plaats van die andere 99%.

[ Voor 11% gewijzigd door Zoijar op 23-12-2010 20:14 ]


  • Cloud
  • Registratie: November 2001
  • Laatst online: 03-11 10:25

Cloud

FP ProMod

Ex-moderatie mobster

Verwijderd schreef op donderdag 23 december 2010 @ 20:04:
[...]

We hebben het hier over kwaliteit. Het percentage mensen dat dit nivo bereikt is 1% of nog minder van de mensen die aan een universitaire studie beginnen. Dus het percentage in de gehele populatie programmeurs ligt nog veel lager.
Wat bedoel je met 'dit niveau'? Is dat het niet-amateur niveau waar je steeds over praat? :?

Of heb je het nu ineens over grondleggers van de informatica, de mensen die echt veranderingen in het veld aanbrengen (onderzoekers)? Dat zal vast maar <1% van alle mensen zijn die aan de studie op WO-niveau beginnen. Dat geloof ik graag en zullen weinig mensen betwisten. Maar dat is niet de stelling waarop iedereen hier reageert.
Gauss stak gewoon boven de rest uit en had deze kwaliteit. Ik denk dat het gewoon Nederlandse cultuur is waarom je dit niet kunt zeggen zonder een aantal mensen tegen het hoofd te stoten.
Ik denk dat als jij naar een willekeurig ander land stapt en daar gaat lopen verkondigen dat iedereen die geen WO-studie afgerond heeft een amateur is, je dat ook niet in dank afgenomen zal worden hoor. Nederlanders zijn misschien wel een trots volk, maar dat heeft hier geen fluit mee te maken ;)
Ik snap overigens niet waarom je jouw ervaring impliciet presenteert als zijnde een "correct" wereldbeeld [...]
Oh ook ik wil wel zover gaan als stellen dat het wereldbeeld waarin de niet-universitair opgeleide mensen geen amateurs genoemd worden, een beter wereldbeeld is hoor. Je bent werkelijk de eerste persoon die ik dat heb zien zeggen namelijk. En ik ben wel meer WO > * mensen tegengekomen.

Never attribute to malice that which can be adequately explained by stupidity. - Robert J. Hanlon
60% of the time, it works all the time. - Brian Fantana


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Verwijderd schreef op donderdag 23 december 2010 @ 20:04:
[...]

Ik heb nooit gezegd dat ervaring niet ook belangrijk is. Mijn docenten (althans diegene die het waard waren om naar te luisteren) hebben niet op het HBO lesgegeven, overigens.
Ik heb op het HBO mensen gehoord die beter aan te horen waren dan mensen die ook op het WO les gaven. En de beste lessen kreeg je nog altijd van mensen die ook in het bedrijfsleven succesvol waren en niet van die mensen die puur en alleen theoretische kennis hadden.
We hebben het hier over kwaliteit. Het percentage mensen dat dit nivo bereikt is 1% of nog minder van de mensen die aan een universitaire studie beginnen. Dus het percentage in de gehele populatie programmeurs ligt nog veel lager.
Noem geen cijfers als je ze niet kunt onderbouwen. ;)
Gauss stak gewoon boven de rest uit en had deze kwaliteit. Ik denk dat het gewoon Nederlandse cultuur is waarom je dit niet kunt zeggen zonder een aantal mensen tegen het hoofd te stoten.
Nee, het is gezond verstand. Succesvol zijn in je vak is niet enkel en alleen afhankelijk van je startpunt. Het klinkt cliché maar het is de manier waarop je naar het eindpunt gaat. Ik garandeer je dat iemand die naar de universiteit gaat en alleen doet wat nodig is om zijn studie te halen later veel slechter presteert dan iemand die überhaupt geen studie heeft gedaan maar in zijn vrije tijd wel continu dingen aan het bijleren is.
Ik snap overigens niet waarom je jouw ervaring impliciet presenteert als zijnde een "correct" wereldbeeld en bovendien is dit weer op de man spelen (en dat ga je overigens toch niet "winnen"). Als je een goede moderator zou zijn dan weet je wat je moet doen :+
Ik speel niet op de man, ik vind het gewoon absurd dat je het overgrote deel van de beroepsbevolking in mijn bedrijfstak als incompetent afstempelt alleen omdat ze die vier jaartjes universiteit niet gehad hebben. Dat is werkelijk waar te idioot voor woorden, er is veel meer dat iemand vormt. Sowieso word je als programmeur niet succesvol als je de competenties van andere mensen in je team niet kan inschatten en op hun waarde beoordelen. En als jij hier al op deze manier mensen die je niet kent diskwalificeert dan baseer ik daar inderdaad op dat je dus een vertekend wereldbeeld hebt waarmee je alleen maar mensen voor het hoofd gaat stoten. Superioriteitscomplexen worden over het algemeen heel slecht gewaardeerd.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
NMe schreef op donderdag 23 december 2010 @ 13:56:
offtopic:
Even als achtergrond: ik ben iemand die ondanks een Gymnasium/VWO-achtergrond tóch naar het HBO is gegaan. Niet omdat ik de universiteit niet aan zou kunnen (mijn punten waren goed genoeg) maar omdat ik meer waarde hechtte aan de praktijkervaring die stages bieden dan aan de feitenkennis uit stoffige boeken die je op scholen krijgt. Ik heb er nog nooit spijt van gehad.
Jalours kijk ik naar die wijze beslissing, ik zou en moest naar de Uni en ik zit daar nu een beetje van ... hmm ok...?

~ Mijn prog blog!


  • paknaald
  • Registratie: Juni 2001
  • Laatst online: 23-11 15:09
Gang-ster houdt de discussie in ieder geval wel levendig!
We hebben het hier over kwaliteit. Het percentage mensen dat dit nivo bereikt is 1% of nog minder van de mensen die aan een universitaire studie beginnen. Dus het percentage in de gehele populatie programmeurs ligt nog veel lager.
Kijk, als je kwaliteit definieert als iemand die iets oplevert in een soort abstracte, wiskundige wijze, dan denk ik dat je aardig scherp ziet dat mensen zonder scherpe betastudie aan de uni niet jouw soort kwaliteit leveren. Maar omgekeerd, ik werk in zo'n tak van sport en veel wiskundigen hebben ook maar weinig kaas gegeten van programmeren. Ik als simpele ziel met wat meer gevoel voor programmeren is erg praktisch in zo'n omgeving.

Ik zou kwaliteit toch definieren aan de hand van mooie producten, mooie code en slimme oplossingen voor problemen waar je al een poosje tegenaan hikt. Vandaar ook dat ik docenten die ook succesvol zijn in het bedrijfsleven waarder boven die die de labda-calculus weer een stapje verder brengen (alhoewel ik functioneel programmeren erg leuk vind :) ). Onderzoek naar grondslagen van programmeren - zeker belangrijk en zeker intellectueel uitdagend, maar wel een erg hoog PhD-gehalte met toegevoegde waarde in brede economische zin over 20 jaar.

En dan schrijf je in een van je eerdere posts dat het online houden van de NYSE jouw type 'kwaliteit' vereist. Tsja, lol, ik zie in mijn werk wel wat miljarden vliegen op basis van VBA-'code'. Ik ben de eerste die mooie intellectuele shit waardeert, maar de wereld draait gewoon op creatief broddelwerk.

Verwijderd

Topicstarter
paknaald schreef op donderdag 23 december 2010 @ 21:28:
En dan schrijf je in een van je eerdere posts dat het online houden van de NYSE jouw type 'kwaliteit' vereist. Tsja, lol, ik zie in mijn werk wel wat miljarden vliegen op basis van VBA-'code'. Ik ben de eerste die mooie intellectuele shit waardeert, maar de wereld draait gewoon op creatief broddelwerk.
Tja, en overal op de wereld zitten banken te springen om van die legacy code af te komen. Overal willen mensen de latency verlagen, etc. Dat draait echt niet op VBA-'code'. Er zijn wel trading-systemen die met Excel aanelkaar hangen, maar de volgende generatie trading-systemen zullen dat in ieder geval niet meer doen, omdat ze simpelweg te langzaam zijn. Custom FPGAs zijn nu al in gebruik en zijn zeker de toekomst.

Verwijderd

Topicstarter
NMe schreef op donderdag 23 december 2010 @ 20:48:
Ik heb op het HBO mensen gehoord die beter aan te horen waren dan mensen die ook op het WO les gaven. En de beste lessen kreeg je nog altijd van mensen die ook in het bedrijfsleven succesvol waren en niet van die mensen die puur en alleen theoretische kennis hadden.
Ik heb niets gezegd over de andere activiteiten van de docenten waarover ik het had. Je lijkt te lijden aan de closed-world assumption.
Noem geen cijfers als je ze niet kunt onderbouwen. ;)
Kansen zijn theoretische constructies. Dit is een extrapolatie van wat ik heb gezien vanuit een groot aantal bronnen. Jij kunt een andere omgeving hebben gezien.
Nee, het is gezond verstand. Succesvol zijn in je vak is niet enkel en alleen afhankelijk van je startpunt. Het klinkt cliché maar het is de manier waarop je naar het eindpunt gaat. Ik garandeer je dat iemand die naar de universiteit gaat en alleen doet wat nodig is om zijn studie te halen later veel slechter presteert dan iemand die überhaupt geen studie heeft gedaan maar in zijn vrije tijd wel continu dingen aan het bijleren is.
Ik heb al eerder aangegeven dat je meer moet doen dan alleen naar de universiteit gaan. Ik ben blij dat je het me eens bent.
Ik speel niet op de man, ik vind het gewoon absurd dat je het overgrote deel van de beroepsbevolking in mijn bedrijfstak als incompetent afstempelt alleen omdat ze die vier jaartjes universiteit niet gehad hebben.
Het is een vijfjarige opleiding in Nederland
Dat is werkelijk waar te idioot voor woorden, er is veel meer dat iemand vormt. Sowieso word je als programmeur niet succesvol als je de competenties van andere mensen in je team niet kan inschatten en op hun waarde beoordelen. En als jij hier al op deze manier mensen die je niet kent diskwalificeert dan baseer ik daar inderdaad op dat je dus een vertekend wereldbeeld hebt waarmee je alleen maar mensen voor het hoofd gaat stoten. Superioriteitscomplexen worden over het algemeen heel slecht gewaardeerd.
Het is mijn mening en je haalt er allerlei compleet irrelevante dingen weer bij. Ik zou zeggen leer eens focussen en probeer alleen de informatie te lezen die er staat.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
Verwijderd schreef op donderdag 23 december 2010 @ 21:57:
[...]

Tja, en overal op de wereld zitten banken te springen om van die legacy code af te komen. Overal willen mensen de latency verlagen, etc. Dat draait echt niet op VBA-'code'. Er zijn wel trading-systemen die met Excel aanelkaar hangen, maar de volgende generatie trading-systemen zullen dat in ieder geval niet meer doen, omdat ze simpelweg te langzaam zijn. Custom FPGAs zijn nu al in gebruik en zijn zeker de toekomst.
dus wat doen die banken. (in opties)

optie 1. Ze huren dure mensen in die heel goed zijn in de 'oude taal', en blijven oude rotzooi onderhouden op refurbished machines en mega licenties (leveranciers willen ook geen oude meuk supporten, dus wordt het duur)

optie 2. Ze huren een bedrijf in dat zegt 'de oplossing' te hebben, en die bouwen vervolgens met andere ouderwetse en rotte code een schil over je huidige product, zodat alles er mooier en beter uit ziet, en verkopen dit als 'nieuw'

optie 3. Ze beginnen een mega project waarbij ze alles in 1 klap gaan herbouwen, en denken dat daarbij net zoveel mensen moeten nadenken en invloed uitoefenen op het project als dat er ontwikkelaar zijn.

optie 4. Verkoop je product en je mensen aan een grote detacheerder, en vraag hun of ze 'alles' even willen 'opruimen'

en dan kan je in huis nog zoveel goede ontwikkelaar hebben, maar uiteindelijk beslist management welke van de opties er gekozen worden.

Ik heb persoonlijk de eerste 3 meegemaakt, waarvan de eerste 2 tegelijktijdig...
vraag me niet waar ik werk...

This message was sent on 100% recyclable electrons.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:55

Creepy

Tactical Espionage Splatterer

En dat, is mij betreft het einde. Het op de man spelen is voorbij, net als de flauwe opmerkingen links en rechts en vervolgens een onderbouwing vergeten..... Mocht je absoluut alsnog je zegje willen doen in deze discussie, laat het me weten en ik kan je post alsnog invoegen. Voor nu is de sfeer wat mij betreft te slecht, zeker gezien de kerst die op komst is ;)

[ Voor 6% gewijzigd door Creepy op 23-12-2010 22:15 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.