Archief - [PROG] Overstap van functioneel nr OO, welke taal?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Tw33tst3r

Legacy Member
ik ben op zoek naar info over OO, ik heb paar jaar ervaring als COBOL-programmeur op as400 maar dat was natuurlijk functioneel programmeren en is ook al paar jaar geleden.
ik heb recent wat met php zitten rotzooien mr ik vond het nogal saai dus dacht ik eraan om OOP te leren.
een kameraad van mij zei dat ik het best een cursus over OOP eens doornam, dan UML en dan een taal die me aanstaat.

nu is mijn vraag kan er mij iemand zeggen welke boeken of online cursussen ik het beste kan raadplegen want met google vind ik wel veel maar geen idee van de kwaliteit van die dingen

qua taal zat ik te denken aan C++ mr naar het schijnt is .net een serieuze opmars aant maken, zelf ken ik geen van beide (klein beetje c gehad op middelbaar mr thats it)

alvast bedankt

greetz Tweetster

den Acid Burn

Legacy Member
java of .net zijn de 2 meest voor de hand liggende keuzes

Bubbling Zombie

Legacy Member
Tw33tst3r zei:
nu is mijn vraag kan er mij iemand zeggen welke boeken of online cursussen ik het beste kan raadplegen want met google vind ik wel veel maar geen idee van de kwaliteit van die dingen

Voor java heb je hier een aantal pointers en tutorials enzo voor beginnende java programmeurs. En zoals je zelf al opmerkt -> internet staat vol van die dingen.

Voor c# (laten we aub over vb.net zwijgen :sop: ) kan je hier eens zien. Heb je ineens een ide en heel de santeboetiek. Staan ook tutorials ergens op die site, anders zoek je maar eens in de msdn.

qua taal zat ik te denken aan C++ mr naar het schijnt is .net een serieuze opmars aant maken, zelf ken ik geen van beide (klein beetje c gehad op middelbaar mr thats it)

dit valt onder uitlokking. /me ziet al lichtjes en pitchforks in de verte.

den Acid Burn

Legacy Member
mja of ge nu c# of vb.net gebruikt.
maakt toch weinig tot nix uit imo.

ge moet toch dezelfde (.net) methods gebruiken en het wordt gecompileerd naar dezelfde intermediate language

Bubbling Zombie

Legacy Member
den Acid Burn zei:
mja of ge nu c# of vb.net gebruikt.
maakt toch weinig tot nix uit imo.

ge moet toch dezelfde (.net) methods gebruiken en het wordt gecompileerd naar dezelfde intermediate language

foert, ik stop er geen moeite meer in, killgore, uw beurt! :p

nog een linkje voor de TS

den Acid Burn

Legacy Member
verklaar u nader he vriend :)

maar wat maakt het uit als ge in .net programmeert of ge nu c#, j# vb.net of whatever gebruikt.
ge moet zowiezo gebruik maken van de ;net class libraries en uw code wordt toch naar dezelfde intermediate language gecompileerd.

dus het enige voordeel dat ik kan bedenken is dat ge mss liever de syntax van c# hebt dan die van vb.net
of ik moet iets over het hoofd zien :)

ik ben namelijk niet zo een .net guru :p

den Acid Burn

Legacy Member
c++ is perfect om snelle functies en dergelijke te ontwerpen, in de vorm van dll's ofzo dan.
maar om een gui te maken in c++, is toch al heel wat minder.

KeaTs

Legacy Member
Not really. Ik kan in MFC heel snel een professioneel ogende Windows GUI ontwerpen hoe ik wil hoor, of t nu een klein ding is of een complexe interface. Als je platformonafhankelijkheid wil kan je GTK of Qt gaan. Maar akkoord, als je puur gui'tjes wil maken zijn er betere keuzes. Maar als ik iemand zie die OO wil leren for the heck of it, denk ik dat hij eerder 'echt' (flame me hier niet op, u know what I mean) programmeerwerk in gedachten heeft, en dan blijf ik toch bij c++. Zeker in een forum dat prog & gamedesign heet ;)

Vich

Legacy Member
KeaTs zei:
Not really. Ik kan in MFC heel snel een professioneel ogende Windows GUI ontwerpen hoe ik wil hoor, of t nu een klein ding is of een complexe interface. Als je platformonafhankelijkheid wil kan je GTK of Qt gaan. Maar akkoord, als je puur gui'tjes wil maken zijn er betere keuzes. Maar als ik iemand zie die OO wil leren for the heck of it, denk ik dat hij eerder 'echt' (flame me hier niet op, u know what I mean) programmeerwerk in gedachten heeft, en dan blijf ik toch bij c++. Zeker in een forum dat prog & gamedesign heet ;)
MFC is echt een goed voorbeeld van een slecht GUI systeem. Dat systeem zit op OO-niveau echt brak in elkaar.
Daarom bouw ik ook m'n eigen GUI systeem(opensource). Deze zal on-the-fly editting hebben, wat wil zeggen dat standaard je GUI gelockt is als je het programma runt, maar dat je deze kan unlocken om rechtstreeks in je applicatie je GUI te gaan editten (dingen verslepen, verschalen, etc.)

C# of Java zijn naar mijn mening ook prima om OO te leren. Die talen forceren je ook meer om OO te gebruiken, terwijl je in C++ ook gewoon pure C kan maken.
Zelf hou ik ervan om te kunnen kiezen tussen OO en procedureel programmeren, voor mij is C/C++ dan ook ideaal. De TS zou ik C# aanraden, hij kan later nog altijd naar C++ overstappen als hij dat nodig acht: van taal wisselen is immers makkelijk als je eenmaal het programmeren goed onder te knie hebt, omdat je dan enkel de nieuwe syntax moet leren.

Bubbling Zombie

Legacy Member
KeaTs zei:
Maar als ik iemand zie die OO wil leren for the heck of it, denk ik dat hij eerder 'echt' (flame me hier niet op, u know what I mean) programmeerwerk in gedachten heeft, en dan blijf ik toch bij c++. Zeker in een forum dat prog & gamedesign heet ;)

Java & C# zijn gemaakt met het oog op OO design, en jij wilt die jongen c++ aansmeren. Bon, we vallen hier in herhaling en ik maak er geen woorden meer aan vuil.

dJeez

Legacy Member
C++.NET bestaat toch ook nog steeds dacht ik. .NET is nl. geen taal, maar een framework. Wat niet wegneemt dat ik ook C#.NET zou aanraden als je voor de .NET technologie kiest, in het andere geval (niet .NET ontwikkeling) is Java zeker geen slechte optie.

Tw33tst3r

Legacy Member
merci vr de info allemaal, kheb net c# afgehaald en installed, hopelijk valt het wat mee qua leercurve :)

.Acku.

Legacy Member
Java gaat sterven als alle beginners C# kiezen gewoon omdat het minder bedreigend lijkt :(

Deguchi

Legacy Member
KeaTs zei:
Not really. Ik kan in MFC heel snel een professioneel ogende Windows GUI ontwerpen hoe ik wil hoor, of t nu een klein ding is of een complexe interface. Als je platformonafhankelijkheid wil kan je GTK of Qt gaan. Maar akkoord, als je puur gui'tjes wil maken zijn er betere keuzes. Maar als ik iemand zie die OO wil leren for the heck of it, denk ik dat hij eerder 'echt' (flame me hier niet op, u know what I mean) programmeerwerk in gedachten heeft, en dan blijf ik toch bij c++. Zeker in een forum dat prog & gamedesign heet ;)

C++ is leuk voor als ge weinig tot geen gui nodig hebt. Maar als ge den dag van vandaag iets maakt met ne gui en het moet enkel onder windows werken (anders zou ge niet met MFC werken), maak het dan met .NET (c++ of c# .NET).

Veel makkelijker om een gui in elkaar te steken en nog een pak gebruiksvriendelijker dan MFC zenne. Ok, .NET is niet supersnel, maar voor een windows desktop programma is da geen drama dat dat 1 sec trager opstart.

killgore

Legacy Member
Bubbling Zombie zei:
foert, ik stop er geen moeite meer in, killgore, uw beurt! :p

nog een linkje voor de TS
ik was niet thuis :sop:.
Nu ja, over vb.net ga ik me niet uitspreken en anders wordt dit toch weer een nutteloze discussie :).

@keats: ik volg u bijna volledig, alleen zou ik persoonlijk niet MFC aanraden, tis gewoon een slechte wrapper, winapi zelf is imho duidelijker & beter. Je kan in winapi (en dus mfc) trouwens ook gui-editors gebruiken die zelf de resource-files aanmaken die je in je programma kan gebruiken, even simpel als anders. Ook hardcoded is echt niet moeilijk, het enige "moeilijke" is dat het "veel" opzet-werk eist (een beetje het stokpaardje van ms zijn c/c++ apis), iets toevoegen echter is meestal niet veel coding werk.
Daarnaast heb je nog genoeg andere gui systemen die zeker simpel genoeg zijn om java en c# te evenaren ze (wxwidgets bv, hoewel dat niet echt C++ is natuurlijk), alleen heerst er gewoon een belachelijk idee rond c++ van "het is te low-level voor alles" of het is te moeilijk of ... . Je kan wel degelijk een deftig gestructureerde desktop app ontwikkelen in c++ op een gelijkaardige tijd als in c#/java hoor.
C++ heeft grotere nadelen als dat (geen gc, minder platform onafhankelijk, gevaarlijker variabelenbeheer).

C++.net is ook een optie, alleen ken ik persoonlijk niet veel mensen die het kennen & gebruiken (ik kan het, gebruik het echter zelden tot nooit).

Ik zou altijd c#.net of java aanraden en persoonlijk vind ik die voor beginners zeker evenwaardig.

edit: bij overstap van functioneel naar oop zou ik je zeer zeker aanraden om zoveel mogelijk op te zoeken ook rond oop-concepten in het algemeen en daar programmas rond bouwen. Anders ga je snel vervallen in niet meer als wat wrappen van je vroegere functionele code (wrappen = "functies in klassen steken zonder echt gebruik te maken van oo-kracht").

KeaTs

Legacy Member
Ja, mee eens hoor, MFC is verre van ideaal. Ik ben er altijd aan gewend geweest dus mij ligt het wel, maar ik kan me inbeelden dat er betere systemen zijn. De hele "welke taal" discussie is zo overdone, dus daar ga ik ook niet meer heen; welke taal de beste keuze is hangt toch af van wat je er wil in implementeren. Mijn voorkeur voor C++ heeft een eenvoudige reden; ik doe vooral netwerk- en game-programmeren; en als je bleeding edge performantie wil is het de beste keuze. Ik verkies het ook boven andere talen qua gebruik, vb talen die dingen abstraheren uit 'gemak' voor de programmeur zeggen me niks, ik heb liever meer voeling met wat er onder de motorkap gebeurt (cfr garbage collection vs eigen memory management). Maar soit, dat zijn misschien subjectieve dingen.

Dus misschien de vraag terug naar tweetster; wat wil je met die taal gaan doen? :)

killgore

Legacy Member
KeaTs zei:
Ik verkies het ook boven andere talen qua gebruik, vb talen die dingen abstraheren uit 'gemak' voor de programmeur zeggen me niks, ik heb liever meer voeling met wat er onder de motorkap gebeurt (cfr garbage collection vs eigen memory management). Maar soit, dat zijn misschien subjectieve dingen.
Uhu, das de reden wrom ik ook nog altijd meestal in c++ prog. Hoewel ik nu toch voor bepaalde apps toch sneller overschakel op java/c#, maar dat zijn dan meestal de "simpele" progjes :).

Dus misschien de vraag terug naar tweetster; wat wil je met die taal gaan doen? :)
Vind ik minder relevant, dat was mijn punt van dat java en c# weinig verschillen voor een beginner: leer eerst deftig de basis (dit zijn deftige talen om dat te leren, c++ is mssch iets te moeilijk, maar je kan altijd overschakelen) en kijk dan wat je exacter wilt doen en maak dan je keuze.
Maar dat is enkel mijn mening natuurlijk ;).

MemberX

Legacy Member
Als je zuiver OOP wenst te leren, dan stel ik voor dat je eerst eens naar de principes kijkt voordat je een taal kiest. Los dan eventueel een paar oefeningen op volgens de OOP stijl. De taal is namelijk niet de grootste moeilijkheid, maar het is de wijziging in je denkpatroon.
Als je de principes doorhebt kan je kiezen voor een taal. Persoonlijk zou ik kiezen voor Java of c#, omdat deze talen eenvoudig aan te leren zijn (ze zijn ook meer high-level). Deze talen zijn ook ontworpen met OOP in gedachten, terwijl C++ dat minder is. Als je echter meer low-level controle wenst, kies dan zeker voor C++.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan