Toon posts:

[C++] Pointerless programming

Pagina: 1
Acties:
  • 115 views sinds 30-01-2008

Verwijderd

Topicstarter
In het kader van mijn studie ben ik bezig met een pragmatisch onderzoek naar het theorama om het gebruik van pointers binnen C++ uit te bannen. Binnen de academie waar ik mijzelf bij mag cumuleren is er een kwestie neergelegd waarbij er uit gegaan wordt van een bepaalde extravagantie binnen het developersressort.

Diverse mensen voeren een prudente hantering bij het uitvoeren van hun functie. In het kader van dit streven tot een ongekrente finaliteit binnen de scope van de softwareontwikkeling in het algemeen is het noodzakelijk om bepaalde maximes te handhaven. Als onderdeel van mijn geschrift doe ik hierbij gedegen onderzoek naar de verschillende diciplines van mijn vakgebied.

Om in een welomgeschreven termijn te spreken is het gebruik van pointers discutabel en hebben er de afgelopen decennia dan ook vele lieden gecontesteerd.

Vele platforms gaan kwintessens er vanuit dat memory mapping coherent aan data storage is. Dit terwijl er in het verleden verschillende besognes zijn geweest vanwege dit grondbeginsel. We kunnen ons allen nog de UNIVAC-affaire nog als de dag van gisteren heugenen neem ik aan. Waarbij de indolentie er toe heeft geleid om uiteindelijk het hele concept te supprimeren.

Vanaf dat moment is het zaak geworden om prioriteit te stellen aan adequate software development met daarbij een lage ROI. Om het emenderingsproces verder te versnellen zijn er diverse instituten opgericht om de voortgang en de deugdelijkheid van software in het algemeen te verbeteren. Om een voorbeeld de noemen: ANSI, STL.

Met het kaliber aan memory footprints die de STL-source headers gebruiken heeft het velen doen bepeinzen of deze technieken moeten worden geëxerceerd. Uiteindelijk kan er gesteld worden dat het gebruik ervan bijdraagt aan een algemene recuperatie van de software development.

Uitgaande van het multi-paradigmatale van C++ heb ik eigenlijk een drietal deliberatiepunten:
1) Naar mijn opinie is het raadzaam om het gebruik van pointers in combinatie met linked memory accessing te vermijden. Op de eerste plaats zouden eigenlijk de pointers op zichzelf moeten worden gereduceerd.
2) Het gebruik van pointers kan er toe leiden dat er memory corruption of data exhaustion op treed binnen de gebruikte data layers. Ook het gebruik van libaries zoals STL kan leiden tot broosheid van de software, echter moet altijd het voordeel worden afgewogen tegen oprichten van fundamentsopbouw van nieuwe bibliotheken.
3) Wanneer er gebruik wordt gemaakt van software van derde partijen, welke wel pointers utiliseert, hoe dient er dan te worden gehandeld met deze processen. Het potentiële risico is meestal pover ten opzichten van de voordelen.

Hopende hiermee duidelijk uiteen te hebben gezet wat mijn toeleg in deze zaak. Ik heb mij overigens speciaal geïmmatriculeerd voor deze post, ik bezoek deze fora al veel langer.

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Eh, volgens mij gewoon onmogelijk. Twee redenen:

Variables die geen pointer zijn, komen op de stack. De hoeveelheid stack space per proces is beperkt.
Arrays zijn per definitie in de taal pointers.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 01-12 18:44

Haan

dotnetter

offtopic:
soms is het taalgebruik in topicstarts van bedroevend laag niveau, maar dit is weer het andere uiterste... ik beheers de Nederlandse taal best goed, maar ik moet haast een woordenboek gebruiken om je verhaal te kunnen lezen. ;) Ik denk dat ik niet de enige ben die hierdoor je verhaal nogal moeilijk te begrijpen zal vinden.

Kater? Eerst water, de rest komt later


Verwijderd

Topicstarter
Mijn dank voor dit schielijke repliek. Op basis van mijn bevindingen zou ik voorop willen stellen dat het gebruik van variabelen een rekwisiet is binnen de software development. Echter moet er wel kritisch worden gekeken naar de exploitatie ervan.

User input die wordt opgeslagen in een collectie en vervolgens wordt behouden op een medium geschikt voor permanente opslag heeft een hogere betrouwbaarheid dan het slechts tijdelijk priveren.

Daarnaast moet er worden gesteld dat de hoeveel stack-geheugen afhankelijk is van het gekozen platform. Zou het zo kunnen zijn dat het huidige platform pas kan worden afgerekend op de errata die nu pas bekend zijn? Wellicht is de toegewezen hoeveelheid stack geheugen te sober ingeschat ten tijde van het construeren..

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op vrijdag 23 maart 2007 @ 23:32:
Vele platforms gaan kwintessens er vanuit dat memory mapping coherent aan data storage is. Dit terwijl er in het verleden verschillende besognes zijn geweest vanwege dit grondbeginsel. We kunnen ons allen nog de UNIVAC-affaire nog als de dag van gisteren heugenen neem ik aan. Waarbij de indolentie er toe heeft geleid om uiteindelijk het hele concept te supprimeren.
8)7 7(8)7 8)7 7(8)7 8)7

Met alle respect; ik heb vannacht maar 2 uur geslapen en ik hoor nu eigenlijk al lang op bed te liggen... maar ik kan werkelijk geen touw vast knopen aan je post. Dat is deels te danken aan je (met alle respect again) veel te overdreven taalgebruik, maar mede omdat je verhaal (volgens mij) als een tang op een varken slaat.

WTF heeft de "UNIVAC affaire"* met pointers te maken? (Om maar eens wat te noemen)

* (En dit gaf je weg:) WELKE Univac affaire?

[ Voor 4% gewijzigd door RobIII op 24-03-2007 00:13 ]

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

Je eigen tweaker.me redirect

Over mij


Verwijderd

Volgens mij loopt iemands kalender een weekje vooruit. :)

  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 20-11 21:40

Not Pingu

Dumbass ex machina

offtopic:
Denk je dat je met pseudointellectueel gebrabbel meer kans maakt om te promoveren?


Wat ik uit je post kan opmaken dat je bedoelt, bestaat al. Het heet C# of Java. De taal C (of iig een zeer gelijkende variant) maar dan zonder dat een programmeur zich met directe geheugentoegang hoeft bezig te houden.

Certified smart block developer op de agile darkchain stack. PM voor info.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Mja, het duurde even voor het tot me door drong; maar deze gaat dus op slot.

Ha ha.

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

Je eigen tweaker.me redirect

Over mij


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

Zou je misschien ABN in je post willen gaan toepassen i.p.v. wat je nu doet? Leuk dat je dit kan maar genoeg mensen die er een woordenboek voor nodig hebben terwijl het prima uit te leggen valt in een taal die iedereen begrijpt.

Alle vormen van pointers bannen en ook gelijk de stackspace flink vergroten? Je wilt dan blijkbaar ook van recursiviteit af? Dat zal ook nogal wat nadelen met zich meebrengen. Er zijn oplossing waarbij recursiviteit juist beter begrijpbare code oplevert (en dus de kans op fouten verkleint). Een te grote stackspace zorgt er dan ook voor dat je binnen no-time geen memory meer over houdt.

Daarnaast raak je ook OO functionaliteit kwijt (pholymorphisme bijv.) als je geen pointers gebruikt. De nadelen van het niet gebruiken van pointers in C++ weegt voor mij dan niet op tegen de eventuele voordelen.

* Creepy aait RobIII. Feeding trolls == gooood ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Voor future reference: http://worsethanfailure.c...ling_the_Turing_Test.aspx :Y)

Been there, done that.. got the T-Shirt :Y)

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

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.