Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Topic gesloten
 
Topictools Zoek in deze topic
Oud 06-11-2004, 01:10
Kawoutertje
Avatar van Kawoutertje
Kawoutertje is offline
Voor het vak C++ op onze school moeten we een taak maken waarbij we meerdere functies moeten gebruiken. Nu heb ik een probleem, dat mijn docent niet wil uitleggen "omdat hij er binnen enkele lessen op terug komt", en ik vind het ook niet zo direct in mijn cursustekst. Het probleem is namelijk het volgende:

Ik heb een functie main(), en twee functies functieA() en functieB() die worden opgeroepen vanuit de main-functie. Bij het compileren krijg ik een error (call to undefined function functieA(), ...) omdat mijn main-functie in de programmatekst staat geschreven voor/ boven de functieA() en functieB(). Wanneer ik de main-functie onder de functieA() en functieB() zet, is het probleem echter opgelost.

Kan iemand mij misschien vertellen hoe dit komt, en hoe ik dit kan oplossen, want om eerlijk te zijn geloof ik niet dat de volgorde waarin de functies staan in een hogere programmeertaal als C++ een probleem kan geven....

thx
__________________
When you are arguing with an idiot, make sure the other person isn't doing the same thing.
Advertentie
Oud 06-11-2004, 08:33
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Je moet boven je main() een functie-signature geven. Dus bijv.

Code:
int functieA(int flappie, char[] crap);
int functieB(int[] dingen, char letter);

int main() {


}

int functieA(int flappie, char[] crap) {


}

...
__________________
Slechts beschikbaar via naamzoek/privebericht.
Oud 06-11-2004, 09:49
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
En als je geen resultaat terug wil krijgen, gebruik je void in plaats van int. althans ik geloof niet dat weglaten goedgekeurd wordt, wel in andere programmeerta(a)l(en).
Oud 06-11-2004, 11:15
Raven
Avatar van Raven
Raven is offline
Citaat:
Fade of Light schreef op 06-11-2004 @ 10:49 :
En als je geen resultaat terug wil krijgen, gebruik je void in plaats van int. althans ik geloof niet dat weglaten goedgekeurd wordt, wel in andere programmeerta(a)l(en).
dat komt omdat C++ geen procedures kent C++ kent alleen functies.

void gebruik je maar heel soms omdat je met een int wel handig kan testen of het ook allemaal gelukt is wat je probeerde.

dan kan je bv dit doen
Code:
if (openfile("myfile.bin") )
   {
    // openen gelukt 
   }
else
    {
    // openen mislukt
    MessageBox(handle,"File kan niet geopend worden",application_name,MB_ICONEXCLAMATION || MB_OK);
    }
Oud 06-11-2004, 11:57
Kawoutertje
Avatar van Kawoutertje
Kawoutertje is offline
Het komt er eigenlijk gewoon op neer dat je je functie moet declareren als het ware, voor je ze oproept in de main-functie, zodat de main-functie weet dat die functie bestaat en zodat de main-functie dan in de rest van de programmatekst naar die functie gaat zoeken?

Klopt dit of sla ik de bal er kompleet naast?

En is er een bepaalde reden dat dit in C++ zo moet en bijvoorbeeld in java niet ? In java kan je namelijk gewoon een andere functie programmeren en die functie in een bovenstaande functie oproepen zonder die vooraf te declareren of zo...
__________________
When you are arguing with an idiot, make sure the other person isn't doing the same thing.
Oud 06-11-2004, 12:08
Raven
Avatar van Raven
Raven is offline
Citaat:
Kawoutertje schreef op 06-11-2004 @ 12:57 :
Het komt er eigenlijk gewoon op neer dat je je functie moet declareren als het ware, voor je ze oproept in de main-functie, zodat de main-functie weet dat die functie bestaat en zodat de main-functie dan in de rest van de programmatekst naar die functie gaat zoeken?

Klopt dit of sla ik de bal er kompleet naast?

En is er een bepaalde reden dat dit in C++ zo moet en bijvoorbeeld in java niet ? In java kan je namelijk gewoon een andere functie programmeren en die functie in een bovenstaande functie oproepen zonder die vooraf te declareren of zo...
les 1 : JAVA ZUIGT, het is traag, alles MOET in een object zitten (da's idioot).
On the fly garbage collector, alsof je te stom bent om dat zelf te doen . bovendien je weer nooit zeker waneer dat ding aan de gang gaat.

java is stiekum helemaal geen compiler maar een interpreter die regel voor regel vertaalt en uitvoert ( lees GW_BASIC)
het draait op elke computer?, gebleer ! basic draait op die manier ook op elke PC ( op elke computer draait het zoieso niet)

C++ daarentegen kan voor elke computer (microprocessor) gecompileert worden en levert zeer efficiente code.


in java declareer je alles ook van te voren want alles zit in een object. en wat in een object zit is eigenlijk al gedeclareert.
Oud 06-11-2004, 12:22
Verwijderd
Citaat:
Raven schreef op 06-11-2004 @ 13:08 :
les 1 : JAVA ZUIGT, het is traag, alles MOET in een object zitten (da's idioot).
On the fly garbage collector, alsof je te stom bent om dat zelf te doen . bovendien je weer nooit zeker waneer dat ding aan de gang gaat.

java is stiekum helemaal geen compiler maar een interpreter die regel voor regel vertaalt en uitvoert ( lees GW_BASIC)
het draait op elke computer?, gebleer ! basic draait op die manier ook op elke PC ( op elke computer draait het zoieso niet)

C++ daarentegen kan voor elke computer (microprocessor) gecompileert worden en levert zeer efficiente code.

in java declareer je alles ook van te voren want alles zit in een object. en wat in een object zit is eigenlijk al gedeclareert.
Houdt die rust! Zo erg is java helemaal niet (meer).

Zeker niet na het uikomen van Java 5.0; het is een stuk sneller geworden. Dat alles in objecten 'zit' heeft ook zijn voordelen; zo kun je het object dus subclassen en er eigen methods aan toevoegen. Het is toch briljant dat bijna ieder datatype een .toString() method heeft?

Die garbage collector is er alleen voor om op te ruimen wat jij bent vergeten; dat het alles opruimt omdat 'de garbage collector het wel doet' is uiteraard slecht, maar ja... mensen zijn lui.

Java compileert on-the-fly het (gehele) programma (dus eenmalig) en voert de gecompileerde versie uit. Dit kost even tijd, maar dan draait het ook gewoon - en heus niet langzamer dan een C/C++ programma.

Een java programma draait op elke pc/computer dat een Java Virtual Machine kan draaien, ongeacht de hardware, het besturingssyteem etc, zonder het programma aan te passen. Ik zie jou nog niet zo 'even' in C/C++ een BitTorrent client maken (zie Azureus) die op elk platform draait zonder de source code te veranderen...
Oud 06-11-2004, 12:33
Raven
Avatar van Raven
Raven is offline
Citaat:
eddie schreef op 06-11-2004 @ 13:22 :
Houdt die rust! Zo erg is java helemaal niet (meer).

Zeker niet na het uikomen van Java 5.0; het is een stuk sneller geworden. Dat alles in objecten 'zit' heeft ook zijn voordelen; zo kun je het object dus subclassen en er eigen methods aan toevoegen. Het is toch briljant dat bijna ieder datatype een .toString() method heeft?

Die garbage collector is er alleen voor om op te ruimen wat jij bent vergeten; dat het alles opruimt omdat 'de garbage collector het wel doet' is uiteraard slecht, maar ja... mensen zijn lui.

Java compileert on-the-fly het (gehele) programma (dus eenmalig) en voert de gecompileerde versie uit. Dit kost even tijd, maar dan draait het ook gewoon - en heus niet langzamer dan een C/C++ programma.

Een java programma draait op elke pc/computer dat een Java Virtual Machine kan draaien, ongeacht de hardware, het besturingssyteem etc, zonder het programma aan te passen. Ik zie jou nog niet zo 'even' in C/C++ een BitTorrent client maken (zie Azureus) die op elk platform draait zonder de source code te veranderen...
java "compileert" naar zogehete P code die door de virtual machine(da's een interpreter) wordt uitgevoert

java programma's zijn wel degelijk (veel) trager dan C++ programma's

iets als halflife ga je echt niet in java schrijven.

bij ons op school leerden wij bv een "handig" breuken object in java
met als resultaat dat je voor elke berekening een nieuw object moet maken ( dan heb je toch een gaatje in he hoofd ??)

in c++ kan je zelfs dit schrijven:
Code:
TBreuk:b1,b2,b3;
b1.set("1/2");
b2.set("1/4");
b3=b1+b2;
ja ga hier niet m'n hele breuken code neerzetten
maar dit is toch ietsje minder holbewonerstijl dacht ik zo
( die + is hier dus een zelf gedefinieerde operator waar een functie aan hangt)

komt nog bij dat toen ik Symantec Visual cafe op mijn computer zette (onthoud die naam)
en het eens ging proberen (voorbeeld letterlijk uit een boek)
ik eerst een stuk of pak_m_beet 20 nullpointerexeptions kreeg.
waarna de hele computer vast liep.

opnieuw opgestart..
't ding was ineens niet meer vooruit te trappen.
integrity fouten op mijn harde schijf.

ik heb m'n hele harde schijf kunnen formatteren..
en IK HEB DE ROTZOOI NOOIT MEER AANGERAAKT

als ik eraan terug denk komt er nog stoom uit m'n oren



verder: Ansi C++ kan voor ELKE microprocessor gecompileert worden. dus niet alleen een PC maar ook bv een MRI scanner of een robotje enz enz.

alleen platform afhankelijke code moet je veranderen.
maar die stop je dan in een dll ofzo

Laatst gewijzigd op 06-11-2004 om 12:48.
Oud 06-11-2004, 12:48
Verwijderd
Citaat:
Raven schreef op 06-11-2004 @ 13:33 :
java programma's zijn wel degelijk (veel) trager dan C++ programma's
Dat vind jij, en dat was vroeger misschien ook wel zo (met de 'swing' interface :x)
Citaat:
Raven schreef op 06-11-2004 @ 13:33 :

iets als halflife ga je echt niet in java schrijven.
Zoiets niet idd. Maar bijvoorbeeld een routeplanner wel.

Citaat:
Raven schreef op 06-11-2004 @ 13:33 :
bij ons op school leerden wij bv een "handig" breuken object in java
met als resultaat dat je voor elke berekening een nieuw object moet maken ( dan heb je toch een gaatje in he hoofd ??)

in c++ kan je zelfs dit schrijven:
Code:
TBreuk:b1,b2,b3;
b1.set("1/2");
b2.set("1/4");
b3=b1+b2;
ja ga hier niet m'n hele breuken code neerzetten
maar dit is toch ietsje minder holbewonerstijl dacht ik zo
( die + is hier dus een zelf gedefinieerde operator waar een functie aan hangt)
Tja, dit doe je toch echt verkeerd. Mooier/beter/makkelijker zou bijvoorbeeeld zijn:

Code:
b3.sum( b1, b2 );
of
Code:
b3.set( "sum", b1, b2 ); && overloading
(ok, die tweede is een beetje brak)

Citaat:
Raven schreef op 06-11-2004 @ 13:33 :
komt nog bij dat toen ik Symantec Visual cafe op mijn computer zette (onthoud die naam)
en het eens ging proberen (voorbeeld letterlijk uit een boek)
ik eerst een stuk of pak_m_beet 20 nullpointerexeptions kreeg.
waarna de hele computer vast liep.

opnieuw opgestart..
't ding was ineens niet meer vooruit te trappen.
integrity fouten op mijn harde schijf.

ik heb m'n hele harde schijf kunnen formatteren..
en IK HEB DE ROTZOOI NOOIT MEER AANGERAAKT
Je moet Java niet de schuld geven van jouw slechte programmeerkwaliteiten in de Java taal...

Laatst gewijzigd op 06-11-2004 om 12:52.
Oud 06-11-2004, 13:08
Raven
Avatar van Raven
Raven is offline
Citaat:
eddie schreef op 06-11-2004 @ 13:48 :
Dat vind jij, en dat was vroeger misschien ook wel zo (met de 'swing' interface :x)

Zoiets niet idd. Maar bijvoorbeeld een routeplanner wel.


Tja, dit doe je toch echt verkeerd. Mooier/beter/makkelijker zou bijvoorbeeeld zijn:

Code:
b3.sum( b1, b2 );
of
Code:
b3.set( "sum", b1, b2 ); && overloading
(ok, die tweede is een beetje brak)

Je moet Java niet de schuld geven van jouw slechte programmeerkwaliteiten in de Java taal...

volgens mij is mijn code een stuk korter en in C++ kan je dat gewoon zo doen . werkt prima ( moet eigenlijk zelfs zo, operator overloading)
en is niet voor nix dat de hele windows API op C++ gebaseert is.
en mijn programmeer kwaliteiten .. ik ken aardig wat programmeer talen en geen enkele vind ik zo'n disaster als java. en ik denk dat ik wel wat van programma's schrijven weet

bovendien 't was een voorbeeld uit een boek .. letterlijk over getikt
Oud 06-11-2004, 14:28
Rob
Avatar van Rob
Rob is offline
Je moet voorwaarts declareren, ja. Ik kan het uileggen, maar het staat er al in de tweede post.

Moet wel bekennen dat ik het nut daarvan niet echt inzie. Kan iemand uitleggen wat het nu is van het voorwaards declareren van functies?
__________________
Bad spelling and grammar make me [sic].
Oud 06-11-2004, 14:29
Verwijderd
Citaat:
Raven schreef op 06-11-2004 @ 14:08 :
volgens mij is mijn code een stuk korter en in C++ kan je dat gewoon zo doen . werkt prima ( moet eigenlijk zelfs zo, operator overloading)
Ja, in C++ kan het wel zo horen, maar in Java moet je toch richting OO gaan denken, aangezien Java puur OO is.

Citaat:
Raven schreef op 06-11-2004 @ 14:08 :

en is niet voor nix dat de hele windows API op C++ gebaseert is.
Nee, anders gaat MS de concurrent promoten. Trouwens, API's zijn vaak low-level functies, gericht op spelen met geheugen; dit vereist kennis van het platform - dus niks voor java.

Citaat:
Raven schreef op 06-11-2004 @ 14:08 :

en mijn programmeer kwaliteiten .. ik ken aardig wat programmeer talen en geen enkele vind ik zo'n disaster als java. en ik denk dat ik wel wat van programma's schrijven weet

bovendien 't was een voorbeeld uit een boek .. letterlijk over getikt
In plaats van Java de schuld te geven zou je ook het voorbeeld als schuldige kunnen aanwijzen
Oud 06-11-2004, 14:30
Verwijderd
Citaat:
Rob schreef op 06-11-2004 @ 15:28 :
Moet wel bekennen dat ik het nut daarvan niet echt inzie. Kan iemand uitleggen wat het nu is van het voorwaards declareren van functies?
Dan kan heb je je mian bovenaan staan, wat makkelijk(er) is. Tenminste... vroeger, in het DOS tijdperk met zijn 'geavanceerde' editors.
Oud 06-11-2004, 14:58
Verwijderd
Citaat:
Raven schreef op 06-11-2004 @ 14:08 :
is niet voor nix dat de hele windows API op C++ gebaseert is.
De Windows API is oorspronkelijk helemaal niet op C++ gebaseerd, maar op C

Voor C++ hebben ze expres de MFC klassen om de WinAPI heen gebouwd.

@eddie:
Voor de rest is het logisch dat JAVA qua uitvoering trager is dan C++. Alle gecompileerde programma's die uit IL bestaan zijn trager, aangezien ze eerst moeten worden geinterpreteerd. Het enige wat je daaraan kunt doen is caching, maar dat is alleen handig voor serverside applicaties.

@Rob:
Alle functies bestaan uit een functie declaratie en een functie definitie. Dit is in principe in alle talen zo, alleen dat de declaratie en definitie weleens impliciet ineens wordt gedaan.

Je moet hem gewoon eerst declareren, omdat de caller hem anders niet kent.
Oud 06-11-2004, 22:56
Raven
Avatar van Raven
Raven is offline
Citaat:
Alicia Silverstone schreef op 06-11-2004 @ 15:58 :
De Windows API is oorspronkelijk helemaal niet op C++ gebaseerd, maar op C

Voor C++ hebben ze expres de MFC klassen om de WinAPI heen gebouwd.

@eddie:
Voor de rest is het logisch dat JAVA qua uitvoering trager is dan C++. Alle gecompileerde programma's die uit IL bestaan zijn trager, aangezien ze eerst moeten worden geinterpreteerd. Het enige wat je daaraan kunt doen is caching, maar dat is alleen handig voor serverside applicaties.

@Rob:
Alle functies bestaan uit een functie declaratie en een functie definitie. Dit is in principe in alle talen zo, alleen dat de declaratie en definitie weleens impliciet ineens wordt gedaan.

Je moet hem gewoon eerst declareren, omdat de caller hem anders niet kent.
eeh ik gebruik de echte HARDCORE windows API
geen wrappers.
bovendien maakt C of C++ voor het aanroepen van API functies geen moer uit. alleen in pascal ( delphi) zit je soms te kloten omdat ie een longint als pointer wil (Lparam bv) en dat vind delphi niet leuk .. maar voor alles is een oplossing:
Code:
SendMessage(form2.combobox1.Handle,CB_DIR,DDL_READWRITE or DDL_ARCHIVE,longint(p));
zo pakt delphi het ook

Laatst gewijzigd op 06-11-2004 om 22:59.
Oud 06-11-2004, 23:48
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
********, log eens zelf in als je post.

Citaat:
Raven schreef op 06-11-2004 @ 13:08 :
On the fly garbage collector, alsof je te stom bent om dat zelf te doen. bovendien je weer nooit zeker waneer dat ding aan de gang gaat.
Zelfs als mensen niet te stom zijn om dat zelf te doen (zelfs in prestigieuze grote Open Source projecten komen nog memleaks voor omdat het memory management niet goed zit) bespaart het de programmeur enorm veel tijd om zoiets te laten doen door een machine (het is een kwestie van boekhouden, daar zijn machines veel beter in dan mensen).
__________________
Slechts beschikbaar via naamzoek/privebericht.
Oud 07-11-2004, 11:20
Raven
Avatar van Raven
Raven is offline
Citaat:
Manuzhai schreef op 07-11-2004 @ 00:48 :
********, log eens zelf in als je post.

Zelfs als mensen niet te stom zijn om dat zelf te doen (zelfs in prestigieuze grote Open Source projecten komen nog memleaks voor omdat het memory management niet goed zit) bespaart het de programmeur enorm veel tijd om zoiets te laten doen door een machine (het is een kwestie van boekhouden, daar zijn machines veel beter in dan mensen).
of je schrijft EEN keer een klasse die dat netjes allemaal voor je regelt en die werkt veel beter dan die garbage collector.
die van mij heeft ook dingen als:

Tmemstruct TList:ccupied_mem();
void TList::Kill_items();
void TList::Kill(TListitem:item);

kan je in je code zetten item.kill();
en als Kill_items(); van zijn containerklasse wordt aangeroepen dan worden alle killed items netjes verwijdert
en met Occupied_mem(); kan je makkelijk controleren of er geen leaks optreden

hmmja en 't is ook .. ik hou gewoon van Good old real coding als je begrijpt wat ik bedoel. ik bepaal graag zelf wat er gebeurt, dan weet ik tenminste zeker dat het goed gaat en zo niet hoef ik me niet af te vragen waar het aan ligt maar ben ik gewoon lekker zelf stom geweest

Laatst gewijzigd op 07-11-2004 om 11:32.
Oud 07-11-2004, 12:24
Chimera
Avatar van Chimera
Chimera is offline
Sorry, maar deze reactie is te stom voor woorden.

Citaat:
Raven schreef op 06-11-2004 @ 13:08 :
les 1 : JAVA ZUIGT, het is traag, alles MOET in een object zitten (da's idioot).
Goh, misschien komt dat omdat Java een OBJECT ORIENTED programming language is? En kom niet aan dat C++ dat ook is, C++ is precies dat, C pluseenbeetje.

Bovendien is Java gewoon niet traag.

Citaat:
Raven schreef op 06-11-2004 @ 13:08 :

On the fly garbage collector, alsof je te stom bent om dat zelf te doen . bovendien je weer nooit zeker waneer dat ding aan de gang gaat.
Ja sorry, maar mensen zijn inderdaad vaak te 'stom' om garbage collecting zelf te doen. Memory leaks komen vooral in grote systemen vaak voor. Leer je wel eens als je aan grote projecten bezig gaan, i.p.v. wat spelletjes in mekaar prutst.

Citaat:
Raven schreef op 06-11-2004 @ 13:08 :

java is stiekum helemaal geen compiler maar een interpreter die regel voor regel vertaalt en uitvoert ( lees GW_BASIC)
het draait op elke computer?, gebleer ! basic draait op die manier ook op elke PC ( op elke computer draait het zoieso niet)
Compleet fout. Ten eerste is Java een taal, welke naar een Intermediate Language wordt vertaald, bytecode dus. Deze bytecode wordt NIET geinterpreteerd, maar at-runtime gecompileerd. Dit is trouwens afhankelijke van welke runtime environment je gebruikt, de taal staat daar los van.

Citaat:
Raven schreef op 06-11-2004 @ 13:08 :

C++ daarentegen kan voor elke computer (microprocessor) gecompileert worden en levert zeer efficiente code.
Java draait op vrijwel elke computer ZONDER dat het opnieuw gecompileerd hoeft te worden.

Citaat:
Raven schreef op 06-11-2004 @ 13:08 :

in java declareer je alles ook van te voren want alles zit in een object. en wat in een object zit is eigenlijk al gedeclareert.
Wat een onzin. In C++ declareer je iets 2 keer, in Java/demeestenaderetalen 1 keer. ZOu je kunnen zeggen dat de C++ compilers gewoon te stom zijn om dat te snappen.

C++ is een uitstervende taal. De meeste multi-tier bussiness apps draaien op Java tegenwoordig.
Oud 07-11-2004, 12:26
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Raven schreef op 06-11-2004 @ 13:33 :

opnieuw opgestart..
't ding was ineens niet meer vooruit te trappen.
integrity fouten op mijn harde schijf.

ik heb m'n hele harde schijf kunnen formatteren..
en IK HEB DE ROTZOOI NOOIT MEER AANGERAAKT

als ik eraan terug denk komt er nog stoom uit m'n oren
Sorry hoor, maar dit is gewoon grappig. Wat een compleet stupide reden om Java af te zeiken.

Kennelijk was je systeem gewoon naar z'n grootje aan het gaan. Niet de 'schuld' van Java dus.
Oud 07-11-2004, 13:02
Raven
Avatar van Raven
Raven is offline
Citaat:
Chimera schreef op 07-11-2004 @ 13:26 :
Sorry hoor, maar dit is gewoon grappig. Wat een compleet stupide reden om Java af te zeiken.

Kennelijk was je systeem gewoon naar z'n grootje aan het gaan. Niet de 'schuld' van Java dus.
ik moet die rommel gewoon niet
nee maar serieus .. op school is 't ook een paar keer grandioos fout gegaan. en als ik nou niet kon programmeren dan lag het aan mij .. maar 't was echt een disaster met dat ding.

met C++, turbo pascal, delphi en zelfs basic heb ik nooit problemen gehad tja ...
Oud 07-11-2004, 15:15
Verwijderd
Citaat:
Raven schreef op 07-11-2004 @ 14:02 :
ik moet die rommel gewoon niet
nee maar serieus .. op school is 't ook een paar keer grandioos fout gegaan. en als ik nou niet kon programmeren dan lag het aan mij .. maar 't was echt een disaster met dat ding.

met C++, turbo pascal, delphi en zelfs basic heb ik nooit problemen gehad tja ...
Kom op, als je een beetje verstand hebt van moderne besturingssystemen weet je ook wel dat fouten in het bestandssysteem niets te maken hebben met een JAVA compiler en / of runtime.
Oud 07-11-2004, 16:39
Raven
Avatar van Raven
Raven is offline
Citaat:
Chimera schreef op 07-11-2004 @ 13:24 :
Sorry, maar deze reactie is te stom voor woorden.



Goh, misschien komt dat omdat Java een OBJECT ORIENTED programming language is? En kom niet aan dat C++ dat ook is, C++ is precies dat, C pluseenbeetje.

Bovendien is Java gewoon niet traag.



Ja sorry, maar mensen zijn inderdaad vaak te 'stom' om garbage collecting zelf te doen. Memory leaks komen vooral in grote systemen vaak voor. Leer je wel eens als je aan grote projecten bezig gaan, i.p.v. wat spelletjes in mekaar prutst.



Compleet fout. Ten eerste is Java een taal, welke naar een Intermediate Language wordt vertaald, bytecode dus. Deze bytecode wordt NIET geinterpreteerd, maar at-runtime gecompileerd. Dit is trouwens afhankelijke van welke runtime environment je gebruikt, de taal staat daar los van.



Java draait op vrijwel elke computer ZONDER dat het opnieuw gecompileerd hoeft te worden.



Wat een onzin. In C++ declareer je iets 2 keer, in Java/demeestenaderetalen 1 keer. ZOu je kunnen zeggen dat de C++ compilers gewoon te stom zijn om dat te snappen.

C++ is een uitstervende taal. De meeste multi-tier bussiness apps draaien op Java tegenwoordig.

C++ aan't uitsterven .. dacht ut niet.
Microsoft heeft al aangekondigt dat na 2007 er totaal GEEN ondersteuning voor java meer zal zijn...
je kan tot januari 2007 nog een java virtual machine op je windows bak zetten .. op versies die daarna komen zal het niet meer werken
(zal nog wel 'n rel geven dat besluit denk ik)
en ik pruts wel meer in elkaar dan spelletjes
Oud 07-11-2004, 20:09
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Citaat:
Raven schreef op 07-11-2004 @ 17:39 :
Microsoft heeft al aangekondigt dat na 2007 er totaal GEEN ondersteuning voor java meer zal zijn...
Net alsof Microsoft kan afdwingen dat Java niet meer ondersteund wordt. Ik denk dat Sun de VM ook best zonder Microsoft-support kan porten naar Longhorn. Plus dat Windows natuurlijk lang niet het enige platform is waarop software kan draaien; een van de grote voordelen van Java is dat het vrijwel onveranderd op diverse OS'en kan draaien, zoals Linux, MacOS X, *BSD-varianten.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Oud 07-11-2004, 20:23
Raven
Avatar van Raven
Raven is offline
Citaat:
Manuzhai schreef op 07-11-2004 @ 21:09 :
Net alsof Microsoft kan afdwingen dat Java niet meer ondersteund wordt. Ik denk dat Sun de VM ook best zonder Microsoft-support kan porten naar Longhorn. Plus dat Windows natuurlijk lang niet het enige platform is waarop software kan draaien; een van de grote voordelen van Java is dat het vrijwel onveranderd op diverse OS'en kan draaien, zoals Linux, MacOS X, *BSD-varianten.
hmmja ik vrees dat onze bill daar een stokkie voor zal steken...
maar da's weer een ander verhaal
Oud 07-11-2004, 21:43
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Raven schreef op 07-11-2004 @ 17:39 :
C++ aan't uitsterven .. dacht ut niet.
In de bussiness logic wereld is C++ aan het uitsterven ja, of je het nu 'denkt' of niet. Aangezien jij niet in die bussiness zit, kan ik dan ook niks dan hartelijk lachen om de onzin die je hier neerpoot.

Ik weet niet aan welke instelling jij precies informatica zou moeten hebben gedaan, maar gezien je belachelijke verhaal over corrupte systemen zal het niet veel meer dan LOI geweest zijn.
Advertentie
Oud 07-11-2004, 21:45
Verwijderd
Citaat:
Raven schreef op 07-11-2004 @ 21:23 :
hmmja ik vrees dat onze bill daar een stokkie voor zal steken...
maar da's weer een ander verhaal
Erm, Longhorn zal sowieso legacy apps moeten ondersteunen, alleen al om de Windows userbase te waarborgen.. en zal dus ook JAVA aan kunnen.

Alles draait om applicaties. Als je favoriete programma's niet meer werken op een nieuwe versie van Windows, dan stap je ook niet over. Dus het lijkt me sterk dat het gaat gebeuren.

Daarnaast, de stap van MS om over te stappen naar fully managed code betekent niet meteen het einde van JAVA. Je zou een JAVA runtime kunnen bouwen die gewoon als managed Longhorn applicatie draait..
Oud 07-11-2004, 21:54
Raven
Avatar van Raven
Raven is offline
Citaat:
Chimera schreef op 07-11-2004 @ 22:43 :
In de bussiness logic wereld is C++ aan het uitsterven ja, of je het nu 'denkt' of niet. Aangezien jij niet in die bussiness zit, kan ik dan ook niks dan hartelijk lachen om de onzin die je hier neerpoot.

Ik weet niet aan welke instelling jij precies informatica zou moeten hebben gedaan, maar gezien je belachelijke verhaal over corrupte systemen zal het niet veel meer dan LOI geweest zijn.
ik heb hogere informatica gestudeert in eindhoven .. maar ik reageer bij deze dus niet meer op jou aangezien je alleen zielig commentaar kan leveren.

en .. ik zit niet in de buisness ?.. HA HA HA

Laatst gewijzigd op 07-11-2004 om 21:57.
Oud 07-11-2004, 21:56
Raven
Avatar van Raven
Raven is offline
Citaat:
******** schreef op 07-11-2004 @ 22:45 :
Erm, Longhorn zal sowieso legacy apps moeten ondersteunen, alleen al om de Windows userbase te waarborgen.. en zal dus ook JAVA aan kunnen.

Alles draait om applicaties. Als je favoriete programma's niet meer werken op een nieuwe versie van Windows, dan stap je ook niet over. Dus het lijkt me sterk dat het gaat gebeuren.

Daarnaast, de stap van MS om over te stappen naar fully managed code betekent niet meteen het einde van JAVA. Je zou een JAVA runtime kunnen bouwen die gewoon als managed Longhorn applicatie draait..
DAT klopt natuurlijk maar zoals ik al zei de meeste applicaties worden niet in java geschreven
Oud 07-11-2004, 22:08
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
Chimera schreef op 07-11-2004 @ 22:43 :
In de bussiness logic wereld is C++ aan het uitsterven ja, of je het nu 'denkt' of niet. Aangezien jij niet in die bussiness zit, kan ik dan ook niks dan hartelijk lachen om de onzin die je hier neerpoot.

Ik weet niet aan welke instelling jij precies informatica zou moeten hebben gedaan, maar gezien je belachelijke verhaal over corrupte systemen zal het niet veel meer dan LOI geweest zijn.
beter ga jij naar een LOI waar ze wat aan je eigendunk doen tjappie je kan best gelijk hebben, maar doe wat aan je presentatie

en nee, ik heb nix ontopics toe te voegen
Oud 07-11-2004, 23:26
Kawoutertje
Avatar van Kawoutertje
Kawoutertje is offline
Hehe, leuk om te zien dat er op zo'n onnozele vraag ivm C++ zo'n discussie kan losbarsten :-)

Dank trouwens voor het antwoord !

Wat de rest van de discussie betreft....

Het klopt dat C++ op dit ogenblik nog een pak populairder is als programmeertaal dan Java. En uit eigen ervaring merk ik ook dat C++ nog wel sneller is dan Java. Maar Java staat dan ook nog maar in haar kinderschoenen, in vergelijking met C (of C++).

Toch ben ik er vrij zeker van dat java het in de (nabije) toekomst zal winnen van C++. Het feit dat java bedoeld is om echt object oriented te programmeren alleen al, is al genoeg om Java te verkiezen boven C++. Hoewel ik C++ nog niet zo goed ken, lijkt het mij dat Java zich veel beter leent tot object oriented programmeren. En OO programmeren is uiteraard beter dan top-bottom programmeren, al was het maar met het oog op het uitbereiden van het programma.

En zoals reeds gezegd is java helemaal niet haar laatste adem aan het uitblazen. Eens gecompileerd is java platform-onafhankelijk. Je hebt enkel een VM nodig om de 'machine code' te runnen.
Ten eerste denk ik dat Sun best wel een VM kan produceren die op Windows draait, zonder dat er specifieke support van Windows nodig is.
En ten twee kan windows het niet maken om elke Java-VM af te blokken. Het zou in eerste instantie veel grote bedrijven verliezen als klant, en op termijn ook meer en meer particulieren.
Ik denk dat Windows eerder alles ivm java gaat overlaten aan Sun, en het gewoon niet meer standaard gaat inbouwen in Windows. (Daar zijn ze nu trouwens ook al mee bezig. De microsoft VM wordt niet meer verder ondersteund. Als je een java VM nodig hebt, wordt er door windows support nu al verwezen naar de Sun-VM.)

Correct me if I'm wrong...
__________________
When you are arguing with an idiot, make sure the other person isn't doing the same thing.
Oud 08-11-2004, 10:01
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Citaat:
Raven schreef op 07-11-2004 @ 22:54 :
hogere informatica gestudeert
Way to go, kiddo.

Kennelijk heb je the bigger picture daar niet zo meegekregen.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Oud 08-11-2004, 15:35
Raven
Avatar van Raven
Raven is offline
OOP in C++ ( voor dummies ? )

Code:
// Dit is de basis klasse voor het dynamisch werken met objecten



class TListobject
{
private:


public:
TListobject * next;
TListobject * prev;

TListobject()
   {
   next=NULL;
   prev=NULL;
   destroyed=false;
   }

};

class TList
{
public:
TListobject * items;
int count;
void add(TListobject * listobject);
void kill(void);

TList()
  {
  items=NULL;
  count=0;
  }

~TList()
   {
   TListobject * p;       
   TListobject * hulp;
   p=items;
   while (p!=NULL)
      {
      hulp=p;
      if (items==p) items=p->next;
      if (p->next!=NULL) p->next->prev=p->prev;
      if (P->prev!=NULL) p->prev->next=p->next;
      p=p->next;
      free(hulp);
      }
   }

};

void TList::kill(void)  // deze komt in de mainloop en gooit alle 
{                              // verwijderde objecten daadwerkelijk uit het 
TListobject * p;       // geheugen
TListobject * hulp;
p=items;
while (p!=NULL)
      {
      if (p->destroyed)
         {
         hulp=p;
         if (items==p) items=p->next;
         if (p->next!=NULL) p->next->prev=p->prev;
         if (P->prev!=NULL) p->prev->next=p->next;
         p=p->next;
         free(hulp);
         count--;
         }
         else p=p->next;
      }
}

// deze voegt een object toe
void TSpriteEngine::add(TListobject * listobject) 
{
if (items==NULL)// list is leeg
   {
   listobject->next=NULL;
   items=listobject;
   listobject->prev=NULL;
   count=1;
   }
else
   {
   listobject->NEXT=items;
   items->prev=listobject;
   items=listobject;
   listobject->prev=NULL;
   count++;
   }
}




// custom objectklasse.. voorbeeldje...

class TAdres: public TListobject
{
public:
char           naam[80];
char          straat[80];
char woonplaats[80];

TAdres()
  {
  destroyed=false;
  strcpy(naam,"");
  strcpy(straat,"");
  strcpy(woonplaats,"");
  }
};


/// ergens in je proggie
TList     lijst1;
TAdres Adres1;

lijst1.add(adres1);

/*
verwijderen snappen jullie wel denk ik
je zet gewoon adres1.destroyed op true en weg is ie 
TList::kill haalt 'm er dan netjes uit ... wel in da mainloop zetten he..
en als je slim bent hou je ff bij of er wel dingen verwijderd zijn
dat scheelt weer CPU tijd
*/
uiteraard kan je ook van TList weer een klasse afleiden met de nodige extra's zoals sorteren, zoeken, een kill waar je een naam op kan geven enz enz
multiple inherritance ook nog uitleggen ??

[edit] Layout-verneukerij.

Laatst gewijzigd op 08-11-2004 om 21:40.
Oud 08-11-2004, 15:39
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Wat een triest topic is dit geworden zeg
Oud 08-11-2004, 17:57
Verwijderd
Raven is uitgeluld
Oud 08-11-2004, 18:22
Raven
Avatar van Raven
Raven is offline
Citaat:
eddie schreef op 08-11-2004 @ 18:57 :
Raven is uitgeluld
Code:
if (eddie)
   {
     :p ;
   }
else
  {
   be_nice();
  }
Oud 08-11-2004, 18:40
Verwijderd
Citaat:
Kawoutertje schreef op 08-11-2004 @ 00:26 :
Correct me if I'm wrong...
Wat je krijgt, is gewoon dat er voor elk beestje een huisje wordt gevonden.. oftewel: mensen zullen JAVA / C++ / C# / ... (vul maar in) gebruiken wanneer het voor hun toepassing het meest geschikt is.

Zo krijgt elke taal en runtime zijn eigen specialiteit. Ik vind het dan ook altijd een beetje raar als mensen praten over de strijd tussen taal A en taal B.

@Raven:
Er wordt heel wat in JAVA geschreven. Zoek maar eens op www.monsterboard.nl naar vacatures voor JAVA en daarna voor C++. Dan ben je toch erg in de minderheid met C++.
Oud 08-11-2004, 18:46
Verwijderd
Citaat:
Raven schreef op 08-11-2004 @ 19:22 :
Code:
if (eddie)
   {
     :p ;
   }
else
  {
   be_nice();
  }
Leuk:
Code:
void* Realocate(void*buf, int os, int ns) 
{ 
void*temp; 
temp = malloc(os); 
memcpy((void*)temp, (void*)buf, os); 
free(buf); 
buf = malloc(ns); 
memset(buf, 0, ns); 
memcpy((void*)buf, (void*)temp, ns); 
return buf; 
}
How to write unmaintainable code

Laatst gewijzigd op 08-11-2004 om 18:52.
Oud 08-11-2004, 18:48
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Weet je waarom ik dit topic haat? Omdat ik nu, ja nu, het vak "aspecten van programmeertalen" aan het leren ben... Al dat gezever over Ada, c++, java, perl, blabla grr niet leuk (en veel te veel)
Oud 08-11-2004, 19:38
Raven
Avatar van Raven
Raven is offline
Citaat:
Fade of Light schreef op 08-11-2004 @ 19:48 :
Weet je waarom ik dit topic haat? Omdat ik nu, ja nu, het vak "aspecten van programmeertalen" aan het leren ben... Al dat gezever over Ada, c++, java, perl, blabla grr niet leuk (en veel te veel)
ok nu Cobol, pascal en basic dan ?
Oud 08-11-2004, 19:41
Raven
Avatar van Raven
Raven is offline
Citaat:
******** schreef op 08-11-2004 @ 19:40 :
Wat je krijgt, is gewoon dat er voor elk beestje een huisje wordt gevonden.. oftewel: mensen zullen JAVA / C++ / C# / ... (vul maar in) gebruiken wanneer het voor hun toepassing het meest geschikt is.

Zo krijgt elke taal en runtime zijn eigen specialiteit. Ik vind het dan ook altijd een beetje raar als mensen praten over de strijd tussen taal A en taal B.
uiteraard. en het is ook een kwestie van smaak
Oud 08-11-2004, 19:59
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
Raven schreef op 08-11-2004 @ 20:38 :
ok nu Cobol, pascal en basic dan ?


generic abstraction =
Oud 08-11-2004, 20:36
Raven
Avatar van Raven
Raven is offline
Citaat:
Fade of Light schreef op 08-11-2004 @ 20:59 :


generic abstraction =
wist je dat basic nog commando's heeft om data van een cassettebandje te laden
Oud 08-11-2004, 21:42
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Okay, volgens mij kan dit topic nu wel op slot.

Mocht er nog iemand zin hebben om een topic te starten met als doel een algemene discussie over programmeertalen, dan moet ie dat vooral doen. Misschien ben ik zelfs wel bereid een en ander te kutten met de posts zodat ze in het nieuwe topic terecht komen.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Advertentie
Topic gesloten


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
De Kantine Programmeurs/ict'ers gezocht! Ik maak je huiswerk
BigSnicker
48 18-12-2015 17:56
Software & Hardware [AutoCAD] je eigen help file gebruiken in de command prompt
Fietspomp_bv
0 22-12-2004 09:44
Software & Hardware [c++] InternetFindNextFile()
Dr HenDre
17 12-01-2004 22:04
Muziek De Wetten van De Haan en Dekker [voor beginnende bands!]
Verwijderd
12 01-04-2003 08:40
Software & Hardware Welke computertalen ken je?
PCBOY
81 23-04-2002 17:50
Huiswerkvragen: Cultuur, Maatschappij & Economie hier zijn bijna alle antwoorden van De Stad...
0 22-03-2001 19:57


Alle tijden zijn GMT +1. Het is nu 07:43.