Don't need a language to create a mess June 01, 2009 09:31 about 1 year ago
På min arbejdsplads foregår ofte regiøse meningsudvekslinger om hvorvidt det ene programmeringssprog er bedre end det andet. Fra mit perspektiv er det totalt ligegyldigt hvilket programmeringssprog der benyttes bare man kan udtrykke og fastholde værdi til kunden i form af applikationer. Det er det de unge vil ha!
Jeg synes det er sjovt at mange holder meget fast på deres hammer, også selv om de ikke ved hvordan den bruges. Efter et par år med seriøse programmører har man et rod i ens kode, repeterende implementationer som løser samme problem flere gange, en masse kode som ikke kan testes, alle komponenter bundnet samme med forskellige metoder og en løs kobling man må kigge i vejviseren efter mens de råber om store omskrivninger af applikationen og alle eksterne komponenter.
Programørerne skal nok "create a mess".
Ligemeget hvilket programmeringssprog du vælger kan dine ansatte ødelægge enhver applikation med hvilket som helst programmeringssprog der findes. Når det drejer sig om programmeringssprog har jeg på mine mange arbejdespladser fundet to slags mennesker, ja måske måske tre, men heller overdrive lidt frem for at være kedelig!
Den ene type er Entreprise versionen med hår på ryggen og en masse projekter bag sig. Denne type føler sig forpligtet til at følge med i de sidste nye tiltag selv om alle ved det ingen vegne føre. Den dybe tro på egne evner er forankret i historien og nye principper og paradigmer tager år at udvikle i hans hoved.
Den anden type er rebellen der er lynende skrap, ved næsten alt og har derfor en stålsat mening. En dyb tro på egne evner er forankret gennem andres succés og resultere ofte i et ret firkantet perspektiv på selv de enkleste spørgsmål. Nye teknologier bliver afkodet med lynes hast og gerne uden at bekymre sig om den dybere mening bag.
De to typer er faktisk enige men holder gerne en eller to bullshit-bingo konkurrence hver uge hvor de forsikre hinanden om rigtigheden i deres løsninger. Det kan sammenlignes med en hanekamp hvor ingen kommer til skade for alvor.
Under disse hanekampe tages problemstillinger som:
- Statisk typing kontra Dynamisk typing
- Open classes kontra Closed classes
- Funktionel kontra Klasse/Objektorienteret programmeringsmodel
- Behavior-Driven Development kontra Test-Driven Development
- Monolitisk struktur kontra Modulbaseret struktur
De bliver altid enige om at det programmeringssprog de arbejder med for tiden er det bedste. I dette valg tages ikke højde for virksomhedens bedste men udelukkende ens egene selvbestaltede ideer om hvad der er godt. Fælles for dem er at deres ord ikke følger deres handling. Eller er det omvendt, kan ikke huske det?
For mit vedkommende er valg af programmeringssprog en meget mere personlig proces. For det første repræsentere valget den udviklingscyklus jeg befinder mig i og hvilke bøger jeg har presset mest ind i mit hoved de sidste måneder. Hvilken bringer mig tilbage til udgangspunktet. At skabe værdi for kunden! Det er vel ligemeget med hvilket programmeringssprog der benyttes bare det lever op til de stillede krav?
Desværre er valget af programmeringssprog ofte baseret på helt andre og langt mindre dokumenteret aspekter såsom hvilken ledige kompetencer der findes eller den danske favorit “vi vil bruge det samme som alle de andre”. Det kan også en softwarearkitekt som kun kender ordret “Refactoring” og vælger programmeringssprog isoleret ud fra denne ene egenskab. En egenskab som forøvrigt ikke er en del af selve programmeringssproget men betegnes som værende en teknisk disciplin.
Lige meget hvilket programmeringssprog der vælges, er det ikke programmeringssproget som er skyld i at projekter ofte ender i noget syntakstisk rod! Hvis man roder alting sammen med et bestemt programmeringssprog, er sandsynligheden for at man det samme rod med andre programmeringssprog usandsynlig stor!
By Frank Vilhelmsen - 2 tags: job produtivity - Add comment