Oud 30-09-2008, 12:46
Verwijderd
Ik ben nu al een bezig met programmeren in Java en ik heb de basis al onder de knie. Ik ben nu wel op het punt gekomen met de vraag wat ik er nou precies aan heb. Ik zou het leuk vinden om nog meer erover te leren, maar wat kan ik er verder mee. Ik zou het leuk vinden om aan projecten of dergelijke mee te werken, maar ik heb geen idee of zoiets wel bestaat. Iemand ideeën?
Met citaat reageren
Advertentie
Oud 30-09-2008, 14:56
ILUsion
Avatar van ILUsion
ILUsion is offline
Op SourceForge kan je meehelpen aan projecten, daar staan er genoeg. En natuurlijk zijn er ook genoeg OpenSource-projecten in Java, die een handje kunnen gebruiken.

Iets wat ik graag eens doe, gewoon voor de bezigheid is wat opgaven van Project Euler maken. Dat zijn wiskundige problemen die je met een willekeurige programmeertaal (of zelfs manueel) kan oplossen. Als je dus wat wiskundige/algoritmische aanleg hebt, zeker een aanrader. Let wel; de opgaven zijn niet altijd simpel, en sommigen geven zelfs problemen voor professoren aan universiteiten
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 01-10-2008, 19:44
Verwijderd
Citaat:
Op SourceForge kan je meehelpen aan projecten, daar staan er genoeg. En natuurlijk zijn er ook genoeg OpenSource-projecten in Java, die een handje kunnen gebruiken.

Iets wat ik graag eens doe, gewoon voor de bezigheid is wat opgaven van Project Euler maken. Dat zijn wiskundige problemen die je met een willekeurige programmeertaal (of zelfs manueel) kan oplossen. Als je dus wat wiskundige/algoritmische aanleg hebt, zeker een aanrader. Let wel; de opgaven zijn niet altijd simpel, en sommigen geven zelfs problemen voor professoren aan universiteiten
Ik zal er zeker naar kijken!

Maar wat ik me nou afvraag he. Bijvoorbeeld die opensource projecten, daar kan je alleen aan meedoen als je een "gevorderde" java programmeur bent lijkt me of niet? Moet ik gewoon wat boeken doorwerken voor meer informatie. Er is zoveel mogelijk.
Met citaat reageren
Oud 01-10-2008, 19:59
ILUsion
Avatar van ILUsion
ILUsion is offline
Je moet enige vertrouwdheid hebben om er werkelijk iets te kunnen bijdragen; omdat het werk dat ligt te wachten, anders ofwel niet goed gedaan wordt als je nog zoekt naar hoe je exact moet programmeren. Ik heb het dan over zowel het programmeren an sich (dus leren werken met structuur in je code, data, ...) en ook over de speciale kenmerken van Java (als je al een andere taal kent, dat je niet de stijlkenmerken van daar te veel gebruikt in Java; elke taal heeft zo zijn eigen gebruiken (en elk ontwikkelteam heeft daarenboven nog eens eigen gebruiken), je moet daar ook een beetje inpassen. Om maar een voorbeeld te geven over een detail: waar plaats je regeleindes/spaties bij je curly braces etc., dat zijn dingen die afhankelijk zijn van de taal en het team waarin je werkt. Maar er zijn ook verschillen die niet zuiver esthetisch zijn, maar gewoon neerkomen op het functioneel gebruiken van wat de taal aanbiedt).

De best tip is: zoek eventueel een project uit dat je aanstaat, als het neerkomt op het programma dat ze maken en ga eens een kijkje doen in de code. Als je vrij snel het idee hebt: 'hier of daar mist iets', probeer het er eens in te steken. Dat je eraan werkt, hoeft niet te betekenen dat je ook daadwerkelijk iets terugstuurt. Want op SF.net moet je daarvoor ook nog een beetje vertrouwd zijn met CVS (al zijn daar goede clients voor; op Windows moet je zeker eens naar TortoiseCVS kijken).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 01-10-2008, 22:01
freyk
Avatar van freyk
freyk is offline
Offtopic: Je zou ook eens naar andere populaire programmeertalen kijken, bijvoorbeeld naar c(++,#), perl, python,enz
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 04-10-2008, 12:02
ILUsion
Avatar van ILUsion
ILUsion is offline
Freyk, hoewel je gelijk hebt dat het interessant is om ook naar andere talen te kijken; dat lost niets op voor de DarkSavior: hij wil het programmeren praktisch toepassen. Als (ik veronderstel) beginneling heb je dan niet echt nood aan nog extra talen, maar wel aan die theoriekennis die je hebt, om te zetten in de praktijk. Daarna is het nog steeds handig en zelfs aan te raden om in andere talen te gaan werken: elke taal heeft zijn eigenheid, die voor- en nadelen heeft. Zodat je voor elke toepassing een geschikte taal kan kiezen (bv. een taal als C/assembler is goed geschikt voor zware wiskundige toepassingen (games, wiskundesoftware, 3D rendering software, computer aided design, ...), maar waarschijnlijk iets te zwaar/moeilijk om te gebruiken voor een willekeurig programma dat je op korte tijd moet maken, omdat er talen zijn die meer comfort bieden, zoals bv. Java of Python. Maar daartegenover natuurlijk ook enig snelheidsverlies met zich meebrengen). Met de huidige computers worden die grenzen natuurlijk heel wat minder belangrijk, maar voor zware berekeningen blijft die wel opgaan.

Ook aan de populariteit van C# (eigenlijk de tegenhanger van Ms voor Java (van Sun)) en andere geïnterpreteerde talen als Python, Ruby, ... duidt ook op deze verschuiving. Voor gewone applicaties maakt het snelheidsverlies niet zo veel uit tegenover het gemak dat je kan winnen bij het programmeren. Voor de zware berekeningen blijft het echter een must om gebruik te maken van talen die dichte bij de computerhardware staan zoals C/C++/Fortran/... of in extreme gevallen assembler.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 04-10-2008, 17:16
Verwijderd
wat je er aan hebt is simpel; Als er een probleem is waar je een oplossing voor nodig hebt (of een betere dan de al bestaande) dan kan je er iets constructiefs mee doen. Zo heb je aan gewone taal ook niets verder
Met citaat reageren
Oud 04-10-2008, 20:37
Virtual Machine
Virtual Machine is offline
Even voor t idee, C# en Java zijn geen geinterpreteerde talen. Het zijn talen die draaien in een virtual machine en worden Just in time gecompiled naar native code. (Althans dat geldt voor c#, java weet ik niet zeker).http://en.wikipedia.org/wiki/Just-in-time_compilation .

In tegenstelling tot Phyton en Ruben die wel geinterpreteerd worden. In C# en Java kan je theoretisch gesproken prima zware berekeningen doen, alleen is de jit optimizer van java niet zo denderend dus is java zo traag.

Tuurlijk C is wel sneller, maar tegenwoordig scheelt t echt niet zo heel veel, tenzij elke nanoseconde telt.

Ontopic,

Hoe raar t ook klinkt, maar t nut van programmeren is het maken van software. Dit kan software voor jezelf zijn, software voor open-source projecten, software op bestelling.
Het kan je baan of je hobby zijn. Net zoals het bespelen van een instrument, wat heb je eraan...?

Laatst gewijzigd op 04-10-2008 om 20:42.
Met citaat reageren
Oud 04-10-2008, 20:50
ILUsion
Avatar van ILUsion
ILUsion is offline
Citaat:
Even voor t idee, C# en Java zijn geen geinterpreteerde talen. Het zijn talen die draaien in een virtual machine en worden Just in time gecompiled naar native code http://en.wikipedia.org/wiki/Just-in-time_compilation .

In tegenstelling tot Phyton en Ruben die wel geinterpreteerd worden. In C# en Java kan je theoretisch gesproken prima zware berekeningen doen, alleen is de jit optimizer van java niet zo denderend dus is java zo traag.

Tuurlijk C is wel sneller, maar tegenwoordig scheelt t echt niet zo heel veel, tenzij elke nanoseconde telt.

Ontopic,

Hoe raar t ook klinkt, maar t nut van programmeren is het maken van software. Dit kan software voor jezelf zijn, software voor open-source projecten, software op bestelling.
Het kan je baan of je hobby zijn. Net zoals het bespelen van een instrument, wat heb je eraan...?
Je hebt inderdaad gelijk dat C# en Java JIT-gecompileerd worden, mijn fout. Maar het blijft wel een feit dat je niet direct je architectuur aanspreekt: er zit steeds een VM tussen die ook weer een tussenstap veroorzaakt in je uitvoering. Technisch is het onmogelijk om die even snel te laten draaien als een gecompileerde taal voor een bepaalde architectuur; omdat je steeds op een gevirtualiseerd iets draait, wat ook weer geheugen en processorsnelheid inneemt. Natuurlijk, puur geïnterpreteerde talen draaien nog trager omdat je daar de interpreteer zowel de executie moet laten draaien en nog eens het programma laten uitvoeren (ook al komen die werelden dichter bijeen, omdat Python bv. ook een soort pre-gecompileerde (PYC) byte-code genereren). De gelijkenis is wel dat je bij een puur gecompileerde taal bij de uitvoering eigenlijk vrij weinig bijtaken hebt (het OS neemt die meestal uit handen); bij JIT is dat al een heleboel extra en bij geïnterpreteerde talen nog ietsje meer). Het blijft natuurlijk een feit dat zowel JIT-talen als geïnterpreteerde talen enkel bij de executie echte machinetaal aanwezig is; waardoor ze natuurlijkerwijs ook iets trager werken.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 05-10-2008, 20:51
Virtual Machine
Virtual Machine is offline
Citaat:
Je hebt inderdaad gelijk dat C# en Java JIT-gecompileerd worden, mijn fout. Maar het blijft wel een feit dat je niet direct je architectuur aanspreekt: er zit steeds een VM tussen die ook weer een tussenstap veroorzaakt in je uitvoering. Technisch is het onmogelijk om die even snel te laten draaien als een gecompileerde taal voor een bepaalde architectuur; omdat je steeds op een gevirtualiseerd iets draait, wat ook weer geheugen en processorsnelheid inneemt. Natuurlijk, puur geïnterpreteerde talen draaien nog trager omdat je daar de interpreteer zowel de executie moet laten draaien en nog eens het programma laten uitvoeren (ook al komen die werelden dichter bijeen, omdat Python bv. ook een soort pre-gecompileerde (PYC) byte-code genereren). De gelijkenis is wel dat je bij een puur gecompileerde taal bij de uitvoering eigenlijk vrij weinig bijtaken hebt (het OS neemt die meestal uit handen); bij JIT is dat al een heleboel extra en bij geïnterpreteerde talen nog ietsje meer). Het blijft natuurlijk een feit dat zowel JIT-talen als geïnterpreteerde talen enkel bij de executie echte machinetaal aanwezig is; waardoor ze natuurlijkerwijs ook iets trager werken.
Daar ben ik het ook niet helemaal mee eens.
De .net JIT-compiler compiled code naar native code op het moment dat een functie voor het eerst wordt uigevoerd. Wanneer je een functie voor de tweede keer uitvoert wort de native code uitgevoerd. De enige reden dat .net langzamer is dan c, is omdat c niet memory safe is.
Als .net niet memory safe zou zijn, zou t praktisch even snel zijn als native code. En tuurlijk t draait binnen een VM, maar die 2 native instructies die extra zijn om binnen een VM te draaien maken of breken niet je snelheid.

Maar dit is wel heel erg offtopic he!
Met citaat reageren
Oud 05-10-2008, 21:41
Verwijderd
Citaat:
Daar ben ik het ook niet helemaal mee eens.
De .net JIT-compiler compiled code naar native code op het moment dat een functie voor het eerst wordt uigevoerd. Wanneer je een functie voor de tweede keer uitvoert wort de native code uitgevoerd. De enige reden dat .net langzamer is dan c, is omdat c niet memory safe is.
Als .net niet memory safe zou zijn, zou t praktisch even snel zijn als native code. En tuurlijk t draait binnen een VM, maar die 2 native instructies die extra zijn om binnen een VM te draaien maken of breken niet je snelheid.

Maar dit is wel heel erg offtopic he!
Ik vind het wel interessant hoor.

Ik heb sinds een paar dagen de overstap gemaakt van BlueJ naar JCreator en ik vind het wel een groot verschil. Met BlueJ kon je een klasse en methodes heel erg snel testen, maar in JCreator moet ik dus alseerst een testklasse schrijven.
Met citaat reageren
Oud 07-10-2008, 21:16
ILUsion
Avatar van ILUsion
ILUsion is offline
Citaat:
Ik vind het wel interessant hoor.

Ik heb sinds een paar dagen de overstap gemaakt van BlueJ naar JCreator en ik vind het wel een groot verschil. Met BlueJ kon je een klasse en methodes heel erg snel testen, maar in JCreator moet ik dus alseerst een testklasse schrijven.
Ik vind het hele gepalaver ook zeer interessant (en leerrijk, vooral). Maar de overstap BlueJ/JCreator, lijkt me eerder vereisten van IDE dan van de taal. Blijkbaar forceert JCreator een test-driven approach (wat niet slecht hoeft te zijn, als je ook daadwerkelijk zo je software wilt ontwikkelen). Een andere IDE die je eventueel kan testen is Eclipse (weliswaar geen snelheidsmonster, maar wel krachtig en gratis). Maar dat is ook de enige echte Java IDE waar ik ervaring mee heb.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 07-10-2008, 21:41
TopDrop
Avatar van TopDrop
TopDrop is offline
Ik werk zelf met JCreator en Eclipse. Eclipse is groter en uitgebreider en geeft goeie feedback op errors in je code. JCreator is wat simpeler en sneller en er kan ook wat minder fout gaan met het programma zelf. Ik vind ze allebei wel ok.
__________________
♥ - I miss all the places we never went. -
heddegijdagezeetgehadmindedawerklukwoarhoedoedegijdahoedoedegijdahoeheddegijdagedoan
Met citaat reageren
Oud 07-10-2008, 22:28
Verwijderd
Citaat:
Ik vind het hele gepalaver ook zeer interessant (en leerrijk, vooral). Maar de overstap BlueJ/JCreator, lijkt me eerder vereisten van IDE dan van de taal. Blijkbaar forceert JCreator een test-driven approach (wat niet slecht hoeft te zijn, als je ook daadwerkelijk zo je software wilt ontwikkelen). Een andere IDE die je eventueel kan testen is Eclipse (weliswaar geen snelheidsmonster, maar wel krachtig en gratis). Maar dat is ook de enige echte Java IDE waar ik ervaring mee heb.
Is het nou de bedoeling dat je altijd een test klasse maakt? In BlueJ was het tamelijk simpel. Opzich went het natuurlijk wel, alhoewel ik de overstap van BlueJ naar JCreator ronduit vervelend is.
Met citaat reageren
Oud 07-10-2008, 23:04
TopDrop
Avatar van TopDrop
TopDrop is offline
Een testklasse?

Bij JCreator moet je volgens mij een nieuw project maken, en een nieuwe klasse ofzo. En dan zet ie er zelf 'hello world' in als voorbeeld, maar dat kun je gewoon weghalen.
__________________
♥ - I miss all the places we never went. -
heddegijdagezeetgehadmindedawerklukwoarhoedoedegijdahoedoedegijdahoeheddegijdagedoan
Met citaat reageren
Oud 08-10-2008, 22:19
ILUsion
Avatar van ILUsion
ILUsion is offline
Citaat:
Is het nou de bedoeling dat je altijd een test klasse maakt? In BlueJ was het tamelijk simpel. Opzich went het natuurlijk wel, alhoewel ik de overstap van BlueJ naar JCreator ronduit vervelend is.
Ik weet niet hoe BlueJ en JCreator werken, maar in Java (en ook andere talen), heb je de ontwerpmethodiek 'Test Driven Design'. Dat komt er eigenlijk op neer dat je eerst een testklasse maakt, waarin je de eisen oplegt (als je die instance maakt, die parameters; of die method aanroept met die parameters, dan moet je daaruit een bepaald resultaat wel/niet behalen, je gaat dus manueel eigenlijk eerst het werk doen; om nadien je programma dat te laten doen. Bv. je neemt een class die auto's voorstelt en je hebt een method die de kleur van die wagen teruggeeft. Dan moet je bv. een test maken dat hij bij een blauwe wagen wel degelijk zegt dat die blauw is, en niet groen bv. (meet ingewikkeld natuurlijk als je een method hebt die teruggeeft wat voor wagen het is (familiewagen, sportwagen, F1, ...) dan moet die test ook nagaan dat hij een Porsche als sportwagen ziet)).

In feite legt Java daar geen verplichtingen op, je kiest zelf of je TDD gebruikt of niet. Ik zie bv. het nut er wel van in, maar voor occasioneel gebruik, vind ik het eigenlijk een beetje overdreven om een vaste methodiek te gebruiken. Ik programmeer zelf meestal gewoon in het wilde weg, en dat testen, dat gebeurt op een eigen ongestructureerde manier. Het is maar wat je zelf liever doet, al heb je met TDD waarschijnlijk wel een debug-cyclus die minder intensief is (je krijgt van je testen meestal gewoon in welke method je fout zit, als je je testen goed opstelt). Bij een manuele aanpak moet je zelf gaan uitzoeken welke method iets verkeerds produceert en dan pas gaan uitzoeken wat exact de fout is.

Ik zou in die IDE dus ook gewoon op zoek gaan naar een optie om die test classes optioneel te maken, maar waar dat zit, kan ik je spijtiggenoeg niet zeggen. En als alternatief: kijk eens naar Eclipse; want daar is het wel degelijk optioneel. De voorzieningen voor TDD zijn aanwezig, maar niet verplicht.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 09-10-2008, 20:45
TopDrop
Avatar van TopDrop
TopDrop is offline
Ik herken niet echt wat je zegt over dat TDD, en ik gebruik ook JCreator. Dus volgens mij zit dat er helemaal niet verplicht in..?
__________________
♥ - I miss all the places we never went. -
heddegijdagezeetgehadmindedawerklukwoarhoedoedegijdahoedoedegijdahoeheddegijdagedoan
Met citaat reageren
Oud 09-10-2008, 20:55
ILUsion
Avatar van ILUsion
ILUsion is offline
Mij zou het ook raar lijken dat TDD geforceerd wordt, maar ik denk ineens aan iets. Misschien bedoelt DarkSavior dat hij een klasse moet maken van waaruit hij zijn objecten aanroept om zo te testen (dus een klasse met een void main()

In dat geval, dat is gewoon een eigenheid van Java die je vorige IDE verborgen hield, omdat BlueJ voor zover ik heb kunnen zien, een leeromgeving is in plaats van een echte ontwikkelomgeving. Een ruwe omweg is eigenlijk alle klasses die je afzonderlijk wilt uitvoeren (testen zoals jij zegt), te voorzien van een main. In Eclipse kan je dat automatisch laten doen, in JCreator zal er misschien ook wel zoiets inzitten. Maar in ieder geval moet je voor Java een klasse hebben met een main-method zodat je iets uitvoerbaars hebt. Maar het maakt niet uit of je daar een afzonderlijke klasse van maakt, of dat gewoon ook in je echte klasses steekt (al is het natuurlijk properder om van je hoofdprogramma in een afzonderlijke klasse te steken. Zodat je een beetje scheiding tussen code, data en presentatie bekomt. En bij data hoort natuurlijk ook dataverwerking. Bij presentatie hoort het weergeven op het scherm, afdrukken naar je printer, schrijven/lezen van een bestand, ... De code, die ik aanhaal, is eigenlijk een soort van code die al de rest aaneenlijmt: dus gewoon de saaie taken afhandelt: zorgen dat de data-geörienteerde objecten hun plan kunnen trekken en idem voor de presentatie-objecten.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Advertentie
Reageren

Topictools Zoek in deze topic
Zoek in deze topic:

Geavanceerd zoeken

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
Huiswerkvragen: Exacte vakken [IN] Programma aanroepen via een script?
Vinyard
4 05-10-2009 18:43
Software & Hardware [JAVA] Mensen met programmeerkennis gezocht
ruben3123
3 05-06-2007 17:42
Huiswerkvragen: Exacte vakken [IN] Hulp bij programmeren in java
ruben3123
3 13-05-2007 11:45
Huiswerkvragen: Exacte vakken Hoe kan ik het beste een graaf programmeren in Java?
Rob
2 27-01-2007 21:13
Software & Hardware [JAVA] Eenvoudig programmeren
Upior
8 19-03-2006 00:18
Software & Hardware [Programmeren] Welke taal zal ik gaan leren?
forum.scholieren.com
46 24-11-2002 08:41


Alle tijden zijn GMT +1. Het is nu 12:15.