Poll
image

Hoeveel programmeertalen beheers jij?

dinsdag 23 april 2019, 12:26 door Redactie, 16 reacties
Geen
31.45%
1
10.67%
2
15.6%
3 - 5
26.43%
5 - 10
7.36%
10+
4.04%
All of them!
4.45%
Reacties (16)
23-04-2019, 12:58 door Bladie
Wanneer "beheers" je een taal? Ik neem dan maar als referentie dat je - zonder veel in de boeken te kijken - met een taal "alles" kunt. Dan kom ik op max 5 uit. Met nog zo'n 5 heb ik wat meer opzoekwerk nodig (vooral om oude kennis te verversen) en met nog zo'n 5 zou ik na een verfrissingscursus mij weer aardig kunnen redden.
23-04-2019, 13:37 door Anoniem
"All of them!"

Get out of here !
23-04-2019, 14:02 door Anoniem
Door Bladie: Wanneer "beheers" je een taal?
Inderdaad. Als ik op een rijtje zet met welke talen ik intensief genoeg heb gewerkt om er vaardig, handig, vlot in te zijn geworden dan zijn dat er een stuk of 8. Maar niet tegelijk, vaardigheden slijten weer als je ze niet gebruikt.

Als ik kijk naar met welke talen ik genoeg in aanraking ben geweest om er iets van op te steken dat ik van werken met andere talen niet leerde, dan weet ik dat ik ooit tot een stuk of 20 wist te komen, al lukt het me op dit moment niet meer om er zoveel uit mijn geheugen te persen. Daar zitten behalve assembler (meerdere eigenlijk) ook talen als Prolog en Haskell bij.

Met iets leren bedoel ik behalve wezenlijke concepten als functioneel programmeren of objectoriëntatie ook bijvoorbeeld leren hoe totaal fucked up een zwak getypeerde taal is waar de +-operator op twee invoervelden een stringconcatenatie is behalve wanneer in beide velden alleen cijfers zijn ingetypt, dan is het opeens de optelling van twee integers. Ook dat vind ik nuttig om aan den lijve ondervonden te hebben, als je zelf de consequenties ervan op moet vangen komt dat indringender aan dan wanneer je het alleen maar ergens beschreven ziet worden. Ik heb trouwens geen idee meer welke taal dit geweest kan zijn, maar wel dat ik meemaakte dat deze eigenschap een bron van bizarre bugs was in een toepassing waar ik ooit ergens de pech had mee te maken te krijgen.

Terug naar talen waar ik jaren mee gewerkt heb en die ik dus "beheers" of "beheerste": zelfs na jaren kan je erachter komen dat er nog verrassende dingen te leren zijn die je nog niet eerder nodig of in de gaten had, soms in de mogelijkheden van de taal zelf, soms in de standard library bij die taal.

En hoeveel talen ik nu beheers? Dat is er denk ik maar 1 (en dat is het antwoord dat ik geef). De rest heb ik al tijden niet of nauwelijks gebruikt. Dat wil niet zeggen dat ik de beheersing van talen die inmiddels niet al te sterk veranderd zijn niet in een hoog tempo zou kunnen oppikken als ik er weer mee zou gaan werken, ik denk dat ik net als mijn vaardigheid om te fietsen bepaalde manieren van denken, met hun mogelijkheden en beperkingen, in essentie nog heb. Maar als ik op een COBOL-, Perl-, Java- of C#-"fiets" stap zal ik vast wel eerst een tijdje slingeren voor ik weer stabiel rijd, en dat noem ik niet "beheersen".
23-04-2019, 14:21 door Briolet
Door Bladie: …Dan kom ik op max 5 uit. …

Dan heb je direct een probleem. Waar vul je 5 in? bij de 3e of 4e optie?

Sommige talen verleer je weer snel als je er niet steeds mee werkt. Bij iets Algol of Fortran zou ik echt weer de boeken er bij moeten pakken. Basic heb ik ook al geen 25 jaar gebruikt, maar daar zou ik zo weer mee kunnen beginnen. (denk ik).

Met parate kennis aan talen heb ik ook genoeg aan één hand om ze te tellen.

En wanneer is iets een scripting taal en wanneer een echte programmeertaal?
23-04-2019, 14:59 door Bladie
Dan heb je direct een probleem. Waar vul je 5 in? bij de 3e of 4e optie?
Ik heb 3-5 ingevuld...

En wanneer is iets een scripting taal en wanneer een echte programmeertaal?
Inderdaad, dat is een goed punt; persoonlijk denk ik dat ksh/bash en awk als programmeertaal meetellen maar op het randje... of moet je ksh alleen samen met de "little UNIX-languages" (sed, awk, ...) als een geheel tellen?
23-04-2019, 19:33 door Anoniem
3 tot 5, ik vrees alleen dat Basic en Z80 assembly niet meer zo relevant zijn :)
23-04-2019, 20:11 door Anoniem
Assembly, C, C++, Delphi/Object Pascal, en VHDL. Al is dat laatste uiteraard niet echt een "programmeertaal" maar een "beschrijvingstaal"
24-04-2019, 06:49 door Anoniem
Ooit: 'C', Pascal, Basic, Z80 assembly, HP 11C en een beetje LISP.
Nu: Een beetje scripting, verder kom ik niet meer.
24-04-2019, 08:51 door Anoniem
42 natuurlijk :-)
24-04-2019, 14:24 door Anoniem
Basic, dBase 3 programeertaal, Oracle SQL en PL-SQL (maar die twee zie ik als 1 geheel), C, C++, een beetje Java, R (?), en awk/ksh, etc.

Met Oracle werk ik nog steeds dagelijks.
En ik heb zelfs Basic laatst nog uit de kast moeten trekken. Dat riep de nodige jeugdherinneringen op. Dat was mijn opfris momentje.
24-04-2019, 15:50 door Anoniem
Schokkend, die onderwijsvernieuwingen. De 10+ is nog maar 4% Maar allemaal geleerd om voor zichzelf op te komen en hardnekkig vol te houden dat ze hun vak beheersen.

Er loopt veel verkeerd geprogrammeerd rond. Dat blijkt maar weer eens.
25-04-2019, 09:06 door Anoniem
Door Briolet: En wanneer is iets een scripting taal en wanneer een echte programmeertaal?
Elke taal die Turing-compleet is is wat mij betreft een echte programmeertaal, inclusief de meeste scripttalen. Of een taal geschikt is voor elke toepassing is een andere vraag, en die vraag vind ik zinvoller dan de vraag of je iets een scripttaal noemt of niet.

Maar laat ik toch een poging wagen.

Het de betekenis van het woord script in de automatisering lijkt afgeleid te zijn van de betekenis draaiboek, niet van geschrift. Het wordt gebruikt voor een programma dat een of meer andere programma's aanstuurt. Dat levert twee heel verschillende groepen op (en wellicht andere waar ik nu niet bij stilsta):

• een taal die binnen een applicatie wordt gebruikt om daarin dingen aan te sturen, zoals VBA (of wat tegenwoordig gebruikt wordt) binnen MS Office (het begrip scripttaal overlapt daar met macrotaal) en JavaScript binnen webbrowsers/-pagina's;
• een taal waarmee je programma's die specifieke taken uitvoeren kan samenlijmen tot een groter geheel ("glue languages"), zoals bat- en cmd-files op Window, shell scripts op Linux/Unix, JCL op mainframes.

Die categorieën zijn niet scherp te begrenzen. Er zijn meerdere standalone interpreters voor bijvoorbeeld JavaScript, en die taal wordt ook server-side gebruikt op een manier die ik niet meer scripting zou noemen. In Python kan je volwaardige applicaties schrijven en het is ook goed in te zetten als "glue language", wat mij betreft vaak makkelijker dan bijvoorbeeld bash-scripts omdat het geëmmer van bijvoorbeeld argumenten met spaties erin goed afhandelen al snel de eenvoud van shell-syntax overschaduwt.

Als categorieën niet scherp te begrenzen zijn dan kan je je afvragen hoe betekenisvol ze eigenlijk zijn. Zoals ik al aangaf is wat mij betreft is de vraag of iets wel of geen scripttaal is oninteressant en gaat het erom of de gebruikte taal geschikt is voor het doel waarvoor je hem wilt inzetten.
25-04-2019, 11:36 door Anoniem
Door Anoniem:
Door Briolet: En wanneer is iets een scripting taal en wanneer een echte programmeertaal?
Elke taal die Turing-compleet is is wat mij betreft een echte programmeertaal, inclusief de meeste scripttalen..

/me voegt brainfuck toe aan mijn lijstje.
25-04-2019, 14:56 door Anoniem
Door Anoniem:
Door Bladie: Wanneer "beheers" je een taal?
Inderdaad. Als ik op een rijtje zet met welke talen ik intensief genoeg heb gewerkt om er vaardig, handig, vlot in te zijn geworden dan zijn dat er een stuk of 8. Maar niet tegelijk, vaardigheden slijten weer als je ze niet gebruikt.
Goede vraag, maar ik denk dat jullie beiden mischien iets te recht-door-zee willen zijn. Tenminste, als je het vergelijkt met de vele mensen die zeggen meester te zijn in d'ene of d'andere taal en vervolgens niets presteren ("Brillant Paula Bean"), waar er ook best het een en ander van rondhobbelt. Maargoed, die moet je ook niets vragen, leren Dunning en Kruger ons.

Persoonlijk tel ik talen waar ik redelijk wat mee gestoeid heb, waar ik me senang bij voel, en waar ik, zij het zo, zij het met een beetje hulp uit de handboeken, gedaan in krijg wat ik gedaan wil krijgen. Wat dan opgaat voor C, C++, bourne shell, awk, (x86) assembly, zelfs (Turbo) Pascal al heb ik dat al jaren niet meer gebruikt, en nog zo een paar.

Dat is dus een duidelijk lagere lat dan bijvoorbeeld niveautje "Language Lawyer", waar ik voor sommige talen zelfs wel in de buurt ben geweest maar dat ben ik eigenlijk allemaal vergeten.

Maar het is wel een hogere lat dan "plug ieder (deel)probleem in google en kijk welk gekopieerde antwoord op stackoverflow lijkt te werken dan tenminste de minste errors geeft", wat voor sommige talen zelfs de main usage mode blijkt te zijn. (Je weet zelf wel welke talen en als je die hebt meegeteld, nouja, dan ligt jouw lat dus lager.)

Als ik kijk naar met welke talen ik genoeg in aanraking ben geweest om er iets van op te steken dat ik van werken met andere talen niet leerde,
Tellen "wat een vreselijke taal is dit toch!" en "waarom leggen mensen serieus hun ziel en zaligheid in deze rommel?!?"?

Met iets leren bedoel ik behalve wezenlijke concepten als functioneel programmeren of objectoriëntatie ook bijvoorbeeld leren hoe totaal fucked up een zwak getypeerde taal is waar de +-operator op twee invoervelden een stringconcatenatie is behalve wanneer in beide velden alleen cijfers zijn ingetypt, dan is het opeens de optelling van twee integers.
De WAT talk en/of "a fractal of bad design" documenteren twee zulke taaltjes, maar er zijn er vast meer.

Gerelateerd is "execution in the kingdom of nouns", ook al is dat een totaal andere failure mode.

En hoeveel talen ik nu beheers? Dat is er denk ik maar 1 (en dat is het antwoord dat ik geef). De rest heb ik al tijden niet of nauwelijks gebruikt. Dat wil niet zeggen dat ik de beheersing van talen die inmiddels niet al te sterk veranderd zijn niet in een hoog tempo zou kunnen oppikken als ik er weer mee zou gaan werken, ik denk dat ik net als mijn vaardigheid om te fietsen bepaalde manieren van denken, met hun mogelijkheden en beperkingen, in essentie nog heb. Maar als ik op een COBOL-, Perl-, Java- of C#-"fiets" stap zal ik vast wel eerst een tijdje slingeren voor ik weer stabiel rijd, en dat noem ik niet "beheersen".
Het punt is natuurlijk dat je vrij vlot ophoudt met zwalken, waar iemand die net begint duidelijk meer tijd nodig zal hebben, of er zelfs helemaal nooit zal komen. (Niet iedereen kan bijvoorbeeld pointers leren, gek genoeg--was ooit een draft paper over.) En als je meer talen gezien hebt, zeker binnen dezelfde klasse talen, dan breng je niet alleen meer gezichtspunten mee maar leer je ook makkelijker en sneller deze taal. Als de enige manier om dat uit te drukken in "aantal talen" is, nou, wees dan maar een klein beetje minder strikt.

Valt trouwens ook op dat degene die de poll geklust heeft zoveel overlap in de opties heeft laten zitten. Dat was vast geen (kundig) programmeur, want die zien dat onmiddelijk.


Door Anoniem:
Door Briolet: En wanneer is iets een scripting taal en wanneer een echte programmeertaal?
Elke taal die Turing-compleet is is wat mij betreft een echte programmeertaal, inclusief de meeste scripttalen.
Dan valt SQL er ook onder, sinds RECURSE. En allerlei esotherische grapjes als brainfuck, intercal, en malbolge.

Het de betekenis van het woord script in de automatisering lijkt afgeleid te zijn van de betekenis draaiboek, niet van geschrift.
Dit klopt wel aardig.

Het wordt gebruikt voor een programma dat een of meer andere programma's aanstuurt.
Ik denk dat dat nog zelfs een beetje te strikt is, maar het komt in de buurt. Bourne shell bijvoorbeeld is specifiek voor dit aansturen bedoeld. Maar je kan dan ook een C-programma van een paar regels waar de hoofdmoot bestaat uit system() oid ook als "script" beschrijven ondanks dat ik C niet snel een scripttaal zal noemen omdat dat niet de hoofdmoot is van waar de taal voor gebruikt wordt.

Die categorieën zijn niet scherp te begrenzen.
Niet echt, en er zit ook een stukje overlap in met gecompileerd versus geinterpreteerd.

Ik schrijf wel eens kleine stukjes C om een klein taakje te vervullen in een groter geheel dat aanelkaar gelijmd wordt door bourne shell. Die stukjes zie ik ook als behorende bij de categorie "script". Terwijl een shell script dat zich gedraagt als programma, met een usage, opties, nette foutafhandeling, etc. ook al is het puur command line, wat mij betreft al aardig richting "programma" schuift.

Er zijn meerdere standalone interpreters voor bijvoorbeeld JavaScript, en die taal wordt ook server-side gebruikt op een manier die ik niet meer scripting zou noemen.
Dat stuurt dan de webserver aan. Ook al zou de webserver ondertussen in javascript geschreven zijn. Noem me maar bevooroordeeld, ik heb echt moeite om die rommel voor vol aan te zien. Heb ik met wel meer taaltjes, naar mijn mening met reden.

In Python kan je volwaardige applicaties schrijven en het is ook goed in te zetten als "glue language",
Dat laatste ben ik met je eens. Dat eerste... hmmm, ongeveer net zo volwaardig als java: Je moet een hele bak ellende installeren voordat je je net geinstalleerde "volwaardige applicatie" kan gaan bekijken. Dat vind ik als eindgebruiker niet prettig. En dat sentiment blijft geldig ook als de vereisten "toch al" op mijn computer aanwezig zouden zijn vanwege een andere "volwaardige applicatie". Er zijn wel meer taaltjes die daar last van hebben, wat dan maar al te makkelijk tot een hele dierentuin aan "volwaardige applicatie"-vereisten op m'n arme systeempje kan leiden. Niet prettig.

wat mij betreft vaak makkelijker dan bijvoorbeeld bash-scripts omdat het geëmmer van bijvoorbeeld argumenten met spaties erin goed afhandelen al snel de eenvoud van shell-syntax overschaduwt.
Heb ik niet zoveel problemen mee, maar het telt wel mee in mijn gereedschapskeuze om het onderhavige probleem op te lossen.

Als categorieën niet scherp te begrenzen zijn dan kan je je afvragen hoe betekenisvol ze eigenlijk zijn.
Niet heel erg, maar het zegt wel iets over de typen gebruik die je ervan kan verwachten. Ondertussen zie je dat de industrie verschoven is naar bijkans zoveel mogelijk hulpbronnen verpatsen, dus dan hebben minder efficiente taaltjes een streepje voor en dat draagt ook bij aan het vervagen van het onderscheid.

Zoals ik al aangaf is wat mij betreft is de vraag of iets wel of geen scripttaal is oninteressant en gaat het erom of de gebruikte taal geschikt is voor het doel waarvoor je hem wilt inzetten.
Voor de vraagstelling hier maakt het zeker niet uit.

Je kan je wel afvragen wat "een programmeertaal" is cq. wanneer houdt de ene op en begint een andere? Tel je scheme en common lisp als een of als twee talen? MBASIC, GW-BASIC, Q-BASIC en Visual Basic? VB en VBA? En zo verder.
25-04-2019, 16:27 door Bladie
/me voegt brainfuck toe aan mijn lijstje.
Brainfuck is zoiets als een cyberwapen dat verboden zou moeten worden :-)
26-04-2019, 10:01 door Anoniem
Volgens wikipedia zijn dit programmeertalen:

https://en.wikipedia.org/wiki/List_of_programming_languages

en

https://nl.wikipedia.org/wiki/Lijst_van_programmeertalen
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.