Toon posts:

[ALG] echt OOP leren, in welke taal?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil dus echt OO gaan programmeren, in een gecompileerde taal. Op dit moment werk ik een paar jaar met Perl en kan ik van mezelf zeggen dat ik daar best wel heel goed in ben, ook met OO-Perl etc. Maar nu wil ik mezelf graag een echte OO taal aanleren, want het OO gedeelte van Perl is niet echt volwassen, en Perl is toch ook niet overal geschikt voor (helaas! ;)).

Concreet heb ik twee problemen:

Ten eerste, welke taal? Ik kan kiezen tussen Java / C++ / C#. (Dat zijn de enige talen waar mijn baas genogen mee neemt.) Wat voor mij wel een maatstaf is: de strictheid van een taal, en de kwaliteit van de debugger.

Ten tweede, wanneer de taal eenmaal gekozen is, waar dan te beginnen? Ik ben wel eens eerder aan C++ begonnen, maar ondanks mijn kunnen in Perl mis ik toch een deel (OO-)basiskennis lijkt het. Misschien komt dat omdat Perl redelijk te gebruiken is zonder veel echte theoretische kennis. Die theoretische kennis heb ik inmiddels wel, maar ik vind het moeilijk toe te passen op een andere taal dan Perl. Daardoor kom ik dus niet echt verder. ;(

Verwijderd

Ik zou voor Java kiezen omdat het schoner is dan C++. Debugtools zijn goed voor zover ik gezien heb. Verder kan ik je helaas niet veel vertellen, maar als je Java kan is C# een eitje (bijna hetzelfde).

Verwijderd

Topicstarter
Dat het schoner is vind ik een groot pluspunt, dus dat kan een reden zijn om niet voor C++ te kiezen, maar waarom zou ik dan niet meteen voor C# gaan als dat toch zo op java lijkt? Is C# niet ook sneller dan java?

  • Canard
  • Registratie: Oktober 1999
  • Laatst online: 23-12 22:36
als het een factor is: Java is multiplatform...

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 18-11 16:53

D2k

C++ (alleen om maar ff tegengas te geven aan de javahova's)
Tis een krachtige taal die al vele jaren bestaat. Leer jezelf dan wel ISO/ansi C++ dan kan het zowel op windows als *nix werken :)

Doet iets met Cloud (MS/IBM)


  • David
  • Registratie: Februari 2001
  • Laatst online: 25-12 08:48
Java wordt (voor zover ik weet) algemener geaccepteerd. Ik mag misschien de laatste paar maanden op Mars zijn geweest (ik heb namelijk nog nooit van C# gehoord!) en ik weet dus niet wat de voordelen van C# zijn, maar Java is simpel, veilig en cross-platform.

Dato DUO synth voor twee


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:46
Mits je geen bezwaar hebt tegen illegaal gebruik van Visual C++ of je baas de licentie wil betalen, zou ik je C++ aanraden. De ontwikkelomgeving en debugfaciliteiten zijn veel beter dan de beste Java omgeving, naar mijn ervaring. Daarbij heeft C++ een veel groter toepassingsgebied bij het ontwikkelen van gebruikersapplicaties, aangezien de Windows omgeving voor een groot deel objectgeoriënteerd is (net als sommige omgevingen voor X trouwens). Tenslotte zijn de resulterende applicaties sneller en efficiënter dan in Java, aangezien je gebruik kan maken van concepten als pointers en niet verplicht bent tot het gebruik van virtual methods en de garbage collector en , zoals in Java en C#. Daarbij ondersteund C++ geavanceerde concepten als multiple class inheritance.

Het voornaamste nadeel van C++ ten op zichte van Java is de prijs: Java is natuurlijk gratis, maar als je tegen lage kosten aan Microsoft Visual C++ of Borland C++ Builder kan komen, kun je er wel veel mee. C# kan ik je afraden aangezien je dan alle nadelen van .NET hebt, terwijl je ook in Java .NET applicaties kan schrijven (EN dus echte Java applicaties).

  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02 16:26
Op vrijdag 01 februari 2002 12:59 schreef D2k het volgende:
C++
C++ dwingt je niet om puur OO te programmeren, Java doet dat wel. Ook zaken als geheugen allocatie/deallocatie leiden nogal af van de hoofdzaak.
Daarom zou ik als je puur OO wil leren voor Java (of C#) gaan.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
nonomen: maar waarom zou ik dan niet meteen voor C# gaan als dat toch zo op java lijkt? Is C# niet ook sneller dan java?
Mwah, het maakt niet zoveel uit. Ten eerste is de snelheid voor het leren van een nette OO-taal natuurlijk niet relevant :+ (en bovendien is het nog maar de vraag of het waar is). Ten tweede zijn Java en C# vrijwel equivalent (Java is eigenlijk een soort subset van C#) dus wat dat betreft sla je bij beide twee vliegen in 1 klap.

Het grootste verschil tussen Java en C# is dat C# nogal wat meer constructies bevat die naar mijn mening afleiden van de kern van de zaak. C# heeft bijvoorbeeld veel meer primitieven, structs (value-types), indexen, foreach, standaard final methoden, operator overloading, delegates, attributes, events. Al deze zaken zorgen voor een ingewikkeldere taal, die veel minder 'basic' is dan Java. Java streeft minimalisme na, en dat vind ik op sommige punten een voordeel.

Ik vind de Java libraries op sommige punten wat beter ontworpen en deze geven je daarom ook de mogelijkheid om je design beter aan te sluiten op de library.

Als je puur OO wilt leren is Java interessant, maar C# ook. Ik zou je willen aanraden om je niet onnodig te beperken en ze dus gewoon allebei te pakken. Zo leer je ook de verschillen en overeenkomsten tussen talen en krijg je een bredere en betere kijk op de zaak :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 18-11 16:53

D2k

Op vrijdag 01 februari 2002 13:02 schreef Tomatrix het volgende:
C++ dwingt je niet om puur OO te programmeren, Java doet dat wel. Ook zaken als geheugen allocatie/deallocatie leiden nogal af van de hoofdzaak.
Daarom zou ik als je puur OO wil leren voor Java (of C#) gaan.
dat is wel zo natuurlijk
maar wat is er mis met een generieke oplossing als de OO oplossing niet werkt?
Dan zit je met java vast

just spicing it up :)

Doet iets met Cloud (MS/IBM)


  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02 16:26
Op vrijdag 01 februari 2002 13:00 schreef Soultaker het volgende:
De ontwikkelomgeving en debugfaciliteiten zijn veel beter dan de beste Java omgeving, naar mijn ervaring.
Dit ligt dan aan jou ervaring. Voor Java zijn er genoeg IDE's in omloop die niet onderdoen voor Visual Studio, zeker niet wat betreft debugging.
Daarbij ondersteund C++ geavanceerde concepten als multiple class inheritance.
Het is geen toeval dat deze 'geavanceerde concepten' ontbreken in zowel Java als C#...

  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02 16:26
Op vrijdag 01 februari 2002 13:04 schreef D2k het volgende:

[..]
wat is er mis met een generieke oplossing als de OO oplossing niet werkt?
Vort, terug naar de tekentafel ;)!

Verwijderd

Topicstarter
Even resumeren:

Redenen om GEEN C++ te kiezen:
- niet perse OO,
- minder schoon dan java / C#

Redenen om GEEN C# te kiezen:
- 'nadeel' ? van het hele .NET eromheen.
- teveel suiker tov java.

Reden om GEEN java te kiezen:
- toepassingsgebied van C++/# zou groter zijn.
- langzamer

Dit gaat de goede kant op, maar ik moet vervolgens ook nog weten waar te beginnen...

  • warp
  • Registratie: Januari 2000
  • Niet online
Op vrijdag 01 februari 2002 12:14 schreef nonomen het volgende:
Ik wil dus echt OO gaan programmeren, in een gecompileerde taal.
Wat dacht je van Objective C ? ;)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 18-11 16:53

D2k

Op vrijdag 01 februari 2002 13:08 schreef Tomatrix het volgende:
Vort, terug naar de tekentafel ;)!
mjah ik kan ff (das altijd als het nodig is) geen voorbeeld noemen
maar tis zeker wel mogelijk

Doet iets met Cloud (MS/IBM)


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
D2k: mjah ik kan ff (das altijd als het nodig is) geen voorbeeld noemen maar tis zeker wel mogelijk
Dat zou ik maar niet zo stellig beweren 8-) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

OOP is meer een denkwijze... maar die kan je niet zo willekeurig toepassen, je app. moet er wel geschikt voor zijn.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 18-11 16:53

D2k

Op vrijdag 01 februari 2002 13:11 schreef mbravenboer het volgende:
Dat zou ik maar niet zo stellig beweren 8-) .
mjah jij zou vast wel een voorbeeld weten maar om java/ C# niet af te vallen geef je het niet >:)

Doet iets met Cloud (MS/IBM)


Verwijderd

Op vrijdag 01 februari 2002 13:13 schreef fruit.Mics het volgende:
OOP is meer een denkwijze... maar die kan je niet zo willekeurig toepassen, je app. moet er wel geschikt voor zijn.
Je kunt altijd oop toepassen maar dat is niet altijd de snelste of simpelste manier om een probleem op te lossen.

Verwijderd

C++ is een vrij schone taal. Totdat je voor windows gaat programmeren, zo is mijn indruk als ik een willekeurige pagina in mijn Borland C++ 5 boek open sla. Bij C++ heb je dan resource files nodig en worden er allerlei nieuwe features in C++ gestopt die dan ineens nodig blijken te zijn. Hierdoor wordt het geheel nogal onoverzichtelijk. In Java geldt dit in het algemeen niet, in C# in mindere mate.

Disclaimer: Dit is n.a.v. een aantal blikken op C++ windows programmatuur en dus niet uit ervaring.

Verwijderd

Topicstarter
Op vrijdag 01 februari 2002 13:17 schreef borganism het volgende:

[..]

Je kunt altijd oop toepassen maar dat is niet altijd de snelste of simpelste manier om een probleem op te lossen.
Hier ben ik me terdege bewust van, en dat is dus ook niet mijn vraag. De vraag is welke taal wanneer je wel OO wilt.

Op dit moment neig ik naar java, omdat ik juist mijn theoretische kennis wil verbeteren. Kan iemand me nog van het tegendeel overtuigen?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
D2k: mjah jij zou vast wel een voorbeeld weten maar om java/ C# niet af te vallen geef je het niet >:)
Ik weet inderdaad best voorbeelden van problemen die ik niet in Java/C# zou willen oplossen, maar dat heeft niets te maken met een onmogelijkheid, maar is dan meer een kwestie van smaak :) .

Het heeft in die gevallen meestal te maken met abstractie van irrelevante details en dat is nu typisch weer iets waarvoor ik dus niet C++ als vervanger zou kiezen :+ . Meestal wil ik dan een volledig, vaak niet imperatief paradigma gebruiken.

Begrijp me wel goed: Ik zeg niet dat je geen enkel probleem in C++ op moet gaan lossen omdat alles in Java/C# kan :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

Op vrijdag 01 februari 2002 13:20 schreef nonomen het volgende:
Op dit moment neig ik naar java, omdat ik juist mijn theoretische kennis wil verbeteren. Kan iemand me nog van het tegendeel overtuigen?
Als het eerst om de theoretische kennis van OOP gaat, en niet in eerste instantie om de apps of de omgeving, dan zou ik voor Java gaan omdat je met Java niet afgeleid wordt van de OOP basisconcepten (itt. C++) en omdat er veel informatie, boeken etc. over beschikbaar zijn. C# noem ik dan 'te nieuw'. Als je later meer naar te schrijven apps en de te gebruiken platformen gaat kijken, kun je altijd nog met C++ of C# beginnen. Met Java heb je dan als het goed gaat gewoon een goede OOP basis verkregen.

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op vrijdag 01 februari 2002 13:00 schreef Soultaker het volgende:
Mits je geen bezwaar hebt tegen illegaal gebruik van Visual C++ of je baas de licentie wil betalen, zou ik je C++ aanraden. De ontwikkelomgeving en debugfaciliteiten zijn veel beter dan de beste Java omgeving, naar mijn ervaring.
Mag ik je vragen wanneer je voor het laatst hebt gekeken? En wat dacht je dan van het feit dat je goeie stacktraces krijgt bij errors? Ik ontwikkel een factor sneller in java tov c of c++ (is weer lang geleden trouwens) omdat ik veel sneller kan debuggen alleen als door stacktraces en omdat de java virtual machine alle fouten afvangt.
Daarbij heeft C++ een veel groter toepassingsgebied bij het ontwikkelen van gebruikersapplicaties, aangezien de Windows omgeving voor een groot deel objectgeoriënteerd is (net als sommige omgevingen voor X trouwens).
Als je het niet erg vind om gebonden te zijn aan een bepaald platform dan moet je voor c++ gaan. (of c#)
Tenslotte zijn de resulterende applicaties sneller en efficiënter dan in Java
De gui van java is nog steeds erg langzaam, maar op non gui doet java niet onder voor c++.
aangezien je gebruik kan maken van concepten als pointers
hmm.. in c schrijf je persoonPtr->voornaam
in java schrijf je persoon.voornaam alhoewel het precies hetzelfde is. Alles is in java een ptr, het is alleen safe :)
en niet verplicht bent tot het gebruik de garbage collector en zoals in Java en C#.
als je zoeken naar memory leaks leuk vind moet je dit vooral nemen. Laat het systeem dingen voor je doen waarin je niet geinteresseerd bent.
Daarbij ondersteund C++ geavanceerde concepten als multiple class inheritance.
Tevens een bron van veel problemen. Kan in java opgelost worden mbv interfaces, slecht argument dus.
C# kan ik je afraden aangezien je dan alle nadelen van .NET hebt, terwijl je ook in Java .NET applicaties kan schrijven (EN dus echte Java applicaties).
Als je native applicaties zou ik je c# aanbevelen boven c++ maar omdat je net zoveel kan alleen makkelijker (je kunt je dus bezig houden met jouw probleem oplossen ipv de problemen van de taal. Maar als je niet zozeer geinteresseerd bent in native applicaties dan adviseer ik je java.

Ik heb c/c++/pascal/asm/delphi*kuch* geprogged en ik zou niets anders meer willen dan Java. Java is een superfijne taal.

  • RdeTuinman
  • Registratie: Mei 2001
  • Laatst online: 23-12 13:14
Nu kan Java wel schoner zijn dan C++, maar de code is zo schoon als je het zelf maakt ;)

Ervaring opdoen, moet je met alle nieuwe talen, maar het is een hele ervaring om dat met C++ te doen :)

Dit alleen omdat ik ervaring heb met C++

Verwijderd

Topicstarter
Op vrijdag 01 februari 2002 13:30 schreef limoentje het volgende:

[..]

Als het eerst om de theoretische kennis van OOP gaat, en niet in eerste instantie om de apps of de omgeving, dan zou ik voor Java gaan omdat je met Java niet afgeleid wordt van de OOP basisconcepten (itt. C++) en omdat er veel informatie, boeken etc. over beschikbaar zijn. C# noem ik dan 'te nieuw'. Als je later meer naar te schrijven apps en de te gebruiken platformen wilt gaan kijken, kun je altijd nog met C++ of C# beginnen. Met Java heb je dan als het goed gaat gewoon een goede OOP basis verkregen.
Dat is inderdaad, wat ik wil, Java dus. maar er is wel een probleem. Het is dus voor op m'n werk, en het is wel de bedoeling dat ik op redelijke termijn produktief wordt natuurlijk. Is Java dan nog steeds een goed idee?

Verder, nu vraag 1 beantwoord is, komen we aan vraag 2:

Waar en hoe te beginnen? Ik weet dat javahova.net nog lang niet af is >:), maar ik wil toch echt wel zo snel mogelijk beginnen. Het hoeft niet in het nederlands, maar het zou wel handig zijn als er veel aandacht besteed zou worden aan de basis van OO en de Java implementatie ervan.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
nonomen: Is Java dan nog steeds een goed idee?
Ik produceer vrijwel alleen maar in Java 8-) .

Je moet goed in de gaten houden waaraan je begint: voor het draaien van een Java applicatie heb je per definitie een JVM nodig. Als je enigszins productief wilt zijn moet je in een recente Java versie werken dus je moet zelfs nog een recente JVM eisen. Als je de applicaties wilt verspreiden via internet kan dit een probleem zijn. Als je custom software schrijft voor bedrijven met bijvoorbeeld een intranet is dat geen probleem.

Als je C# neemt zit je op dit moment nog met hetzelfde probleem: vrijwel niemand zal .NET geinstalleerd hebben.

Verder moet je uitkijken als je GUIs gaat schrijven met Java. AWT is volstrekt ontoereikend en dus moet je Swing gebruiken. Swing is echter een door Java getekende interface met look and feels. Die kan voor mensen vreemd 'aanvoelen'. Zelf heb ik er nog geen serieus commentaar op gehad van klante omdat je er wel zeer gelikte GUIs mee kunt schrijven.

Verder zijn er voor Java wel ontzettend veel goede tools op XML gebied: parsers, dom implementaties, transformatie engines, soap implementaties: allemaal geen enkel probleem. Met behulp van Java Servlets kan je ook zeer fijn server-side applicaties schrijven.

Maar zoals ik al eerder zei: beperk je niet en bestudeer ze allebei. Aangezien ze vrijwel equivalent zijn is dat geen probleem en toch zeer nuttig. Alleen de beschikbare libraries verschillen uiteraard sterk.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

Als je Java wilt leren, kwa boeken is de Java serie van O'Reilly een aanrader! http://java.oreilly.com/

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


Verwijderd

Topicstarter
Als je custom software schrijft voor bedrijven met bijvoorbeeld een intranet is dat geen probleem.
Het zal idd vooral/alleen maatwerk zijn, dus dat is sowieso geen probleem.

Enige probleem zou dus snelheid kunnen zijn. Ik kan me voorstellen dat Java merkbaar langzaam is wanneer je een leuke custom app met een vette GUI voor een bedrijf maakt.
Verder, nu vraag 1 beantwoord is, komen we aan vraag 2:

Waar en hoe te beginnen? Ik weet dat javahova.net nog lang niet af is , maar ik wil toch echt wel zo snel mogelijk beginnen. Het hoeft niet in het nederlands, maar het zou wel handig zijn als er veel aandacht besteed zou worden aan de basis van OO en de Java implementatie ervan.
en dit?

Verwijderd

Topicstarter
Op vrijdag 01 februari 2002 13:48 schreef limoentje het volgende:
Als je Java wilt leren, kwa boeken is de Java serie van O'Reilly een aanrader! http://java.oreilly.com/
Dat ik daar niet aan gedacht heb! O'reilly is echt the best! (Ja, ze hebben veel perl-boeken ;))

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
nonomen: Waar en hoe te beginnen? Ik weet dat javahova.net nog lang niet af is >:)
Uiteraard kan je daar wel met vragen terecht :) .
maar ik wil toch echt wel zo snel mogelijk beginnen. Het hoeft niet in het nederlands, maar het zou wel handig zijn als er veel aandacht besteed zou worden aan de basis van OO en de Java implementatie ervan.
Enkele essentiele stappen voordat je aan de slag kunt:

Stap 1: download een recente Java 2 SDK
Stap 2: download daarbij ook de API documentie
Stap 3: De Java Tutorial is nog geeneens zo'n slecht begin om ook de taal te leren. De Java Tutorial is uitmuntend als het om libraries gaat, maar ook voor de taal Java kan je er terecht. Andere bronnen zijn bijvoorbeeld "Thinking in Java" van Bruce Eckel. Er is niet echt een 'must have' boek voor de taal Java, er zijn vele mogelijkheden.
Stap 4: Kies een ontwikkel-omgeving. Je kunt een IDE kiezen zoals bijvoorbeeld IntelliJ's IDEA, maar ik ben zelf zeer gecharmeerd van de krachtige editor Jext (geschreven in Java) in combinatie met het zeer goede build tooltje Ant van Apache.

Daarna kan je heerlijk aan de slag met Hello worlds en daarna uiteraard snel verder met interessantere zaken ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Of anders moet je hier even kijken

http://www.geocities.com/peter_veentjer

en dan computer languages/java/online books

Verwijderd

Topicstarter
Heren bedankt, en ik zal jullie zeker lastig blijven vallen met een aantal domme vragen ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op vrijdag 01 februari 2002 14:01 schreef nonomen het volgende:
Heren bedankt, en ik zal jullie zeker lastig blijven vallen met een aantal domme vragen ;)
dat zijn we wel gewend ;)

en het is natuurlijk altijd leuk om een groentje wat uitleg te geven :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 02:09
Op vrijdag 01 februari 2002 12:55 schreef nonomen het volgende:
Dat het schoner is vind ik een groot pluspunt, dus dat kan een reden zijn om niet voor C++ te kiezen, maar waarom zou ik dan niet meteen voor C# gaan als dat toch zo op java lijkt? Is C# niet ook sneller dan java?
C# is inderdaad sneller dan Java. Dit komt omdat de IL die door C# geproduceerd wordt bij het compilen, gecompiled wordt naar native code door de Just In Time compiler van .NET. Bij Java wordt de byte code geinterpreteerd door de Java VM.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 02:09
Op vrijdag 01 februari 2002 13:00 schreef Soultaker het volgende:
C# kan ik je afraden aangezien je dan alle nadelen van .NET hebt,
En die zijn ?
Daarbij heeft C++ een veel groter toepassingsgebied bij het ontwikkelen van gebruikersapplicaties, aangezien de Windows omgeving voor een groot deel objectgeoriënteerd is (net als sommige omgevingen voor X trouwens).
C++ is niet volledig OO terwijl Java en C# dat wel zijn. Ik zie uw punt hier niet echt hoor.

https://fgheysels.github.io/


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
whoami: Bij Java wordt de byte code geinterpreteerd door de Java VM.
Nee, Java heeft ook een Just-in-time compiler. Een hele goede zelfs: Hotspot.

De JVM gebruikt over het algemeen een combinatie van interpretatie en compilatie naar native code. Hierdoor kan er snel opgestart worden, maar kunnen essentiele onderdelen toch native gecompileerd worden.

At run-time kunnen zo ook optimalisaties worden toegepast die at compile-time niet mogelijk zijn. Het belangrijkste verschil is dus dat de native code niet wordt opgeslagen.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Op vrijdag 01 februari 2002 14:02 schreef Alarmnummer het volgende:
en het is natuurlijk altijd leuk om een groentje wat uitleg te geven :)
Hey, pas op mannetje, ik ben dan misschien onervaren in Java/C++, maar dat wil nog niet zeggen dat ik een groentje ben! ;)

  • whoami
  • Registratie: December 2000
  • Laatst online: 02:09
Op vrijdag 01 februari 2002 14:06 schreef mbravenboer het volgende:

[..]

Het belangrijkste verschil is dus dat de native code niet wordt opgeslagen.
Hoe bedoel je? In C# wordt er ook geen native code opgeslagen. Of begrijp ik je verkeerd?

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 02:09
[quote]
Op vrijdag 01 februari 2002 13:44 schreef mbravenboer het volgende:

[..]
Als je C# neemt zit je op dit moment nog met hetzelfde probleem: vrijwel niemand zal .NET geinstalleerd hebben.
Nu nog niet, maar zoals OiSyN al eerder vermeldde, zal dat .NET framework wel standaard bij Windows geleverd worden.


Ik heb hier ook al iets gelezen in de trant van 'dat .NET niet platform onafhankelijk is'. Dat is nu idd nog niet het geval omdat er nog geen CLR's beschikbaar zijn voor andere platformen, maar eens die er zijn, dan is C# (niet enkel C# maar alle .NET talen) platform onafhankelijk. Er zou trouwens al een CLR zijn voor FreeBSD

https://fgheysels.github.io/


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
whoami: Hoe bedoel je? In C# wordt er ook geen native code opgeslagen. Of begrijp ik je verkeerd?
Helaas weet ik er nog steeds niet exact het fijne van, maar als ik het goed begrepen heb dus wel.

Een assembly kan pre-jitted worden. Hij wordt dan at-install-time gecompileerd naar nativee code. Daarna kan deze dus voor elke executie gebruikt worden. Het is echter ook mogelijk om at-runtime te jitten.

Kijk bijvoorbeeld eens hier (pas had ik die ook al voor je gelinkt):
http://www.microsoft.com/germany/ms/msdnbiblio/dotnetrk/doc/Assembly.PPT

Ik zal eens kijken of ik betere docs kan vinden waar het exact in staat.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
btw, mbravenboer, de 'Java Generics' link uit je sig is dood.

  • whoami
  • Registratie: December 2000
  • Laatst online: 02:09
Op vrijdag 01 februari 2002 14:25 schreef mbravenboer het volgende:

[..]

Helaas weet ik er nog steeds niet exact het fijne van, maar als ik het goed begrepen heb dus wel.
Volgens mij bestaat een assembly uit IL. En die IL wordt dan door de CLR just in time gecompileerd naar native code. Er wordt dus ook geen native code opgeslagen.
Doordat de assembly uit IL code bestaat is het trouwens mogelijk om een class te schrijven in C# die inherit van een class die in VB.NET geschreven is.
Een assembly kan pre-jitted worden. Hij wordt dan at-install-time gecompileerd naar nativee code. Daarna kan deze dus voor elke executie gebruikt worden. Het is echter ook mogelijk om at-runtime te jitten.
Hmm, daar weet ik niets van. Maar je zegt kan, dus zal het wel standaard zo zijn dat er geen native code wordt opgeslagen.
Kijk bijvoorbeeld eens hier (pas had ik die ook al voor je gelinkt):
http://www.microsoft.com/germany/ms/msdnbiblio/dotnetrk/doc/Assembly.PPT
VAn zodra ik tijd heb, zal ik het es bekijken. :)
Ik zal eens kijken of ik betere docs kan vinden waar het exact in staat.
thx.

https://fgheysels.github.io/


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
nonomen: btw, mbravenboer, de 'Java Generics' link uit je sig is dood.
Hier werkt hij gewoon?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • whoami
  • Registratie: December 2000
  • Laatst online: 02:09
Op vrijdag 01 februari 2002 14:36 schreef mbravenboer het volgende:

[..]

Hier werkt hij gewoon?
hier werkt hij ook niet

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 02:09
Op vrijdag 01 februari 2002 14:35 schreef mbravenboer het volgende:
Over JIT: Kijk eens hier op pagina 21:
http://vig.pearsoned.com/samplechapter/013093383X.pdf
Hoezo pag. 21? Die pdf heeft maar 13 pagina's??

https://fgheysels.github.io/


Verwijderd

Topicstarter
offtopic:
Ik ben nu dus aan het proberen die Java 2 SDK te downen, en dat werkt ook allemaal niet, er is dus wel meer mis daar bij java.sun.com

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
whoami: Volgens mij bestaat een assembly uit IL. En die IL wordt dan door de CLR just in time gecompileerd naar native code
Uiteraard, dat is het hele idee van .NET :) . In feite Java bytecode, maar dan anders. Ik zei ook niet dat de assembly native code is... Je kunt echter wel native code maken van een assembly.

Het gaat om dit tooltje:
Native Image Generator (Ngen.exe)

Creates a native image from a managed assembly and installs it into the native image cache on the local computer.

A native image is a file containing compiled processor-specific machine code.

After you have generated a native image for an assembly, the runtime automatically attempts to locate and use this native image each time it runs the assembly. If you run an assembly in a debugging or profiling scenario, the runtime looks for a native image that was generated with the /debug, /debugopt, or /prof options. If it is unable to find a suitable native image, the runtime reverts to standard JIT Compilation.

In version 1.0 of the common language runtime, there is no automatic creation or deletion of native images. You must manually create and delete all native images using Ngen.exe.

Pre-compiling assemblies with Ngen.exe can improve the startup time for applications, because much of the work required to execute code has been done in advance. Therefore, it is more appropriate to use Ngen.exe for client-side applications where you have determined that the CPU cycles consumed by JIT compilation cause slower performance.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpgrfnativeimagegeneratorngenexe.asp
Doordat de assembly uit IL code bestaat is het trouwens mogelijk om een class te schrijven in C# die inherit van een class die in VB.NET geschreven is.
Uiteraard.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
whoami: hier werkt hij ook niet
Hum ja, nu werkt hij hier ook niet meer :? Er zal wel iets fiks mis zijn bij Sun.
Ik ben nu dus aan het proberen die Java 2 SDK te downen, en dat werkt ook allemaal niet, er is dus wel meer mis daar bij java.sun.com
Ja dus :+ . Probeer het later anders nog eens. Normaal gesproken is er geen enkel probleem.
Hoezo pag. 21? Die pdf heeft maar 13 pagina's??
Kijk eens bovenaan :+ .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

die Java Generics link "werkt niet" omdat je je eerst moet aanmelden als Java Developer, daarna wordt je dan doorgelinkt naar de pagina die je wilde zien. Het is dus een aanmeldingspagina die je te zien krijgt.

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
limoentje: "werkt niet"
Not Found
The requested object does not exist on this server. The link you followed is either outdated, inaccurate, or the server has been instructed not to let you have it.

M'n vrienden van Sun hebben de URL aangepast :( . Nu staat hij weer goed.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1