[Algemeen] Programmeren

Discussie in 'PC, Handheld & Algemeen' gestart door Modder-Eter, 5 apr 2007.

  1. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Aangezien er in het verleden wel een aantal topics over dit onderwerp zijn geopend, maar deze eigenlijk niet echt geweldig waren start ik dit topic maar.

    Programmeren komt ten eerste zelfs in het dagelijkse leven voor. Door opdrachten te geven aan een systeem zorg je ervoor dat deze iets uitvoert. Zonder dat je het weet ben je er wel mee bezig. Je zou zelfs het zetten van je wekker als een soort programmeren kunnen zien. Maar natuurlijk gaat het daar in deze topic niet over. Het gaat hier om het programmeren op de computer, wat vaak wordt gezien als iets voor contactgestoorde puisterige nerds. Natuurlijk doen die het ook, maar het is jammer dat dit vooroordeel nog steeds behoorlijk vast staat.

    Het lijkt me dus aardig om hier als XBW'ers over te discussieren, vragen over te stellen, elkaar te helpen etc.

    Ik zal beginnen met een korte inleiding:
    Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies die een computer uitvoert. Programmeren wordt in het algemeen niet direct in machinetaal gedaan, maar in een programmeertaal. Dit is de taak van een softwareontwikkelaar of programmeur. De programmacode die wordt geschreven heet broncode en wordt door een compiler omgezet in machinetaal. Het gebruik van een programmeertaal zorgt er enerzijds voor dat de code beter leesbaar is en anderzijds kan de broncode door verschillende compilers worden omgezet naar machinetaal voor verschillende processoren.


    Stukje geschiedenis:

    Geschiedenis

    Het is mogelijk om computers direct in hun eigen machinetaal te programmeren: direct de enen en nullen te specificeren die door de processor kunnen worden begrepen. Dit was voor de eerste computers gebruikelijk, met schakelaartjes werden groepen van 8 bits ingesteld. Men ondervond echter snel dat het veel te lastig was om programma's die op die manier waren geschreven, te onderhouden. Snel werd er daarom een symbolische manier bedacht om de machine-instructies als tekst weer te geven in de vorm van mnemonics. Zo werd het mogelijk om instructies veel eenvoudiger te lezen. Deze code, die nog wel een-op-een met de instructiecodes overeen komt, noemt men assembler.

    Voor het programmeren van assembler en machinetaal moet de programmeur heel veel weten van de computer die hij wil programmeren. Om programmeren makkelijker te maken, zijn daarna andere programmeertalen, de zogenaamde hogere programmeertalen ontwikkeld. Hoe hoger de orde, hoe verder de taal van de machine-instructies af staat. Een imperatieve programmeertaal (zoals Pascal en C) staat bijvoorbeeld dichter bij de machine-instructies dan een functionele programmeertaal (zoals Scheme en Haskell). Een functionele programmeertaal sluit meer aan bij het denken van de mens dan bij de interne werking van de computer. Zo is het in Haskell mogelijk om 'normale' wiskundige definities te gebruiken.

    Programmeertalen worden ook wel onderverdeeld in generaties:

    * Eerste generatie: machinetaal.
    * Tweede generatie: assembler (de kale machine-instructies, maar leesbaar neergezet).
    * Derde generatie: procedurele talen als COBOL, Algol, C en Fortran.
    * Vierde generatie: database-georiënteerde talen of talen met een hoger abstractieniveau.
    * Vijfde generatie: talen op het gebied van artificiële intelligentie.

    De generaties worden vaak afgekort als GL, bijvoorbeeld 3GL, als afkorting van 3rd Generation Language(s).

    Er zijn honderden programmeertalen bedacht, maar die worden niet allemaal frequent gebruikt. Veel zijn specifiek voor één doel ontworpen.

    Om programmeertalen te beschrijven, is een meta-taal bedacht: BNF of Backus Naur Form.

    Bij het ontwikkelen van software in een bepaalde programmeertaal kan de programmeur gebruikmaken van een software-ontwikkelomgeving.


    Hello World:
    Hello world wordt meestal als eerste voorbeeld gebruikt in een cursus programmeren. Dit basisvoorbeeld wordt vervolgens in de cursus gebruikt als opstapje naar het schrijven van geavanceerde programma's.

    Als gevolg hiervan gebruiken ook verschillende cursussen van markuptalen een Hello world-variant als startvoorbeeld.

    Oorsprong

    Voor zover bekend werd de eerste versie van Hello world gebruikt door de makers van C om hun programmeertaal te laten zien. Het is als ware de computer die laat zien dat hij werkt en "hallo" tegen de wereld zegt.

    In 1974 kwam het voor in een intern memorandum van Bell Labs door Kernighan: Programming in C: A Tutorial (Programmeren in C: Een leertekst). Hierin werd het aangeduid als "een simpel C-programma":

    main( ) {
    printf("hello, world");
    }

    Maar C veranderde nog in die tijd, en toen het programma in 1978 voor het eerst gepubliceerd werd, in The C programming language (De programmateertaal C) van Kernigan & Ritchie , was het zo geworden:

    #include <stdio.h>

    main()
    {
    printf("hello, world\n");
    }


    Objectoriëntatie
    Een belangrijke opkomst was die van de Object-georienteerde programmeertalen, die het de programmeur weer makkelijker maakte dagelijkse situaties om te vormen tot programma's. Dit is misschien iets teveel om in de startpost uit te leggen, maar wikipedia weet raad:

    http://nl.wikipedia.org/wiki/Object-oriëntatie


    Programmeertalen:
    Er zijn behoorlijk wat programmertalen de revu gepasseerd, van dicht op de machine staande talen als assembler tot object-georienteerde talen als Java, C++ en C#. Hier een rijtje met behoorlijk bekende talen:

    Assembler
    BASIC
    Pascal
    Python
    C
    C++
    C#
    Java

    Tutorials:
    Hier staan enkele tutorials die ik het wel waard vind om te noemen. Zelf zou ik beginners aanraden om met java te beginnen en ook zeker met deze tutorial, want hij is erg goed. C++ is wat moeilijker te leren, maar is wel de industriestandaard voor applicaties en vooral games (applicaties neigen tegenwoordig ook vaker naar andere talen als Java):
    Java <- aanrader! (zeker de quizzes en exercises doen na de chapter)
    C en C++ (Learning to program in C++ en C Tutorial voor beginners. Ik zou C++ aanraden van deze twee [gebruik de Dev-C++ compiler])
    C++


    Beetje eigen ervaringen:
    Zelf ben ik een beetje begonnen met kloten met HTML, maar dit is geen programmeertaal. (Dat zoek je maar op) Daarna ben ik wat gaan doen met C++, maar dit kon me niet lang boeien om dat het destijds toch nog iets te ingewikkeld voor me was. Momenteel ben ik bezig met Java (voornamelijk omdat dit voor mn opleiding moet) en ik moet zeggen dat het aardig aan het lukken is. Daarnaast heb ik wat gewerkt met assembler(nooit proberen als het niet verplicht is!), prolog en binnenkort ook Haskell. Het beeld dat veel mensen hebben van programmeren is best verkeerd imo. Bij het object-georienteerde programmeren komt veel designen kijken en zit het meeste tijd nog in het uitzoeken hoe je iets gaat aanpakken en implementeert. Daarnaast ben ik wat bezig met kleine gamepjes maken (wat nog niet echt lukt :p).

    Ik hoop dat de topic een beetje aanslaat en dat mensen met de wens ooit te programmeren hier wat informatie kunnen opdoen.
     
    Laatst bewerkt: 6 apr 2007
  2. FFWD

    FFWD XBW.nl VIP XBW.nl VIP

    Berichten:
    1.370
    Leuk Bevonden:
    3
    Ik heb recentelijk leren programmeren met Visual Basic 2005. Erg leuk moet ik eerlijk zeggen. De enige beperking op de mogelijkheden is je eigen fantasie:)
     
  3. Danger

    Danger XBW Groentje

    Berichten:
    2.146
    Leuk Bevonden:
    0
    Ik moet nog 2 toetsen van C++ voor Informatica in 5H. Wat een hel dat vak zeg. Ik snap geen hol van C, een leuk boekje waaruit we het kunnen leren krijgen we ook niet. Heeft iemand nog wat leuke (lees: duidelijke) C tutorials om het een beetje onder de knie te krijgen?
     
  4. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    C of C++?

    http://www.cprogramming.com/tutorial.html

    staat wel wat op.
     
  5. axess

    axess time wasted

    Berichten:
    404
    Leuk Bevonden:
    0
    Lol, ik had vorig semester een vak 'Microcontrollers' waarbij je moest programmeren in C, gelukkig ben ik er door op want ik verveelde me dood tijdens de lessen en labozittingen daarvan :)

    Visual Basic heb ik ook gedaan maar dat was beperkt tot simpele windows applicaties maken
     
  6. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Theorie is meestal ook saai. De practica is altijd wel leuk om te doen en uit te vogelen hoe je het nou weer moet implementeren.
     
  7. Pegas

    Pegas XBW.nl VIP XBW.nl VIP

    Berichten:
    8.799
    Leuk Bevonden:
    22
    Twee jaar geleden VBA 6.0 (wat dat rot, al die code van buiten leren) gekregen, vorig jaar VB.net 2005 en dit jaar VB.net 2006. We moesten echter de objecten zelf nog niet schrijven (buiten af en toe eens een knopje ofzo toevoegen na een bepaalde actie). Dat is leerstof voor volgend jaar (hopelijk).

    Ook hebben ik dit jaar (X)HTML (en CSS natuurlijk), Javascript gezien. Actionscript ook, maar die taal heb ik nog niet volledig door en bovendien zuig ik gewoon in Flash :+.
     
  8. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Zijn niet echt programmeertalen ;)

    En mogen jullie de objecten niet zelf schrijven? Ik weet niet hoe dat in VB.net zit, maar als het net zoals Java is, valt dat allemaal toch wel mee?

    Edit: Ja dus, en dat laten ze jullie nog steeds niet zelf schrijven? De syntax van VB vind ik zelf alleen best irritant.
     
    Laatst bewerkt: 6 apr 2007
  9. [2k]

    [2k] XBW.nl VIP XBW.nl VIP

    Berichten:
    8.968
    Leuk Bevonden:
    207
    Werk normaal in PHP.
    Op school ook wat moeten programmeren in Java en ASP.NET + C#.
    PHP is stuk makkelijker en vind ik stuk lekkerder werken/programmeren.
     
  10. Pegas

    Pegas XBW.nl VIP XBW.nl VIP

    Berichten:
    8.799
    Leuk Bevonden:
    22
    Weet dat het niet echt programmeeertalen zijn ;).

    Het zal wel mogen, alleen is dat eigenlijk leerstof voor het volgende jaar :).
     
  11. DC Vogelaar

    DC Vogelaar Happy Hour

    Berichten:
    220
    Leuk Bevonden:
    0
    Misschien is het wel leuk voor mensen die niet zoveel van programmeren (zoals ik dus :p) afweten, maar er wel wat meer over willen leren enkele tutorials, of websites met nuttige informatie in de startpost te zetten (naast de wikipedia links die er al staan :) )
     
  12. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Dat gaat nog wel komen ;) Zal ik straks ff doen... Ben nu doodop van mn werk
     
    Laatst bewerkt: 8 apr 2007
  13. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Startpost is aangepost met wat tutorials (onder kopje tutorials). Zoals daar staat is de Java tutorial imo behoorlijk goed en aardig om mee te starten. Maar wees je wel bewust dat het aardig wat tijd vergt om te leren. Blijf er plezier in houden en het lukt!
     
  14. Lenny-t

    Lenny-t Melted Forest XBW.nl VIP

    Berichten:
    12.445
    Leuk Bevonden:
    79
    Ik heb vorig jaar een soort Windows Agenda gemaakt voor projecten, heel geinig was dat. in WIN32 C++ welteverstaan... Incl system tray en registers al die ongein, heb ik echt veel van geleerd toen :)
     
  15. Gerjan

    Gerjan XBW.nl VIP XBW.nl VIP

    Berichten:
    6.685
    Leuk Bevonden:
    221
    leer zelf java (HBO, mediatechnologie), knap lastig :mad:

    Dit project een midlet geschreven (java game voor op een mobieltje)
     
  16. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Mediatechnologie, nice.

    Doe zelf Media en Kennistechnologie, dus onze gebieden zullen grotendeels op dezelfde lijn liggen. Heb zelf nog geen Java game geschreven, wel een webwinkel mbv Java servlets.
     
  17. appie21

    appie21 Active Member

    Berichten:
    3.899
    Leuk Bevonden:
    22
    ik wil deze topic graag in de gaten hoeden is darr ern mogelijkheid voor ..

    Dit is namelijk eg intressant.
     
  18. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Je kan je bij de discussietools abonneren op de thread.
     
  19. pietlut

    pietlut Active Member

    Berichten:
    881
    Leuk Bevonden:
    0
    Ik ben nu ff dat java aan het bekijken maar ik snap het niet echt... Ik zit er net op dus misschien lukt het nog wel.
     
  20. Baardaap

    Baardaap Active Member

    Berichten:
    85
    Leuk Bevonden:
    0
    Tja ik gebruik al een aantal jaren RAPID Q (een VB achtig systeem, maar gratis), vooral omdat daarmee heerlijke compacte EXEcutables gemaakt kunnen worden (en dus in tegenstelling tot VB zonder dat er een karrevracht runtime shit nodig is).
     

Deel Deze Pagina