Tag filosofie

Overpeinzingen (over vakmanschap)

“Ziet u niet hoe vaklieden, hoewel zij tot op zekere hoogte bereid zijn om hun opdrachtgever tegemoet te komen, zich niet kunnen veroorloven af te wijken van de voorschriften van hun vak? Is het niet verbazingwekkend en teleurstellend tegelijk dat bij een architect en een geneesheer de grondbeginselen van hun vak meer gerespecteerd worden dan bij de rede bij de doorsneemens, terwijl het juist de rede is die hij met de goden gemeen heeft?”

De programmeur, de filosoof

We kunnen als softwareontwikkelaars veel leren van Socrates' filosofische houding. “Ik weet dat ik niets weet” betekent: ik neem niets aan, ik luister alleen goed naar wat de ander zegt en probeer diens standpunt zo helder mogelijk te krijgen. Ik hoor aan, parafraseer en controleer of die parafrase klopt. Voorzichtig trek ik conclusies - niet om de ander onderuit te halen, maar om te kijken of ik op de juiste weg ben, de ander begrijp. En ook: of het verhaal van de ander klopt - wat dat dan ook moge betekenen.

Edwin Wenink Appreciation Post

Ik danste onlangs bij een concert van Eefje de Visser en liep bij de uitgang Edwin Wenink tegen het lijf. Edwin is een oud-studiegenoot van me en de hoofdverantwoordelijke voor de RSS-link in het menu rechtsboven. “Ik krijg elke keer een mailtje als jij iets nieuws post!” bekende hij enthousiast. “Niet dat ik er ooit iets van lees, natuurlijk.” - Edwin is altijd eerlijk en dat waardeer ik soms. Tijdens ons gesprek kwam ik erachter dat hij ook een blog heeft en de ochtend erop zelfs dat er een heleboel interessants op staat ook nog. Bij dezen dus, een momentje om de gedachtewereld van Edwin te waarderen.

Is kunstmatige intelligentie wel écht intelligent?

Kunstmatige intelligentie (ook wel artificiële intelligentie of kortweg AI genoemd) heeft de laatste jaren een enorme opmars gemaakt. AI neemt een steeds prominentere plek in in het dagelijks leven: van vertaalmachines tot gepersonaliseerde advertenties tot gerobotiseerde obers. Hoog tijd dus om filosofisch op dit fenomeen te reflecteren. Wat is AI? Kunnen computers echt denken? Wat is denken überhaupt? En wat zijn de ethische en politieke implicaties van de steeds grotere rol die AI in de samenleving speelt? Deze en andere vragen komen aan bod in Guido van der Knaaps Van Aristoteles tot algoritme: Filosofie van kunstmatige intelligentie.

Blog #100!

Een minimijlpaal: dit is mijn honderste blog! In krap een jaar heb ik 80.168 woorden over softwareontwikkeling geschreven, gecategoriseerd onder 112 tags. Het leek me een mooi moment voor een knap staaltje navelstaren, met hier en daar een snuifje zelfpijperij. Bij dezen: tien blogs waar ik met iets van plezier op terugkijk.

Luisteren, sammenvatten en doorvragen

LSD staat voor lysergic acid diethylamide en heeft een hallucinerende werking. Het verhaal wil dat dat de inspiratie vormde voor Lucy in the Sky with Diamonds, en da’s een liedje van The Beatles. Maar LSD staat ook voor luisteren, samenvatten en doorvragen en da’s een bekende gesprekstechniek - weinig hallucinant, maar minstens even belangrijk in het leven van een softwareontwikkelaar.

Over het hek van Chesterton

Ik ben niet vies van het refactoren van code die ik onduidelijk vind, of zelfs van weggooien van (meestal dode) code. Dat is een goede eigenschap wanneer je het met beleid doet en een slechte als het uit louter enthousiasme voorkomt. De eerste resulteert in helderder en eenvoudiger code, de tweede in buggy software. Waar zit hem precies het onderscheid in? Het antwoord vond ik in Software Engineering at Google in het hoofdstuk over kennisdeling.

Goede code documenteert zichzelf (niet)

Uit de code valt niet af te leiden wat de specificaties zouden moeten zijn. Om met David Hume (1711-1776) te spreken: een ought valt niet af te leiden uit een is. Wie zegt dat goede code zichzelf documenteert, maakt zich schuldig aan de naturalistische dwaling. En toch zit er een kern van waarheid in het idee dat goede code zichzelf documenteert.

Low code: een nieuw paradigma?

Een deel van de teams in het bedrijf waar ik voor werk is overgestapt op dat wat low code development wordt genoemd. In plaats van applicaties regel voor regel met de hand te schrijven, klikken ze deze in elkaar met behulp van een tool. Hoe verhoudt deze ontwikkelmethode zich tot “ouderwets” programmeren? Luidt low code een nieuw ontwikkelparadigma in?

Waarheid boven schoonheid

Anders dan Aristoteles, Kant en Wittgenstein, hebben we als softwareontwikkelaars de luxe ons niet bezig te hoeven houden met de metafysische grondstructuur van de werkelijkheid. Dat vereenvoudigt het ontwikkelen van onze applicaties aanzienlijk. Maar dezelfde hang naar schoonheid die ik bij filosofen zo amusant vind, duikt bij tijden ongemerkt in mijn eigen werk op.