Archief - [JAVA]

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
op de unief werken we evenzeer in groepsverband aan projecten

over het niveau van programmeren?
ik weet dat op de hogeschool dingen niet zo strikt worden genomen (voor een ; vergeten zullen ze daar mss over een half puntje mekkeren)
de programmeertalen worden daar vooral geëvalueerd adhv praktische testen (oefeningen etc) die veelal op de pc worden gemaakt

wij leren daarnaast schriftelijk programmeren
een examen java of c bv, is gewoon met pen en papier (een ; weegt ook meer dan een half puntje)

onze dagindeling is trouwens zo: 1 vak per dag, 3 vakken per trimester
met ieder trimester een programmeertaal (2 dagen per week) wil dit zeggen dat we in de opleiding, 2/5e van onze tijd in programmeertalen steken, met de bedoeling dat wij dat kunnen op papier, zonder intellisense en informatie van het internet

daarnaast krijgen we genoeg projecten om in groepsverband onze kennis in de praktijk te brengen, evenzeer met deadlines en strenge eisen

--
ik denk dat het dus onwaar is, als ge zegt dat ne student nie kan programmeren

MilM

Legacy Member
Ik denk niet dat een ervaren programmeur vaak een ; vergeet.
En anders zal zijn compiler hem wel terecht wijzen zeker.

Over die projecten: ik heb dat al aangehaald in de laatste zin van mijn vorige post.

Er werd nergens gezegd dat een student niet kan programmeren. Maar een student aan de universiteit heeft wel wat meer te doen dan programmeren, dus de intensiteit is veel kleiner dan bij een professionele programmeur.

Iemand die licentiaat LO doet zal ook niet per se beter kunnen voetballen dan een professionele voetballer enkel en alleen omdat het "universiteit" is.

Ik heb trouwens ook de nodige schriftelijke (= programmerne op papier ipv PC) examens Java gedaan aan de universiteit ;)
Zo onder de indruk ben ik niet van het feit dat dit schriftelijk is.

Gurdt

Legacy Member
ik ken aantal mensen die hun examens niet schriftelijk doen
als k die zie coderen, das walgelijk, die compilen om de 5 minuten om te checken of ze geen foutjes maken

Parnakra

Legacy Member
Gurdt zei:
onze dagindeling is trouwens zo: 1 vak per dag, 3 vakken per trimester
met ieder trimester een programmeertaal (2 dagen per week) wil dit zeggen dat we in de opleiding, 2/5e van onze tijd in programmeertalen steken, met de bedoeling dat wij dat kunnen op papier, zonder intellisense en informatie van het internet
M.a.w. jullie leren de syntax van iedere taal rats vanbuiten i.p.v. te concentreren op de abstractie van het programmeren? Lijkt me ongelooflijk nuttig. :)

Trouwens, ik zit op een hogeschool en moet ook schriftelijk programmeren. Ik voel me uitgesloten. :(:(

Gurdt

Legacy Member
Parnakra zei:
M.a.w. jullie leren de syntax van iedere taal rats vanbuiten i.p.v. te concentreren op de abstractie van het programmeren? Lijkt me ongelooflijk nuttig. :)
wij kennen de syntax knal vanbuiten, maar weten vn de rest daarom niet minder

alle aspecten worden aangeleerd, duh

eniac

Legacy Member
Gurdt zei:
ik ken aantal mensen die hun examens niet schriftelijk doen
als k die zie coderen, das walgelijk, die compilen om de 5 minuten om te checken of ze geen foutjes maken

Uh, wat denk je dat een deftige IDE als eclipse doet? Die build je project continu, dwz per save die je uitvoert. De beste programmeurs zien soms eens een ; over het hoofd, je IDE wijst je daar ogenblikkelijk op zodat je geen tijd hoeft te verliezen.

Gurdt zei:
jullie beweren dus dat eens ge de unief verlaat, ge ineens heel veel wijsheid krijgt en beter codeert??

edit: vertel me maar eens wat jullie zoveel bijleren, wat ze op de unief niet leren
want dat is wat jullie zeggen, jullie coderen toch pakken beter dan een arrogant universitair studentje?

Draai het eens niet om. Jij bent diegene die nog studeert en beweert dat je niet moet onderdoen (en zelfs meer dan dat) voor mensen die al jaren in het vak zitten. Je doet alsof je alles weet en alles kent. Dat geeft gewoon blijk van misplaatste arrogantie.

Ja, je leert enorm veel in het hoger onderwijs. En ja, je leert enorm veel in het bedrijfsleven. Denk je echt dat je leercurve stopt met het krijgen van je diploma? Vergeet het maar hoor.

Foezjie

Legacy Member
Om even een "evaluatie" te krijgen (hopelijk mag ik dit hier even tussen smijten) zou ik graag eens een klasse tonen (onvolledig wel atm) die ik gebruik in mijn programma. Het is de klasse die instaat voor de GUI van het programma, dus tonen van het spelbord ( ik ben bezig met Monopoly te programmeren :)) en dergelijke:

Code:
import javax.swing.*;
import java.awt.*;

class JavaGUI extends JFrame{
	Container paneel;
		
	//Kleuren van de spelers
	Color speler1 = new Color(225,225,0); // Geel
	Color speler2 = new Color(255,0,0); // Rood
	Color speler3 = new Color(0,0,255); // Blauw
	Color speler4 = new Color (0,255,0); // Groen
	
	public JavaGUI(){
		
		setTitle("Javapoly");
		setSize (650,535);
		setLocation(400,200);
		
		paneel = getContentPane();
		paneel.setLayout(null);
		
		JLabel lblPrent;
		lblPrent = new JLabel(new ImageIcon("monopoly.gif"));
		lblPrent.setBounds(0,0,502,508);
		lblPrent.setVisible(true);
		paneel.add(lblPrent);
		paneel.repaint();		
	}
	
	public void tekenSpelers(int intAantalSpelers){
		Graphics g = paneel.getGraphics();
		for(int teller = 1; teller < 100; teller++){
			// Eerste speler
			g.setColor(speler1);
			g.fillOval(440,440,20,20);
			// Tweede speler
			g.setColor(speler2);
			g.fillOval(470,440,20,20); 
 			}
 			
 		if (intAantalSpelers == 3){
			for(int teller = 1; teller < 100; teller++){
				// Derde speler
				g.setColor(speler3);
				g.fillOval(440,470,20,20);
			}
 		}
			
		if (intAantalSpelers == 4){
			for(int teller = 1; teller < 100; teller++){
				// Derde speler
				g.setColor(speler3);
				g.fillOval(440,470,20,20);
				// Vierde speler
				g.setColor(speler4);
				g.fillOval(470,470,20,20);
			} 
		}
	} // Einde tekenSpelers
	
	public void toonNamen(String strNaam, int intKleur, int intYWaarde){
		Graphics g = paneel.getGraphics();
		
		JLabel lblSpeler = new JLabel(strNaam);
		lblSpeler.setBounds(520, intYWaarde, 145, 50);
		
		switch (intKleur){
		case 1: lblSpeler.setForeground(speler1);break;
		case 2: lblSpeler.setForeground(speler2);break;
		case 3: lblSpeler.setForeground(speler3);break;
		case 4: lblSpeler.setForeground(speler4);break;
		}			

		lblSpeler.setVisible(true);
		paneel.add(lblSpeler);
		paneel.repaint();			
	}	
}

Zoals je ziet gebruik ik niet zoveel commentaar, maar vinden jullie dit persoonlijk al teveel? (of te weinig )

MilM

Legacy Member
Ik zou met een dubbele for lus werken ipv die if blokken voor het aantal spelers.

Dan verandert er niets aan uw code als je plots met 6 man wilt spelen.

edit:

wat doet die for lus van 100 eigenlijk?
Je doet continu hetzelfde?

En ik denk dat het ook proper is om van uw paneel een JPanel() te maken.

edit2:

paneel.add(lblPrent); -> voor uw this.setVisible(true) zetten? (waar roep je deze op, buiten de klasse?)
paneel.repaint(); -> weglaten?
lblPrent.setVisible(true); -> weglaten?

Jerre Muesli

Legacy Member
Waar ik naart school ben geweest (hogeschool) wast ook allemaal op papier. Of mondeling.
Maar om te zeggen dat daar allemaal grote lichten naart school gingen.. verre van!
Ge leert nog massa's bij eens je werkende bent. Period.

eniac

Legacy Member
fujitsi zei:
Zoals je ziet gebruik ik niet zoveel commentaar, maar vinden jullie dit persoonlijk al teveel? (of te weinig )

Lees eens wat over javadoc en pas het toe in deze klasse. De klasse zelf en tenminste de public methods zouden toch moeten gedoct worden, zodat gebruikers van je klasse weten hoe ze je klasse kunnen aanspreken en wat ze doet.

Foezjie

Legacy Member
MilM zei:
Ik zou met een dubbele for lus werken ipv die if blokken voor het aantal spelers.

Dan verandert er niets aan uw code als je plots met 6 man wilt spelen.

Momenteel zijn blijft het bij vier personen. Hoe bedoel je precies een dubbele for lus? Geneste for's dan of 2 for's na elkaar?
MilM zei:
wat doet die for lus van 100 eigenlijk?
Je doet continu hetzelfde?

Moesten wij doen van onze lerares java. Dit omdat anders het getekende niet bleef staan, of soms helemaal niet verscheen. Door 100 keer te 'proberen' lukt het 99% van de keren :)
(Java is nu eenmaal niet zo goed voor het grafisch aspect, alhoewel ik toch denk dat er een 'juistere' manier moet zijn..)

MilM zei:
En ik denk dat het ook proper is om van uw paneel een JPanel() te maken.

JPanels hebben we nog niet gezien, maar ik zal dat dan wel eens uitzoeken. Gaat het hem alleen om netter of is het ook beter?
MilM zei:
paneel.add(lblPrent); -> voor uw this.setVisible(true) zetten? (waar roep je deze op, buiten de klasse?)
paneel.repaint(); -> weglaten?
lblPrent.setVisible(true); -> weglaten?

Dat ervoor zetten zou waarschijnlijk logischer zijn, niet op gelet :s
Wat bedoel je met dat oproepen?
Misschien helpt een korte schets: in mijn main importeer ik dus bovenstaande klasse. Ik gebruik dan .. o ja, nu valt mijn frank.
Die lblPrent (monopoly.gif) is het spelbord zelf, maar aangezien die niet staat in een methode die ik oproep ben ik er weinig mee. (Verklaart waarschijnlijk waarom hij het spelbord niet toonde :p)

Wat die paneel.repaint() doet weet ik eerlijk gezegd niet, dit is 100% overgenomen uit mijn cursus.
Is de standaardwaarde van een JLabel true? Dan kan dit inderdaad weg, ik was het niet echt zeker dus had ik het er maar bij gelaten.

Bedankt voor de commentaar alleszins :)

edit: @eniac: zal ik eens doen, bedankt :)

Moto

Legacy Member
ik denk dat wij regels strikter naleven dan werknemers op een bedrijf
Regels? er zijn geen vaste regels in programmeren.
Der is maar 1 regel, de gebruiker moet tevreden zijn

Vertel me maar eens wat jullie zoveel bijleren, wat ze op de unief niet leren
want dat is wat jullie zeggen, jullie coderen toch pakken beter dan een arrogant universitair studentje?

Simpel elk project is verschillend,
-tijd die ge krijgt
-Functioneel
-vaste requirements/agile omgeving
-scope
-technologien die beschikbaar zijn
-nieuw project/conversie/uitbreiding oude brol

En voor elke situatie moet ge goed kunnen inschatten
-ontzetten pragmatisch zijn
-welke technologieën gebruiken, wat voor design/framework,
-gevaar voor under design, gevaar voor over design, perfecte balans in code complexiteit, niet de design-pattern-slet gaan uithangen
-soms rekening houdend met constant veranderende requirements
-CodeStyles van de klant/collega's direct kunnen lezen/overnemen
-Uw db-design perfectioneren, wanneer hoe stress-testen, wat/hoe unit-testen
-Analyses verbeteren, functioneel nadenken over gebruik in de praktijk, weten wat te vragen aan users
-U aanpassen aan de bedrijfs-politiek :)
-....

Veel van die dingen leert ge enkel met veel praktijk-ervaring.

Ice

Legacy Member
"onze tijd in programmeertalen steken, met de bedoeling dat wij dat kunnen op papier, zonder intellisense en informatie van het internet"

Which is pointless. Punt. Einde discussie. De basis syntax van een taal leerde op like 1 dag (of een uurtje als ge smalltalk leert :p)
De ettelijke frameworks gebruiken die constant evolueren leer je niet op 1 dag. Dat leer je al werkende en dus incl boeken/internet.

Ge haalt het zelf trouwens al aan met uw "een ; weegt meer dan een puntje".
Dit speelt dus ABSOLUUT GEEN ROL in het ECHTE leven he. Toont nog maar eens hoever sommige studenten van de realiteit staan. Als je een ; vergeet weet je dit METEEN in een degelijke editor door syntax highlighting.

_DKsissor_

Legacy Member
Ice zei:
"onze tijd in programmeertalen steken, met de bedoeling dat wij dat kunnen op papier, zonder intellisense en informatie van het internet"

Which is pointless. Punt. Einde discussie. De basis syntax van een taal leerde op like 1 dag (of een uurtje als ge smalltalk leert :p)
De ettelijke frameworks gebruiken die constant evolueren leer je niet op 1 dag. Dat leer je al werkende en dus incl boeken/internet.

Ge haalt het zelf trouwens al aan met uw "een ; weegt meer dan een puntje".
Dit speelt dus ABSOLUUT GEEN ROL in het ECHTE leven he. Toont nog maar eens hoever sommige studenten van de realiteit staan. Als je een ; vergeet weet je dit METEEN in een degelijke editor door syntax highlighting.
kvergat op mijn examen de accolade van mijn constructor en kreeg -5 :sad:

Bubbling Zombie

Legacy Member
Ok, en nu kennen jullie de syntax van de taal vanbuiten. Nu, als ik zo jullie redenering/uitspraken hier volg, gaan jullie als de slag aan programmeur. For the sake of zeh argument ga ik er vanuit dat jullie de Java syntax vanbuiten kennen.

Wat als ze jullie een .NET job aanbieden?

Tyfius

Legacy Member
Gurdt zei:
op de unief werken we evenzeer in groepsverband aan projecten

over het niveau van programmeren?
ik weet dat op de hogeschool dingen niet zo strikt worden genomen (voor een ; vergeten zullen ze daar mss over een half puntje mekkeren)
de programmeertalen worden daar vooral geëvalueerd adhv praktische testen (oefeningen etc) die veelal op de pc worden gemaakt

wij leren daarnaast schriftelijk programmeren
een examen java of c bv, is gewoon met pen en papier (een ; weegt ook meer dan een half puntje)

onze dagindeling is trouwens zo: 1 vak per dag, 3 vakken per trimester
met ieder trimester een programmeertaal (2 dagen per week) wil dit zeggen dat we in de opleiding, 2/5e van onze tijd in programmeertalen steken, met de bedoeling dat wij dat kunnen op papier, zonder intellisense en informatie van het internet
Nuttig? Neen. Op papier ben je geen zak en een goede IDE/compiler wijst je op al die problemen. In het bedrijfsleven telt alleen maar tijd en een degelijke omgeving kan al gauw 20-30% tijdswinst opleveren dan een standaard tekst editor en een command-line compiler. Daarnaast is het internet een bron van informatie. Een goede programmeur herbruikt meer code dan dat hij zelf schrijft. En jouw schoolprojecten zijn steeds net afgemeten. In het echte leven komen er 1001 externe factoren bij kijken. It's the internet, someone figured it out.

Gurdt zei:
daarnaast krijgen we genoeg projecten om in groepsverband onze kennis in de praktijk te brengen, evenzeer met deadlines en strenge eisen

--
ik denk dat het dus onwaar is, als ge zegt dat ne student nie kan programmeren
Een student kan zeker programmeren, maar er is een mijlenver verschil tussen programmeren op de unief en in het bedrijfsleven.

Trouwens, een vergelijking, ooit gemaakt door een kennis die ook een universitaire opleiding heeft gevolgd: Neem een schoolproject van 4 personen met een termijn van 3 maand. Doe de 3 andere personen weg, halveer de tijd en bedenk 10 nieuwe features die groter zijn dat het schoolproject op zich. Zorg ervoor dat 80% van het geheel in de halve tijd van de reeds gehalveerde tijd klaar is want dan komt het testen en bug fixen erbij kijken. Welcome to the real world.

Kemblin

Legacy Member
Logisch dat student projecten kleiner zijn, later bestaat uw job uit programmeren, nu moet het gecombineerd worden met andere vakken.

Gurdt waar zit gij ergens op unif want hier in Antwerpen valt dat wel mee met syntax vanbuiten leren ze. Het valt wel voor zo af en toe met een examen eens op papier te programmeren, maar dan zijn ze natuurlijk veel minder streng dan een compiler en is pseudocode hier en daar in de meeste gevallen ook nog punten waard.

Parnakra

Legacy Member
fujitsi zei:
Moesten wij doen van onze lerares java. Dit omdat anders het getekende niet bleef staan, of soms helemaal niet verscheen. Door 100 keer te 'proberen' lukt het 99% van de keren :)
(Java is nu eenmaal niet zo goed voor het grafisch aspect, alhoewel ik toch denk dat er een 'juistere' manier moet zijn..)
Dat lijkt me geen al te goede raad te zijn van je lerares java. En java is niet minder goed voor het grafisch aspect dan -censored-. (om discussie te vermijden :) )

Ik heb geen tijd om je code in detail te bekijken, maar maak eens gebruik van (zoals Eniac al zei) een JPanel. Steek dan al je tekenbewerkingen (rechtstreeks of via een andere methode) in de PaintComponent(...)-methode.

Maak ook gebruik van invalidate() of refresh(), niet repaint().
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