Toon posts:

[Alg] Van C/C++ overstappen naar Delphi

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mede P&W'ers

Ik programmeer nu als hobby in mn schaarse vrije tijd in C++, nu ong al een jaartje ofzo. Maar nu kwam ik er laatst achter dat ze op de TU/e waar ik over 1,5 jaar(als het goed is :+) Technische Informatica ga doen je leren proggen in Pascal(Delphi).
Nu heb ik daar een heel klein beetje ervaring mee, maar omdat ik het in de tijd dat ik op zoek was naar een geschikte taal niet echt fijn vond werken, en de syntax al helemaal zwaar klote vond, heb ik het toch maar niet gedaan.
Maar nu heb ik niet veel andere keus. Nu is mijn vraag, is het overstappen van C/C++ naar Delphi een kwestie van wennen aan de syntax en een paar taal specifieke functies, of kan het problemen opleveren.
Met andere wooorden is het aan te raden om nu wat met delphi aan de slag te gaan, of zal de overstap vrij soepel gaan?

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Welke problemen zou het kunnen opleveren?
Dit is imho hetzelfde probleem als 'ik wil leren programmeren, maar welke taal moet ik nemen'. De taal is niet het belangrijkste, het is het programmeren dat het belangrijkste is. De gedachtengang, de programma/data structuren, ....

Object Oriented programmeren in Delphi werkt hetzelfde als in C++. Je hebt ook classes, inheritance, virtual functions, constructors, etc......
De syntax is anders, en het achterliggende framework mogen dan wel anders zijn, programmeren is programmeren. Als je de basis kent, bepaalde methodieken beheerst, etc.... zie ik er geen moeilijkheid in.

https://fgheysels.github.io/


Verwijderd

Topicstarter
dus het zal voornamelijk gewend raken aan de syntax? Want ik denk dat het programmeren zelf niet echt een probleem zal worden, de gedachtegang dan. Maar meer, krijg ik hetzelfde even makkelijk voor elkaar in een andere taal waar ik niet gewend aan ben.

  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 08:08

Exirion

Gadgetfetisjist

Als tussenstap zou je ook nog C++ Builder kunnen gebruiken. Da's Delphi maar dan met C++ als taal. Met Linux kun je Kylix gebruiken, en dan heb je beide. Als je applicaties CLX-based maakt dan zijn ze redelijk cross-platform.

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Als je C++ fatsoenlijk kent is het puur nieuwe grammatica en klaar is Kees.

Maar waarom pak je niet gewoon BCB?

Professionele website nodig?


Verwijderd

Topicstarter
curry684 schreef op 15 januari 2004 @ 21:37:
Als je C++ fatsoenlijk kent is het puur nieuwe grammatica en klaar is Kees.

Maar waarom pak je niet gewoon BCB?
Omdat ik bang ben voor de Delphi omgeving :+, het ziet er zoo onoverzichtelijk uit. En als BCB er ook zo uit ziet dan hoef ik het niet :Y)

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Wat zeg je nu?
Je bent gewend van in Delphi te werken, maar je vind het nog altijd onoverzichtelijk.

Oja, BCB's IDE lijkt als 2 druppels water op die van Delphi.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 15 januari 2004 @ 21:41:
Wat zeg je nu?
Je bent gewend van in Delphi te werken, maar je vind het nog altijd onoverzichtelijk.

Oja, BCB's IDE lijkt als 2 druppels water op die van Delphi.
Zeg ik ergens dat ik gewend ben om in delphi te werken :? zoja, dan is het een vergissing, k zei alleen dat ik er 1 of 2 keer mee heb gewerkt

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Verwijderd schreef op 15 januari 2004 @ 21:45:
[...]

Zeg ik ergens dat ik gewend ben om in delphi te werken :? zoja, dan is het een vergissing, k zei alleen dat ik er 1 of 2 keer mee heb gewerkt
Huh, idd..... sorry, verward enzo (omdat ik hier lees: waarom prog je niet in C++ Builder, ik was al vergeten dat je van C++ naar Delphi wilt gaan, en ik had het al andersom enzo. :z).

Die Delphi IDE valt eigenlijk wel mee. Je moet er aan wennen, maar het heeft -imo- zijn voordelen.

https://fgheysels.github.io/


  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Als je naar de universiteit gaat, gaan ze je helemaal vanaf het begin aan leren programeren. Zo zorgen ze ervoor dat je het meteen goed leert. Ook mensen die nog nooit een regel code hebben geschreven en wel een set hersenen hebben kunnen het dus gewoon volgen. Het is dus totaal niet nodig om al eerder een taal proberen te leren omdat dat daar gegeven wordt, behalve als je alle colleges wilt skippen en de opdrachten van de praktica in 1 middag in plaats van 3 middagen af wil maken.

"Beauty is the ultimate defence against complexity." David Gelernter


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:16

.oisyn

Moderator Devschuur®

Demotivational Speaker

Bovendien leer je geen taal, je leert programmeren, en dat is in bijna elke taal hetzelfde (het wordt pas anders als je een functionele taal of logische taal gaat gebruiken ;))

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

.oisyn schreef op 15 januari 2004 @ 22:33:
(het wordt pas anders als je een functionele taal of logische taal gaat gebruiken ;))
En welke van bovenstaande methode je gebruikt maakt niet zoveel uit, zolang het maar een logisch functionerend geheel oplevert :*)

ff Ontopic, als je veel OOP programmeert zul je zien, dat de mogelijkheden in Delphi iets minder zijn, C/C++ levert ook (naar gehoord te hebben) betere/snellere executable code op (doet er tegenwoordig niet zoveel meer toe met de huidige pc's). Delphi is over het algemeen net iets minder geavanceerd en diepgaand als C++, maar verder kan je er zo'n beetje alles mee ontwikkelen. En een grote community en componenten bouwers (hobby en professionals!)

  • koli-man
  • Registratie: Januari 2003
  • Laatst online: 13-05 14:28

koli-man

Bartender!!!!

Verwijderd schreef op 15 januari 2004 @ 21:40:
[...]

Omdat ik bang ben voor de Delphi omgeving :+, het ziet er zoo onoverzichtelijk uit. En als BCB er ook zo uit ziet dan hoef ik het niet :Y)
Nou, als ik qua overzichtelijkheid en layout moet kiezen tussen visual c++ en de borland versie van C++, dan geef mij toch maar de borland.
Of het nou delphi of C++ is. Dat maakt niet uit.

Volgens mij is de compiler van Delphi wel een beetje sneller dan de c++ variant.

[ Voor 10% gewijzigd door koli-man op 16-01-2004 00:18 ]

Hey Isaac...let's go shuffleboard on the Lido - deck...my site koli-man => MOEHA on X-Box laaaiiiff


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Verwijderd schreef op 15 januari 2004 @ 22:37:
[...]
ff Ontopic, als je veel OOP programmeert zul je zien, dat de mogelijkheden in Delphi iets minder zijn, C/C++ levert ook (naar gehoord te hebben) betere/snellere executable code op (doet er tegenwoordig niet zoveel meer toe met de huidige pc's). Delphi is over het algemeen net iets minder geavanceerd en diepgaand als C++, maar verder kan je er zo'n beetje alles mee ontwikkelen. En een grote community en componenten bouwers (hobby en professionals!)
Het enige wat in Delphi niet mogelijk is qua OOP tov C++, is multiple implementation inheritance en templates.
Ik zou ook niet weten waarom je vind dat Delphi minder geavanceerd is dan C++.

Ik ken trouwens niet zoveel compilers die even snel zijn als de Delphi compiler.

https://fgheysels.github.io/


Verwijderd

whoami schreef op 16 januari 2004 @ 08:54:
[...]
Het enige wat in Delphi niet mogelijk is qua OOP tov C++, is multiple implementation inheritance en templates.
Ik zou ook niet weten waarom je vind dat Delphi minder geavanceerd is dan C++.
Dat type je net zelf, in de zin erboven. Er was nog iets wat niet ging in Delphi maar wel in C++ (doe zelf nooit C++, dus weet ff niet precies wat, was iets met operators ofzo)

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Omdat een taal geen MI of templates ondersteunt, maakt dat daarom een minder geavanceerd? In mijn ogen niet.

Java en C# ondersteunen ook geen multiple implementation inheritance en op dit moment ook nog altijd geen 'generics'. Zijn ze daarom minder geavanceerd dan C++?
Java kent ook geen operator overloading (ik weet nu niet of Delphi dat kent, maar ik vermoed van niet), maar daarom is een taal niet minder geavanceerd.
Multiple implementation inheritance is er in C# en Java bewust uitgelaten, generics komen er binnenkort in, C# kent zoiets als attributes, C++ kent geen interfaces....
Iedere taal heeft z'n eigen kenmerken, maar in Delphi/C#/Java kan je prima OO programmeren. Multiple inheritance en templates zijn geen must om OO te kunnen programmeren.

De dingen die je nodig hebt om OO te kunnen proggen zijn:
- data hiding
- encapsulation
- inheritance
- polymorphisme

Het is trouwens niet de taal opzich of de features die die taal aanbiedt, die ervoor zorgt of een programma goed geschreven is (OO of procedureel, maakt niet uit), maar dat ligt aan de programmeur.

[ Voor 8% gewijzigd door whoami op 16-01-2004 10:10 ]

https://fgheysels.github.io/


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

whoami schreef op 16 januari 2004 @ 10:07:
Java kent ook geen operator overloading (ik weet nu niet of Delphi dat kent, maar ik vermoed van niet), maar daarom is een taal niet minder geavanceerd.
Multiple implementation inheritance is er in C# en Java bewust uitgelaten
Sinds D8 wordt er wel operator overloading ondersteund. En multiple inheritance is via interfaces in Delphi redelijk goed na te maken. Verder heeft Delphi ook nog andere dingen die andere talen misschien niet hebben. Zoals virtual constructors, class type references en delegation van een interface naar een ander object binnen de class.

Maar zoals whoami al zegt hebben talen altijd wel wat verschillen, maar wat iets OO maakt hangt af van een beperkt aantal factoren.

We adore chaos because we like to restore order - M.C. Escher


  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 27-05 10:23
Ik programmeer nu als hobby in mn schaarse vrije tijd in C++, nu ong al een jaartje ofzo. Maar nu kwam ik er laatst achter dat ze op de TU/e waar ik over 1,5 jaar(als het goed is ) Technische Informatica ga doen je leren proggen in Pascal(Delphi).
Over 1,5 jaar is een lange tijd. Wie weet zijn ze dan al over naar een andere taal.

En je leert het daar van begin af aan. Extra ervoor leren is naar mijn inzicht niet nodig. Je zal dan dingen weer krijgen.
En die dingen veranderen niet heel veel. Het is gewoon een kwestie van de syntax leren. Als je van C++ naar Java gaat, is het ook een klein beetje wennen. Zal hier ook wel niet anders zijn. :)

let the past be the past.


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Verwijderd schreef op 16 januari 2004 @ 10:01:
[...]


Dat type je net zelf, in de zin erboven. Er was nog iets wat niet ging in Delphi maar wel in C++ (doe zelf nooit C++, dus weet ff niet precies wat, was iets met operators ofzo)
Operator overloading? Ik weet niet hoor, ik roep maar wat :P

Noushka's Magnificent Dream | Unity


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

SPee schreef op 16 januari 2004 @ 14:34:
En je leert het daar van begin af aan. Extra ervoor leren is naar mijn inzicht niet nodig.
Wat je wel kan leren is het framework en de class libraries die je er bij krijgt. In het geval van Delphi en BCB is dat de VCL. Je kan kennismaken met de util functies en classe en componenten, hun properties, functies en events.

We adore chaos because we like to restore order - M.C. Escher


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:16

.oisyn

Moderator Devschuur®

Demotivational Speaker

whoami schreef op 16 januari 2004 @ 10:07:
Java en C# ondersteunen ook geen multiple implementation inheritance en op dit moment ook nog altijd geen 'generics'. Zijn ze daarom minder geavanceerd dan C++?
nou, ja, hoe geavanceerd iets is bepaal je natuurlijk aan de hand van de features dat iets heeft. C++ is dus wel degelijk geavanceerder dan Delphi.

De vraag waar het hier om draait is echter of je die extra geavanceerdheid van C++ nodig hebt voor applicatie-ontwikkeling, en dan is het antwoord natuurlijk nee, hoewel dingen als operator overloading, MI en templates wel verrekte handig zijn :+ (overigens zijn templates in C++ niets zonder operator overloading)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
En waar kan je nu goede Delphi tuts vinden? En wat zijn goede Delphi boeken?

  • RickN
  • Registratie: December 2001
  • Laatst online: 14-06-2025
Ik zou je willen aanraden je niet moe te maken en gewoon lekker in C++ te blijven proggen, of ook een beetje in Delphi te gaan klooien, maar dan puur omdat je dat zelf interesant vind en niet omdat je denk dat dat je straks op de TU/e gaat helpen. Uit persoonlijk ervaring met de TU/e kan ik je namelijk melden dat altijd tenminste één van de volgende beweringen waar is:

-Het boeit de docent niet in welke taal je de opdracht maakt.
-Tenminste één persoon uit je project beheerst de taal.
-De opdracht is zo eenvoudig dat je hem zo nodig nog wel in machinetaal had kunnen oplossen.
-De opdracht is zo complex dat de taal waarin je moet proggen wel het laatste is waar je je druk om maakt.
-De taal leren maakt deel uit van het vak (b.v. bij functionele talen, maar in mijn ervaring nooit bij een imperatieve taal want die zijn toch allemaal hetzelfde)
-Je bent al lang tot het inzicht gekomen dat het echt helemaal geen ene ruk uitmaakt in welke taal je bezig bent, als hij maar geschikt is voor de opdracht.

[ Voor 4% gewijzigd door RickN op 16-01-2004 16:10 ]

He who knows only his own side of the case knows little of that.


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Marco Cantù's Essential Pascal
Marco Cantù's Essential Delphi
delphi.about.com

Mastering Delphi 7 en Delphi 7 Developers Guide

We adore chaos because we like to restore order - M.C. Escher


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 26-05 11:18

alienfruit

the alien you never expected

LordHarry je bent de class helpers vergeten :+
Erg handig trucje in Delphi 8 imho

  • igmar
  • Registratie: April 2000
  • Laatst online: 12-05 15:46

igmar

ISO20022

Verwijderd schreef op 15 januari 2004 @ 21:26:
Ik programmeer nu als hobby in mn schaarse vrije tijd in C++, nu ong al een jaartje ofzo. Maar nu kwam ik er laatst achter dat ze op de TU/e waar ik over 1,5 jaar(als het goed is :+) Technische Informatica ga doen je leren proggen in Pascal(Delphi).
Da's op zich wel logisch : Pascal is een taal die erg getypeerd is, en C(++) is dat (heel) wat minder.
Nu heb ik daar een heel klein beetje ervaring mee, maar omdat ik het in de tijd dat ik op zoek was naar een geschikte taal niet echt fijn vond werken, en de syntax al helemaal zwaar klote vond, heb ik het toch maar niet gedaan.
Da's smaak, en voor mij ook de reden om Delphi links te laten liggen. Veels te veel typewerk, dat Pascal met zo'n begin en ends :Y)
Maar nu heb ik niet veel andere keus. Nu is mijn vraag, is het overstappen van C/C++ naar Delphi een kwestie van wennen aan de syntax en een paar taal specifieke functies, of kan het problemen opleveren.
Programmeren is logisch nadenken. De taal is een keuze, al dan niet opgelegd. Als je goeie programma's in Pascal schrijft kun je dat ook in C(++). Is het in Pascal een zooitje zal het in C er niet netter op worden.
Met andere wooorden is het aan te raden om nu wat met delphi aan de slag te gaan, of zal de overstap vrij soepel gaan?
Ik denk vrij soepel. Ik klop af en toe nog wat Delphi code in, en het is af en toe effe vloeken, maar het went snel. Het enige waar ik aan moet wennen is dat Pascal erg getypeerd is, dus een aantal zaken die in C erg makkelijk gaat kosten in Pascal wat meer moeite.

  • Eelis
  • Registratie: Januari 2003
  • Laatst online: 21-02-2015
.

[ Voor 99% gewijzigd door Eelis op 18-02-2015 19:51 ]


  • igmar
  • Registratie: April 2000
  • Laatst online: 12-05 15:46

igmar

ISO20022

Eelis schreef op 17 januari 2004 @ 14:10:
[...]
Kun je dit misschien toelichten? Naar mijn idee is C++ vrij sterk getypeerd, en ik kan me zo geen C++/Pascal voorbeelden voor de geest halen waar wat jij stelt uit zou blijken.
Een concreet voorbeeld : Gelinkte lijsten. Over het algemeen doe je dat met pointers. Een pointer wijst in pascal naar een type, net zoals in C.

In pascal :

code:
1
2
3
4
5
6
p_list_item = ^list_item;
list_item = RECORD 
    prev : p_list_item;
    next  : p_list_item;
    data : string[80];
END;


in C :

code:
1
2
3
4
5
struct item_t {
    struct item_t *next;
    struct item_t *prev;
    void *data;
};


In Pascal kun je als je d'r een linked list van maakt alleen strings in het record hangen. Indien je d'r wat anders aan toewijst begint de compiler te klagen. Pascal kent geen void type, en als je een universele lijst wil maken moet je je door wat bochten wringen.

C is wat minder strict : void * kun je alles aan assignen wat je maar wil (op wat uitzonderingen na), en als ik tegen de compiler zeg dat ik een bepaalde variable gecast wil zien naar een andere type vindt de compiler dat, mits ik het niet te bont maak, het over het algemeen genomen prima.

C is wat dat betreft minder getypeerd als Pascal. Dat geeft je wat meer vrijheden, maar dit kan ook tegen je werken.

  • Eelis
  • Registratie: Januari 2003
  • Laatst online: 21-02-2015
.

[ Voor 99% gewijzigd door Eelis op 18-02-2015 19:51 ]


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

igmar schreef op 17 januari 2004 @ 15:28:
In Pascal kun je als je d'r een linked list van maakt alleen strings in het record hangen. Indien je d'r wat anders aan toewijst begint de compiler te klagen. Pascal kent geen void type, en als je een universele lijst wil maken moet je je door wat bochten wringen.
Toch heeft Pascal en dus ook Delphi een void *, namelijk Pointer. En netzoals bij C moet je zelf weten waar die pointer heen wijst en wat er achter zit. Ook kan je gewoon vrolijk typecasten naar wat je wilt:
Delphi:
1
2
3
4
5
6
p_list_item = ^list_item;
list_item = RECORD 
    prev : p_list_item;
    next  : p_list_item;
    data : Pointer;
END;


Hier zie ik geen verschil met C.

We adore chaos because we like to restore order - M.C. Escher


  • AquilaDus
  • Registratie: Januari 2004
  • Laatst online: 21-03 00:33
Hey, ik ben student aan de TU/e en ik doe daar al 3 jaar informatica. Er wordt inderdaad Delphi gebruikt bij ons, maar ik heb van het hoofd van de capaciteitsgroep Software Construction gehoord dat er over een paar jaar waarschijnlijk wordt overgestapt op C#.

Want hij gaf zelf aan dat Delphi in de toekomst waarschijnlijk niet veel gebruikt zal worden. C# heeft gewoon een iets betere toekomst.

Dus dan weet je dat er over een paar jaar waarschijnlijk op de faculteit niet meer met Delphi gewerkt zal worden.

Verwijderd

Topicstarter
AquilaDus schreef op 17 januari 2004 @ 17:57:
Hey, ik ben student aan de TU/e en ik doe daar al 3 jaar informatica. Er wordt inderdaad Delphi gebruikt bij ons, maar ik heb van het hoofd van de capaciteitsgroep Software Construction gehoord dat er over een paar jaar waarschijnlijk wordt overgestapt op C#.

Want hij gaf zelf aan dat Delphi in de toekomst waarschijnlijk niet veel gebruikt zal worden. C# heeft gewoon een iets betere toekomst.

Dus dan weet je dat er over een paar jaar waarschijnlijk op de faculteit niet meer met Delphi gewerkt zal worden.
Een paar jaar? Hoeveel ong denk je? Kan je dat evt. nog navragen, want k over 1,5jaar(als het goed is) zit ik daar bij jullie. Ik hoop dan dat ze overgestapt zijn op C#, want daar heb ik wel een beetje ervaring mee, en is bovendien een mooie taal.

  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 08:08

Exirion

Gadgetfetisjist

AquilaDus schreef op 17 januari 2004 @ 17:57:
Hey, ik ben student aan de TU/e en ik doe daar al 3 jaar informatica. Er wordt inderdaad Delphi gebruikt bij ons, maar ik heb van het hoofd van de capaciteitsgroep Software Construction gehoord dat er over een paar jaar waarschijnlijk wordt overgestapt op C#.
En ik denk dat ze nog helemaal niet zo zeker weten wat het gaat worden. Ik heb op de TUe gewerkt en de TUe zit met een probleem: ze staan bekend om hun 'erg theoretisch getinte informatica opleiding'. Er gaat in de opleiding het een en ander veranderen, maar dat kan niet in 1 keer. Er zal vooral meer ruimte voor technisch getinte (programmeer) practica komen, maar het kan nog wel 5 jaar duren voordat de nieuwe vorm echt gevonden is.

Persoonlijk vind ik dat je studenten het beste kunt laten beginnen met een simpele teksteditor en een commmand line compiler. Delphi is een RAD omgeving. Prima als je al kunt programmeren, maar mensen laten beginnen met een click-click-ik-maak-een-programma omgeving vind ik krom.

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Ook Delphi heeft ook een commandline compiler, dus laat dat je niet tegenhouden als je met notepad aan de gang wilt :) Bovendien hebben C#, Java en C++ ook RAD omgevingen, dus die mogen we dan ook niet gebruiken?

We adore chaos because we like to restore order - M.C. Escher


  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 08:08

Exirion

Gadgetfetisjist

LordLarry schreef op 17 januari 2004 @ 23:24:
Ook Delphi heeft ook een commandline compiler, dus laat dat je niet tegenhouden als je met notepad aan de gang wilt :) Bovendien hebben C#, Java en C++ ook RAD omgevingen, dus die mogen we dan ook niet gebruiken?
Ik hoop dat je op school zoiets als 'begrijpend lezen' hebt gehad. Dat er voor een bepaalde taal RAD omgevingen zijn is geen criterium, en dat zeg ik ook helemaal niet. Maar als je nou zegt dat je studenten Object Pascal of Pascal leert (helemaal niet zo gek voordat de stap naar C++ wordt gemaakt) dan is dat heel wat anders dan dat je expliciet zegt dat je studenten met een RAD omgeving wil laten werken waarin die taal toevallig de basis van vormt.

Met C++ Builder beginnen vind ik net zo slecht als met Delphi. Het gaat erom dat er een taal en abstract denken wordt aangeleerd, en niet dat men meteen met een RAD omgeving aan het werk wordt gezet.

Je gaat mensen bij electronica ook niet meteen met chippies laten spelen, maar ze leren eerst de electronica basis met discrete componenten om de basisprincipes van electronics te leren. Bij het maken van software zou het niet anders mogen zijn.

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Ik hoop dat jij dat ook heb gehad dan :), want ik merk alleen op dat Delphi ook een commandline compiler heeft en dat ook andere compilers een RAD omgeving hebben. Verder zeg ik niets over of ik het wel of niet met je eens bent. Ik ben het namelijk wel met je eens dat eerst de basis geleerd moet worden en dat RAD daar best verwarrend in kan zijn.

Toch vind ik het geen overtuigende rede om dan geen Delphi te gebruiken. Je kan de IDE moeilijk de schuld geven van de manier van gebruiken tijdens het geven van de opleiding. Het lijkt mij logischer de lesmethode aan te passen zodat in het begin alleen de commandline compiler gebruikt wordt ipv de programmertaal niet meer te gebruiken omdat er een IDE voor is die RAD kan. Met andere woorden: Is het probleem dat Delphi ook RAD kan of is het probleem dat de TUe de basis van programmeren doceert met RAD?

We adore chaos because we like to restore order - M.C. Escher


  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 08:08

Exirion

Gadgetfetisjist

LordLarry schreef op 18 januari 2004 @ 00:30:
Je kan de IDE moeilijk de schuld geven van de manier van gebruiken tijdens het geven van de opleiding.
Als iemand met een mes van 30cm in z'n zak over straat loopt dan kan ie zeggen dat ie 'm alleen maar heeft om z'n appeltjes mee te schillen. Geloof jij het? ;) Wat ik bedoel te zeggen is: Ja, je kunt Delphi als kale compiler gebruiken maar het is en blijft een complete RAD solution. Ze willen het ook als zodanig gebruiken, en neem dat maar van me aan.
Het lijkt mij logischer de lesmethode aan te passen zodat in het begin alleen de commandline compiler gebruikt wordt ipv de programmertaal niet meer te gebruiken omdat er een IDE voor is die RAD kan.
Kan. Ik zie liever dat mensen C en C++ leren met GCC.
Met andere woorden: Is het probleem dat Delphi ook RAD kan of is het probleem dat de TUe de basis van programmeren doceert met RAD?
Dat laatste. Op de VU heb je een networking practicum (low-level) waarbij je een simpele TCP/IP stack voor MINIX moet bouwen met een spartaanse editor en een c-compiler. Een veel simpelere networking opdracht op de TUe (1 studiepunt versus 6 op de VU) MOCHT met Delphi gedaan worden, waarbij je dus fijn kant en klare socket componenten mocht gebruiken in plaats van iets over UNIX sockets te leren. Nou vraag ik je... :{

[ Voor 3% gewijzigd door Exirion op 18-01-2004 00:39 ]

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

ja, kant en klare socket componenten gebruiken is idd wel een groot verschil dan het zelf allemaal doen.

Wellicht verschuift de basiskennis van programmeren zich ook omhoog. Er wordt steeds meer geabstraheerd in de software wereld dat je steeds verder van de basis af komt te staan. Is het nodig voor veel mensen om te weten hoe sockets werken om er mee te werken? Is het nodig om te weten hoe tcp/ip werkt om te werken met sockets? En wat van alle protocollen die daar weer onder liggen? En moeten we ook weten hoe het komt dat de molecullen en atomen samenwerken zodat het signaal de kabel door komt? Waar is het punt dat je genoeg weet om er mee te werken en dat het je (nog) niet boeit hoe het op een lager niveau werkt? Aangezien er steeds meer lagen komen wordt het misschien ook wel minder interresant om zo diep te gaan als dat we vroeger deden.

.Net en Java zijn daarmee ook een goed voorbeeld van het verder abstraheren. Met de garbage collection en het gemis van pointers wordt het werken gemakkelijker voor beginners en is er minder kans op fouten. De kans bestaat dat de programmeurs van de toekomst geen idee hebben dat we vroeger ook dingen echt moesten vrijgeven en waarom zouden ze ook? Nou, als er problemen zijn met de GC zou het niet gek zijn als je ook weet hoe die werkt...

Joel on Software heeft daar trouwens wel een leuk stukje over geschreven: http://www.joelonsoftware...es/LeakyAbstractions.html

We adore chaos because we like to restore order - M.C. Escher


  • AquilaDus
  • Registratie: Januari 2004
  • Laatst online: 21-03 00:33
Verwijderd schreef op 17 januari 2004 @ 21:05:
[...]

Een paar jaar? Hoeveel ong denk je? Kan je dat evt. nog navragen, want k over 1,5jaar(als het goed is) zit ik daar bij jullie. Ik hoop dan dat ze overgestapt zijn op C#, want daar heb ik wel een beetje ervaring mee, en is bovendien een mooie taal.
Ik zal de komende week waarschijnlijk contact hebben met de mensen die daarover gaan. Dus dan zal ik eens vragen in welke termijn dit gaat veranderen.

Exirion heeft trouwens gelijk wat het theoretische deel betreft. Er wordt echt niet veel code geklopt op de tue, dus aan veel ervaring met delphi/c# geeft je niet veel voorsprong. Er zijn maar 2/3 programmeervakken die gegeven worden over de hele 5 jaar en de rest is echt alleen maar theorie. Dus als je van code kloppen houdt dan moet je dat vooral naast je studie doen.

  • igmar
  • Registratie: April 2000
  • Laatst online: 12-05 15:46

igmar

ISO20022

LordLarry schreef op 17 januari 2004 @ 16:49:
Toch heeft Pascal en dus ook Delphi een void *, namelijk Pointer.
Alle versies ? De TP 7 boeken reppen hier met geen woord over.
Hier zie ik geen verschil met C.
Hierin niet, maar C is hierin toch flexibeler als pascal.

  • igmar
  • Registratie: April 2000
  • Laatst online: 12-05 15:46

igmar

ISO20022

LordLarry schreef op 18 januari 2004 @ 00:59:
Wellicht verschuift de basiskennis van programmeren zich ook omhoog. Er wordt steeds meer geabstraheerd in de software wereld dat je steeds verder van de basis af komt te staan. Is het nodig voor veel mensen om te weten hoe sockets werken om er mee te werken? Is het nodig om te weten hoe tcp/ip werkt om te werken met sockets?
Enig kennis is wel handig voor als er zaken mis gaan. Ik zie dat nu al met de huidige generatie HTS studenten : Van TCP/IP heeft men geen kaas gegeten, te weinig basiskennis om een analyse te doen en een probleem op te lossen.
En wat van alle protocollen die daar weer onder liggen? En moeten we ook weten hoe het komt dat de molecullen en atomen samenwerken zodat het signaal de kabel door komt? Waar is het punt dat je genoeg weet om er mee te werken en dat het je (nog) niet boeit hoe het op een lager niveau werkt? Aangezien er steeds meer lagen komen wordt het misschien ook wel minder interresant om zo diep te gaan als dat we vroeger deden.
De wereld is niet alleen Windows bakken die een C# runtime hebben geinstalleerd. Van vakken zoals Assembler leer je hoe de processor tegen zaken aankijkt, wat een pagefault nu eigenlijk is, etc, etc. Als je ooit eens met embedded devices in aanraking komt wel een vereiste. Je leert d'r ook logisch door denken, ipv meteen naar een debugger te grijpen. Het komt je kwaliteiten zeker ten goede.
.Net en Java zijn daarmee ook een goed voorbeeld van het verder abstraheren. Met de garbage collection en het gemis van pointers wordt het werken gemakkelijker voor beginners en is er minder kans op fouten. De kans bestaat dat de programmeurs van de toekomst geen idee hebben dat we vroeger ook dingen echt moesten vrijgeven en waarom zouden ze ook? Nou, als er problemen zijn met de GC zou het niet gek zijn als je ook weet hoe die werkt...
Het is voor veel toepassingen ook niet slecht : Waarom het wiel twee keer uitvinden. Wat ik echter een probleem vind is dat de huidige generatie steeds minder in de details duikt, ik heb me daar tijdens de opleiding blauw aan geergerd. Het ging onder de noemer 'technische' school, maar in de praktijk leek het meer op een HEAO soms.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Helemaal mee eens

De volgende code werkt al perfect onder TP5.5:
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program test;

var P: Pointer;
    I: Integer;
begin
  I := 10;
  P := Addr(I);
  WriteLn('I = ', I);

  Integer(P^) := 20;
  WriteLn('I = ', I);

  ReadLn;
end.

We adore chaos because we like to restore order - M.C. Escher


  • igmar
  • Registratie: April 2000
  • Laatst online: 12-05 15:46

igmar

ISO20022

LordLarry schreef op 18 januari 2004 @ 20:05:
Helemaal mee eens

De volgende code werkt al perfect onder TP5.5:

<snip>
Goed.. Waarom rept geen enkel TP boek wat ik hier heb over het bestaan ervan, en waarom deed mijn docent dan zo moeilijk ?? :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 27-05 23:27

Creepy

Tactical Espionage Splatterer

igmar schreef op 18 januari 2004 @ 20:31:
[...]


Goed.. Waarom rept geen enkel TP boek wat ik hier heb over het bestaan ervan, en waarom deed mijn docent dan zo moeilijk ?? :)
* Creepy heeft thuis 2 Pascal boeken liggen die over pointer beginnen.. De titels zal ik voor je opzoeken zodra ik thuis ben ;)
Ik heb hier ook nog een boek over structuren toepasbaar in verschillende talen, maar dan de Pascal versie. In dit boek worden dus dingen zoals (double) linked lists, btree's etc behandelt, en uiteraard voor een groot deel met (untyped) pointers. En de code is allemaal standaard pascal.

Ik probeer nu echter de untyped pointer type op te zoeken in wat standaard Pascal documenten, maar dat kan ik niet vinden. Typed pointers wel (^integer). Anyay, in de Pascal versies die ik heb gebruikt (TP, BP, Delphi, GNU Pascal, Free Pascal) is het type Pointer precies te gebruiken zoals in C de "void *" wordt gebruikt.

o.a. daarom ben ik het niet met je eens dat Delphi of Pascal minder flexibel is als in C.

[ Voor 5% gewijzigd door Creepy op 19-01-2004 09:02 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1