Archief - System.out.println("Hello World!");

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.

Gurdt

Legacy Member
Gij doet da met Java? Java is toch algemeen gezien een stuk trager als C++, welk resultaat zou je dan krijgen? :)

Parnakra

Legacy Member
Wat betreft dat ray tracen, deze site heb ik al een hele tijd tussen mijn bookmarks staan. Nog geen tijd gehad om het volledig door te nemen, maar het ziet er wel interessant uit.

NeverwinterX

Legacy Member
Gurdt zei:
Gij doet da met Java? Java is toch algemeen gezien een stuk trager als C++, welk resultaat zou je dan krijgen? :)

Ja dat was gemaakt voor een vak waarbij ze u een kleine basis gaven (paar klassen om de scene files die ze gebruikten te lezen enzo) en die waren in Java. Voorts was mijn C++ beperkt tot de basis en om dat nog rap rap helemaal door te nemen voor dat vak begon, dat was me toch wat te riskant.
Ik betwijfel voorts of het echt zoveel verschil zou uitmaken, bij dit soort dingen draait het vooral om uw algoritmen. De snelheid van Java ligt tegenwoordig erg dicht bij C++.

nguaroth

Legacy Member
ik heb overlaatst nog een stom programmeke geschreven waarvoor ik backtracking nodig had, nu was dit echt redelijk traag in java wat ik nogal raar vond, want het ging maar om een klein aantal niveau's diep.

toen heb ik het eens in C++ geprobeerd en dit gaf veel sneller een resultaat.

Gurdt

Legacy Member
Ahja aan de KUL geven ze niet echt C++ zeker? :)
En ja der is toch wel wat performantieverschil, mijn bachelorthesis handelt daar een stuk over.

Java - en andere virtual machine talen - wordt enkel front-end-compiled tot bytecode, die bytecode is nog totaal niet geoptimaliseerd voor een bepaalde hardware ofzo. Dat gebeurt pas tijdens de uitvoer, dan zal de virtual machine die gegevens aanpassen/invullen.

C++ - en anderen - wordt ook nog eens back-end gecompileerd, dus voor een bepaalde hardware. Dit heeft als nadeel dat het een stuk minder dynamisch is - classloaders enz zijn onbestaande in zulke talen - maar dit zorgt er wel voor dat een gecompileerd C++ programma volledig klaar is om uitgevoerd te worden!

Games en dergelijke worden daarom vaak in die talen geschreven. In principe geldt, hoe dichter bij instructiecode, hoe sneller ;)

Op de UH wordt er eigenlijk meer met C++ geprogrammeerd dan met Java, wat eigenlijk wel jammer is want bij Java kan je je meer focussen op het design ipv al die pointershit enzo xD
Vakken omtrent design worden dan ook in Java gegeven.

Cycloon

Legacy Member
Gurdt zei:
Op de UH wordt er eigenlijk meer met C++ geprogrammeerd dan met Java, wat eigenlijk wel jammer is want bij Java kan je je meer focussen op het design ipv al die pointershit enzo xD

De wijze waarmee je over pointers praat geeft duidelijk aan dat je niet vlot kan werken met pointers, want eigenlijk stelt het niks voor. Als je design moet inboeten in c++ omdat je over pointers struikelt dan wordt het tijd dat je eens wat tijd investeert om alle pointer concepten te begrijpen.

Gurdt

Legacy Member
Cycloon zei:
De wijze waarmee je over pointers praat geeft duidelijk aan dat je niet vlot kan werken met pointers, want eigenlijk stelt het niks voor. Als je design moet inboeten in c++ omdat je over pointers struikelt dan wordt het tijd dat je eens wat tijd investeert om alle pointer concepten te begrijpen.

Gast, doe toch nie altijd of ge mij of mijn programmeerkennis kent man:/ Ik kan heel vlot werken met pointers danku, ik weet ook dat het niks voorstelt. Ik bedoel met "die pointershit" dat het veel aangenamer is om objecten t creëren en multidimensionale array's te gebruiken en te bewerken in Java. Zijt ge het daar nie over eens misschien? Ook het feit dat de programmeurs waarmee je samenwerkt gebruik kunnen maken van dubbele indirecties of referenties vereisen een zekere aandacht. Java is op dat vlak meer high level dan C++, of zijt ge het daar nie over eens?
In Java hebt ge trouwens in no time virtuele klasses en dingen als MVC, zodat ge u beter kunt focussen over de structuur.

Ik zeg nu toch helemaal nie dat ik dat niet kan in C++ of dat ik niet met pointers kan werken kerel :/ Gij hebt precies wel een airke he. Ik zeg daar alleen mee dat Java op dat vlak aangenamer werkt.

Ik zeg ook niet dat in C++ het design moet inboeten, ik zeg alleen dat ge in Java er meer op kunt focussen. Flamehoer.

Cycloon

Legacy Member
Oh, ik had zo'n post wel verwacht. Waarom direct zo defensief doen? Eerst zeg je dat je meer moeite moet investeren om ook met die pointers te werken en dan plots is het allemaal zo erg niet meer :ironic:.

Ik zeg ook niet dat in C++ het design moet inboeten, ik zeg alleen dat ge in Java er meer op kunt focussen.

Dat slaat op niks, maar ook hier zal je wel weer heel defensief op gaan reageren.

NeverwinterX

Legacy Member
nguaroth zei:
ik heb overlaatst nog een stom programmeke geschreven waarvoor ik backtracking nodig had, nu was dit echt redelijk traag in java wat ik nogal raar vond, want het ging maar om een klein aantal niveau's diep.

toen heb ik het eens in C++ geprobeerd en dit gaf veel sneller een resultaat.

Mja, maar je hebt benchmarks en benchmarks he. Dit is een redelijk professionele waar het dicht bij elkaar ligt:
Which programming languages are fastest? | Computer Language Benchmarks Game
Which programming language is best? | Computer Language Benchmarks Game

Cycloon zei:
Dat slaat op niks, maar ook hier zal je wel weer heel defensief op gaan reageren.

Oja? Ik begrijp anders perfect wat hij bedoelt en hij heeft gelijk: doordat je in C++ bezig moet zijn met al de typische boobytraps (memoryleaks, begrijpen wat je collega nou precies wou bereiken met die pointer naar een pointer naar een pointer naar een pointer naar een array van pointers naar pointers naar getallen e.d.), verlies je nu eenmaal tijd.

nguaroth

Legacy Member

Cycloon

Legacy Member
NeverwinterX zei:
Oja? Ik begrijp anders perfect wat hij bedoelt en hij heeft gelijk: doordat je in C++ bezig moet zijn met al de typische boobytraps (memoryleaks, begrijpen wat je collega nou precies wou bereiken met die pointer naar een pointer naar een pointer naar een pointer naar een array van pointers naar pointers naar getallen e.d.), verlies je nu eenmaal tijd.

Maar dat heeft in principe niks met de designfase te maken, die komt nog voor de fase waar je ook maar 1 letter code gaat produceren. Dat je niet begrijpt wat een andere programmeur met bepaalde code bedoelt ligt aan gebrekkige documentatie en heeft ook weer niks met design te maken. In Java kan je anders ook perfect onduidelijke code produceren.

Gurdt

Legacy Member
Cycloon zei:
Oh, ik had zo'n post wel verwacht. Waarom direct zo defensief doen? Eerst zeg je dat je meer moeite moet investeren om ook met die pointers te werken en dan plots is het allemaal zo erg niet meer :ironic:.

Dat slaat op niks, maar ook hier zal je wel weer heel defensief op gaan reageren.
Ik doe defensief tegen u omdat ik merk dat gij bij elke kwestie moet kakken. En naast dat kakken begint ge persoonlijk iemand aan te vallen door te zeggen dat die er niks van kent. Een beetje uit de hoogte doen hier, een beetje de goeroe uithangen daar. Ik begin een master aan de unief, ik zal heus wel kunnen programmeren dus het heeft geen zin om met dingen af te komen als "misschien moet jij het concept pointers eens leren begrijpen". Denk je zo respect af te dwingen misschien?
Ik krijg het schijt van mensen die zich gedragen zoals u, ik hoop dat dat enkel u e-ego is, anders ben je maar een zielig jongetje als je je zo gedraagt tegen IT'ers rond u. Een beetje respect voor een ander kan ook zonder die ander af te kraken en er vanuit te gaan dat die van niks weet.

Cycloon zei:
Maar dat heeft in principe niks met de designfase te maken, die komt nog voor de fase waar je ook maar 1 letter code gaat produceren. Dat je niet begrijpt wat een andere programmeur met bepaalde code bedoelt ligt aan gebrekkige documentatie en heeft ook weer niks met design te maken. In Java kan je anders ook perfect onduidelijke code produceren.
Ja ja design fase bla bla. Als gij op school een project maakt, gaat gij dan altijd door een designfase? Dat gebeurt bij ons alleen maar bij grotere projecten hoor. En zelfs daar gebeuren er constant wijzigingen, zoals hoort volgens sommige software engineering principes.

Het gaat erom dat Java een stuk abstracter is dan C++ en dat je daardoor sneller een concept uitgewerkt hebt in de code om vervolgens te vervolledigen. Java biedt zoveel nuttige standaardklasses waarvoor je bij C++ ofwel externe libraries nodig hebt ofwel eigen datastructuren moet maken met soms vettige pointerstructuren. Zoals NeverwinterX zegt, soms kom je op een punt dat je een 3 dubbele pointerstructuur nodig hebt en als je veel projecten hebt waardoor je het druk hebt kan het niet anders dan dat je bepaalde dingen niet goed documenteert. De focus ligt bij schoolprojecten meestal op heel andere dingen dan design of leesbaarheid of whatever, vaak moet je gewoon iets maken als een multithreaded webserver en dan ga je niet op papier shit liggen uittekenen. Dan bedenk je ff in je kop een structuur en je maakt die. En in Java is zoiets vlugger gedaan. Wederom, waarmee ik niet wil zeggen dat het in C++ moeilijker of slechter lukt, Java werkt gewoon vlotter op zo een moment.
Ook het feit dat wanneer je met een slechtere programmeur samenwerkt je gemakkelijker de draad kan oppikken wanneer de code in Java geschreven is. Bij C++ moet je die pointerstructuren nauwgezet bekijken dan.

edot: En dan heb ik het nog niet eens gehad over memory leaks, in C++ moet je alles nog liggen deleten waar je constant op moet letten. In Java zeg je gewoon FOKOFF en je begint na te denken hoe je een probleem oplost.

Voor een performant programma gebruiken wij C++, maar om algoritmes te implementeren ter onderzoek gebruiken we Java, simpelweg omdat je dan niet wilt bezig zijn met pointers en allocatie enzovoort.

Parnakra

Legacy Member
Gurdt zei:
Ik begin een master aan de unief, ik zal heus wel kunnen programmeren...
Die uitspraak is niet noodzakelijk correct. :)

En zonder verder bij te dragen aan de flamewar hier, ik begrijp beide kanten wel. Als je het puur over design hebt, is er inderdaad geen verschil tussen beide talen, aangezien design (grotendeels) onafhankelijk (zou moeten zijn) is van de taal waarin het geïmplementeerd wordt.

Als je voorganger een defig design uitgewerkt (en gedocumenteerd) heeft, hoef je je helemaal niet blind te staren op die pointerstructuren, dan zal dat ergens wel (al dan niet schematisch) voorgesteld worden.

Maar aan de andere kant is het voor (vooral kleinere (en/of persoonlijke)) projecten waar design en implementatie in elkaar overvloeien inderdaad handiger/sneller werken met java.

Gurdt

Legacy Member
Parnakra zei:
Die uitspraak is niet noodzakelijk correct. :)
Uiteraard niet :)

Parnakra zei:
En zonder verder bij te dragen aan de flamewar hier, ik begrijp beide kanten wel. Als je het puur over design hebt, is er inderdaad geen verschil tussen beide talen, aangezien design (grotendeels) onafhankelijk (zou moeten zijn) is van de taal waarin het geïmplementeerd wordt.

Als je voorganger een defig design uitgewerkt (en gedocumenteerd) heeft, hoef je je helemaal niet blind te staren op die pointerstructuren, dan zal dat ergens wel (al dan niet schematisch) voorgesteld worden.

Maar aan de andere kant is het voor (vooral kleinere (en/of persoonlijke)) projecten waar design en implementatie in elkaar overvloeien inderdaad handiger/sneller werken met java.
Precies wat ik bedoel. Áls je voorganger alles netjes heeft gedaan is alles even vlot, tenzij met speciale talen of academische talen ofzo.

Maar bij projectjes op school is dat vaak niet, dan zijn er geen voorgangers enzo!

Cycloon

Legacy Member
Gurdt zei:
Een beetje uit de hoogte doen hier, een beetje de goeroe uithangen daar. Ik begin een master aan de unief, ik zal heus wel kunnen programmeren dus het heeft geen zin om met dingen af te komen als "misschien moet jij het concept pointers eens leren begrijpen".

Ik deed alles behalve uit de hoogte, laat staan dat ik in elke topic herhaal welke studies ik doe en welk beroep mijn vader uitvoert bij welke instelling.

Maar het is mij al meermaals duidelijk geworden (zelf binnen deze topic) dat niemand wat tegen jou mag zeggen omdat jij toch alle waarheid in pacht hebt. Dat is zeker een gevolg van het feit dat je aan je master begint...

Moto

Legacy Member
toch ne plezanten topic hier :)

anyway vond dit wel een leuk artikel hierover
Coding Horror: On Managed Code Performance, Again

English/Chinese dictionary in C++ vs C#
De C++ versie is 2 keer zo snel als de C# versie MAAR wel na 6 rewrites :)

De C# programmeur aan het woord
So am I ashamed by my crushing defeat? Hardly. The managed code achieved a very good result for hardly any effort. To defeat the managed version, Raymond had to:
Write his own file/io stuff
Write his own string class
Write his own allocator
Write his own international mapping

Nu over welke taal "het beste" is hangt gewoon af van
- uw requirements
- de tijd die ge dervoor krijgt
Elke taal heeft wel zijn domein waar hem het best voor geschikt is
(behalve dan VB.net ;) )

Gurdt

Legacy Member
Cycloon zei:
Ik deed alles behalve uit de hoogte, laat staan dat ik in elke topic herhaal welke studies ik doe en welk beroep mijn vader uitvoert bij welke instelling.

Maar het is mij al meermaals duidelijk geworden (zelf binnen deze topic) dat niemand wat tegen jou mag zeggen omdat jij toch alle waarheid in pacht hebt. Dat is zeker een gevolg van het feit dat je aan je master begint...

Ik vind net dat gij vaak uit de hoogte doet. "aan hoe gij spreekt over pointers weet ik dat gij er niks van kunt, en njeh njeh njeh".

Als ik dat herhaal is dat omdat het past binnen die thread. Verder hebt gij daar toch helemaal niks mee te maken? Negeer het dan?

Ik wordt lastig van aapkes zoals gij die op fora de held uithangen om anderen af te breken. Zo lopen er hier op 9lives wel een aantal rond natuurlijk. Echte helden. Ik ken dat type, dat zijn vaak van die mannekes die int echt in een hoekje zitten. Ze moeten dan op het internet fel komen doen en anderen wat afkraken.

Heb jij trouwens een probleem met academici? Ow ja, da waart gij die zei dat academici nutteloos waren zeker? :)

Parnakra

Legacy Member
Gurdt zei:
Ik wordt lastig...
Nee.
Gurdt zei:
Ow ja, da waart gij die zei dat academici nutteloos waren zeker? :)
En nee.

Serieus, dan is er eens een redelijk actieve en interessante topic in dit subforum, gaan jullie er een persoonlijke flamewar van maken.

MAXXUR

Legacy Member
Een aantal pagina's terug werd er gesproken over hoe er specifieke software/hardware componenten gebruikt worden bij vanalle systemen enzo. Toen ik op vakantie in Venetië geld afhaalde, en voor de optie "Maestro" koos, minimaliseerde het vensterke steeds, zag ge heel effe de standaard Windows XP achtergrond en taakbalk, en maximaliseerde een ander venterke. Toen had ik wel iets van :(

NeverwinterX

Legacy Member
Moto zei:
toch ne plezanten topic hier :)

Hij gaat lekker :p (zoals de hollanders zouden zeggen)
Een topic als dit zou niet compleet geweest zijn zonder de obligatoire c++ vs java discussie :)

edit: mss een C# vs java nu? :p
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