Leslie Lamport, 81, is een Amerikaanse computerwetenschappelijke onderzoeker. Hij ontving de Turingprijs 2013 (beschouwd als de Nobelprijs voor informatica, voor zijn werk aan gedistribueerde systemen) en is de ontwerper van het gratis LaTeX-programma voor het maken van documenten. Zijn naam is niet bij iedereen bekend, maar zijn collega’s zijn het erover eens dat het werk van Lamport de cloudinfrastructuur van Google en Amazon mogelijk heeft gemaakt. Hij vestigde ook de aandacht op een groep problemen en gaf ze onderscheidende namen zoals “het bakkerij-algoritme” en “het probleem van de Byzantijnse generaals”.
Zijn werk op het gebied van informatica was wiskunde, op het gebied van algoritmen en bewijzen, wat enigszins zou verschillen van programmeren, dat op zijn beurt weinig te maken zou hebben met “bitcode” in welke taal dan ook. Voor hem zijn dit twee gescheiden werelden, die hij in één zin samenvat: mensen verwarren programmeren met coderen. In feite is het splitsen van de code om te programmeren wat het betekent om te schrijven om erachter te komen hoe je een roman schrijft. Lamport is buitengewoon geïnteresseerd in hoe mensen software gebruiken en erover denken.
Leslie Lamport zorgde voor een revolutie in de manier waarop computers met elkaar praten. Hij is nu aan het uitzoeken hoe ingenieurs over hun machines praten. In het interview van deze week besprak Lamport enkele van zijn werk, zoals de TLA+-specificatietaal (die Lamport de afgelopen decennia heeft ontwikkeld, de TLA+-specificatietaal). [Temporal Logic of Actions] Het stelt ingenieurs in staat programmadoelstellingen op een precieze en wiskundige manier te beschrijven), en vermeldt ook enkele van de redenen waarom wiskunde een prominente plaats inneemt in programmeren.
Over wiskunde gesproken, Lamport zei dat hij denkt dat programmeurs meer tijd besteden aan het schrijven van code dan erover na te denken. Het belang van denken en schrijven vóór het programmeren moet worden onderwezen in niet-gegradueerde informaticacursussen en dat is het niet. De reden is dat er geen communicatie is tussen degenen die leren programmeren en degenen die het validatieprogramma doceren. Van wat ik heb gezien, ligt de fout aan beide kanten van deze kloof. Hij zei dat mensen die programmeren doceren niet de validatie kennen die ze nodig hebben.
Mensen die verificatie doceren, begrijpen niet hoe ze het in de praktijk moeten toepassen en gebruiken. Zolang dit gat niet gedicht is, zal TLA+ geen groot aantal gebruikers vinden. Ik hoop dat ik in ieder geval de mensen die lesgeven in gelijktijdig programmeren kan laten begrijpen dat ze het nodig hebben. Hij voegde eraan toe dat er misschien enige hoop is. Lamport zei dat hij niet blij is met de manier waarop informatica tegenwoordig wordt onderwezen. Onderwijsprogramma’s zijn volgens hem onvoldoende gericht op wiskundig redeneren. Een standpunt verworpen door de Amerikaanse onderzoeker.
Als je het echt goed wilt doen, zei Lamport, moet je je algoritme schrijven in termen van wiskunde. Dus hoe structureer je een undergraduate-programma? Ik ben geen leraar, antwoordde Lamport, dus ik weet niet hoe ik ze moet onderwijzen. Maar ik weet wat mensen moeten leren. Ze moeten niet bang zijn voor wiskunde. Het is een simpele rekensom die ze misschien hebben bestudeerd, maar niet weten hoe ze het moeten gebruiken. Ze weten niet wat het is. Ze leren genoeg om een examen te halen en vergeten het dan.
Verwijzend naar het populaire idee dat “er schoonheid is in wiskunde”, werd Lamport gevraagd of hij ook schoonheid zag in algoritmen. In dit verband antwoordde de computerwetenschapper: ik denk niet in termen van esthetiek. Ik voel waarschijnlijk hetzelfde soort gevoelens als andere mensen, maar ik gebruik gewoon andere woorden om het uit te drukken. Ik zou niet zeggen dat het algoritme mooi is. Maar eenvoud is iets waar ik veel waarde aan hecht. Lamport is niet de eerste die een nauwe relatie legt tussen programmeren en wiskunde.
In het universitaire systeem wordt informatica geclassificeerd als een “harde” wetenschap, in tegenstelling tot de sociale wetenschappen en geesteswetenschappen. Het onderwijzen van wiskunde en de nauwkeurigheid die het met zich meebrengt, lijken dus essentieel in de informaticasector. Wiskunde is het hulpmiddel [incontournable] om gespecialiseerde problemen op te lossen”, schreef Facebook-ingenieur Walter Schulze in 2019. kan blijken Dit merkt op met een lijst van ten minste drie gebieden die buiten het bereik van derden liggen onder een fundamenteel niveau in de wiskunde: het programmeren van videogames, kunstmatige intelligentie en classificatie van webpagina’s.
Grafisch programmeren in games en films vereist inderdaad kennis van natuurkunde, maar aangezien exacte natuurkunde te duur kan zijn om goed te simuleren, gebruiken we over het algemeen numerieke methoden uit de wiskunde. Bijvoorbeeld integratie met de methode van Verlet om lappenpoppen te simuleren”, legt hij uit. In een blog destijds zei Walter Schulz eenvoudigweg dat hij er spijt van had wiskunde op de universiteit te hebben verwaarloosd. Velen in de computerindustrie zeggen echter dat ze wiskunde nooit nodig hebben gehad in hun werk .
Ter herinnering: door een gebrek aan IT-talent hebben sommige mensen niet-IT-banen opgegeven (restauranteigenaar, taxichauffeur, leraar op een basisschool, enz.) met betrekking tot bij ontwikkelaars van de afgelopen jaren. Naast een studie gepubliceerd in juni 2020 genoemd Hersenscans onthulden dat codering dezelfde regio’s gebruikt als die geassocieerd met natuurlijke taalverwerking.
De studie geeft aan dat programmeren meer vaardigheden in talen vereist dan wiskunde. hij is zal kijken Programmeren is dus onderverdeeld in twee categorieën taken: voor de ene (kunstmatige intelligentie, gedistribueerde systemen, videogames, enz.) is een sterke kennis van wiskunde vereist, terwijl de andere (ontwikkelaars van eenvoudige oplossingen) slechts gedeeltelijke kennis vereist.
Jij ook?
Wat denk jij ervan?
Wat vind je van Lamports uitspraken in de wiskunde?
Wat vindt u van het belang en de rol van wiskunde bij het programmeren?
Denk je dat een sterke kennis van wiskunde nodig is om een goede programmeur te zijn?
Denk je dat programmeren sommige taken heeft die een sterke wiskundige kennis vereisen en andere die dat niet doen?
Zie ook
Uit onderzoek blijkt dat meer gendergelijkheid minder vrouwen in STEM betekent
“Muziekfanaat. Professionele probleemoplosser. Lezer. Bekroonde tv-ninja.”
More Stories
Artsen roepen op tot systematisch onderzoek van toekomstige moeders
Zand om voortplanting bij planten te voorkomen
Een nieuwe studie onthult veelbelovende resultaten