Programmeertaal kiezen

Pagina: 1
Acties:
  • 868 views

Acties:
  • 0 Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 21-09 16:52
Vorige week zaterdag ben ik bij de Nederlandse Informatica Olympiade doorgedrongen naar ronde 3. Dit houdt in dat ik een 3-daagse scholing krijg en ik daarna met 12 andere scholieren zal strijden om een plaats bij de internationale informatica olympiade. Nou heb ik tot nu toe altijd in mijn favoriete taal kunnen programmeren: VB.Net. Helaas zal ik deze taal niet kunnen gebruiken bij de volgende rondes. Dat wil zeggen dat ik in een redelijk korte tijd een andere taal moet leren, namelijk C, C++ of (turbo/free)pascal.

Aangezien ik graag object-georienteerd programmeer, denk ik dat ik een keuze zal moeten maken tussen C++ en pascal. Ondanks dat ik wel het een en ander over beide talen weet, vind ik die keuze heel erg moeilijk. Ik heb al een beetje ervaring met delphi, dus de overstap naar pascal zal iets makkelijker zijn. Ik wil echter ook iets hebben aan de taal die ik erbij leer, en pascal/delphi is redelijk overbodig voor mij, aangezien ik met vb.net een vergelijkbare taal ken. C++ biedt weer wat nieuwe mogelijkheden op veel gebieden, maar lijkt mij een stuk moeilijker.

In VB.Net ben ik het inmiddels gewend om met van die handige objecten als lists en dictionary's te werken, arrays komen in mijn programma's bijvoorbeeld bijna nooit meer voor. Ik weet dat het in pascal en c++ afzien wordt van deze luxe, maar met welke taal denken jullie dat ik het beste overweg zal kunnen? Hoe zit dat trouwens met debuggen in die talen? Welke IDE's zijn er beschikbaar op welke platformen, (werkt monodevelop bijv. ook met een van deze talen?), en hoe zijn ze te vergelijken met Visual Studio, dat naar mijn mening op dit moment de beste IDE is? Zijn er voor C++ en pascal IDE's waar ik met voor mij vertrouwde dingen als breakpoints, watches e.d. kan werken?

Ik vind het redelijk lastig om een duidelijk antwoord te vinden op het internet, aangezien de C++ fanboys allemaal zeggen dat ik C++ moet gebruiken, en de Pascal-fansites allemaal betogen dat Pascal de taal der talen is. Echt wijs word ik hieruit niet, vandaar dat ik de vraag hier even stel.

Acties:
  • 0 Henk 'm!

  • MLM
  • Registratie: Juli 2004
  • Laatst online: 12-03-2023

MLM

aka Zolo

ouch, hoe dan ook ga je naar een minder high-level taal, met een minder groot framework erbij.

pascal ben ik niet zeker van, maar in C++ heb je wel alternatieven voor .NET collections, namelijk STL collections. daar zitten onder andere list<T> of map<T> in.

MS Visual Studio is ook beschikbaar met C(++) hoor, dus daarvoor hoef je niet perse te wisselen, ik geloof niet dat er een pascal "plugin" is voor VS, dus dat is een lastigere :)

Succes!

-niks-


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22-09 14:14

Matis

Rubber Rocket

Ikzelf zal gaan voor c++ in/onder linux omdat je dan met de std-lib een helehoop VB functionaliteit kan gebruiken. Zelf heb ik nooit iets in pascal gedaan, maar de ondersteuning voor C++ is IMO velen malen groter dan pascal.

Je kan ook voor VS. Maar als je toch lekker OO wilt programeren zal ik een linux distro (ubuntu 8.10 of 8.04) installen met daarop Eclips Ganymede en de C++ plugins en compilers installen.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 21-09 16:52
Ik weet dat Visual Studio ook beschikbaar is met C++, het probleem is echter dat ik de kans klein is dat ik dat ook kan/mag gaan gebruiken bij de olympiade's. Er is (vooral bij de internationale olympiade) een sterke voorkeur voor Linux-systemen als ik me niet heel erg vergis. Het compilen gebeurt in ieder geval met gcc en fpc, dus het lijkt me ook handiger om code te schrijven met een IDE die ook met die compilers werkt. Vandaar dus ook mijn vragen over alternatieve IDE's. Ik heb geen GUI nodig, alles werkt met in- en uitvoer tekstbestanden, het enige wat ik belangrijk vind is dat ik een beetje fatsoenlijk kan debuggen.
toaomatis schreef op zondag 12 april 2009 @ 20:44:
Ikzelf zal gaan voor c++ in/onder linux omdat je dan met de std-lib een helehoop VB functionaliteit kan gebruiken. Zelf heb ik nooit iets in pascal gedaan, maar de ondersteuning voor C++ is IMO velen malen groter dan pascal.

Je kan ook voor VS. Maar als je toch lekker OO wilt programeren zal ik een linux distro (ubuntu 8.10 of 8.04) installen met daarop Eclips Ganymede en de C++ plugins en compilers installen.
Ok, ik ga binnenkort toch Ubuntu 9.04 testen dus dan zal ik dan meteen eens aan de slag gaan met C++. Bedankt voor de tip :)

[ Voor 34% gewijzigd door Gimmeabrake op 12-04-2009 20:47 ]


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22-09 14:14

Matis

Rubber Rocket

K, in dat geval zou ik gaan voor mijn eerste post. Je kan gewoon in tekst dat maken en zelf een makefile tikken; Dat raad ik sws aan, zo weet je immers altijd zelf hoe je programma compiled ;)

Die makefile kun je zelf compilen met gcc.

Alleemaal opensource. Je kan ook Eclipse alles laten regelen (make/clean etc.) en compilen met je favo compiler (gcc g++).

Succes iig!
gerrymeistah schreef op zondag 12 april 2009 @ 20:45:
Ok, ik ga binnenkort toch Ubuntu 9.04 testen dus dan zal ik dan meteen eens aan de slag gaan met C++. Bedankt voor de tip :)
Ik raad je niet aan om in een beta te gaan programmeren... Immers zijn de compilers lang niet altijd ondersteund en ook nog niet echt geoptimaliseerd. Daarnaast hoeft het niet altijd backwardscompatible te werken op ubuntu 8.xx.

[ Voor 38% gewijzigd door Matis op 12-04-2009 20:52 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 21-09 16:52
Thanks a lot. Ik zal me er morgen eens uitgebreid in verdiepen. :)

Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 07:43
En voor het debuggen kun je gebruik maken van gdb, al moet je je het gebruik van die tool wel aanleren. Het werkt op de commandline. Verder moet je je programma dan compileren met -g, zodat je debugging symbols hebt.

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 23:05
Aangezien je voor de Olympiade toch niet heel erg OO hoeft te programmeren, zou ik zeggen: FreePascal, omdat die taal veel sneller te leren is. Als je genoeg tijd zou hebben zou ik C++ aanraden (is voor programmeerwedstrijden vaak wel geslaagd) maar C++ is een behoorlijk ingewikkelde taal, en zowel in C als C++ kun je jezelf behoorlijk in de nesten werken. Dat geeft niet als je de tijd hebt om uitgebreid te debuggen en van je fouten te leren, maar als je juist aan tijd gebrek hebt, is dat dus niet handig.

Daar komt nog eens bij dat je al aangeeft ervaring te hebben met ObjectPacal (is niet echt hetzelfde als FreePascal dacht ik?) dus dan zou het helemaal een no-brainer moeten zijn. ;)

Overigens wil ik je niet afraden C en/of C++ te leren, maar als je doel is om binnen een paar maanden een taal goed te beheersen zodat je onder tijdsdruk foutloze programma's kan opleveren, dan lijkt FreePascal me daar gewoon beter geschikt voor.

Acties:
  • 0 Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 21-09 16:52
Soultaker schreef op zondag 12 april 2009 @ 22:43:
Aangezien je voor de Olympiade toch niet heel erg OO hoeft te programmeren, zou ik zeggen: FreePascal, omdat die taal veel sneller te leren is.
Ik moet eerlijk zeggen dat ik in ronde 2 dankbaar gebruik heb gemaakt van objecten om de opgave op te lossen. Objecten kunnen af en toe best handig zijn.
Jaap-Jan schreef op zondag 12 april 2009 @ 22:14:
En voor het debuggen kun je gebruik maken van gdb, al moet je je het gebruik van die tool wel aanleren. Het werkt op de commandline. Verder moet je je programma dan compileren met -g, zodat je debugging symbols hebt.
Wat zijn je motivaties om dit te prefereren boven bijvoorbeeld Eclipse zoals toaomatis voorstelde? Ik weet dat de commandline heel krachtig kan zijn, maar ik voel me denk ik toch gemakkelijker in een IDE met een GUI.
Soultaker schreef op zondag 12 april 2009 @ 22:43:
Overigens wil ik je niet afraden C en/of C++ te leren, maar als je doel is om binnen een paar maanden een taal goed te beheersen zodat je onder tijdsdruk foutloze programma's kan opleveren, dan lijkt FreePascal me daar gewoon beter geschikt voor.
Ik ben trouwens vergeten te vermelden dat ik wel enige ervaring heb met C# en php. Ik voel me echter nog niet 100% op mijn gemak in die talen. Bij php ligt dat aan het vreselijk irritante debugging(ik gebruik nu ASP.Net), en bij C# eraan dat ik hetzelfde ook in VB.Net kan programmeren en dus eigenlijk gewoon te lui ben om C# consequent te gaan gebruiken.

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:17
gerrymeistah schreef op zondag 12 april 2009 @ 23:50:
Wat zijn je motivaties om dit te prefereren boven bijvoorbeeld Eclipse zoals toaomatis voorstelde? Ik weet dat de commandline heel krachtig kan zijn, maar ik voel me denk ik toch gemakkelijker in een IDE met een GUI.
gdb is een backend, waar verschillende frontends bij te krijgen zijn om het te visualiseren. De vraag is of Eclipse een plugin heeft om mbv gdb te debuggen ( met watches, breakpoint etc ), dat weet ik eigenlijk niet.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Welke taal je moet nemen is zowel persoonlijk als irrelevant. Een C++ fanboy zal zeggen dat je C++ moet kiezen, een Pascal fanboy zal zeggen dat Pascal fijn is, en intussen kom je alsnog nergens. Je moet die taal kiezen die je zelf gemakkelijk vindt en waarmee je daadwerkelijk je doel kan bereiken. Aangezien alles wat je wil doen in beide talen moet kunnen komt het niet op meer aan dan persoonlijke smaak. En hier kan zien loopt dit soort topics nooit uit op een conclusie en gaan ze daarom op slot. :)

Dus nogmaals: kijk eens goed naar de talen, en neem wat beginnerslesjes door. Kijk wat je van te talen vindt en kies die taal die je het meest aanspreekt. In dit geval zal het geen fluit uitmaken welke je kiest. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.