Toon posts:

Programmeerconcepten

Pagina: 1
Acties:

Vraag


  • esv7
  • Registratie: Juli 2015
  • Laatst online: 27-10-2019
Recent heb ik een talk van Anjana Vakil gezien over verschillende paradigma, a.d.h.v. deze talk heb de paper Programming Paradigms for Dummies: What Every Programmer Should Know van Peter van Roy gelezen waaraan Anjana refereerde in haar talk.

Nu ben ik al een tijdje bezig met het functionele paradigma te ontdekken, en kan ik denk ik stellen dat ik een redelijke basis in het object georiënteerde paradigma heb. In de paper van van Roy schreef hij dat er vele paradigma zijn, en deze zijn ieder weer opgebouwd uit nog meer concepten. Helaas gaat die maar in op een hand vol concepten in deze paper, wel komt onderstaand diagram kort aan bod:




Nu vroeg ik mij af of iemand een goed boek of een goede website of iets weet waar ik wat meer over de verschillende concepten en paradigma kan leren, en dan specifiek anderen dan het OO, functionele en logische paradigma daar ik daarover wel redelijk wat kan vinden. Wat ik tot nu heb gevonden is een wikipedia artikel met een waslijst aan paradigma, echter worden deze bijzonder summier omschreven en niet welke concepten de paradigma omvatten en wat het voordeel hier van is.

Ik hoop dat mijn topic hier past anders mijn excuses.

Beste antwoord (via esv7 op 24-10-2018 19:58)


  • Z-Dragon
  • Registratie: December 2002
  • Laatst online: 08:30
Exercises in Programming Style door Cristina Videira Lopes is wellicht ook interessant voor je. Daarin wordt hetzelfde simpele programma in 33 verschillende stijlen getoond, steeds voorzien van toelichting. Ik heb het boek dubbel (nieuwe nagestuurd door Amazon omdat de eerste licht beschadigd was). Als je wilt, kan ik je 'm tegen verzendkosten doen toekomen (stuur maar een DM).

[Voor 31% gewijzigd door Z-Dragon op 22-10-2018 01:55]

^ Wat hij zegt.

Alle reacties


  • incaz
  • Registratie: Augustus 2012
  • Laatst online: 15-11-2022
Ik ken het boek niet, maar misschien is https://pragprog.com/book...-languages-in-seven-weeks interessant?

Never explain with stupidity where malice is a better explanation


  • mcdronkz
  • Registratie: Oktober 2003
  • Laatst online: 28-03-2022
Dat boek beschrijft enkel de drie paradigma waar OP aangeeft enigszins bekend mee te zijn:
en dan specifiek anderen dan het OO, functionele en logische paradigma daar ik daarover wel redelijk wat kan vinden
;)

OP: vanwaar de specifieke interesse in paradigma? Wat hoop je met die opgedane kennis te kunnen doen? Of is 't gewoon 'zomaar uit belangstelling'?

  • Sandor_Clegane
  • Registratie: Januari 2012
  • Niet online

Sandor_Clegane

Fancy plans and pants to match

Less alienation, more cooperation.


  • esv7
  • Registratie: Juli 2015
  • Laatst online: 27-10-2019
Zoals mcdronkz schrijft lijkt dit boe over het functionele, object-georiënteerde en logische paradigma te gaan, lijkt mij verder wel een interessant boek, heb hem op mijn lijstje gezet dankjewel. :)

  • esv7
  • Registratie: Juli 2015
  • Laatst online: 27-10-2019
mcdronkz schreef op zondag 21 oktober 2018 @ 22:51:
[...]


Dat boek beschrijft enkel de drie paradigma waar OP aangeeft enigszins bekend mee te zijn:


[...]


;)

OP: vanwaar de specifieke interesse in paradigma? Wat hoop je met die opgedane kennis te kunnen doen? Of is 't gewoon 'zomaar uit belangstelling'?
Allereerst vooral interesse, maar uiteindelijk hoop ik ook dat ik met de opgedane kennis misschien vanuit verschillende perspectieven naar een probleem kan kijken.

  • esv7
  • Registratie: Juli 2015
  • Laatst online: 27-10-2019
Dankjewel, deze ga ik vandaag of morgen eens kijken ben benieuwd. :)

  • RobIII
  • Registratie: December 2001
  • Laatst online: 13:54

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

@esv7 Gebruik a.u.b. de wijzig-link (rechtsbovenaan je post) als je iets toe te voegen hebt; je topic herhaaldelijk omhoogschoppen is niet nodig en die melding staat er niet voor niets:

https://tweakers.net/ext/f/rViZSDpQ5n2TpYCcyrDz83Jf/full.png

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • esv7
  • Registratie: Juli 2015
  • Laatst online: 27-10-2019
RobIII schreef op maandag 22 oktober 2018 @ 01:40:
@esv7 Gebruik a.u.b. de wijzig-link (rechtsbovenaan je post) als je iets toe te voegen hebt; je topic herhaaldelijk omhoogschoppen is niet nodig en die melding staat er niet voor niets:

En hoe quote ik dan meerdere mensen?

Acties:
  • Beste antwoord
  • +1Henk 'm!

  • Z-Dragon
  • Registratie: December 2002
  • Laatst online: 08:30
Exercises in Programming Style door Cristina Videira Lopes is wellicht ook interessant voor je. Daarin wordt hetzelfde simpele programma in 33 verschillende stijlen getoond, steeds voorzien van toelichting. Ik heb het boek dubbel (nieuwe nagestuurd door Amazon omdat de eerste licht beschadigd was). Als je wilt, kan ik je 'm tegen verzendkosten doen toekomen (stuur maar een DM).

[Voor 31% gewijzigd door Z-Dragon op 22-10-2018 01:55]

^ Wat hij zegt.


  • RobIII
  • Registratie: December 2001
  • Laatst online: 13:54

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

esv7 schreef op maandag 22 oktober 2018 @ 01:51:
[...]

En hoe quote ik dan meerdere mensen?
De makkelijkste manier is gewoon naar beneden scrollen en op "quote" klikken op de post die je wil quoten; de quote komt dan op de plek van de cursor te staan. Dat werkt niet met de quickreply onderaan de pagina, maar wel als je eenmaal een post hebt aangeklikt om te quoten.

Het is gewoon vervelend om een topic een aantal keren omhoog geschopt te zien worden, al helemaal als 't, in essentie, alleen maar "dank je" posts zijn.

Verder is dit offtopic en wil ik je dus graag verzoeken dit buiten dit topic te houden ;)

Heb je overigens al in ons [Alg] Centraal boekentopic - part II gekeken?

[Voor 38% gewijzigd door RobIII op 22-10-2018 02:01]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • mcdronkz
  • Registratie: Oktober 2003
  • Laatst online: 28-03-2022
esv7 schreef op maandag 22 oktober 2018 @ 01:27:
[...]

Allereerst vooral interesse, maar uiteindelijk hoop ik ook dat ik met de opgedane kennis misschien vanuit verschillende perspectieven naar een probleem kan kijken.
Als ik jou was, zou ik me gaan verdiepen in hetgeen dat alle programmeer-paradigma's verenigt. Uiteindelijk is 't niets magisch natuurlijk. Of je nu aan object-georiënteerd, functioneel, logisch of gestructureerd programmeren doet, de fundamentele concepten blijven gelijk. Denk aan zaken als abstractie, state, identity, tijd, processen, data-transformatie, modulariteit, enz. Ieder paradigma is een variatie op dergelijke thema's.

Waar je bijvoorbeeld in functionele code muteerbare zaken (state) zoveel mogelijk naar de randen van je systeem probeert te duwen, is OOP-code ermee doordrenkt. Dat leidt er bijvoorbeeld toe dat state en identity in OOP-code met elkaar verweven is. Die contrasten leer je begrijpen zodra je je in dergelijke fundamentele concepten gaat verdiepen.

SICP is een aanrader. Als je dat boek hebt doorgewerkt, kun je redelijk uit de voeten. ;)

  • mashell
  • Registratie: Maart 2000
  • Laatst online: 21-11-2019
Zijn deze schimmige paradigma's niet gewoon een manier om geld te verdienen? Een paar jaar terug waren "design patterns" erg hot. Dus ook ik dat boek gekocht en bij het doornemen viel ik van mijn stoel, het is gewoon een grote collectie open deuren. Sindsdien ben ik sceptisch tegenover dit soort terminologie. Mijn ervaring is, in de software engineering wordt erg veel nieuwer, mooier en interessanter voorgesteld dan het eigenlijk is.

  • RobIII
  • Registratie: December 2001
  • Laatst online: 13:54

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

mashell schreef op maandag 22 oktober 2018 @ 17:52:
Zijn deze schimmige paradigma's niet gewoon een manier om geld te verdienen? Een paar jaar terug waren "design patterns" erg hot.
Dat zijn wel effe twee heel verschillende dingen... En, in principe, verdient er natuurlijk niemand aan een design pattern of paradigma an-sich. Verkoop je er boeken over dan zul je er vast wel aan verdienen, maar het is niet alsof die zaken zijn uitgevonden om er op te verdienen nee. Ik kan ook een boek over zwaartekracht schrijven, ondanks dat het vrij evident is wat het doet en dat 't er is (even "basisschool zwaartekracht" genomen dan; ik heb 't niet over het immens complexe onderwerp zwaartekracht als je er in-depth op in gaat). Design patterns en paradigma's zouden linksom of rechtsom toch wel zijn ontstaan, commerciële intenties of niet. Die dingen zijn een beetje wat de natuur ook doet: (door)evolutie van dingen totdat een probleem geen probleem meer is.

[Voor 12% gewijzigd door RobIII op 22-10-2018 18:52]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Ulster Seedling
  • Registratie: December 2007
  • Laatst online: 07:36

Ulster Seedling

“Middelgrote appel”

Z-Dragon schreef op maandag 22 oktober 2018 @ 01:51:
Exercises in Programming Style door Cristina Videira Lopes is wellicht ook interessant voor je. Daarin wordt hetzelfde simpele programma in 33 verschillende stijlen getoond, steeds voorzien van toelichting. Ik heb het boek dubbel (nieuwe nagestuurd door Amazon omdat de eerste licht beschadigd was). Als je wilt, kan ik je 'm tegen verzendkosten doen toekomen (stuur maar een DM).
Klinkt interessant! Mocht TS niet geïnteresseerd zijn, dan houd ik me aanbevolen :Y

“(…) met een rode blos op een geelgroene ondergrond.” Volgens Wikipedia tenminste.


  • esv7
  • Registratie: Juli 2015
  • Laatst online: 27-10-2019
Z-Dragon schreef op maandag 22 oktober 2018 @ 01:51:
Exercises in Programming Style door Cristina Videira Lopes is wellicht ook interessant voor je. Daarin wordt hetzelfde simpele programma in 33 verschillende stijlen getoond, steeds voorzien van toelichting. Ik heb het boek dubbel (nieuwe nagestuurd door Amazon omdat de eerste licht beschadigd was). Als je wilt, kan ik je 'm tegen verzendkosten doen toekomen (stuur maar een DM).
Dit klinkt inderdaad als wat ik zoek ja, ik heb je een DM gestuurd.
mcdronkz schreef op maandag 22 oktober 2018 @ 02:41:
[...]


Als ik jou was, zou ik me gaan verdiepen in hetgeen dat alle programmeer-paradigma's verenigt. Uiteindelijk is 't niets magisch natuurlijk. Of je nu aan object-georiënteerd, functioneel, logisch of gestructureerd programmeren doet, de fundamentele concepten blijven gelijk. Denk aan zaken als abstractie, state, identity, tijd, processen, data-transformatie, modulariteit, enz. Ieder paradigma is een variatie op dergelijke thema's.

Waar je bijvoorbeeld in functionele code muteerbare zaken (state) zoveel mogelijk naar de randen van je systeem probeert te duwen, is OOP-code ermee doordrenkt. Dat leidt er bijvoorbeeld toe dat state en identity in OOP-code met elkaar verweven is. Die contrasten leer je begrijpen zodra je je in dergelijke fundamentele concepten gaat verdiepen.

SICP is een aanrader. Als je dat boek hebt doorgewerkt, kun je redelijk uit de voeten. ;)
Ja dat probeer ik ook voor een deel te vinden, de concepten waar die paradigma, maar het leek mij ook goed om te kijken hoe die concepten dan samen gebruikt worden in een paradigma. En ook een soort overzicht om verder te kunnen navigeren. Dat boek heb ik trouwens op mijn lijstje van te lezen boeken gezet, ik hoorde daar Robert C Martin in een video ook al over toevallig.
mashell schreef op maandag 22 oktober 2018 @ 17:52:
Zijn deze schimmige paradigma's niet gewoon een manier om geld te verdienen? Een paar jaar terug waren "design patterns" erg hot. Dus ook ik dat boek gekocht en bij het doornemen viel ik van mijn stoel, het is gewoon een grote collectie open deuren. Sindsdien ben ik sceptisch tegenover dit soort terminologie. Mijn ervaring is, in de software engineering wordt erg veel nieuwer, mooier en interessanter voorgesteld dan het eigenlijk is.
Hmmm zijn de design patterns ook niet goed om te kennen dan? Ik had altijd het idee dat Design Patterns van de Gang of Four wel een must have was voor programmeurs. :o Zover ik tot dusver heb kunnen achterhalen zijn deze paradigma niet schimmig, of met een marketing insteek gemaakt. De meeste die ik tot nu toe heb gevonden hebben de oorsprong in een deelgebied van de wiskunde, zoals naar ik meen het functionele paradigma in de lambda calculus.

  • mcdronkz
  • Registratie: Oktober 2003
  • Laatst online: 28-03-2022
mashell schreef op maandag 22 oktober 2018 @ 17:52:
Zijn deze schimmige paradigma's niet gewoon een manier om geld te verdienen? Een paar jaar terug waren "design patterns" erg hot. Dus ook ik dat boek gekocht en bij het doornemen viel ik van mijn stoel, het is gewoon een grote collectie open deuren.
Misschien dat je design patterns niet helemaal naar hun juiste waarde schat. Snap ik best. Ik heb collega's gehad die design patterns als een achtste wereldwonder aanprezen, het boek als een religieus relikwie beschouwden en voortdurend naar manieren zochten om ze zoveel mogelijk in hun code aan te wenden. Kuddegedrag in optima forma. Niet meer dan logisch dat er onjuiste verwachtingen ontstaan.

Design patterns zijn in feite niets meer dan in zekere mate pasklare, beproefde oplossingen voor wederkerende problemen.

In principe zou iedere enigszins competente en vindingrijke programmeur zelf met dergelijke oplossingen op de proppen moeten kunnen komen wanneer hij met een probleem wordt geconfronteerd. 't Is echter geen schande om inspiratie op te doen van bestaand werk om te voorkomen dat je het wiel opnieuw moet uitvinden. Bovendien kun je worden gewezen op een oplossing die je zelf nooit had kunnen bedenken. Dat neemt echter niet weg dat je zelf verantwoordelijk bent voor het correct toepassen van zo'n bestaande oplossing, en alleen wanneer het probleem zich daarvoor leent.

De belangrijkste toegevoegde waarde moet wat mij betreft worden gezocht in de creatie van een gemeenschappelijke vocabulaire. Het zou bijzonder onhandig zijn als er steeds gerefereerd moest worden naar "die houten steel van pakweg een centimeter of 20 waar een ijzeren kop op is gemonteerd" als 't over een hamer gaat. Zo is 't dus ook erg handig dat men precies weet wat je bedoelt wanneer je naar het Adapter-, Factory- of Observer-patroon verwijst.

  • Hydra
  • Registratie: September 2000
  • Laatst online: 05:57
esv7 schreef op maandag 22 oktober 2018 @ 19:56:
Hmmm zijn de design patterns ook niet goed om te kennen dan? Ik had altijd het idee dat Design Patterns van de Gang of Four wel een must have was voor programmeurs. :o
Zijn ze ook. Gezeur om niks. Het zijn gewoon veelvoorkomende patronen (patterns) met bijbehorende oplossingen. Een van de beste boeken die je kunt lezen. Scheelt ook nogal in je communicatie als je gewoon uit kunt leggen dat je het Visitor pattern gebruikt hebt i.p.v. een half uur bezig bent het uit te leggen.

https://niels.nu


  • mashell
  • Registratie: Maart 2000
  • Laatst online: 21-11-2019
esv7 schreef op maandag 22 oktober 2018 @ 19:56:
[...]
Hmmm zijn de design patterns ook niet goed om te kennen dan? Ik had altijd het idee dat Design Patterns van de Gang of Four wel een must have was voor programmeurs.
Ze zijn zeker nuttig. Maar geen uitvinding. Ze zijn gewoon een beschrijving van wat eigenlijk gewoon common practice is. Handig voor beginners maar als je al wat langer mee loopt ken je de concepten al wel zonder de namen of de inhoud van het boek te kennen. Ik zie het meer als een studieboek voor beginners dan als verdieping voor ervaren ontwikkelaars.

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 13:09
Hydra schreef op dinsdag 23 oktober 2018 @ 08:14:
[...]


Zijn ze ook. Gezeur om niks. Het zijn gewoon veelvoorkomende patronen (patterns) met bijbehorende oplossingen. Een van de beste boeken die je kunt lezen. Scheelt ook nogal in je communicatie als je gewoon uit kunt leggen dat je het Visitor pattern gebruikt hebt i.p.v. een half uur bezig bent het uit te leggen.
Wat vaak helaas nog wel eens vergeten wordt is dat Design Patterns een manier zijn om een probleem op te lossen, en niet een doel an sich. Je loopt bij het programmeren ongeheid tegen bepaalde problemen aan, en meestal zijn dat veel voorkomende problemen en daar is dan al een oplossing voor uitgedacht in de vorm van een design pattern. Er dan gebruik van maken is natuurljk alleen maar goed (ook omdat andere programmeurs het pattern vaak herkennen, e.d.).

Als ik kijk naar wat ik zelf tegen ben gekomen, en soms nog steeds tegen kom, is dat design patterns worden gebruikt als doel en niet zozeer als oplossing. En dat vind ik gewoon fout. En dan heb ik het niet over situaties waarbij er een stukje wat lijkt op een pattern alvast in de code staat voor iets wat later op de roadmap staat (zoals een pseudo-strattegy pattern met op dat moment slechts een implementatie).
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee