Vraag & Antwoord

Programmeren

Structuur in programmeertalen VB, C++ en C#

9 antwoorden
  • Ik ben bezig met de eerste stappen in VB6. Ik heb wel veel geprogrammeerd in Basic (vroeger) en tot voor kort in een derivaat van Clipper. (xHBuilder) In deze talen (basic en Clipper) zit een duidelijke structuur. Die mis ik totaal in VB6: je kunt alle "Subs" door elkaar husselen. Dat lijkt met erg lastig iets op te zoeken, telkens de zoek-functie te moeten gebruiken . Hoe zit dat in C++ en C# ?? perloc
  • [quote:20a45ad23c="perloc"]Ik ben bezig met de eerste stappen in VB6. Ik heb wel veel geprogrammeerd in Basic (vroeger) en tot voor kort in een derivaat van Clipper. (xHBuilder) In deze talen (basic en Clipper) zit een duidelijke structuur. Die mis ik totaal in VB6: je kunt alle "Subs" door elkaar husselen. Dat lijkt met erg lastig iets op te zoeken, telkens de zoek-functie te moeten gebruiken . Hoe zit dat in C++ en C# ?? perloc[/quote:20a45ad23c]Dat iets kan, wil nog niet zeggen dat je dat ook moet doen. Op zich maken C++ en C# ook gebruik van een duidelijke structuur. Alleen is het aan de programmeur om te zorgen dat de structuur duidelijk is. Je kan er in elke programmeertaal een puinzooi van maken. De zoekfunctie heb je volgens mij al snel nodig. Want hoe je ook programmeert, bij de wat grotere programma's maak je meestal veel bestanden om overzicht te houden (en om de dan tegelijkertijd ook weer een beetje te verliezen). Soms maak je de keuze een bestand groter te maken en soms ook niet. Verstandig is om veel commentaar toe te voegen. Mogelijk dat dat in eerste instantie voor jezelf niet nodig lijkt, voor je opvolger of in het geval je de code een jaar later weer eens bekijkt, dan kan dat zeer verhelderend werken.
  • Ik weet heel goed dat je je programma's moet doorspekken met commentaar. Ik heb in Clipper programma's geschreven van tussen de 25000 en 30000 programma aline's. Je begint met een hoofd- (Main()) programma, waar de declaratie's in staan, de setup verzorgt en die dan andere functie's en procedures aanroept, die weer andere functie's en/of procedures aanroept en die weer enz enz. Dat noem ik structuur in een programma. Die structuur ben ik (nog) niet tegengekomen in VB6. Er is geen "MAIN" procedure die anderen aanroept. Dus ik zie daar de structuur niet in en vroeg me dus af of die wel te vinden is in C++ en/of C# Voor mij doet VB6 nog rommelig aan, subs kunnen door elkaar worden gehusseld, en is nu nog te overzien (de eerste lessen) maar waar ik straks, als het wat ingewikkelder wordt de weg kwijtraak. Maar misschien ben ik nog niet ver genoeg gevorderd om al een oordeel te vellen. De eerste indruk is niet best... perloc
  • Ok, C++ en C# bieden die structuur wel. Persoonlijk vind ik C# (of gewoon .Net) prettiger programmeren. Er is heel veel functionaliteit beschikbaar en relatief eenvoudig te koppelen. In C++ (of gewoon C) is de kans op standaard C fouten wat groter, hoewel met C# dat risico ook nog niet verdwenen is. Op welk gebied wil je gaan programmeren? Wil je bijvoorbeeld bestanden/databases gaan lezen? Of wil je gewoon een programma maken met een prettige GUI in een prettige programmeeromgeving? Ik weet niet meer wat mijn eerste C#/.Net boek was. Ik heb toendertijd gewoon een aantal boeken bekeken en de boeken die de meeste diepgang leken te hebben, die ik heb gekozen om vertrouwd te raken met de programmeertaal. Wanneer je eenmaal vertrouwd bent met de programmeertaal, is de meeste informatie (en eventuele oplossingen voor je problemen) op internet te vinden. Op codeproject.com is veel interessante programma voorbeelden en informatie te vinden in zowel C# en C++.
  • Ik heb wel een doel voor ogen. Ik wil het grootste programma, welk ik heb gemaakt in xHarbour (op Clipper gebaseerd, maar dan véél uitgebreider) en welk in een MS-DOS window werkt, programmeren met een Visueel programma. Ik denk dat ik al heb gekozen voor C#. Het is een programma voor beheer van medicijnen met een, uiteraard, grote database, en te gebruiken in ziekenhuizen en apotheken. Denk niet dat ik het ooit op de markt kan/zal brengen maar het is uitsluitend als hobby bedoeld omdat ik programmeren het ultieme gebruik van een computer vind. Ik heb geprogrammeerd in Mnemonics (Z80, 6502 als je dat iets zegt), Assembler, Basic en dus Clipper. Maar zover ik heb begrepen kun je met C# alles maken. Ik doe het ook met het oog op mijn zoon (bijna 11) die ook belangstelling heeft voor programmeren. Ik vond dit boek bij Amazon welk me geschikt leek: -Beginning Visual C# 2005 Express Edition- "From Novice to Professional". Mening? MVG perloc
  • Tip: Begin gelijk met c# 2008 ;), als je toch begint, gelijk met het nieuwste. De structuur is wel anders dan in de talen waarmee je hiervoor werkte. Jij werkte met behulp van procedural(als ik je verhaal zo lees) en dit is object oriented. Wiki: http://en.wikipedia.org/wiki/Object-oriented_programming En nog meer info : http://www.virtuosimedia.com/tutorials/procedural-vs-oop-explained Er zitten behoorlijke verschillen tussen die 2. Lees je dus eerst goed in het onderwerp OOP voordat je verder gaat met c#. Succes!
  • Wat betreft C# zit ik nog in de schoolbanken dus ik kan helemaal niet beoordelen of C# wel zo geschikt is voor datgene wat ik wil doen. Ik heb het eerste artikel even doorgenomen maar daar komt niet zo duidelijk uit de verf hoe dat nu zit met OOP. Het tweede artikel is veel duidelijker en zover ik kan nagaan is mijn Apotheek-programma een OOP programma: Het bestaat uit een main() programma, die op zijn beurt 38 Procedures en Functions kan aanroepen in een drop-down menustructuur en die kan weer 28 sub-sub Procedures en Functions aanroepen. Dan zijn er verder nog een 60-80 tal, precies weet ik niet, procedures en functies die door diverse uit het bovenstaande worden aangeroepen. Dus volgens mij is dit wel OOP. En dat betreft slechts een programma wat ik heb gemaakt. perloc
  • Je kunt OOP-status van je programma niet bepalen aan de hand van de hoeveelheid procedures, subroutines, etc. Misschien heb je er onbewust rekening mee gehouden, maar de kans is heel groot dat je alle OO-regels hebt geschonden die er bestaan. OO zit vooral in je ontwerp. In de meeste gevallen betekent dit dat je ontwerp dicht bij de realiteit ligt, doordat de werkelijkheid voor een heel groot deel als objecten te modelleren is. Het slechtste wat jij uberhaupt kunt doen is je code 1 op 1 vertalen. Maak van de gelegenheid gebruik om goed te documenteren wat het programma moet kunnen en hoe het zich moet gedragen (dat zijn de user- en software-requirements). Van dat punt kun je een ontwerp maken ... en als dat klaar is dan is het schrijven van het programma en de code een fluitje van een cent. En zoals gezegd ... dat er wel of geen structuur zichtbaar is wil niks zeggen. btw : het voorbeeld in de link over Procedural vs OOP in dit topic aub niet letterlijk nemen. Ze negeren hier de 'inheritance vs composition'-gedachte die zeer belangrijk is als je je code goed wilt kunnen onderhouden. Link : http://www.javaworld.com/javaworld/jw-11-1998/jw-11-techniques.html
  • [quote:661da1efb2="JaFO"]Je kunt OOP-status van je programma niet bepalen aan de hand van de hoeveelheid procedures, subroutines, etc. Misschien heb je er onbewust rekening mee gehouden, maar de kans is heel groot dat je alle OO-regels hebt geschonden die er bestaan. OO zit vooral in je ontwerp.[/quote:661da1efb2]Klopt. Wanneer je de taal wilt leren, dan kan je, wat mij betreft, gewoon gaan programmeren zoals je al gewend was. Het leren van OO is een hoofdstuk apart. Voordeel van OO is dat je uiteindelijk een beter overzicht kan krijgen en mogelijk veel dubbel werk kan voorkomen. Mocht je veel if en switch statements gaan gebruiken met gelijksoortige checks, tja, dan kan OO mogelijk al heel veel winst gaan opleveren omdat die checks dan vermoedelijk helemaal niet meer nodig zijn. Nadeel kan zijn, dat er meerdere goede oplossingen kunnen bestaan en dat je zelf net de verkeerde oplossing kan hebben gekozen.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.