[Alg] Kwaliteiten van een goeie programmeur

Pagina: 1 2 Laatste
Acties:
  • 3.044 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Na de die C++ topics die op een leuke doch zeer technische/interessante discussie uitdraaiden, is het misschien eens tijd voor een ietwat 'luchtiger' topic. Het is tenslotte weekend.

Ik heb me daarnet zitten afvragen hoe je een goeie programmeur kunt definiëren, of welke kwaliteiten iemand nodig heeft om tot een 'goede programmeur' te kunnen uitgeroepen worden.
De kwaliteiten/skills die nodig zijn, omvatten volgens mij veel meer dan goeie/compacte/foutloze (is dit laatste uberhaupt mogelijk?) code te kunnen schrijven.

Moet een goede programmeur bv in staat zijn om zelf een goed design te maken, moet hij een goede testbatterij kunnen opstellen of is dit eerder het werk van een testteam, zijn code moet leesbaar en goed becommentarieerd zijn, moet hij goed met mensen kunnen omgaan, ...
of zijn dit dingen die volgens jou niet tot het 'beroep' behoren?

Of zijn er nog andere skills die hier niet genoemd werden en die jij vind dat een goede programmeur toch moet beheersen?

Kortom, geef jouw omschrijving van een 'goede programmeur'.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Anoniem: 33423

Misschien dat het handig is om eerst te bepalen wat een slechte programmeur is?

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
lnfinitive: Misschien dat het handig is om eerst te bepalen wat een slechte programmeur is?
Of bijvoorbeeld wat een programmeur is ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

Anoniem: 33423

Of bijvoorbeeld wat een programmeur is ;) .
Het valt nog tegen om een nette definitie te bedenken...
en als je een definitie hebt: noem je iemand die z'n video instelt ook een programmeur?

Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 03-07 14:47

disjfa

be

een slechte programeus is iemand die t wel kan alleen als die sollicitaties opstuurt alleen maar afwijsbrieven krijgt :(

echt irri :( :( :(

en ja t gaat idd over mij :)

disjfa - disj·fa (meneer)
disjfa.nl


Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 03-02 23:18

D2k

-eigenwijs
-doorzetter
-willen onderzoeken

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
disjfa: alleen maar afwijsbrieven
Misschien moet je even 'programeur' in je profile vervangen door programmeur, je weet nooit of het helpt ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

Gewoon een paar punten denk ik die mee doen aan het maken van een definitie:



• Snelle code
• Compacte code
• Goeie code
• Snel kunnen coden (dus niet iets maken wat alles hierboven heeft, maar daar dan wel 1 week mee bezig zijn ofzo)

• Overzichtelijke code
• Goed gebruik maken van Subs/Functions (In welke taal dan ook; hoe het ook mag heten)

Iets wat niet echt met de code te maken heeft maar meer met de kunsten van de programmeur;


• Snappen wat je doet
• Eigenlijk alles zelf kunnen maken; maar dingen ergens vandaan halen ivm tijd besparing (voor je werk belangrijk (tijd=geld)) (Heb het niet over het weten van API's bijv.)


• Goeie programma's kunnen neerzetten (Wiskundig sterk bijvoorbeeld)
• Gebruiksvriendlijke programma's kunnen neerzetten (Zoveel mogelijk automatisch laten lopen, maar niet zo dat het irritant wordt voor de gebruiker; 'verlaag' je gebruikers niveau dus en kijk een hoe een oma van 80 er tegen aan zou kijken (Wat overtrokken..I know :7))


Meer zou ik zo even niet weten

2 programma's waar ik trots op ben:


Bomen, dit programma is recursief geprogrammeerd (11 regels code (excl. Declaraties))


Vogels, dit is een oefening van wiskundige functies implenteren in een programma. (Rechtermuis knop voor wat optie's; ik wil een v2.0 maken met alle optie's voor vogels in te kunnen stellen)


• En auto port mapping natuurlijk :7 Maar dat is geen hoogstaand programmeer werk ofzo.. Gewoon kwestie van een goed ontwerp maken alvorens te gaan programmeren.
Link: [topic=439406]

Het belangrijkste aspect (voor mij) van deze 2 programma's was snelheid.
Het is in VB6 geschreven; niet 1 van de snelste talen, maar juist daarom een uitdaging om iets snels te kunnen neerzetten.


En nu douchen :7

[edit]
Lay-out
Autoportmapping

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Om nog even een wat zinvollere bijdrage te leveren:

Even een paar punten in willekeurige volgorde. Let op: ik zeg niet dat een programmeur die aan deze eisen voldoet ook daadwerkelijk commercieel gezien een goede programmeur zal zijn. Anderen mogen eisen voor een commercieel interessante programmeur opstellen :+ .

1. Weten waar je mee bezig bent: conceptueel inzicht in de talen en platformen waarmee je werkt en in het programmeren in het algemeen.

2. Wat mij betreft moet een programmeur nooit tevreden zijn met zijn werk en altijd naar verbetering zoeken. Commercieel vast geen geslaagd plan, maar goed ;) . Herschrijven van je werk en het weggooien van code is fantastisch werk :o ;) .

3. Niet slechts diepe kennis van 1 platform of taal maar het in perspectief kunnen plaatsen van ontwikkelingen, talen en keuzen die je maakt.

4. In staat om door de opgebouwde conceptuele kennis en perspectief op het vakgebied snel nieuwe talen of ontwikkelingen op te kunnen pakken. Taal-vrees is iets waar alleen mensen die concepten van talen niet begrijpen last van hebben.

5. Naast kennis van imperatieve talen ook ervaring met alternatieve, meer declaratieve talen zoals bijvoorbeeld XSLT of een functionele taal.

6. Als standaard-instelling moet een goede programmeur het steeds verder abstraheren van details hebben. Complexiteit kan je alleen beheersen door te abstraheren.

7. Geinteresseerd in trends, nieuwe ontwikkelingen, alternatieve aanpakken, achtergronden.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

Anoniem: 47174

Goed programmeren is, vind ik, source schrijven welke ontzettend simpel is, maar daardoor ook onzettend veelzijdig. Zodat het makkelijk is aanpassingen te maken, zonder de heleboel om te schrijven. Ik probeer altijd als ik iets 'groots' ga maken eerst een soort van engine in elkaar te timmeren. Zodat ik uiteindelijk alleen met (door mij zelf) voorgebakken functies de boel in elkaar kan klikken....

meestal komt het niet zo ver, maar ik vind het idee wel aardig :P

edit:
2. Wat mij betreft moet een programmeur nooit tevreden zijn met zijn werk en altijd naar verbetering zoeken. Commercieel vast geen geslaagd plan, maar goed . Herschrijven van je werk en het weggooien van code is fantastisch werk .
ken ik maar al te goed

Acties:
  • 0 Henk 'm!

Anoniem: 7195

Op zaterdag 25 mei 2002 12:31 schreef mbravenboer het volgende:
[..]
Of bijvoorbeeld wat een programmeur is ;) .
Lijkt me idd de belangrijkste definitie vooraf, plus natuurlijk de omschrijving van de hierarchie waarin de programmeur zn werk doet: ik vind bv een goede programmeur iemand die 'waarom' vraagt ipv 'hoe'. Maar in bv een strak geleide hierarchie waarbij complete beschrijvingen van wat er gebouwd moet worden aan de programmeurs worden uitgereikt, is dat alleen maar contra-productief en juist NIET goed.

(dus er is geen algemeen 'goed'/'slecht' voor een programmeur)

Acties:
  • 0 Henk 'm!

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

Ik denk dat er ook een onderscheidt gemaakt moet worden tussen;

• Commerciële
• Hobbie

programmeurs, je kan bijde zijn..maar in elke situatie gelden er weer andere definities.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zaterdag 25 mei 2002 14:08 schreef Mir het volgende:
Ik denk dat er ook een onderscheidt gemaakt moet worden tussen;

• Commerciële
• Hobbie

programmeurs, je kan bijde zijn..maar in elke situatie gelden er weer andere definities.
Ik doelde vooral op professionele programmeurs, dus mensen waarvan het hun beroep is.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06 17:45
Als het over hobby programmeren gaat (wat soms professioneler is dan commercieël programmeren) dat de programmeur zijn code openbaar maakt.

Heel internet draait rond informatie delen en anderen helpen, programmeurs die als een kip op hun code zitten zijn in feite profiteurs.

Verder is het belangrijk dat je vindingrijk bent en veruit het belangrijkste is dat je de TFS U'd :)

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
whoami: Ik doelde vooral op professionele programmeurs, dus mensen waarvan het hun beroep is.
Uiteraard, maar dan nog is de vraag wat een programmeur is, wel een belangrijk punt voordat je kunt gaan bespreken wat een goede programmeur is.

Zoals Otis al duidelijk aangeeft heb je in een bedrijf over het algemeen te maken met hierarchien van mensen die bezig zijn aan een software product. Generaliserend kan je bijvoorbeeld al software architecten en mensen die alleen maar designs implementeren onderscheiden, om het dan nog maar niet te hebben over mensen die nieuwe technologie evalueren.

Voor alle groepen gelden er denk ik hele andere zaken als je goede punten van een programmeur wilt bespreken. De punten die ik net noemde zullen namelijk voor de groep 'uitwerkers' absoluut niet als positieve punten ervaren worden in een strak geleide commerciele omgeving. Ze zullen dan snel te horen krijgen dat ze denken maar aan anderen over moeten laten.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zaterdag 25 mei 2002 13:11 schreef mbravenboer het volgende:

1. Weten waar je mee bezig bent: conceptueel inzicht in de talen en platformen waarmee je werkt en in het programmeren in het algemeen.
Idd, ik denk dat als je het concept van de taal of het platform niet snapt of kent, dat je dan niet ten volle gebruik kunt maken van de kracht van die taal.
2. Wat mij betreft moet een programmeur nooit tevreden zijn met zijn werk en altijd naar verbetering zoeken. Commercieel vast geen geslaagd plan, maar goed ;) . Herschrijven van je werk en het weggooien van code is fantastisch werk :o ;) .
Hier ben ik het niet volledig mee eens. Je kunt idd wel altijd naar verbetering zoeken maar op een gegeven moment moet je toch iets opleveren. Indien je steeds bezig bent met uw programma te verbeteren en je uiteindelijk niets af krijgt, dan kun je ook niet zeggen dat je een goede programmeur bent.
Het is moeilijk en haast onmogelijk, maar één van de dingen die een programmeur een goede programmeur maakt, is om dingen op tijd af te krijgen en ervoor te zorgen dat ze op tijd kwalitatief/goed zijn.
3. Niet slechts diepe kennis van 1 platform of taal maar het in perspectief kunnen plaatsen van ontwikkelingen, talen en keuzen die je maakt.
Een beetje als: 'de juiste taal voor de job' kiezen. Da's inderdaad wel belangrijk. Je mag niet aan bepaalde dingen vasthouden, maar je moet bereid zijn om eens verder te kijken. Kijken of er geen geschiktere manier of tool bestaat om dat programma te schrijven. (Maar meestal - in het professionele leven dan - wordt er aan de programmeur opgelegd welke taal of tool hij moet gebruiken.
7. Geinteresseerd in trends, nieuwe ontwikkelingen, alternatieve aanpakken, achtergronden.
Bereid zijn om bij te leren enzo is nu eenmaal specifiek aan de IT-sector.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Anoniem: 34495

Op zaterdag 25 mei 2002 13:03 schreef mbravenboer het volgende:

[..]

Misschien moet je even 'programeur' in je profile vervangen door programmeur, je weet nooit of het helpt ;) .
En als dat niet helpt is "I Write Code" ook nog altijd een goede optie >:)

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
whoami: Hier ben ik het niet volledig mee eens. Je kunt idd wel altijd naar verbetering zoeken maar op een gegeven moment moet je toch iets opleveren.
Mwah, daarom had ik ook mijn verhaal over commercie erboven gezet ;) . Natuurlijk moet je uiteindelijk in alle situaties wel productief bezig zijn, maar dat neemt niet weg dat het zoeken naar verbetering in de huidige chaos van software-ontwikkeling een groot goed is... Dat je ergens niet tevreden mee bent, zegt overigens niet dat je iets niet kan releasen. Het besef dat het beter kan op sommige punten is in ieder geval al stap 1 op de weg naar een beter product ;) .
Het is moeilijk en haast onmogelijk, maar één van de dingen die een programmeur een goede programmeur maakt, is om dingen op tijd af te krijgen en ervoor te zorgen dat ze op tijd kwalitatief/goed zijn.
Het hangt er ook voor een groot deel vanaf voor welke doelgroep je aan het werk bent. Voor een zuivere end-user applicatie maakt het vaak niet zoveel uit of het onder de motorkap net iets beter of fraaier kan. Voor tools/talen/libraries die je aan mede-developers levert is dit soms een heel ander verhaal omdat er dan in de toekomst werk gebaseerd zal zijn op jouw werk. Je kunt je oplossing dan niet even volledig op de schop nemen omdat jij iets beters hebt bedacht (denk aan platformen als Java als extreem voorbeeld). Het is dan wel belangrijk dat je initiele product een beetje acceptabel is.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zaterdag 25 mei 2002 14:15 schreef mbravenboer het volgende:

[..]

Uiteraard, maar dan nog is de vraag wat een programmeur is, wel een belangrijk punt voordat je kunt gaan bespreken wat een goede programmeur is.
Ja, wat is een programmeur.
Je kunt de definitie van een programmeur in sommige gevallen omschrijven, als iemand die de functionele en technische specificaties omzet naar machinecode. Dit type van programmeur kunnen we misschien omschrijven als een 'coder'
Zelf zie ik de omschrijving echter graag wat ruimer. Iemand die inspraak heeft in de analyse en in het design van de interface. (Alhoewel dit laatste misschien minder voorkomt omdat de meeste bedrijven zichzelf een bepaalde standaard hebben opgelegd wat betreft UI, en dat is maar goed ook). Hij denkt dus mee in de analyse en de design-fase en zet het daarna om in een programma. Dit is dan misschien meer als een 'ontwikkelaar' te omschrijven.


Wat ik ook wel belangrijk vind, is dat je als programmeur (ontwikkelaar dan), zowel in de analyse-, design- en coderingsfase moet denken vanuit het standpunt van de gebruiker en niet vanuit je eigen standpunt omdat je te lui of te gemakzuchtig bent.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zaterdag 25 mei 2002 14:25 schreef mbravenboer het volgende:


Mwah, daarom had ik ook mijn verhaal over commercie erboven gezet ;) . Natuurlijk moet je uiteindelijk in alle situaties wel productief bezig zijn, maar dat neemt niet weg dat het zoeken naar verbetering in de huidige chaos van software-ontwikkeling een groot goed is... Dat je ergens niet tevreden mee bent, zegt overigens niet dat je iets niet kan releasen. Het besef dat het beter kan op sommige punten is in ieder geval al stap 1 op de weg naar een beter product ;) .
Hoe herkenbaar... :)
Ik heb op m'n werk een programma moeten overnemen waar iemand anders mee begonnen was. Die applicatie draaide al proef bij verschillende klanten en ik moest er nog aanpassingen/uitbreidingen enzo bij schrijven.
Het liefst had ik alle reeds geschreven code overboord gegooid en zelfs een volledig nieuw datamodel uitgewerkt omdat het (zowel het datamodel als de code) echt slecht was. Ik zou niet graag mijn naam onder dat programma zetten, want ik vertrouw er zelfs niet op dat het altijd de juiste resultaten zal weergeven (ik vrees er zelfs voor dat de gegevens in de databank vroeg of laat corrupt/inconsistent zullen worden).
Maar goed, dit was allemaal niet mogelijk want ik zat met een deadline van 2,5 week. Tja, wat doe je dan in zo'n geval? Ik heb die uitbreidingen en aanpassingen geschreven en het programma op tijd afgeleverd. Maar ik ben er helemaal niet tevreden van.
Dus, wat ik nu ga doen is, die situatie uitleggen aan m'n baas en hem vragen of ik geen nieuwe versie van de applicatie mag ontwikkelen. Maar ik denk dat het een njet zal zijn uit commercieel standpunt. Er zullen wel weer ettelijke maanden werk in kruipen, maar aan de andere kant van de commerciële medaille is dan wel weer dat een slecht programma niet verkoopt. Ik zal hem proberen te overtuigen maar zegt hij njet, dan is het mijn probleem niet meer.
(Een ander aspect dus van een goeie programmeur is het overtuigen van het management).

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Anoniem: 33423

[not serieus mode]

Je bent een goede programmeur als je naar:

http://www.nokia.com/flashd/flash_redir.html?flash=/findyourforce/flash.html

gaat, de StarWars Character test invult en als resultaat R2D2 matched :)

\me is dus geen programmeur want heb als resultaat Jango Fett...

Acties:
  • 0 Henk 'm!

Anoniem: 35368

Wat een filosofie :P

Kijk....als lijk (ik)dus! Wil een snelle programma hebben en stabiel als een huis.....en die ook heel effecient omgaat met de bescheide resources die ik heb ;)

De zwakste punten van programmeurs van vandaag is denk ik:'zoveel onzin in een programma coden dat het heel traag en onstabiel wordt, en er word nauwelijks meer aan optimalisaties gedacht. Ik vind dat men een stap terug moet doen en zeer compacte en geoptimaliseerde code moet gaan schrijven!'.

Als ik "Lightwave" als voorbeeld neem, dan zie je dat een heel uitgebreid programma niet eens boven de 40MB in zijn omvang is! Natuurlijkis het Rocksable......

Mening: "Een goed programmeur is iemand die zo clean_code schrijft, optimaliseerd en goed documenteerd, een programmuer moet niet vanuitgaan dat iedereen een Pentium4 of Athlon Xp met 500 Mb in zijn bak heeft hangen.
Gewoon compact code schrijven aub :7 :) ".

Note: Een programmeur moet ook echt kennis hebben van hardware! de functie daarvan en hoe je de laatste stukje preformance etuit perst!

Voorbeeld: Nvidia=/=ATI

Acties:
  • 0 Henk 'm!

  • pjonk
  • Registratie: November 2000
  • Laatst online: 08:37
Ondertussen programmeer ik al heel wat jaren en ik heb in die tijd veel bijgeleerd.

In Visual Basic ben ik begonnen en de eerste fout die ik maakte was al mijn code in 1 component te stoppen.
Later begon ik modules uit te vinden waardoor alles een stukje overzichtelijker werd.

En eindelijk kwam ik erachter dat er ook nog zoiets als classes waren.

Ik denk dat je een goeie programmeur bent als je een ontwerp met verschillende componenten kunt maken en een goed object model waardoor je programma zeer overzichtelijk wordt.

It’s nice to be important but it’s more important to be nice


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zaterdag 25 mei 2002 14:59 schreef Telefoongids het volgende:
Wat een filosofie :P
filosofie is 8-)
een programmuer moet niet vanuitgaan dat iedereen een Pentium4 of Athlon Xp met 500 Mb in zijn bak heeft hangen.
Gewoon compact code schrijven aub :7 :) ".
Ik ontwikkel zelfs op een bak die nog niet in de buurt komt van een Pentium 4 of een Athlon XP en heb nog niet de helft zoveel geheugen er in zitten.
Bij Microsoft hebben ze tijdens de ontwikkeling van Win '95 de programmeurs op verouderde bakken laten ontwikkelen.
Note: Een programmeur moet ook echt kennis hebben van hardware! de functie daarvan en hoe je de laatste stukje preformance etuit perst!
Daar ben ik het totaal niet mee eens, wat als programmeur (applicatie-programmeur, niet als driver-programmeur ofzo) spreek je de hardware nooit rechtstreeks aan, maar gebruik je een API en het OS.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zaterdag 25 mei 2002 15:00 schreef JonkieXL het volgende:

En eindelijk kwam ik erachter dat er ook nog zoiets als classes waren.
VB en classes? :? Maar goed, dat is een andere discussie >:)

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zaterdag 25 mei 2002 14:37 schreef lnfinitive het volgende:
[not serieus mode]


\me is dus geen programmeur want heb als resultaat Jango Fett...
Hmm, ik ben Anakin Skywalker
Headstrong, unique, confident.
You are talented when you apply yourself, but you don't take advice very well. You make decisions based on emotions rather than on rational facts, which can lead you down dark paths
Je bent een goede programmeur als je naar:

gaat, de StarWars Character test invult en als resultaat R2D2 matched
Ik val er dus van tussen, maar ik ben niet akkoord met m'n profile. Ga het nog eens doen :P

Hmm, nu ben ik Yoda. Misschien past een combinatie van die 2 mij wel het best.
Wise, calm, spiritual, patient.
You have much to offer to those who will listen. However, many people don't take the time to understand what you're trying to say.
En nu misschien back on-topic voor dat dit topic naar de dark-side van GoT (de HK) verbannen wordt.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Tja, de definitie van goed of slecht of juist de definitie van de term 'programmeur' wordt natuurlijk altijd gekleurd door degene die de definitie opsteld.
Is ambitie bijvoorbeeld een goede eigenschap? Voor de programmeur misschien wel, maar voor een organisatie die al z'n programmeurs ziet weglopen naar andere functies weer niet.
Wat te denken van persoonlijke eigenschappen? Is een introverte programmeur wenselijk in een team? Prima dat je fantastisch kan coden, maar als je niet kan samenwerken met anderen of kennis kan overdragen dan heb ik niets aan je (ik chargeer even).

Imho moet een programmeur overigens altijd tevreden zijn met zijn werk. Als je niet tevreden bent met wat je doet moet je heel snel iets anders zoeken.
Dit is natuurlijk iets anders dan dat je moet leren van je fouten en ook nieuwe inzichten moet verwerken in je toekomstige software. Oude code verbeteren doe je maar als er een nieuw project voor wordt opgesteld of als dit onder een SLA geregeld is :P

Maar als ik dan zelf even wat kreten mag gooien (persoonlijk dus):
- analytisch inzicht
- goede communicatieve vaardigheden
- nauwkeurig (bijv. werken volgens standaarden)
- schriftelijke uitdrukkingsvaardigheid
- flexibiliteit
- leervermogen
- met 10 vingers kunnen typen :+

p.s. * Annie == Mace Windu

Today's subliminal thought is:


Acties:
  • 0 Henk 'm!

  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 07-07 18:57
Op zaterdag 25 mei 2002 15:03 schreef whoami het volgende:
Bij Microsoft hebben ze tijdens de ontwikkeling van Win '95 de programmeurs op verouderde bakken laten ontwikkelen.
Dat was om te zorgen dat de code snel genoeg zou zijn. Maar ik kan me voorstellen dat een programmeur dan minder snel 'even' compileert om te testen. En al helemaal niet snel gaat debuggen omdat het veels te lang duurt voordat de debugging environment is opgestart.

Acties:
  • 0 Henk 'm!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 09-02-2023
Op zaterdag 25 mei 2002 15:50 schreef Annie het volgende:
Wat te denken van persoonlijke eigenschappen? Is een introverte programmeur wenselijk in een team? Prima dat je fantastisch kan coden, maar als je niet kan samenwerken met anderen of kennis kan overdragen dan heb ik niets aan je (ik chargeer even).
Je kunt een introvert persoon in uw team hebben die toch perfect kennis kan delen of overdragen. Maar iemand die geen kennis kan delen (uit egoisme of omdat hij introvert is) zou ik niet in m'n team willen.
Maar als ik dan zelf even wat kreten mag gooien (persoonlijk dus):
- analytisch inzicht
- goede communicatieve vaardigheden
- nauwkeurig (bijv. werken volgens standaarden)
- schriftelijke uitdrukkingsvaardigheid
- flexibiliteit
- leervermogen
- met 10 vingers kunnen typen :+
Ook in al deze 'kreten' kan ik me goed vinden.


* Feyd-Rautha = whoami Broer is vergeten uit te loggen.

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Annie: Imho moet een programmeur overigens altijd tevreden zijn met zijn werk. Als je niet tevreden bent met wat je doet moet je heel snel iets anders zoeken.
Mwah, dat doe ik toch maar niet als je het niet erg vind ;) .

'Niet tevreden' over je software betekent niet dat je de hele dag met een sacherijnige kop rond loopt en geen lol in je werkt hebt. Het is meer een oneindige vorm van reflectie over de code die je schrijft. Je kan nu wellicht heel tevreden zijn over een fraai design wat je hebt gemaakt, maar die tevredenheid moet je niet verblinden in een zoektocht naar design-fouten en mogelijk verbeteringen.
Oude code verbeteren doe je maar als er een nieuw project voor wordt opgesteld of als dit onder een SLA geregeld is :P
Mwah, ik zou eerder mensen met deze instelling willen adviseren om wat anders te zoeken >:) (bij wijze van spreken ;) ).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op zaterdag 25 mei 2002 16:42 schreef mbravenboer het volgende:
Mwah, ik zou eerder mensen met deze instelling willen adviseren om wat anders te zoeken >:) (bij wijze van spreken ;) ).
Mijn functieomschrijving is dan ook geen programmeur :P

Today's subliminal thought is:


Acties:
  • 0 Henk 'm!

  • pjonk
  • Registratie: November 2000
  • Laatst online: 08:37
Op zaterdag 25 mei 2002 15:04 schreef whoami het volgende:

[..]

VB en classes? :? Maar goed, dat is een andere discussie >:)
Overigens doe ik nu geen VB meer, maar inderdaad waren de classes in VB nogal gelimiteerd (geen overerving, polymorphism en dat soort zaken)
VB.net is overigens wel wat professioneler geworden daarin.

Ik doe nu veel Java en daar kan je zoiezo niet om classes heen.

It’s nice to be important but it’s more important to be nice


Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Iedereen noemt hier aspecten waar een programmeur ten aanzien van het programma aan moet voldoen. Maar dan vergeten we dat je aan een beetje programma niet in je eentje werkt. Je zult dus ook aan bepaalde team-aspecten moeten voldoen.

Nu hoef je je waarschijnlijk geen zorgen te maken over de sociale vaardigheden van de gemiddelde student >:)

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

  • Aaargh!
  • Registratie: Januari 2000
  • Laatst online: 03-07 19:38

Aaargh!

Bow for me for I am prutser

Op zaterdag 25 mei 2002 14:59 schreef Telefoongids het volgende:
De zwakste punten van programmeurs van vandaag is denk ik:'zoveel onzin in een programma coden dat het heel traag en onstabiel wordt, en er word nauwelijks meer aan optimalisaties gedacht. Ik vind dat men een stap terug moet doen en zeer compacte en geoptimaliseerde code moet gaan schrijven!'.
Er is een verschil tussen het voorkomen van creeping featuritis en geoptimaliseerd programmeren.
Als je programmeert om elk laatste beetje performance eruit te krijgen word je programma er niet netter en leesbaarder op waardoor de kans op fouten toeneemt. beter is om het programma eerst helemaal uit te programmeren totdat het werkt en aan alle specs voldoet en daarna te testen of het programma snel genoeg is. is dit het geval: mooi, zo niet dan pas ga je dingen optimaliseren.

Those who do not understand Unix are condemned to reinvent it, poorly.


Acties:
  • 0 Henk 'm!

  • tomato
  • Registratie: November 1999
  • Niet online
whoami: [Alg] Kwaliteiten van een goeie programmeur
Goed kunnen spellen, wanneer je dat kunt als programmeur ben je pas echt schaars en dus veel geld waard >:)

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Wat is er mis met goeie? goeie is toch evenzo goed nederlands als goede?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • tomato
  • Registratie: November 1999
  • Niet online
whoami: Wat is er mis met goeie? goeie is toch evenzo goed nederlands als goede?
Volgens mij niet, maar misschien ben ik nu enorm aan het happen naar een programmeur? :D

Acties:
  • 0 Henk 'm!

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op zaterdag 25 mei 2002 20:06 schreef tomato het volgende:
Volgens mij niet, maar misschien ben ik nu enorm aan het happen naar een programmeur? :D
Hmm is het kenmerk van een goeie programmeur niet dat die alleen volgens bepaalde paradigmas kan denken en de syntax van z'n geboortetaal vergeet :? :P

Acties:
  • 0 Henk 'm!

Anoniem: 56196

ne goeie programmeur kan volgens mij:
- logisch denken
- goed en snel werken, vooral onder tijdsdruk
- snel inzicht verwerven
- vlot nieuwe dingen aanleren
- omgaan met abstracte begrippen
- af en toe is goe maffen :z :P

enfin, da is wa ik er van denk he

Acties:
  • 0 Henk 'm!

Anoniem: 51631

ik ben van mening dat goede opleiding met veel wiskunde erg goed is, want wiskunde is grotendeels logica en het is gewoon altijd handig.
voor de rest:
nette code
geen onnodige , dus efficient etc.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zaterdag 25 mei 2002 20:06 schreef tomato het volgende:

[..]

Volgens mij niet, maar misschien ben ik nu enorm aan het happen naar een programmeur? :D
Volgens mij is goede schrijftaal en goeie dan eerder spreektaal.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:44
whoami:
Volgens mij is goede schrijftaal en goeie dan eerder spreektaal.
Volgens mij heb jij gelijk :o

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 02:27

dusty

Celebrate Life!

Op zaterdag 25 mei 2002 14:37 schreef lnfinitive het volgende:
[not serieus mode]

Je bent een goede programmeur als je naar:

http://www.nokia.com/flashd/flash_redir.html?flash=/findyourforce/flash.html

gaat, de StarWars Character test invult en als resultaat R2D2 matched :)

\me is dus geen programmeur want heb als resultaat Jango Fett...
Ehh.. test gedaan.. resultaat: R2D2 :P
Homeworld: Naboo
Species: Droid
Height: 0.96 Meters
Manufacturer: Indusrial Automation
Type: Astromech Droid
Weapon: rc welder, buzz saw
Vehicle: X-wing
Affiliation: Rebel Alliance

Resourceful, spunky, adventurous.
You aren't afraid to speak your mind and you have a comical streak that will earn you many friends. Sometimes your sarcasm can land you in sticky situations.
De beschrijving klopt wel aardig voor mij :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Anoniem: 4283

Op zaterdag 25 mei 2002 17:34 schreef JonkieXL het volgende:
Overigens doe ik nu geen VB meer, maar inderdaad waren de classes in VB nogal gelimiteerd (geen overerving, polymorphism en dat soort zaken)
ehh, je kan in VB6 wel degelijk overerven! Er is een Implements statement, dat precies doet wat de naam suggereerd. Hierdoor is er toch een beetje OO mogelijk met VB :).

Verder denk dat een programmeur vooral goed logisch kan nadenken, je moet zelf oplossingen kunnen bedenken, ipv. die van anderen ongewijzigd kopiëren. Dit kan zoals Mr_Blue al aangaf best goed getraind worden met een flink portie wiskunde. Helaas, maar waar :P.

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 02:27

dusty

Celebrate Life!

Op zaterdag 25 mei 2002 13:08 schreef Mir het volgende:
Gewoon een paar punten denk ik die mee doen aan het maken van een definitie:
[..]
Iets wat niet echt met de code te maken heeft maar meer met de kunsten van de programmeur;
[..]
Persoonlijk vindt ik de kunsten van een programmeur belangrijker dan de eerste punten, aangezien de eerste punten die jij opnoemde iedereen kan leren, echter de kunsten zijn niet zo makkelijk te leren, en in veel gevallen heb je aanleg voor die kunsten of je hebt er geen aanleg voor.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 13-07 16:36
Op zaterdag 25 mei 2002 20:04 schreef whoami het volgende:
Wat is er mis met goeie? goeie is toch evenzo goed nederlands als goede?
I write code ... :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op zondag 26 mei 2002 13:34 schreef farlane het volgende:

[..]

I write code ... :)
Ik doe liever meer dan dat. :) Meewerken met het design enzo.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 01:05

Delphi32

Heading for the gates of Eden

Ik zie op mijn werk globaal gesproken 2 soorten programmeurs:
1. 'geef mij een ontwerp, het liefst uitgewerkt tot op GUI-level, en ik zorg ervoor dat het werkt volgens de specs, zonder dat ik precies hoef te begrijpen WAT ik aan het maken ben. Dat hoef ik ook niet te weten, want mijn verantwoordelijkheid is ervoor te zorgen dat wat ik maak, technisch correct is. En dat is het.'
2. 'ik vind het leuk om programma's te maken waar de klant wat aan heeft. Aangezien ik goed snap waar het over gaat, ga ik graag de discussie aan met de ontwerper om te kijken of er hier en daar verbeteringen mogelijk zijn. Ik wil uiteindelijk datgene opleveren, wat ik zelf zou willen kopen/gebruiken als ik de (potentiële) klant was. Technisch gezien kan ik aardig meekomen maar ik sta altijd open voor verbetering want ik weet dat dit niet mijn sterkste kant is.'

Volgens mij ligt de beoordeling van de oorspronkelijke vraag (wat is een goeie programmeur) voornamelijk in de klemtoon die je in de vraagstelling legt.
Een GOEIE programmeur is een type 2. Hij denkt mee, en zorgt er zo voor dat met de kennis die hij meebrengt het eindproduct zo goed mogelijk aansluit bij de wensen/eisen.
Een goeie PROGRAMMEUR is een type 1. Hij hoeft/kan/wil niet meedenken met wat hij aangeleverd krijgt, zijn focus ligt puur in de technische hoek. Sterk hierin is, dat de meest lastige zaken technisch juist en zwaar geoptimaliseerd gebouwd worden.

Mijns inziens zijn voor het welslagen van een project beide typen noodzakelijk. Ik heb in de praktijk nog maar weinig programmeurs gezien die zowel type 1 als type 2 vertegenwoordigen.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Een programmeur die geen 1337-sp34k kan is ook geen goe(i|d)e :z

Maar goed, de eerste vereisten van een goede programmeur in de zin van coder:
  • Hij* drm schrijft nette code
  • Hij schrijft performance-gewijs goede code
  • Hij weet te coderen als 2e stap na het programmeren (ik bedoel te zeggen dat je dan elke taal kan beheersen zonder dat je programmeerskillz in 't geding komen)
In commerciele zin:
  • Hij is overtuigd dat hij niet altijd het beste doet, en weet dat ook een ander wel eens gelijk kan hebben
  • Hij weet zijn punten commercieel over te brengen aan elke andere partij in het bedrijf (dus ook medeprogrammeurs)
  • Hij streeft naar verbetering van zichzelf als programmeur, is autodidact en heeft geen manager nodig om 'm te vertellen waar hij mee bezig moet zijn als er niets te doen is (nee, niet GoT-en dus ;))

* drm kan natuurlijk ook een Zij zijn ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 07:59

JaQ

Volgens mij is een programmeur (1) creatief, (2) lui, (3) gehinderd door kennis en (4) goed in "ouwehoeren".

met creatief bedoel ik niet altijd het ge-eikte pad volgend. Een reeds bestaande route is niet altijd de beste. Soms is het verstandig om op een andere taal over te schakelen, kortom: gebruik gereedschap waar het voor bedoeld is. (als je buurman een "netwerkje" wilt hebben hoef je niet per definitie een 1GB glas netwerk bestaande uit sun clustes te bouwen.)

Lui is niet altijd negatief, maar dingen niet dubbel willen doen is een goede eigenschap voor een programmeur. Compacte goed doordachte code, afgeleid van een algoritme (lieft gedocumenteerd).

Gehinderd door kennis ben je als je weet waar je over praat. Het is meer dan vervelend om een stuk code door te moeten worstelen van iemand die bijna wist hoe iets werkte. (je kan moeilijk van een timmerman verwachten dat hij je uitlegd hoe een ziekenfondsverzekering premie berekend bijvoorbeeld)

Met ouwehoeren bedoel ik documenteren en een meer dan redelijke "management-samenvatting" schrijven, oftewel je ideeëen weten te verkopen aan diegenen die uiteindelijk de handtekening onder een contract kunnen / moeten zetten. Zonder deze semi-commerciele kwaliteit kom je op professioneel vlak nooit verder als semi-typgeit die ontwerpen van een ander codeerd.

Het is uiteraard waar dat het internet bedoeld is om kennis te delen (lang leven de GPL), maar aan de andere kant is closed source niet per definitie negatief. Als een bedrijf de moeite neemt om tijd (en geld) te investeren in een product mag dat product toch verkocht worden? Uiteindelijk zullen die vezels waarmee wij GoT kunnen bereiken ook betaald moeten worden. Harstike leuk dat kennis delen, maar zonder closed source bestaat er geen IT-sector. (enkel knip en plak mannetjes / vrouwtjes).

just my 2 cents.

Egoist: A person of low taste, more interested in themselves than in me


Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:44
Die van type 1 en type 2 vind ik wel aardig :).

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Een goede programmeur moet ook kunnen en willen debuggen en niet direct zijn probleem op GoT posten in de hoop dat er iemand is die het wel eens voor hem oplost.

Die van type 1 en type 2 is goed. De ideale programeur zou een type 3 zijn. Een synergie van type 1 en type 2.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 02:27

dusty

Celebrate Life!

Ik mis de "Een goede programmeur is Sarcastisch" >:) :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:30

Janoz

Moderator Devschuur®

!litemod

Op maandag 27 mei 2002 11:09 schreef dusty het volgende:
Ik mis de "Een goede programmeur is Sarcastisch" >:) :+
Mischien ben jij wel helemaal geen goede programmeur :+

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


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Een goeie programmeur is eerder cynisch omdat hij baalt van zijn branche... :+

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • superboer
  • Registratie: September 2001
  • Laatst online: 10-08-2021
Ben je een goeie programmeur als je over enen en nullen
droomt ipv over vrouwen ?

Je bent ook een goede programmeur als je gelooft dat er
maar 10 soorten mensen zijn ! (oud!)

Geen fan van ............. ! Zelfs geen voetbalfan ! Dus kappe nou ....... !


Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 27 mei 2002 15:57 schreef superboer het volgende:
Ben je een goeie programmeur als je over enen en nullen
droomt ipv over vrouwen ?

Je bent ook een goede programmeur als je gelooft dat er
maar 10 soorten mensen zijn ! (oud!)
Dan mag jij ze nu voor de nieuwe mensen allemaal (uit je hoofd >:) ) opnoemen :)

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

superboer:
Je bent ook een goede programmeur als je gelooft dat er
maar 10 soorten mensen zijn ! (oud!)
[sup]
* drm kent 'm niet :?[/sup]
10 binair zeker? ;)


"There are only 2 kinds of people in this world. Those with guns, and those who dig.

You dig."

Clint Eastwood ~ The Good, the Bad and the Ugly

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 27 mei 2002 17:20 schreef drm het volgende:

[..]

[sup]
* drm kent 'm niet :?[/sup]
10 binair zeker? ;)


"There are only 2 kinds of people in this world. Those with guns, and those who dig.

You dig."

Clint Eastwood ~ The Good, the Bad and the Ugly
"There are only 3 kinds of people in this world. Those with can count, and those who don't.
"

Een sig van iemand hier :D

Acties:
  • 0 Henk 'm!

  • nulkelvin
  • Registratie: Maart 2000
  • Laatst online: 09-06-2021

nulkelvin

ehmm is er nog koffie?

Hmmm ik zie hier toch een paar definities, die aan goed programmeur zijn worden toegeschreven, terwijl ze naar mijn mening meer bij het coderen horen :)

Ik vind programmeren en coderen twee verschillende vakken.

Dat veel mensen, (vooral hobbyisten) meteen beginnen met code tikken, zelfs voordat ze weten wat ze uberhaupt willen maken betekent nog niet, dat coderen hetzelfde is als programmeren.

Programmeren : een juiste specificatie maken van WAT je wilt.

Coderen : de implementatie in een of andere taal.

ik wilde dat ik eens een coole sig. kon bedenken.


Acties:
  • 0 Henk 'm!

  • tomato
  • Registratie: November 1999
  • Niet online
nulkelvin: Programmeren : een juiste specificatie maken van WAT je wilt.

Coderen : de implementatie in een of andere taal.
In de letterlijke zin van het woord programmeren instrueer je een tool (of dat nou een video-recorder of een computer is) om bepaalde dingen te doen.

Wat jij onder programmeren verstaat is letterlijk misschien beter te omschrijven als 'ontwerpen'.

Acties:
  • 0 Henk 'm!

Anoniem: 21726

Een goede programmeur is een nette programmeur. Fouten moeten altijd netjes worden opgevangen, zodat (mocht het geval zich voordoen dat de programmeur op vakantie is) z'n collega niet handmatig dingen hoeven op te lossen...
Hierdoor raakt de collega helemaal over de zeik, zeker als blijkt dat soortgelijke fouten zich al een half jaar voordoen, zodat de 'programmeur' tijd genoeg heeft gehad om dit vooraf op te lossen.

even zeiken over een collega hoor, maar misschien had je dit al door...

Acties:
  • 0 Henk 'm!

Anoniem: 7195

Op maandag 27 mei 2002 17:46 schreef nulkelvin het volgende:
Hmmm ik zie hier toch een paar definities, die aan goed programmeur zijn worden toegeschreven, terwijl ze naar mijn mening meer bij het coderen horen :)
aan wat? Dit is geen Demoscene-talk :) "I'm a l33t c0der!".
Ik vind programmeren en coderen twee verschillende vakken.
Volgens mij is coderen iets wat ze deden in de WO II :)
Dat veel mensen, (vooral hobbyisten) meteen beginnen met code tikken, zelfs voordat ze weten wat ze uberhaupt willen maken betekent nog niet, dat coderen hetzelfde is als programmeren.
Programmeren : een juiste specificatie maken van WAT je wilt.
Coderen : de implementatie in een of andere taal.
In jouw definitie is een 'coder' dus iemand die een compiler imiteert? :D

Acties:
  • 0 Henk 'm!

  • Jiffy
  • Registratie: Februari 2002
  • Laatst online: 01-07 21:20

Jiffy

God, you're ugly!

Een héle ouwe (plm '83), doch niet te versmaden: 'Real Programmers' (& excuusje voor de lengte). Needless to say dat ik géén 'Real Programmer' ben...

Back in the good old days-- the "Golden Era" of computers-- it was easy to separate the men from the boys (sometimes called "Real Men" and "Quiche Eaters" in the literature). During this period, the Real Men were the ones who understood computer programming, and the Quiche Eaters were the ones who didn't. A real computer programmer said things like "DO 10 I=1,10" and "ABEND" (they actually talked in capital letters, you understand), and the rest of the world said things like "computers are too complicated for me" and "I can't relate to computers-- they're so impersonal". (A previous work [1] points out that Real Men don't "relate" to anything, and aren't afraid of being impersonal.)

But, as usual, times change. We are faced today with a world in which little old ladies can get computers in their microwave ovens, 12 year old kids can blow Real Men out of the water playing Asteroids and Pac-Man, and anyone can buy and even understand their very own personal Computer. The Real Programmer is in danger of becoming extinct, of being replaced by high school students with TRASH-80s.

There is a clear need to point out the differences between the typical high school junior Pac-Man player and a Real Programmer. If this difference is made clear, it will give these kids something to aspire to-- a role model, a Father Figure. It will also help explain to the employers of Real Programmers why it would be a mistake to replace the Real Programmers on their staff with 12 year old Pac-Man players (at a considerable salary savings).

The easiest way to tell a Real Programmer from the crowd is by the programming language he (or she) uses. Real Programmers use Fortran. Quiche Eaters use Pascal. Nicklaus Wirth, the designer of Pascal, gave a talk once at which he was asked, "How do you pronounce your name?". He replied, "You can either call me by name, pronouncing it 'Veert', or call me by value, 'Worth'." One can tell immediately by this comment that Nicklaus Wirth is a Quiche Eater. The only parameter passing mechanism endorsed by Real Programmers is call-by-value-return, as implemented in the IBM/370 Fortran G and H compilers. Real Programmers don't need all these abstract concepts to get their jobs done-- they are perfectly happy with a keypunch, a Fortran IV compiler, and a beer.


Real Programmers do List Processing in Fortran.

Real Programmers do String Manipulation in Fortran.

Real Programmers do Accounting (if they do it at all) in Fortran.

Real Programmers do Artificial Intelligence programs in Fortran.
If you can't do it in Fortran, do it in assembly language. If you can't do it in assembly language, it isn't worth doing.

The academics in computer science have gotten into the "structured programming" rut over the past several years. They claim that programs are more easily understood if the programmer uses some special language constructs and techniques. They don't all agree on exactly which constructs, of course, and the example they use to show their particular point of view invariably fit on a single page of some obscure journal or another-- clearly not enough of an example to convince anyone. When I got out of school, I thought I was the best programmer in the world. I could write an unbeatable tic-tac-toe program, use five different computer languages, and create 1000 line programs that WORKED (Really!). Then I got out into the Real World. My first task in the Real World was to read and understand a 200,000 line Fortran program, then speed it up by a factor of two. Any Real Programmer will tell you that all the Structured Coding in the world won't help you solve a problem like that-- it takes actual talent. Some quick observations on Real Programmers and Structured Programming:


Real Programmers aren't afraid to use GOTOs.

Real Programmers can write five page long DO loops without getting confused.

Real Programmers like Arithmetic IF statements-- they make the code more interesting.

Real Programmers write self-modifying code, especially if they can save 20 nanoseconds in the middle of a tight loop.

Real Programmers don't need comments-- the code is obvious.

Since Fortran doesn't have a structured IF, REPEAT ... UNTIL, or CASE statement, Real Programmers don't have to worry about not using them. Besides, they can be simulated when necessary using assigned GOTOs.
Data structures have also gotten a lot of press lately. Abstract Data Types, Structures, Pointers, Lists, and Strings have become popular in certain circles. Wirth (the above mentioned Quiche Eater) actually wrote an entire book [2] contending that you could write a program based on data structures, instead of the other way around. As all Real Programmers know, the only useful data structure is the Array. Strings, Lists, Structures, Sets-- these are all special cases of arrays and can be treated that way just as easily without messing up your programming language with all sorts of complications. The worst thing about fancy data types is that you have to declare them, and Real Programming Languages, as we all know, have implicit typing based on the first letter of the (six character) variable name.

What kind of operating system is used by a Real Programmer? CP/M? God forbid-- CP/M, after all, is basically a toy operating system. Even little old ladies and grade school students can understand and use CP/M.

Unix is a lot more complicated of course-- the typical Unix hacker never can remember what the PRINT command is called this week-- but when it gets right down to it, Unix is a glorified video game. People don't do Serious Work on Unix systems: they send jokes around the world on UUCP-net and write Adventure games and research papers.

No, your Real Programmer uses OS/370. A good programmer can find and understand the description of the IJK305I error he just got in his JCL manual. A great programmer can write JCL without referring to the manual at all. A truly outstanding programmer can find bugs buried in a 6 megabyte core dump without using a hex calculator. (I have actually seen this done.)

OS is a truly remarkable operating system. It's possible to destroy days of work with a single misplaced space, so alertness in the programming staff is encouraged. The best way to approach the system is through a keypunch. Some people claim there is a Time Sharing system that runs on OS/370, but after careful study I have come to the conclusion that they were mistaken.

What kind of tools does a Real Programmer use? In theory, a Real Programmer could run his programs by keying them into the front panel of the computer. Back in the days when computers had front panels, this was actually done occasionally. Your typical Real Programmer knew the entire bootstrap loader by memory in hex, and toggled it in whenever it got destroyed by his program. (Back then, memory was memory-- it didn't go away when the power went off. Today, memory either forgets things when you don't want it to, or remembers things long after they're better forgotten.) Legend has it that Seymore Cray, inventor of the Cray I supercomputer and most of Control Data's computers, actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on. Seymore, needless to say, is a Real Programmer.

One of my favorite Real Programmers was a systems programmer for Texas Instruments. One day, he got a long distance call from a user whose system had crashed in the middle of saving some important work. Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone. The moral of this story: while a Real Programmer usually includes a keypunch and line printer in his toolkit, he can get along with just a front panel and a telephone in emergencies.

In some companies, text editing no longer consists of ten engineers standing in line to use an 029 keypunch. In fact, the building I work in doesn't contain a single keypunch. The Real Programmer in this situation has to do his work with a "text editor" program. Most systems supply several text editors to select from, and the Real Programmer must be careful to pick one that reflects his personal style. Many people believe that the best text editors in the world were written at Xerox Palo Alto Research Center for use on their Alto and Dorado computers[3]. Unfortunately, no Real Programmer would ever use a computer whose operating system is called SmallTalk, and would certainly not talk to the computer with a mouse.

Some of the concepts in these Xerox editors have been incorporated into editors running on more reasonably named operating systems-- EMACS and VI being two. The problem with these editors is that Real Programmers consider "what you see is what you get" to be just as bad a concept in Text Editors as it is in Women. No, the Real Programmer wants a "you asked for it, you got it" text editor-- complicated, cryptic, powerful, unforgiving, dangerous. TECO, to be precise.

It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text[4]. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse-- introduce subtle and mysterious bugs in a once working subroutine.

For this reason, Real Programmers are reluctant to actually edit a program that is close to working. They find it much easier to just patch the binary object code directly, using a wonderful program called SUPERZAP (or its equivalent on non-IBM machines). This works so well that many working programs on IBM systems bear no relation to the original Fortran code. In many cases, the original source code is no longer available. When it comes time to fix a program like this, no manager would even think of sending anything less than a Real Programmer to do the job-- no Quiche Eating structured programmer would even know where to start. This is called "job security".

Some programming tools NOT used by Real Programmers:


Fortran preprocessors like MORTRAN and RATFOR. The Cuisinarts of programming-- great for making Quiche. See comments above on structured programming.

Source language debuggers. Real Programmers can read core dumps.

Compilers with array bounds checking. They stifle creativity, destroy most of the interesting uses for EQUIVALENCE, and make it impossible to modify the operating system code with negative subscripts. Worst of all, bounds checking is inefficient.

Source code maintenance systems. A Real Programmer keeps his code locked up in a card file, because it implies that its owner cannot leave his important programs unguarded [5].
Where does the typical Real Programmer work? What kind of programs are worthy of the efforts of so talented an individual? You can be sure that no Real Programmer would be caught dead writing accounts-receivable programs in COBOL, or sorting mailing lists for People magazine. A Real Programmer wants tasks of earth-shaking importance (literally!).


Real Programmers work for Los Alamos National Laboratory, writing atomic bomb simulations to run on Cray I supercomputers.

Real Programmers work for the National Security Agency, decoding Russian transmissions.

It was largely due to the efforts of thousands of Real Programmers working for NASA that our boys got to the moon and back before the Russkies.

The computers in the Space Shuttle were programmed by Real Programmers.

Real Programmers are at work for Boeing designing the operation systems for cruise missiles.
Some of the most awesome Real Programmers of all work at the Jet Propulsion Laboratory in California. Many of them know the entire operating system of the Pioneer and Voyager spacecraft by heart. With a combination of large ground-based Fortran programs and small spacecraft-based assembly language programs, they are able to do incredible feats of navigation and improvisation-- hitting ten-kilometer wide windows at Saturn after six years in space, repairing or bypassing damaged sensor platforms, radios, and batteries. Allegedly, one Real Programmer managed to tuck a pattern matching program into a few hundred bytes of unused memory in a Voyager spacecraft that searched for, located, and photographed a new moon of Jupiter.

The current plan for the Galileo spacecraft is to use a gravity assist trajectory past Mars on the way to Jupiter. This trajectory passes within 80 +/- 3 kilometers of the surface of Mars. Nobody is going to trust a Pascal program (or Pascal programmer) for navigation to these tolerances.

As you can tell, many of the world's Real Programmers work for the U.S. Government-- mainly the Defense Department. This is as it should be. Recently, however, a black cloud has formed on the Real Programmer horizon. It seems that some highly placed Quiche Eaters at the Defense Department decided that all Defense programs should be written in some grand unified language called "ADA" ((C), DoD). For a while, it seemed that ADA was destined to become a language that went against all the precepts of Real Programming-- a language with structure, a language with data types, strong typing, and semicolons. In short, a language designed to cripple the creativity of the typical Real Programmer. Fortunately, the language adopted by DoD had enough interesting features to make it approachable-- it's incredibly complex, includes methods for messing with the operating system and rearranging memory, and Edsger Dijkstra doesn't like it [6]. (Dijkstra, as I'm sure you know, was the author of "GOTOs Considered Harmful"-- a landmark work in programming methodology, applauded by Pascal Programmers and Quiche Eaters alike.) Besides, the determined Real Programmer can write Fortran programs in any language.

The Real Programmer might compromise his principles and work on something slightly more trivial than the destruction of life as we know it. Providing there's enough money in it. There are several Real Programmers building video games at Atari, for example. (But not playing them-- a Real Programmer knows how to beat the machine every time: no challenge in that.) Everyone working at LucasFilm is a Real Programmer. (It would be crazy to turn down the money of fifty million Star Trek fans.) The proportion of Real Programmers in Computer Graphics is somewhat lower than the norm, mostly because nobody has found a use for Computer Graphics yet. On the other hand, all Computer Graphics is done in Fortran, so there are a fair number of people doing Graphics in order to avoid having to write COBOL programs.

Generally, the Real Programmer plays the same way he works-- with computers. He is constantly amazed that his employer actually pays him to do what he would be doing for fun anyway (although he is careful not to express this opinion out loud). Occasionally, the Real Programmer does step out of the office for a breath of fresh air and a beer or two. Some tips on recognizing Real Programmers away from the computer room:


At a party, the Real Programmers are the ones in the corner talking about operating system security and how to get around it.

At a football game, the Real Programmer is the one comparing the plays against his simulations printed on 11 by 14 fanfold paper.

At the beach, the Real Programmer is the one drawing flowcharts in the sand.

At a funeral, the Real Programmer is the one saying "Poor George. And he almost had the sort routine working before the coronary."

In a grocery store, the Real Programmer is the one who insists on running the cans past the laser checkout scanner himself, because he never could trust keypunch operators to get it right the first time.
What sort of environment does the Real Programmer function best in? This is an important question for the managers of Real Programmers. Considering the amount of money it costs to keep one on the staff, it's best to put him (or her) in an environment where he can get his work done.

The typical Real Programmer lives in front of a computer terminal. Surrounding this terminal are:


Listings of all programs the Real Programmer has ever worked on, piled in roughly chronological order on every flat surface in the office.

Some half-dozen or so partly filled cups of cold coffee. Occasionally, there will be cigarette butts floating in the coffee. In some cases, the cups will contain Orange Crush.

Unless he is very good, there will be copies of the OS JCL manual and the Principles of Operation open to some particularly interesting pages.

Taped to the wall is a line-printer Snoopy calendar for the year 1969.

Strewn about the floor are several wrappers for peanut butter filled cheese bars-- the type that are made pre-stale at the bakery so they can't get any worse while waiting in the vending machine.

Hiding in the top left-hand drawer of the desk is a stash of double-stuff Oreos for special occasions.

Underneath the Oreos is a flow-charting template, left there by the previous occupant of the office. (Real Programmers write programs, not documentation. Leave that to the maintenence people.)
The Real Programmer is capable of working 30, 40, even 50 hours at a stretch, under intense pressure. In fact, he prefers it that way. Bad response time doesn't bother the Real Programmer-- it gives him a chance to catch a little sleep between compiles. If there is not enough schedule pressure on the Real Programmer, he tends to make things more challenging by working on some small but interesting part of the problem for the first nine weeks, then finishing the rest in the last week, in two or three 50-hour marathons. This not only impresses the hell out of his manager, who was despairing of ever getting the project done on time, but creates a convenient excuse for not doing the documentation. In general:


No Real Programmer works 9 to 5. (Unless it's the ones at night.)

Real Programmers don't wear neckties.

Real Programmers don't wear high heeled shoes.

Real Programmers arrive at work in time for lunch.

A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII (or EBCDIC) code table.

Real Programmers don't know how to cook. Grocery stores aren't open at three in the morning. Real Programmers survive on Twinkies and coffee.
What of the future? It is a matter of some concern to Real Programmers that the latest generation of computer programmers are not being brought up with the same outlook on life as their elders. Many of them have never seen a computer with a front panel. Hardly anyone graduating from school these days can do hex arithmetic without a calculator. College graduates these days are soft-- protected from the realities of programming by source level debuggers, text editors that count parentheses, and "user friendly" operating systems. Worst of all, some of these alleged "computer scientists" manage to get degrees without ever learning Fortran! Are we destined to become an industry of Unix hackers and Pascal programmers?

From my experience, I can only report that the future is bright for Real Programmers everywhere. Neither OS/370 nor Fortran show any signs of dying out, despite all the efforts of Pas- cal programmers the world over. Even more subtle tricks, like adding structured coding constructs to Fortran, have failed. Oh sure, some computer vendors have come out with Fortran 77 compilers, but every one of them has a way of converting itself back into a Fortran 66 compiler at the drop of an option card-- to compile DO loops like God meant them to be.

Even Unix might not be as bad on Real Programmers as it once was. The latest release of Unix has the potential of an operating system worthy of any Real Programmer-- two different and subtly incompatible user interfaces, an arcane and complicated teletype driver, virtual memory. If you ignore the fact that it's "structured", even 'C' programming can be appreciated by the Real Programmer: after all, there's no type checking, variable names are seven (ten? eight?) characters long, and the added bonus of the Pointer data type is thrown in-- like having the best parts of Fortran and assembly language in one place. (Not to mention some of the more creative uses for #define.)

No, the future isn't all that bad. Why, in the past few years, the popular press has even commented on the bright new crop of computer nerds and hackers ([7] and [8]) leaving places like Stanford and MIT for the Real World. From all evidence, the spirit of Real Programming lives on in these young men and women. As long as there are ill-defined goals, bizarre bugs, and unrealistic schedules, there will be Real Programmers willing to jump in and Solve The Problem, saving the documentation for later. Long live Fortran!

Ok, wie het tot hier heeft volgehouden: gefeliciteerd! Nu weet je wat een échte programmeur is. Een échte programmeur heeft spierballen op z'n hersens...

Life sucks. Then you die. Then they throw mud in your face. Then you get eaten by worms. Be happy it happens in that order...


Acties:
  • 0 Henk 'm!

Anoniem: 35885

ja hallo, dat ga ik ff niet lezen als je 't niet erg vindt... sjonge jonge, wat een lap tekst...

Acties:
  • 0 Henk 'm!

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 31-12-2024
lache, maar wel een tikkeltje kwats ;)

Acties:
  • 0 Henk 'm!

  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 18-06 08:23

Tsjipmanz

Der Rudi ist da

Op zaterdag 25 mei 2002 13:08 schreef Mir het volgende:

En nu douchen :7
Ook een onderschatte kwaliteit onder sommige informatica-studenten :)

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


Acties:
  • 0 Henk 'm!

Anoniem: 37864

ja hallo, dat ga ik ff niet lezen als je 't niet erg vindt... sjonge jonge, wat een lap tekst...
Aha... dus http://www.tweakers.net/nieuws/21891 klopt nog aardig ook! :P *blub*

Acties:
  • 0 Henk 'm!

Anoniem: 53023

Een echte programmeur zou deze post niet lezen omdat ie bezig zou zijn met het bedenken van een nieuw algorithme door de wortel van pi te verdraaien met de op 3 na laatste column uit het fluxquadrant.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

paasklaas:
Een echte programmeur zou deze post niet lezen omdat ie bezig zou zijn met het bedenken van een nieuw algorithme door de wortel van pi te verdraaien met de op 3 na laatste column uit het fluxquadrant.
Een echte programmeur houdt zich niet bezig met dat soort termen. Al helemaal niet in het nederlands ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Anoniem: 35368

Mijn God, waat een lulverhaal >:)

Maar ik lag dubbel aan het einde, spierballen op hersens :7
dat is een goede! *D

Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

Goede programmeurs zijn integer: ik vond de opmerking van Dijkstra heel treffend: "Je moet de mensen niet geven wat ze willen, maar wat ze nodig hebben."

Deze moet ik ff opschrijven: :)
Real programmers look both ways before crossing a one-way street.
Don't comment your code: if it was hard to program, it should be hard to understand.

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

Anoniem: 27881

Op maandag 27 mei 2002 17:20 schreef drm het volgende:

[..]

[sup]
* drm kent 'm niet :?[/sup]
10 binair zeker? ;)


"There are only 2 kinds of people in this world. Those with guns, and those who dig.

You dig."

Clint Eastwood ~ The Good, the Bad and the Ugly

"There are only 2 kinds of spurs. Those that come by the door, and those that come by the window.


Tuco ~ The Good, the Bad and the Ugly


>:) :) :P

Acties:
  • 0 Henk 'm!

Anoniem: 35069

Op dinsdag 28 mei 2002 12:54 schreef Tsjipmanz het volgende:

[..]

Ook een onderschatte kwaliteit onder sommige informatica-studenten :)
En uiteraard HTML handleidingen schrijven!
waar jij gelukkig genoeg ervaring mee hebt!

Acties:
  • 0 Henk 'm!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Ik ben programmeur maar om nou te zeggen dat ik goeie programmeur ben, nou niet zo, maar ik ben wel handig in het leren van nieuwe trucjes en zeker als je ergens werkt waar men graag technologie koopt en implementeert is dat erg handig. Kortom als programmeur gaat het niet alleen om programmeerkunstjes, goed documentatie kunnen lezen dan wel code kunnen lezen is imo net zo belangrijk.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Glorfindel:

"There are only 2 kinds of spurs. Those that come by the door, and those that come by the window.


Tuco ~ The Good, the Bad and the Ugly
Die 's ook ERG leuk ja :D
[sub]
* drm loves that movie :)[/sub]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

raptorix:
Kortom als programmeur gaat het niet alleen om programmeerkunstjes, goed documentatie kunnen lezen dan wel code kunnen lezen is imo net zo belangrijk.
Ik denk dat het 1 onlosmakelijk met het ander verbonden is. Hoe kan je nou een goeie programmeur zijn als je nooit documentatie goed gelezen hebt, of wanneer je geen code kan lezen?

edit: en deze post was natuurlijk als edit bedoeld |:(

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 09-02-2023
zoals Scott Adams (Dilbert) het zo mooi kon zeggen:

Er zijn twee verschillende soorten mensen:
de eerste soort zijn de verstandige mensen die zoals jij en ik Dilbert lezen,
die andere soort zijn de andere 5 miljard dombo's :P >:) die Dilbert niet lezen

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op dinsdag 28 mei 2002 16:57 schreef -Avalanche- het volgende:
zoals Scott Adams (Dilbert) het zo mooi kon zeggen:

Er zijn twee verschillende soorten mensen:
de eerste soort zijn de verstandige mensen die zoals jij en ik Dilbert lezen,
die andere soort zijn de andere 5 miljard dombo's :P >:) die Dilbert niet lezen
Ik zie niet direct in wat dat met de kwaliteiten van een goede programmeur te maken heeft. :?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

whoami:
Ik zie niet direct in wat dat met de kwaliteiten van een goede programmeur te maken heeft. :?
oftewel: ontopic plz ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Anoniem: 3057

Ik beschouw een programmeur als iemand die voornamelijk programma's maakt, dus code schrijft, maar die ook het grote geheel ziet en begrijpt. Denk daarbij aan de eindgebruikers, de opdrachtgever, de projectmanager, de functionele / technische ontwerpen, commerciele aspecten, quility management, documentatie, etc.

Een echt hele goede programmeur moet daarom de volgende vaardigheden bezitten en ervaringen hebben. (Ik gebruik "hij", maar dat kan natuurlijk net zogoed "zij" zijn.)

Technische kennis
- Hij kent meerdere programmeertalen, en ziet daarom meer dan de details van de taal, maar ook de algemene concepten van programmeertalen.
- Hij begrijpt zowel procedurele als OO programmerconcepten, en kent de voor- en nadelen van beiden. Bovendien is het prettig als hij ook wat kennis heeft van functionele programmeertalen zoals Miranda.
- Hij heeft kennis van veel verschillende soorten software die gebruikt worden om systemen te maken, zoals databases, directory services, web servers, een CRM, ERP, CMS pakket
- Hij begrijpt de concepten van netwerkstructuren, -componenten en -protocollen, zoals routers, firewalls, proxies, internet exchanges, TCP/IP, HTTP, SSL, SMTP, telnet, FTP, etc
- Hij heeft kennis van / kan overweg met (D)HTML, CSS, JavaScript, XML, XSL(T), DOM
- Hij kan technische en functionele ontwerpen kritisch lezen en begrijpen (UML, ERD, DFD, etc), en kan eventueel zelf ook helpen met het maken / wijzigen ervan
- Hij heeft een heel goed begrip van RDBMSen, kent de verschillende SQL dialecten, weet wat zaken als indexen, transacties en rollbacks zijn en hoe ze te gebruiken, en kan eenvoudige DBA handelingen verrichten
- Hij begrijpt het verschil tussen "performance" en "scalability" van een systeem, en weet ook grofweg de voorwaarden voor een systeem om beide situaties te bereiken, en dat beide soms lijnrecht tegenover elkaar staan.
- Hij weet wat "design patterns" zijn en heeft er ook weleens mee gewerkt
- Hij begrijpt de problemen van security en hoe dat in verschillende systemen van belang is

Werkwijze
- Hij werkt gedisciplineerd en gestructureerd, omdat hij begrijpt dat kwaliteit niet alleen kan komen van veel testen, maar voornamelijk van gestructureerd werken
- Hij denkt na voordat hij code begint te schrijven, en zal evalueren of hij echt voldoende informatie heeft om zijn werk goed te kunnen doen, en eventuele informatie die ontbreekt of aannames die niet kloppen aan anderen duidelijk maken
- Hij ontleedt problemen in kleinere, abstracte problemen, die niet tot in detail hoeft uit te werken om ervan overtuigd te zijn dat het gaat werken. Daarna zal hij voor de kleinste losse deelproblemen een framework opzetten (objecten, procedures o.i.d.) om deze vervolgens met code in te vullen.
- Hij documenteert zijn code en geeft het een goede layout. Daarnaast heeft hij een strak versiebeheer, zodat hij altijd achteraf kan terugvinden wat wanneer is gewijzigd, en waarom.
- Hij begrijpt dat "Maar het werkt toch?" absoluut de verkeerde instelling is, en weigert ook op dergelijke basis te werken.

Samenwerking & communicatie
- Hij zal vooraf ideeen vaak overleggen met collega's, zodat hij een secod opinion krijgt voordat hij aan de slag gaat. Achteraf laat hij zijn code reviewen, en reviewt hij actief de code van anderen.
- Hij neemt verantwoordelijkheid voor zijn werk, maar ook voor het succes van het hele project, en zal daarom zijn collega's aanspreken als er iets niet of juist wel goed gaat, en staat zelf ook open voor opbouwende kritiek, opmerkingen en complimenten.
- Hij begrijpt dat perfectie niet berijkt kan worden, maar streeft daar wel naar binnen de parameters van zijn opdracht (tijd, budget, functionele en niet-functionele eisen van de klant)
- Hij dwingt af dat anderen hem op zijn waarde schatten, omdat andere (vaak 'hogere') medewerkers in het projectteam zijn expertise nodig hebben om het project af te ronden, en dan wel die expertise moeten respecteren, net zoals dat andersom moet plaatsvinden

Ervaring
- Hij heeft weleens een klein project vrijwel zelfstandig gedaan, inclusief functionele / technische specificaties, overleg met klanten, tijdschatting en budgettering en dergelijke, of anders met ieder van deze taken in aanraking zijn geweest in projecten
- Hij heeft weleens in een groter (> 10 man, > 1 miljoen Euro) project gewerkt, en kent alle problematiek die dat geeft
- Hij heeft weleens leiding gegeven aan een (kleine) groep collega's of heeft weleens trainees
- Hij heeft weleens een systeem in onderhoud genomen dat in productie is, en kent de moeilijkheden van die situatie.
- Hij heeft weleens een project helemaal naar de kloten zien gaan, en weet dat die dat nooit meer wil meemaken

Deze lijst is verre van compleet, en aanvullingen / opmerkingen zijn van harte welkom. Overigens wil dit niet zeggen dat je geen goede programmeur bent als je aan een van de voorwaarden niet voldoen, maar ik heb het gevoel dat het stukken kennis en ervaring zijn die je beter maken dan dat je bent als je ze nog niet hebt.

Acties:
  • 0 Henk 'm!

  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
"A truly outstanding programmer can find bugs buried in a 6 megabyte core dump without using a hex calculator. (I have actually seen this done.)"

>:)

Pas de replâtrage, la structure est pourrie.


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 08:52

TheDane

1.618

hmm, ik vind dat een goede programmeur best foutjes kan maken. als ie daardoor z'n deadline kan halen, en een goed genoeg produkt kan afleveren.


een goed programmeur maakt imo dus een afweging tussen verschillende ideeen en belangen, die best met elkaar in conflict kunnen zijn. De juiste balans daartussen vinden is moeilijker dan een stukkie foutloze code prutsen :7

Acties:
  • 0 Henk 'm!

Anoniem: 13700

The three great virtues of a programmer are Laziness, Impatience and Hubris
The Camel Book.

Acties:
  • 0 Henk 'm!

  • TGEN
  • Registratie: Januari 2000
  • Laatst online: 07:58

TGEN

Hmmmx_

Een goede programmeur heeft een uitgebreide kennis van het platform waar hij op werkt, en dus niet alleen van alle keywords e.d. in een taal. Een goede programmeur moet dus weten hoe het systeem zijn opdrachten verwerkt, en hoe zijn opdrachten aan het systeem worden toegevoerd. Hierbij is kennis van het programmeren in Assembly natuurlijk onontbeerlijk :).

Daar mogen jullie het mee doen ;).

Pixilated NetphreaX
Dronkenschap is Meesterschap
DragonFly


Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 08:19

Tomatoman

Fulltime prutser

Een echte programmeur kan lachen om het verhaal over de Real Programmer en herkent zichzelf er wel een beetje in. ;)

Serieus, de echte programmeur begrijpt dat het niet draait om zijn geweldig elegante oplossing voor dat ingewikkelde probleem. De echte programmeur ziet in dat een DOS prompt in deze tijd toch echt achterhaald is - we leven in de tijd van Windows XP. De echte programmeur begrijpt dat de gemiddelde gebruiker een hekel heeft aan dikke gebruikershandleidingen.

De echte programmeur zorgt ervoor dat het programma doet wat het moet doen. De echte programmeur zorgt ervoor dat zijn programma nét wat meer doet dan de gebruiker in eerste instantie verwacht. De echte programmeur schrijft een programma waaraan hij flink verdient.

Een goede grap mag vrienden kosten.


Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
tomatoman:
1. de echte programmeur begrijpt dat het niet draait om zijn geweldig elegante oplossing voor dat ingewikkelde probleem.

2. De echte programmeur ziet in dat een DOS prompt in deze tijd toch echt achterhaald is - we leven in de tijd van Windows XP.

3. De echte programmeur schrijft een programma waaraan hij flink verdient.
Ik vrees (en ben tegelijk blij) dat ik niet door je test heen kom :o . Althans, ik gebruik inderdaad geen DOS prompt :P .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 08-07 11:03

killercow

eth0

Op woensdag 29 mei 2002 03:33 schreef MrX het volgende:
Ik beschouw een programmeur als iemand die voornamelijk ... text
is dat jouw contract? :P
naja anyway, ik slaag voor 95% van die punten wel denk ik al zijn sommige dingen afhankelijk van de werk-omgeving en projecten (bijvoorbeeld kennis van zaken)

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:00
Op donderdag 30 mei 2002 22:41 schreef mbravenboer het volgende:
Ik vrees (en ben tegelijk blij) dat ik niet door je test heen kom :o
Waarom? Omdat er geen fatsoenlijke ontwikkelomgeving voor jou favoriete besturingssyteem bestaat? (Waarom zou je daar blij mee zijn)? Of omdat onder een shell ontwikkelen ECHT beter werkt?

Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 08:52

TheDane

1.618

Op donderdag 30 mei 2002 23:42 schreef Soultaker het volgende:

[..]

Waarom? Omdat er geen fatsoenlijke ontwikkelomgeving voor jou favoriete besturingssyteem bestaat? (Waarom zou je daar blij mee zijn)? Of omdat onder een shell ontwikkelen ECHT beter werkt?
onder een shell werken brengt je veel dichter bij de code waaraan je zit te prutsen.
met andere woorden: je bgrijpt veel beter waar je mee bezig bent; ergo je verstaat je vak beter. ergo je bent een betere programmeur :7


verder heeft tomatoman met punt 1 en 3 100% gelijk
afgezien van 't feit dat een echte programmeur zijn werk niet zelf verkoopt .. dat laat ie doen :8

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Soultaker: Waarom? Omdat er geen fatsoenlijke ontwikkelomgeving voor jou favoriete besturingssyteem bestaat? (Waarom zou je daar blij mee zijn)? Of omdat onder een shell ontwikkelen ECHT beter werkt?
Allereerst ging het niet alleen om het werken met een shell/command prompt :) . Als je een stukje terugbladerd naar een bijdrage van mij op de eerste pagina zal je zien dat vooral de andere twee punten niet bepaald aansluiten bij mijn ideeen. Het hangt er vanaf wat je onder 'goed' verstaat, wat je ook al terug ziet op de eerste pagina. In een bepaalde visie van 'goed' passen deze voorwaarde wellicht, in de definitie die ik aanhield, passen ze absoluut niet.

Het hele shell verhaal lijkt mij nog irrelevant eigenlijk voor de kwaliteit van de programmeur, maar goed: die functioneert inderdaad uitstekend. Ik gebruikte toen ik nog onder MS Windows werkte al een combinatie van Ant+Jext en dat doe ik nog steeds naar volle tevredenheid. Met name Ant is enorm goed toe te passen in een grote diversiteit aan projecten. Voor builden heb ik dus geen IDE nodig omdat Ant simpelweg vanaf de shell kan worden aangeroepen (net als uiteraard make).

Verder zou een IDE sowieso nooit voldoen omdat de meeste tools voor mij al oud zijn als ze eindelijk als productie-release uitkomen en dan na een flink aantal maanden in een IDE worden ondersteund. Ik werk al een jaar met de early-access Java Generics compiler, wat je in de meeste IDE's niet voor elkaar kunt krijgen.

Sinds ik onder Linux werk bewijst de shell zijn nut nog veel meer. Ik gebruik diverse handige shell-scriptjes (ook voor het aanroepen van Java tools) en combineer software componenten snel en gemakkelijk. Dat is erg makelijk in de tool-set waar ik tegenwoordig m'n meeste tijd in door breng: XT.

Ik ben niet trots omdat ik in tegenstelling tot andere mensen als een 'freak' (vage gedachte uberhaupt :? ) op de shell werk. Ik kan met behulp van een shell goed functioneren en dat is voor mij belangrijk. Dat anderen liever een IDE willen gebruiken kan ik goed begrijpen en ze worden er echt geen 'watjes' van.

Wat ik dus wel fout vind, is het afschilderen van de huidige wereld als de MS Windows XP wereld, want dat is toch wel een wat beperkte kijk op de werkelijkheid die wellicht vooral ontstaan is door een kijk op de IT vanuit de prive-wereld of wellicht nog vanwege de commerciele bedrijven die zich richten op desktop gebruik.

Helaas is er nog steeds erg veel interessant materiaal wat zelfs niet beschikbaar is voor een Microsoft operating system.

(maar goed: dit is de discussie niet, maar moest hier toch even op reageren).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

  • Kris
  • Registratie: Maart 2002
  • Laatst online: 21-02 19:20
Nog een puntje: Als hij in staat is om andersmans code aan te begrijpen en aan te passen.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:00
Op vrijdag 31 mei 2002 00:01 schreef TheDane het volgende:
onder een shell werken brengt je veel dichter bij de code waaraan je zit te prutsen.
met andere woorden: je bgrijpt veel beter waar je mee bezig bent; ergo je verstaat je vak beter. ergo je bent een betere programmeur :7
Dat is natuurlijk maar een gedeeltelijke waarheid. Jou bewering klopt wel, maar dat wil niet zeggen dat je, door in een IDE te werken, geen ervaring op kan doen of geen begrip van programmeren kan hebben. Ik durf te beweren dat het in principe niet uitmaakt, hoewel door de bank genomen de programmeurs die met een shell werken waarschijnlijk betere programmeurs zijn.
Op vrijdag 31 mei 2002 01:51 schreef mbravenboer het volgende:
Allereerst ging het niet alleen om het werken met een shell/command prompt :) . Als je een stukje terugbladerd naar een bijdrage van mij op de eerste pagina zal je zien dat vooral de andere twee punten niet bepaald aansluiten bij mijn ideeen.
Klopt, ik las ook je vorige reactie nog eens en het sloeg op alledrie de punten. Door de extra opmerking over de shell/prompt was ik even misleid.
Verder zou een IDE sowieso nooit voldoen omdat de meeste tools voor mij al oud zijn als ze eindelijk als productie-release uitkomen en dan na een flink aantal maanden in een IDE worden ondersteund. Ik werk al een jaar met de early-access Java Generics compiler, wat je in de meeste IDE's niet voor elkaar kunt krijgen.
Dat was dus mijn punt: dan werk je dus niet op de shell omdat dat beter is, maar simpelweg omdat er geen geschikte IDE bestaat. Zelf zit ik ook vaak met een shell opgescheept, maar dat betekend niet dat ik liever een IDE ter beschikking zou willen hebben.
Ik kan met behulp van een shell goed functioneren en dat is voor mij belangrijk. Dat anderen liever een IDE willen gebruiken kan ik goed begrijpen en ze worden er echt geen 'watjes' van.
Helemaal mee eens. ;)
Wat ik dus wel fout vind, is het afschilderen van de huidige wereld als de MS Windows XP wereld, want dat is toch wel een wat beperkte kijk op de werkelijkheid die wellicht vooral ontstaan is door een kijk op de IT vanuit de prive-wereld of wellicht nog vanwege de commerciele bedrijven die zich richten op desktop gebruik.
Ik moet toegeven dat ik zelf nog met Visual Studio 6 en Windows 2000 werk, maar ik wil niet ontkennen dat Windows XP de toekomst heeft. Het ging natuurlijk niet om Windows XP an sich, maar om geavanceerde IDE's in het algemeen. Onder diverse non-Windows besturingssytemen draait KDE 3 met KDevelop, wat een vergelijkbare manier van werken oplevert.

Het is naar mijn idee niet zinnig om met primitieve methoden te blijven werken als geavanceerdere middelen eenvoudig beschikbaar zijn. Natuurlijk moeten die 'geavanceerde middelen' dan wel aan bepaalde eisen voldoen (wat nu nog niet altijd het geval is). Zoniet, dan is het logisch dat je als ontwikkelaar kiest voor een interface die niet aan de laatste 'mode' meedoet, maar wel alle gewenste functionaliteit biedt.

Wat betreft on-topic: ik kan me wel aardig vinden in het lijstje van MisterX. Ik zou er graag wat aan willen toevoegen, maar ik zou niet weten wat. ;)

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Op vrijdag 31 mei 2002 06:58 schreef Kris het volgende:
Nog een puntje: Als hij in staat is om andersmans code aan te begrijpen en aan te passen.
Ehm. Ik zou het graag omdraaien. Een goede programmeur moet er voor zorgen dat zijn code leesbaar is voor andere programmeurs.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:00
Op vrijdag 31 mei 2002 10:36 schreef whoami het volgende:
Ehm. Ik zou het graag omdraaien. Een goede programmeur moet er voor zorgen dat zijn code leesbaar is voor andere programmeurs.
En ik zou dan allebei zeggen. Zelfs als je je aan (soms zeer stricte) coding standards houdt, zullen verschillende mensen verschillende stukken code schrijven.

Een verstandig programmeur schrijft de code zo, dat de uitwerking ervan herkenbaar is. Aan de andere kant, kan een verstandig programmeur ook de werking van code doorzien, die niet zo is opgebouwd als hij dat zelf gedaan had.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Als ik even mag samenvatten?
mbravenboer zegt, net als Soultaker
  • Een IDE is geen vereiste voor een goede programmeur
  • Helaas zijn IDE's vaak niet toereikend, en is de programmeur gedwongen shells te gebruiken. Het feit dat een programmeur de shell gebruikt maakt hem geen goede programmeur, noch is een goede programmeur verplicht om een shell te gebruiken, puur om een goede programmeur te zijn
  • De tools die een programmeur gebruikt zijn dus (tot op zekere hoogte* drm ) irrelevant voor het zijn van een goede programmeur.
  • Een goede programmeur herkent echter wel goede tools, om tot het resultaat te komen wat hij wil (dit is in Soultaker's geval een Windows omgeving, in mbravenboer's geval een linux shell met een stel shellscripts)
en daar kan ik mij helemaal in vinden :)
Soultaker:
[Code leesbaar kunnen schrijven, code kunnen lezen zijn beide eigenschappen van een goede programmeur]
Ben ik het ook al mee eens.

edit:
* drm ) Volgens mij weten we allemaal wel wat ik bedoel :+

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Anoniem: 13700

Op vrijdag 31 mei 2002 10:35 schreef Soultaker het volgende:
Dat was dus mijn punt: dan werk je dus niet op de shell omdat dat beter is, maar simpelweg omdat er geen geschikte IDE bestaat. Zelf zit ik ook vaak met een shell opgescheept, maar dat betekend niet dat ik liever een IDE ter beschikking zou willen hebben.
Er zijn genoeg IDE's voor *NIX beschikbaar, en dat gaat van TP5 achtige text-interfaces tot volledig grafische sleur-en-pleur interfaces zoals KDevelop en de combinatie Glade + Anjuta. Ook SGI heeft een mooie IDE.

Het probleem met IDE's is zoals al gezegd:
1) programmeren vanaf de shell is sneller als de programmeur ingespeeld is op de shell (en wat leuke scripts/aliassen maakt).
2) Je hebt niets aan een sleur-en-pleur RAD IDE als je serverdaemons of compilers ontwikkelt, RAD is leuk in userland, maar gewoon niet realiseerbaar voor een systeemprogrammeur (ff een linux-kernel in elkaar drag&droppen...).

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:00
Op vrijdag 31 mei 2002 13:20 schreef mietje het volgende:
Het probleem met IDE's is zoals al gezegd:
1) programmeren vanaf de shell is sneller als de programmeur ingespeeld is op de shell (en wat leuke scripts/aliassen maakt).
Dat lijkt me sterk. Jij kan niet 'make' intypen in de tijd dat ik op F7 druk. Ik zou dan ook niet weten waarom een shell sneller zou zijn. Daarbij kun je in de meeste IDE's ook onderdelen scripten (zeker in bijvoorbeeld KDevelop).
2) Je hebt niets aan een sleur-en-pleur RAD IDE als je serverdaemons of compilers ontwikkelt, RAD is leuk in userland, maar gewoon niet realiseerbaar voor een systeemprogrammeur (ff een linux-kernel in elkaar drag&droppen...).
Ik heb Apache modules ontwikkeld in VisualStudio hoor. Dat gaat prima. Uiteraard kan je dan geen GUI maken, maar het edit gemak (syntax highlighting, autocompletion, documentatie, jump to definition) blijft bestaan. Het grootste voordeel van een IDE is wel de geintegreerde debugomgeving en ook die kan je gebruiken bij het ontwikkelen van 'daemons of compilers'.

Acties:
  • 0 Henk 'm!

Anoniem: 13700

Op vrijdag 31 mei 2002 13:23 schreef Soultaker het volgende:
Ik heb Apache modules ontwikkeld in VisualStudio hoor. Dat gaat prima. Uiteraard kan je dan geen GUI maken, maar het edit gemak (syntax highlighting, autocompletion, documentatie, jump to definition) blijft bestaan.
Dit kunnen de standaard texteditors op een *NIX systeem al, daar heb je geen IDE voor nodig. Zowel vi(m) als emacs kunnen wat je hierboven opnoemt (en nog veel meer).

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Het is erg off-topic, maar nu we het toch over IDEs en hun (on)mogelijkheden hebben:

Ik heb pas kennis gemaakt met de Toolbus, die ontwikkeld is aan het CWI in Amsterdam. Dit is een aardig idee om individuele tools te laten samenwerken in een interactieve, IDE achtige omgeving.

De Toolbus wordt gebruikt voor zaken waar typsich geen IDE voor beschikbaar is: grammatica's, parser-generators, programma-transformaties in speciale talen, compilers enzovoorts.

De userinterface wordt geboden door de ASF+DSF Meta-Environment. Alle tools die je gebruikt communiceren via de Toolbus met op elkaar op basis van een standaard voor data-structuren (ATermen, die vergelijkbaar zijn met XML).

Het aardige van de Toolbus is dat je nu zelfstandige toools goed kunt laten samenwerken en je deze tools ook individueel kunt verbeteren (in tegenstelling tot de 'componenten' van een IDE, die je meestal in 1x upgrade).

Al met al best een aardig idee voor een extreem component georienteerde IDE, waarbij de tools nu dus ook in alle mogelijke programmeertalen geschreven kunnen zijn (van exotisch tot C).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1 2 Laatste