Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[kandidaat-sticky] Nieuw in programmeren: talen

sanchises
18 antwoorden
  • Omdat dit forum volgepost wordt met *welke programmeertaal moet ik kiezen*, lijkt het me handig om een onderwerp te maken met een aantal programmeertalen op een rijtje, met voor en nadelen etc. Gezien mijn toetsenbord bijna leeg is, wordt dit slechts een ruwe opzet, en ik hoop dat mensen dit een goed idee vinden en zullen helpen tot een grote sticky.
    =========================================
    ========HULP GEVRAAGD======================
    =========================================
    wie wil een stukkie schrijven over: C, C#, C++, Delphi, Pascal, .NET en JSP???
    =========================================
    zie onderstaande talen voor voorbeeld over structuur
    =========================================

    Ten eerste: voor de meeste programmeertalen heb je een compiler nodig. Dat is een programma dat je programmeertaal omzet in computertaal. Deze compiler heb je in twee varianten: de 'losse' compiler, en de compiler ingebouwd in een ontwikkelomgeving. De 'losse' compiler vertaalt bestandjes die jij in een texteditor als notepad hebt opgeslagen. Dan heb je de ontwikkelomgeving: dat is een programma waar je de programmacode met hulp van je computer invoert. Die geeft bijvoorbeeld al meteen aan als je een fout in je code maakt, waar een 'losse' compiler dit pas ontdekt als je de code al af hebt. Ook kan een ontwikkelomgeving je helpen met bepaalde codewoorden in kleurtjes aan te geven (het klinkt heel onnozel, maar het is heel handig). Er zijn een aantal 'interpreted' talen, dit zijn met name talen die op het web worden gebruikt. Deze worden niet gecompiled, maar de computer leest ze door zoals een persoon dit zou doen: hij kijkt per regel wat er mee moet gebeuren. Deze talen kunnen daardoor minder snel zijn, maar het grootste nadeel is dat ze door verschillende computers verschillend geinterpreteerd kunnen worden, waar gecompilede talen dit (over het algemeen) niet hebben.


    *********Voor het web zijn de volgende talen**********


    ============
    ====HTML=====
    ============
    <p align="justify">Hello World</p>

    HTML is de drijvende taal achter nagenoeg alle websites. HTML zorgt voor de inhoud en opmaak van de website. Het geeft aan wat je internet-browser moet weergeven op de pagina. De html van elke willekeurige pagina is in de meeste browsers te zien via beeld>bron.
    >>Voordelen:<<
    Duidelijke, simpele structuur;
    Ondersteund door alle internet-browsers
    >>Nadelen:<<
    Volledig statisch: als de pagina eenmaal geladen is kan er met alleen HTML niks meer aan veranderd worden.

    —————————————————————-
    Voor het web zijn de volgende scripttalen: (talen die binnen HTML gebruikt worden via bijv. de <script> tag)
    —————————————————————-

    ===========
    ==Javascript:==
    ===========
    <script type="text/javascript">
    document.write("Hello World!";);
    </script>

    Javascript is een van de eerste pogingen om HTML dynamisch te maken. Het wordt direct in een HTML document gezet, of aangeroepen als een .jar bestand.
    >>Voordelen<<
    Javascript werkt handig voor bewegende dingen op een site, bijvoorbeeld een vlaggetje dat achter de muis aanhuppelt (uiterst irritant, maak dit alsjeblieft alleen als probeerseltje) tot bewegende menu's.
    Het grote voordeel van Javascript is dat het dingen over de hele pagina kan laten verschijnen, waar andere manieren om het web dynamisch te maken slechts binnen hun eigen gebiedje kunnen opereren (zoals een gemiddeld spelletje op www.spele.nl alleen in een bepaald spelblok beweegt)
    >>Nadelen<<
    Javascript wordt door de browser geinterpreteerd, en kan dus op elke computer anders weergegeven worden.

    ============
    ==VBscript=====
    ============
    <script type="text/vbscript">
    document.write("Hello World!";);
    </script>

    VBscript is net als Javascript een scripttaal. Het is het webdialect van Visual Basic, dat een dialect is van BASIC. Vanwege het sporadische gebruik ga ik niet verder in op VBscript.

    —————————————————————-
    De volgende talen zijn Server-Side talen. Dit wil zeggen dat de geprogrammeerde gedeeltes door de webserver worden geinterpreteerd, waarna er HTML uitkomt. Hiervan zijn globaal gezien de volgende voordelen en nadelen:
    >>Voordelen<<
    De code wordt op één server uitgevoerd tot HTML, en dus krijgt iedere PC dezelfde 'resultaat'-code.
    >>Nadelen<<
    Als de pagina eenmaal geladen is, kan er niets meer aan veranderd worden.
    Ook een nadeel is de vereiste server. Waar java/vbscript op jouw computer worden geinterpreteerd, moet dat bij server-side talen door een server gedaan worden. Je kan heel makkelijk een servertje downloaden, zoals usbw. Een extra bijkomend nadeel is dat server-side talen een plugin op de server moeten hebben om de taal te ondersteunen.
    —————————————————————-

    ============
    =====PHP:====
    ============
    <?php
    echo("Hello World!";);
    ?>

    PHP wordt het meest gebruikt door hobbyisten en kleine bedrijven. De naam betekent (op zich wel grappig) PHP Hypertext Preprocessor.
    >>Voordelen:<<
    Het gaat heel makkelijk om met de database MySQL. Dit is de belangrijkste reden waarom PHP zo groot is geworden. Met deze database kan je bijvoorbeeld makkelijk een namenlijst maken, die je vervolgens met PHP op een website zet.
    Ook hoef je geen types aan variabelen toe te wijzen, PHP bedenkt zelf wat voor type het moet zijn.
    >>Nadelen<<
    Dat PHP automatisch variabelentypes toewijst, kan ook in je nadeel werken, als je 1+1 intypt maakt PHP er 2 van, terwijl misschien 11 bedoelt. Dit kan je overigens via extra code ontwijken.


    ============
    ====ASP=====
    ============
    <% ***code*** %>

    ASP (Active Server Page) is de 'brug' tussen 'programma'-talen en 'web'-talen. De werking is vergelijkbaar met PHP, met als verschil dat ASP-pagina's niet in PHP geschreven worden, maar in elke willekeurige .NET taal.
    >>Voordelen<<
    Werkt met alle .NET talen


    —————————————————————–
    Dan nu de 'computer' talen, waarmee je programma's maakt:
    —————————————————————-
    BASIC:
    Basic is zo ongeveer de simpelste 'echte' programmeertaal die je je kan voorstellen. Het maakt niet gebruik van ingewikkelde tekens als {;[} etc. Deze simpelheid heeft ook een nadeel, je kan namelijk niet zo heel veel met BASIC. Basic is er in enorm veel dialecte, zoals QBasic, Visual Basic etc.

    C:
    C is een van de meest gebruikte programmeertalen. De mogelijkheden zijn immens als je de taal goed kent. Het maakt echter wel gebruik van 'moeilijke tekentjes'. Er zijn drie varianten van C: de standaard C, de meest simpele versie, dan heb je C#, voor .net (hoewel ik dit niet meer zeker weet), en C++, voor objectgeorienteerd programmeren. Dit houdt in dat je bepaalde stukjes programmacode maakt, die je op elk moment van het programma kan aanroepen.

    Oke ik ga hier updates enzo zetten. Je kan ook me post kopieren, zelf verbeteren, dan zet ik m in deze ts-post:
    update: 18dec: interpreted talen veranderd, HTML + Java uitgebreid.
    update: 20dec: nadeel serverside: server nodig.
    update: 22dec: ASP stukkie toegevoegd.
  • Goede gedaan! Ik heb nog wel wat opmerkingen. Er was eerst C++ en toen C#, beide zijn overigens object georienteerd. Maar ook de hedendaags Visual Basic en Delphi-Pascal zijn ook OO. Het gaat mij wat ver om Basic een eenvoudige taal te noemen. Met de hedendaagse Basic kan (nagenoeg?) hetzelfde worden gedaan als met bv C#. Soms is Basic makkelijker, soms (veel) lastiger. En vroeger kon er ook heel veel gedaan worden. De "moeilijke" tekentjes (bv %, ++, –, |, &&;) in C hoeven niet persé gebruikt te worden. De tekentjes zouden leiden tot efficiënter gebruik van de code. Het is bijkans denk ik, de grootste bron van fouten in de taal. Oh ja, en in C# kunnen die fouten nog steeds gemaakt worden :D.
  • met moeilijke tekentjes bedoel ik bijvoorbeeld een if(x==y){$var[1] = $var[2]} etc, waar je in bijv vb gewoon if x = y
    var(1) = var(2);
    endif
    kan schrijven. Maar gezien ik een verslag nederlands moet maken komen aanpassingen later

    O en gezien ik niet zo heel veel talen kan (wel ken :wink: ) en ik dus deze stiky niet alleen kan maken verwacht ik natuurlijk wel aanvullingen van ouwe rotten :wink: :wink: iedereen even zijn eigen favo taaltje de hemel inprijzen met de nadeeltjes ernaast en we hebben zo een pagina vol :lol:
  • Hmm, $var is niet voor C. Dat $ teken is typisch iets voor Basic. Oh ja, de oude Fortran doe me ook sterk denken aan Basic.
    Mijn favoriete taal op dit moment is overigens C# en mijn 2e favoriete taal is Delphi-Pascal.

    Ik denk dat als je serieus iets wil schrijven over programmeertalen, het verstandig is de talen zelf te gaan gebruiken. Ik zal niemand C aanraden als een taal om mee te beginnen. Kijk het is best grappig dat de volgende code typisch C is. Maar echt verstandig om te gebruiken?
    if(var1[–i] ==(var2[j++] = *var3))
    {
    while(var3[0])
    printf("Snap je het nog? %d", j);
    j++;
    }
  • ik was ook niet van plan de hele sticky zelf te schrijven hoor… :lol: daarvoor ken ik niet genoeg talen. Maar het leek me goed om het initiatief te nemen, dat door jullie overgenomen kan worden totdat we met z'n allen een mooie sticky hebben. Ik dacht aan de volgende opzet:
    Taal X:
    Voordelen:
    Makkelijk
    Veel mogelijkheden
    handig voor blabla applicaties
    goed voor beginners
    Nadelen:
    Moeilijk
    Weinig mogelijkheden
    Niet geschikt voor blabla aplicaties
    niet voor beginners
    Plus nog een hello-world
  • dat wordt dan een behoorlijk erg uitgebreide sticky als een zo'n beetje alle populaire hedendaagse talen wilt behandelen.
  • De 'compiler' zit niet altijd in de ontwikkelomgeving (vaak kortweg 'IDE' = 'integrated development environment') ingebouwd. Meestal is er ook een 'losse' compiler aanwezig die je kunt gebruiken.

    Het voordeel van een IDE is echter dat je alles wat je aan (basis)hulpjes nodig hebt er in zit (een soort gereedschapstas met een heleboel gereedschappen). Er zijn echter (zeker voor een gevorderde gebruiker) nog genoeg tools die daarnaast ook belangrijk zijn.

    HTML = Hypertext Markup Language. Een 'taal' die de opmaak van een pagina beschrijft.

    De voor- en nadelen van talen beschrijven is een mijnenveld waar niemand het echt over eens zal zijn. Ik zou zelfs zeggen dat alles mogelijk in elke willekeurige taal. Het enige probleem is de hoeveel tijd die je daar mee kwijt bent, die voornamelijk bepaalt wordt door hoe groot en actief de bijbehorende community is. Zo is er voor C#.Net veel te vinden en gaat MS er met een rotgang door de versies heen (.Net 4.0 is al in testfase! ). Delphi daarentegen is zo goed als dood/uitontwikkeld.
    Zeker op het gebied van Windows-talen zul je merken dat alles en iedereen achter Microsoft aanhobbelt.

    Een belangrijke opmerking :
    leren programmeren is als leren metselen

    Een leerling metselaar haalt het nooit in z'n hoofd om een huis te bouwen op basis van die beperkte kennis.

    Denk daar dus aan voordat je denkt dat je met het leren van een (programmeer)taal klaar bent.
    De taalkeuze is in zekere zin de minst belangrijke keuze die je zult maken in het hele ontwikkeltraject.

    Bij een (goed) programma hoort ook een degelijk ontwerp dat je maakt voordat je ook maar een regel code schrijft hoe verleidelijk dat ook is.

    Oh en voor code-voorbeelden hebben we in dit forum dit :
    [code:1:8b76946dbc]
    void main()
    {
    cout << "hello world !"; // dacht ik
    }
    [/code:1:8b76946dbc]
  • Programmeren is dus echt niet mijn gebied. Ik ken geeneen taal, maar toch heb ik een klein (noob)vraagje.

    Onder welke taal valt bijvoorbeeld Visualcafé dan? Of is dat een onderdeel van Javascript?

    En SQL van Access? Of mag je dat eigenlijk geen programmeren noemen?

    Toevallig moet ik voor school met deze 2 programma's werken, en wou wel eens weten hoe het nu precies zat. Bedankt voor de antwoorden alvast!
  • SQL is een aparte taal, maar ik weet niet zeker of het een programmeertaal is. Volgens mij is het eerder een soort 'communicatietaal'. Vergelijkbaar met HTML, da's ook zo'n tussenvormpje. SQL is niet van Acces. Het is waarschijnlijk het Accessdialect van SQL. SQL wordt op veel databases toegepast, bijvoorbeeld MySQL, inderdaad de Microsoft SQL en nog meer. Visualcafé heb ik nooit gehoord, het klinkt als een dialect of zelfs een library van zoals jij zegt Javascript.
  • [quote:f52c87fd2f="sanchises"]Er zijn een aantal 'interpreted' talen, dit zijn met name talen die op het web worden gebruikt. Deze worden elke keer dat ze worden gebruikt door de computer gecompiled, en zijn daardoor minder snel en vaak iets minder handig. [/quote:f52c87fd2f]
    Dit is onjuist. 'interpreted' talen (scripttalen, zoals php) worden juist NIET gecompiled! Vandaar ook het woord interpred.. Tevens is het onjuist dat deze interpreted talen runtime langzamer zijn.. al zijn er wel nadelen tijdens het ontwikkelen.

    [quote:f52c87fd2f="sanchises"]Nagenoeg elke website wordt weergegeven met HTML, behalve de 'bewegende' sites, zoals spelletjes en schuivende menu's[/quote:f52c87fd2f]
    HTML verzorgt de markup/opmaak. Deze 'bewegende' elementen waar je het over hebt bevinden zich dus binnen de html van de site (dus het is niet zo dat ze de html vervangen).

    [quote:f52c87fd2f="sanchises"]Javascript:
    Dit is wel een programeertaal, een interpreted. [/quote:f52c87fd2f]
    Dit is dus juist een mooi voorbeeld van een taal die GEEN programmeertaal is, maar een scripttaal. Deze taal wordt clientside uitgevoerd en door de browser geinterpreteerd hetgeen compatibiliteitsproblemen kan veroorzeken tussen de verschillende browsers.

    [quote:f52c87fd2f="sanchises"]PHP:
    Dit is een speciaal soort taal, een server-side taal. Dat wilt zeggen dat de webserver (De computer die jou alle websites verstuurt) de taal compiled (het is een interpreted taal). Deze taal 'maakt' html. Zo kan je bijvoorbeeld met php waarden uit een database inlezen en op een webpagina zetten. [/quote:f52c87fd2f]
    php is tevens een scripttaal (dus wederom geen programmeertaal) en wordt dus ook niet gecompiled. Door te zeggen dat deze taal html 'maakt' sla je de mogelijkheden wel heel erg plat.. je kan er namelijk veel meer mee zoals plaatjes maken, pdf maken of zelfs services draaien.

    [quote:f52c87fd2f="sanchises"]Er zijn nog meer webtalen, ook daarvoor graag aanvulling. [/quote:f52c87fd2f]
    De grootste drie webtalen zijn eigenlijk de volgende:
    ASP (of ASP.NET) / JSP / ASP

    Voor asp.net ([b:f52c87fd2f]A[/b:f52c87fd2f]ctive [b:f52c87fd2f]S[/b:f52c87fd2f]erver [b:f52c87fd2f]P[/b:f52c87fd2f]ages) geldt dat in alle .NET programmeertalen (deze worden dus ook gecompiled) gecode kan worden. Deze zijn onder andere C#, # C++.NET, Delphi .NET, F#, J#, Visual Basic.NET, Vulcan.NET, IronPython. Een veelgebruikte server voor asp.net is IIS (Internet Information Services). (Meer informatie over .NET).

    JSP ([b:f52c87fd2f]J[/b:f52c87fd2f]ava [b:f52c87fd2f]S[/b:f52c87fd2f]erver [b:f52c87fd2f]P[/b:f52c87fd2f]ages) sluit aan op de java technologieen en de code wordt dan ook gedaan in de taal java. Een veelgebruikte server voor jsp is Tomcat. (Meer informatieover JSP)

    PHP tenslotte is een scripttaal die veel gebruikt wordt door hobby projecten. Enkele bekende projecten in php zijn Joomla, phpbb en Wikipedia. Een veelgebruikte server voor php is Apache. (Meer informatie over php).


    [quote:f52c87fd2f="sanchises"]met moeilijke tekentjes bedoel ik bijvoorbeeld een
    [code:1:f52c87fd2f]if(x==y)
    {
    var[1] = var[2];
    }[/code:1:f52c87fd2f]

    etc, waar je in bijv vb gewoon
    [code:1:f52c87fd2f]if x = y
    var(1) = var(2);
    endif[/code:1:f52c87fd2f]
    [/quote:f52c87fd2f]
    Dit is een beetje een slecht voorbeeld (buiten het feit om dat de C# syntax niet kloptte) aangezien je in C# gewoon hetvolgende kan schrijven:
    [code:1:f52c87fd2f]if (x==y)
    var[1]=var[2];[/code:1:f52c87fd2f]

    [quote:f52c87fd2f="sanchises"]SQL is een aparte taal, maar ik weet niet zeker of het een programmeertaal is. Volgens mij is het eerder een soort 'communicatietaal'. Vergelijkbaar met HTML, da's ook zo'n tussenvormpje. SQL is niet van Acces. Het is waarschijnlijk het Accessdialect van SQL. SQL wordt op veel databases toegepast, bijvoorbeeld MySQL, inderdaad de Microsoft SQL en nog meer. Visualcafé heb ik nooit gehoord, het klinkt als een dialect of zelfs een library van zoals jij zegt Javascript.[/quote:f52c87fd2f]
    SQL is een scripttaal.. en wordt door de verschillende SQL servers ook anders geinterpreteerd.. vandaar dat je SQL uit MSSQL niet zonder meer over kan nemen voor bijvoorbeeld MySQL, ondanks dat de grote lijnen wel hetzelfde zijn. Ik vind de vergelijking van SQL met HTML een hele slechte vergelijking op meerdere vlakken. SQL is een taal waarmee je tegen een database aan kan praten die vervolgens (in de meeste gevallen) een resultaat terug geeft. (Meer informatie over SQL)
  • De scripttaal perl wordt wel degelijk gecompileerd, voordat een script wordt uitgevoerd. Ik weet zo even niet hoe het zit met php(zend?), python, ruby etc., maar het zou me niet verbazen als het ook daarmee gebeurt.
  • interpreted een beetje verbeterd. Overigens kunnen deze talen wel slomer zijn. Ligt vooral ook aan de interpreter. Da's het nadeel van interpreted talen: die hebben een interpreter nodig, en dus soms slomer.
  • @yendis tja ik weet dat vergelijken met html een slechte keus is. Kan je in SQL wel if's enzo maken eigenlijk? want dat vind ik toch wel een criterium voor een programeertaal (vandaar dat ik het met HTML vergelijk, niet omdat het hetzelfde doet) :wink:

    @gerben: If it ain't broke, it doesnt have enough features yet. :P
  • SQL lijkt me wel een taal. Het is wel erg specifiek, en input en output ligt min of meer vast. De kern van SQL dat het een taal is waarmee selecties met verschillende velden uit verschillende databases gemaakt kunnen worden. SQL heel vaak in combinatie met andere programmeertalen gebruikt. Zo is dat voor MySql dus Php, maar goed, het hoeft niet persé Php te zijn.
  • [quote:e8100da6ec="sanchises"]Kan je in SQL wel if's enzo maken eigenlijk?[/quote:e8100da6ec]
    Iig met MSSQL en Sybase kan je T-SQL gebruiken.. dus dan kan het wel. Ik weet niet zeker of MySQL het kan..
  • Over Java, niet javascript, als interpreted taal:
    Sinds enkele jaren hebben de java runtime environments iets dat ze 'hotspot' noemen. Het komt er op neer dat op het moment dat je je programma opstart de meest intensief gebruikte delen van je programma worden omgezet naar machinecode. Dit is natuurlijk sneller tijdens het draaien, en heeft als voordeel boven voorgecompileerde programma's dat het geoptimaliseerd wordt voor je systeem. Het opstarten duurt dus iets langer, maar Java is tegenwoordig ongeveer net zo snel als C++, in sommige gevallen zelfs sneller! De verhalen dat Java traag is komen vooral door de tijd toen Java net bestond - toen was C++ ongeveer 40x zo snel als Java.
  • [quote:9a5d7fe4e7="NHubregtse"]Onder welke taal valt bijvoorbeeld Visualcafé dan?[/quote:9a5d7fe4e7]

    Visual Café is voor Java. (Dus niet JavaScript)
  • Wat een gezeur over 'echte' en 'nep' programmeertalen.
    Je moet precies dezelfde principes kennen en toepassen, omdat je anders alleen maar troep produceert die niet meer te onderhouden is.

    Het enige verschil is dat sommige talen een zeer beperkt toepassingsgebied hebben. En die talen zullen (ooit) uitsterven als het aan MS ligt komt er in ieder geval een einde aan het gebruik van SQL in .Net-programma's doordat LinQ die taak overneemt …

Beantwoord deze vraag

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