Registreer FAQ Ledenlijst Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 18-01-2008, 09:23
Anika
Ik wil misschien de master Scientific Computing gaan doen komend studiejaar, als ik daarvoor toegelaten word. Probleem is dat je daarvoor moet kunnen programmeren en dat kan ik niet, dus ik zou het graag willen leren. Ik heb echter geen idee wat voor taal ik dan het beste kan gaan leren, hoe ik het aan moet pakken en of dat wel binnen nu en een half jaar gaat lukken. Dus, heeft er iemand tips?
Op een voorlichtingsavond werden trouwens als voorbeelden Java, C en C++ gegeven als ik het me goed herinner, maar volgens mij was iets anders ook wel goed.
Met citaat reageren
Advertentie
Oud 18-01-2008, 09:39
ILUsion
Avatar van ILUsion
ILUsion is offline
Ik zou je aanraden om niet met C of C++ te beginnen (en Java is nu ook niet zo'n goede begintaal in feite). Dus tenzij je in het eerste jaar direct veel lessen in die talen hebt, zou ik van die talen afblijven tot je de basis onder de knie hebt.

Zelf heb ik leren programmeren met QBASIC; maar dergelijke start neem je beter niet (het programmeren is wel vrij makkelijk dan; maar het leert je slechte gewoontes).

Een taal die klassiek als onderwijstaal gebruikt wordt is Pascal; en dan meerbepaald Turbo Pascal (verouderd) of Object Pascal (in de volksmond: Delphi). Delphi kan ik je zeer zeker aanraden (ik heb er jarenlang in geprogrammeerd). Zorg dat je je een goed boek gaat halen (ik heb Delphi geleerd met "Snel leren programmeren, Delphi 6" van Thomas Binzinger (Addison Wesley); het is een vrij goed boek en er bestaan wel al nieuwere versies van).

Een andere taal die je wel de juiste gewoontes aanleert, best rigoureus is in het toepassen van heel wat concepten is Python. De taal zelf is simpel aan te leren. Het nadeel van deze taal tegenover Java, C en C++ (en ook Pascal) is dat dit eerder een scripttaal is. Dat komt op een nogal andere benadering neer van het gebruik van je computer. Python heeft bv. voorzieningen die niet in die andere talen zitten; maar als nadeel is Python ook een beetje trager (net zoals Java wat trager is, met een gelijkaardige redenering; al is Java geen scripttaal). Python is dus niet de toptaal om heel geavanceerde berekeningen in te maken; maar wel een goede leertaal (of voor algemene programma's in feite; maar je gaat geen hyperingewikkeld algoritme in Python schrijven, want die gaan steevast sneller zijn als je ze programmeert in C, C++ of een andere gecompileerde programmeertaal).

Als je voorbeelden wilt hebben (ik ga hier gewoon een procedure/functie opschrijven in resp. Pascal (en let daar niet op de hoofdletters, dat is een slechte gewoonte die ik uit Modula-2 heb geleerd) en Python):
Code:
FUNCTION Functie(a,b,c: INTEGER): INTEGER;
  VAR
    d: INTEGER;
  BEGIN
    d := 2 * b + c;
    result := (a + b) DIV d;
  END;
Code:
def functie(a,b,c):
    d = 2*b + c
    return (a+b)//d
Om even te zeggen welke concepten hierin staan: een functie (procedure met return-waarde (result in Pascal)), toewijzen van een variabele d, integerdeling (deling van gehele getallen). In Pascal ook nog types (INTEGER = geheel getal); en Python zijn er ook types, maar worden die afgeleid uit wat je in die variabelen steekt (duck typing). C, C++ en Java zijn ook sterk getypeerd, op de manier zoals Pascal eigenlijk (dus geen duck typing).

Even samengevat:
- Object Pascal leunt vrij dicht aan tegen C, C++, Java als het op paradigma aankomt (lees: kennis uit Object Pascal zal directer toepasbaar zijn in die talen; dan kennis van Python), qua codeerstijl zijn Pascal-dialecten ook niet slecht
- Python is wat makkelijker te leren en iets rigoureuzer (en leert je in de eerste plaats 'goed' programmeren; het is bijna inherent aan de taal dat je propere code schrijft). NAdeel is dat je niet zo goed met types leert werken, wat wel in Java, C, C++ nodig is (en ook in Pascal nodig is).
- BASIC blijf je beter af (leert je je code slecht structureren)
- zoek een goed boek (in de bibliotheek; maar ik raad eigenlijk aan om het echt te kopen: een goed referentiewerk komt steeds van pas)
- direct beginnen met C, C++, Java kan; maar als je geen enkele ervaring hebt met programmeren niet echt aan te raden (de syntaxis van die talen is zo overdonderend dat je daarin makkelijk vastloopt); als je toch echt met een van die wilt beginnen, denk ik dat Java de meest aangewezen keuze is (al ken ik zelf geen C of C++; en mijn Java is ook niet zo vlot)
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)

Laatst gewijzigd op 18-01-2008 om 09:54.
Met citaat reageren
Oud 18-01-2008, 11:41
Anika
Bedankt voor je reactie.
Ik heb erg weinig ervaring met programmeren, ik heb één inleidend vakje gevolgd (inleiding matlab) maar dat was allemaal vrij eenvoudig. Alleen de basis van de basis zeg maar. Dus om meteen met een moeilijke taal te beginnen lijkt me niet zo'n goed idee.
Het lijkt mij voorlopig het beste om Object Pascal te gaan leren, het is toch wel een erg groot voordeel dat je daaruit ook meteen dingen kunt gebruiken voor andere talen.

Heb je enig idee hoe lang je er ongeveer over doet om Pascal onder de knie te krijgen? Ik verwacht er namelijk maximaal twee dagen per week aan te kunnen besteden plus vier weken in de zomervakantie, hopelijk is dat genoeg..
Met citaat reageren
Oud 18-01-2008, 12:20
Verwijderd
Bij ons (natuurkunde) beginnen ze gewoon met C/C++ in het eerste jaar. Als ik jou was, zou ik ook gewoon daar mee beginnen, want C/C++ wordt het meest gebruikt en dan leer je jezelf geen slechte gewoontes aan, ook al is Delphi misschien makkelijker om te leren.
Met citaat reageren
Oud 18-01-2008, 15:11
dutch gamer
Avatar van dutch gamer
dutch gamer is offline
Ik zou ook C aanraden. Het begin lijkt misschien wat lastig, maar je hebt er ontzettend veel aan.

Kun je toevallig al PHP? PHP is namelijk gewoon een soort eenvoudige C (omdat het ook een totaal andere doel heeft), maar geeft je dus wel iets van de basics. Als je nog geen PHP kan: gewoon C leren.
__________________
Life is like a box of chocolates. You never know what you're gonna get.
Met citaat reageren
Oud 18-01-2008, 15:27
Anika
Nee, ik kan ook nog geen PHP, alleen eenvoudige dingetjes in Matlab. Maar wat is dan weer het verschil tussen C en C++? Is C++ nog moeilijker ofzo?
Niet dat het trouwens erg is als het moeilijk is
Met citaat reageren
Oud 18-01-2008, 15:32
Nilssiej
Nilssiej is offline
C++ is nogal een moelijke taal. Ikzelf ben begonnen met PHP (eigenlijk HTML, maar dat is wel heel erg simpel...), dat is een vrij simpele programmeertaal om te beginnen. Je leert daarmee ook meteen al hoe if, else, while, for-statements (e.d.) bijvoorbeeld werken, waarmee je jezelf al een goede basis geeft voor programmeren.
Met citaat reageren
Oud 18-01-2008, 15:52
Anika
Citaat:
C++ is nogal een moelijke taal. Ikzelf ben begonnen met PHP (eigenlijk HTML, maar dat is wel heel erg simpel...), dat is een vrij simpele programmeertaal om te beginnen. Je leert daarmee ook meteen al hoe if, else, while, for-statements (e.d.) bijvoorbeeld werken, waarmee je jezelf al een goede basis geeft voor programmeren.
Dat soort dingen weet ik wel al, hoe je met if, while, else en for werkt. Het moet ook niet te simpel worden, want als ik inderdaad die master ga doen moet ik wel wat kunnen natuurlijk.
PHP was toch meer voor websites e.d.? Of geeft het ook een goede basis voor andere dingen? Aangezien ik niet verwacht websites te zullen gaan ontwerpen
Met citaat reageren
Oud 18-01-2008, 15:57
Nilssiej
Nilssiej is offline
Citaat:
Dat soort dingen weet ik wel al, hoe je met if, while, else en for werkt. Het moet ook niet te simpel worden, want als ik inderdaad die master ga doen moet ik wel wat kunnen natuurlijk.
PHP was toch meer voor websites e.d.? Of geeft het ook een goede basis voor andere dingen? Aangezien ik niet verwacht websites te zullen gaan ontwerpen
Hmm, als je dat soort dingen inderdaad al goed beheerst, dan kun je beter inderdaad niet met PHP beginnen. Aan je posts te lezen dat ik dat je in totaal nog niet ervaring had met programmeren. PHP heeft naast deze statements veelal alleen nog maar functies die je kunt leren en voor het begrip van de andere talen is dat niet echt zinvol. C of C++ is dan inderdaad een beter begin.
Met citaat reageren
Oud 18-01-2008, 16:44
Anika
Citaat:
Hmm, als je dat soort dingen inderdaad al goed beheerst, dan kun je beter inderdaad niet met PHP beginnen. Aan je posts te lezen dat ik dat je in totaal nog niet ervaring had met programmeren. PHP heeft naast deze statements veelal alleen nog maar functies die je kunt leren en voor het begrip van de andere talen is dat niet echt zinvol. C of C++ is dan inderdaad een beter begin.
Ik dacht eigenlijk dat je dan nog steeds bijna niks wist alleen maar een klein beginnetje. Maar blijkbaar valt het dus wel mee. Ik weet natuurlijk niet hoe je dat soort dingen letterlijk in C of C++ typt, maar wel hoe ze werken en wat je ermee kunt.
Met citaat reageren
Oud 18-01-2008, 16:55
Nilssiej
Nilssiej is offline
Citaat:
Ik dacht eigenlijk dat je dan nog steeds bijna niks wist alleen maar een klein beginnetje. Maar blijkbaar valt het dus wel mee. Ik weet natuurlijk niet hoe je dat soort dingen letterlijk in C of C++ typt, maar wel hoe ze werken en wat je ermee kunt.
Het ligt er natuurlijk aan wat je wilt bereiken met programmeren, voor de ene programmeertaal is een basis al genoeg om al verder gevorderd te zijn, zoals bijvoorbeeld PHP, Perl en dergelijke, maar voor de moelijke talen is het natuurlijk maar een klein beginnetje Er is redelijk verschil van niveau tussen verschillende talen. En aangezien ik zie dat je vooral wat moelijkere talen wilt leren, is het natuurlijk nog vrij basaal...

Laatst gewijzigd op 18-01-2008 om 17:19.
Met citaat reageren
Oud 18-01-2008, 18:49
Verwijderd
Citaat:
Nee, ik kan ook nog geen PHP, alleen eenvoudige dingetjes in Matlab. Maar wat is dan weer het verschil tussen C en C++? Is C++ nog moeilijker ofzo?
Niet dat het trouwens erg is als het moeilijk is
Ze lijken op elkaar. Ik ben geen programmeerkoning, maar het verschil zit 'm volgens mij vooral in het feit dat C++ classes heeft en C niet, en dat sommige commando's anders geschreven worden.
Met citaat reageren
Oud 18-01-2008, 20:46
ILUsion
Avatar van ILUsion
ILUsion is offline
Citaat:
Bedankt voor je reactie.
Ik heb erg weinig ervaring met programmeren, ik heb één inleidend vakje gevolgd (inleiding matlab) maar dat was allemaal vrij eenvoudig. Alleen de basis van de basis zeg maar. Dus om meteen met een moeilijke taal te beginnen lijkt me niet zo'n goed idee.
Het lijkt mij voorlopig het beste om Object Pascal te gaan leren, het is toch wel een erg groot voordeel dat je daaruit ook meteen dingen kunt gebruiken voor andere talen.

Heb je enig idee hoe lang je er ongeveer over doet om Pascal onder de knie te krijgen? Ik verwacht er namelijk maximaal twee dagen per week aan te kunnen besteden plus vier weken in de zomervakantie, hopelijk is dat genoeg..
Als MatLab je wel lag; dan kan je best met C of C++ of Java beginnen. De moeilijkste stap in het leren programmeren is de allereerste: leren denken als een programmeur (en om eerlijk te zijn: dat is een denkwijze die je niet op school kan leren; iemand die niet kan programmeren zal nooit een schitterende programmeur worden, maar kan je wel trainen om toch simpele dingen te doen). Dat laatste is trouwens ook aangetoond met universitaire studies: programmeren heeft te maken met een bepaalde denkwijze en die kan je niet aangeleerd krijgen (maar wellicht dat je er zelf wel in kan vallen).

Object Pascal of Python raad ik dan ook vooral aan als je echt helemaal geen enkele ervaring ermee hebt. Dat terwijl ik Matlab een vreselijke taal vind (met weliswaar geweldige voorzieningen); om het maar cru te zeggen: matlab leert nu niet direct om mooi te programmeren, maar de beperkingen in matlab zorgen er wel voor dat je toch kan programmeren. Als in: als je door de rotzooi van Matlab zelf geraakt bent (ik heb het dan over het manipuleren van matrices in 1 bewerking dan bv.), dan heb je wel de juiste ingesteldheid om ook met een klassiekre programmeertaal overweg te kunnen. En de syntaxis van Matlab is tegenover Pascal ook best minimalistisch te noemen zodat je in het vrij minimalistische C/C++ ook aan de slag kan in feite.

PHP is zoals ook al gezegd ook een redelijk C-achtige taal; weliswaar een scripttaal en volgens mij blijf je daar beter van af. PHP is er speciaal om dynamische websites mee op te zetten (ook al kan je er ook gewoon mee scripten; er zijn maar weinigen die dat doen). Een van de redenen is dat het design van PHP nogal te wensen overlaat, alle standaardfuncties zijn nogal inconsequent in hun naamgeving en dat leert natuurlijk niet om zelf dan consequent te zijn (wat volgens mij wel een van de belangrijkste punten is voor een programmeur: werken met een bepaalde systematiek (die gestoeld gaat op logica) en die blijven gebruiken). PHP heeft daar heel weinig van. Om dan maar voorbeelden in Object Pascal te geven: als je zelf een type maakt is het de conventie om die TOmHetEvenWat te noemen (dus laten voorgaan met hoofdletter T en de rest CamelCaps). Visual Basic heeft dan weer andere conventies (strWeetIkVeel voor een string; dus laten voorgaan door een afkorting voor je type). PHP is daar in de taal zelf niet consequent in om al te beginnen. Ook kan je, dan makkelijker direct met C of C++ beginnen; de syntaxis is vrij gelijkaardig (alleen zit je met geheugenbeheer).

PHP heeft dus wel zijn toepassingsgebied; maar ik zou het niet aanraden als eerste programmeertaal: te web-geöriënteerd, niet mooi van ontwerp. Voor een programmeur die de basis al wel heeft, is er natuurlijk niets mis om PHP te leren: als je zelf al goede gewoontes hebt in het programmeren, zullen die niet veranderen. Maar op net dezelfde manier als BASIC beginnende programmeurs op het verkeerde pad brengt, vind ik dat dat ook bij PHP wel een beetje het geval kan zijn (het idee dat je er maar wat op los doet; vorm maakt niet uit). In dat opzicht vind ik Python dan ook een geweldige taal: daar moet je vorm perfect in orde zijn, of je programma loopt niet goed (niet zoals je in een andere taal verwacht, of hij zegt je gewoonweg waar je indentatiefouten aan het maken bent).

Het verschil tussen C en C++ is, voor zover ik weet, ook vooral wat Kazet Nagorra zegt: C++ heeft betere mogelijkheden om Object-Oriented Programming te gaan toepassen.

Maar zoals ik al zei: het moeilijkste aan programmeren is de allereerste stap: denken als een programmeur. Als je dat kan; is het leren van een nieuwe taal eigenlijk niet zo heel moeilijk (er kruipt wat tijd in, ook in het verstaan van de nodige specialiteiten in die taal). Maar in tegenstelling tot natuurlijke talen (Engels, Nederlands, ...) is de basis van de meeste talen ongeveer hetzelfde. De syntaxis verschilt wat; maar de concepten zijn uiteindelijk hetzelfde (en die zijn juist het 'moeilijkste').

Dus ga maar direct voor C, C++ of Java; waar Java dan waarschijnlijk nog het makkelijkste zal zijn (omdat je geen pointers hebt, geheugenbeheer is ook uit je handen genomen).

Offtopic: Om even mijn ervaring te geven: ik ben begonnen met QBasic toen ik ongeveer 8 was, denk ik. Klassiekers als SuperLogo, Visual Basic, Turbo Pascal, Object Pascal, PHP: ik heb met ze allemaal wat gewerkt. Ons eerste jaar universiteit, kregen we Modula-2 (een of ander marginaal dialect van Pascal; waar volgens mij vooral designfouten in zitten als je vergelijkt met Object Pascal (sjeezus, hoe kwam Wirth erop om zijn keywords verplicht in hoofdletters te zetten; dat zorgt enkel voor lelijke code en syntax-highlighting moet je niet opdringen via hoofdlettergebruik)). Sinds vorig jaar ben ik dus ook begonnen met Python (en voor universiteit ook Matlab); en volgend semester komt Java hier aan bod. Ik heb ook nog eventjes de beginselen van Ruby opgenomen, maar waar die taal als heel leesbaar gepromoot wordt, vind ik dat na de basis toch best tegenvallen (en dus ben ik er maar mee gestopt). Enkel talen als C, C++ en Assembly missen vooral nog op mijn lijst; maar die gaan er heus wel eens bijkomen, misschien ooit zelfs nog eens C# (nog een variant van C++, die eigenlijk grotendeels op Windows gebruikt wordt; .NET-rotzooi en dergelijke).

Ik ben dus wel best bezeten door programmeren. Hoe lang je er trouwens over doet om het allemaal te leren hangt geheel van jou af. Als je graag programmeert, vergeet je zo de tijd. Het moeilijkste is echt de basis onder de knie krijgen; en die heb je normaal voor een stuk al met Matlab (hoewel dat ook een taal met impliciete typering is en best handige typecasting). C, C++ of Java zijn dan ook slechte talen om helemaal mee te beginnen omdat hun syntaxis overdonderend is (voor iemand die nog nooit geprogrammeerd heeft), maar als je de basis al kent, valt het allemaal best mee. Het probleem met C is dat de beginners door die minimalistische syntaxis door de bomen het bos niet meer zien (je moet de code kunnen begrijpen in de eerste plaats en dat gaat nu eenmaal makkelijker in een iets woordelijkere taal zoals Pascal of Python). Maar eenmaal je de basis hebt, wilt dat ook zeggen dat je de concepten al wat op een rijtje hebt, dat je voor jezelf al de abstracties gemaakt hebt (programmeertaal naar de gebruikte concepten). Het komt er dan vooral op neer om die concepten ook in een andere taal te leren beschrijven en zo moeilijk is dat dan niet meer. Vergelijk het hiermee: je kan een kind wel leren hoe hij in het Nederlands verstoppertje moet spelen (tellen, bepaald iets roepen als je iemand gevonden hebt, ...). Het moeilijkste zijn die spelregels. Daarna is het niet zo moeilijk meer om dat kind verstoppertje te leren spelen in het Frans of het Engels: de regels zijn hetzelfde (of toch ongeveer), maar je moet met andere woorden werken.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 19-01-2008, 09:54
Anika
@ILUsion: op je achtste al begonnen met programmeren, dat is echt vroeg! Toen wist ik nog niet eens hoe de computer aan en uit moest volgens mij.

In ieder geval allemaal heel erg bedankt voor de hulp. Ik ga maar gewoon beginnen met C++ en ik zie wel hoe ver ik kom in dat halve jaar. Ik heb er in ieder geval wel vertrouwen in dat het gaat lukken matlab vond ik erg leuk, dus het kost vast niet zoveel moeite om er veel tijd in te steken.
Met citaat reageren
Oud 19-01-2008, 10:02
ILUsion
Avatar van ILUsion
ILUsion is offline
Ik ben gewoon een vroege vogel (ik kon al met computers werken toen ik ongeveer 5 was). En als je Matlab leuk vond, wilt dat volgens mij wel zeggen dat je graag programmeert (de meeste van mijn medestudenten vonden het een sleur; maar nog niet zo erg als modula). Dan lukt C++ je echt ook wel; vermits het moeilijkste is om die interesse te hebben (en die interesse komt ook meestal pas als je dat programmeerinzicht hebt).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 19-01-2008, 19:34
Swlabr
Avatar van Swlabr
Swlabr is offline
Ik ben net begonnen met Python (te laat, vind ik) en ik vind het een erg mooie taal.
__________________
Laziness is nothing more than the habit of resting before you get tired.
Met citaat reageren
Oud 20-01-2008, 01:18
Gemenerik
Avatar van Gemenerik
Gemenerik is offline
Je zou eventueel ook C# kunnen overwegen. Vind ik tot nu toe een prettige taal en niet al te moeilijk om mee te beginnen.
Met citaat reageren
Oud 20-01-2008, 09:07
ILUsion
Avatar van ILUsion
ILUsion is offline
C# is inderdaad geen slechte taal; en ik wil hiermee je idee niet volledig afschieten ofzo; maar volgens mij is het in dit geval gewoon al beter om dan direct met C of C++ te beginnen vermits ze dat ook echt nodig zal hebben. Ook heb ik nogal mijn twijfels over de openheid van C#, een beetje een wantrouwen tegenover Microsoft: ik heb liever niet te veel te doen met hun producten (om ook al maar te zeggen dat hun bijhorende IDE veel te zwaar is naar mijn goesting). Maar ik begrijp best dat je het een prettige taal vindt: C-achtige syntaxis met heel wat speciale abstract data types (wat het programmeren veel vergemakkelijkt). Alleen vrees ik dat je het bij C en C++ vooral zelf in elkaar moet steken (in dat opzicht was Python langs mijn kant ook geen goede taal om aan te leren; maar wel een uitstekende leertaal als je nog niets weet van programmeren).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Ads door Google
Oud 20-01-2008, 15:06
Verwijderd
ik zit in de vierde, dus ik weet niet of ik er genoeg verstand van heb, maar ik heb hele goede ervaringen met deze site:

http://openbookproject.net/thinkCSjav/

het begint met (Hello, World) en legt de syntax van Java heel erg goed uit. Je leest er als je programmeren een beetje leuk vind vlot doorheen maar misschien voor jou iets te simpel (gezien je een Master wilt gaan doen). gezien je ervaring met loops etc. kun je een aantal hoofdstukken wel overslaan(behalve H1, deze geeft goede uitleg over de syntax en enkele begrippen binnen Java). het is in ieder geval een leuk beginnetje.

PS. volgens een vriend van mij zijn het 144 bladzijden.

Laatst gewijzigd op 20-01-2008 om 16:13.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware Leren programmeren
Bobby1994
54 21-06-2016 21:58
De Kantine Programmeurs/ict'ers gezocht! Ik maak je huiswerk
BigSnicker
48 18-12-2015 17:56
Huiswerkvragen: Exacte vakken [IN] Programmeren ti84
thieske
11 12-01-2013 09:48
Software & Hardware java programmeren - temperatuur converter
ecobest
1 30-08-2007 03:36
Software & Hardware programmeren in GR
icecool
3 29-11-2006 19:33
Software & Hardware Beginnen met programmeren voor Windows
Verwijderd
73 08-03-2003 18:15


Alle tijden zijn GMT +1. Het is nu 08:20.