Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Eclipse draaide voor mij al goed op een oude P4 2.0 GHz laptop uit 2002/2003 of zo. Op m'n huidige machine zijn de opstarttijden van Eclipse en VS2008 vergelijkbaar, maar dit zijn eenmalige kosten. Tijdens het gebruik heb ik geen last van slowdowns.
Wat voor integratie? Context-menu'tjes?het integreerd niet in Windows,
Het enige wat ik eventueel zou willen zien is dat je met een rechter muisklik op een map de actie "Start Eclipse using this folder as workspace" zou kunnen uitvoeren. Echter, een beetje tweaker hackt dit zo in Windows' register.
* RayNbow gebruikt momenteel een shortcut per workspace, e.g.
"C:\Program Files\eclipse\eclipse.exe" -data "D:\TUDelft\Research\workspace" -vmargs "-Duser.name=Raynor Vliegendhart" -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m
[list=1]de hele workflow is onlogisch,
• Start Eclipse
• (optioneel) Kies een workspace
• Creëer een project
• Maak wat bestanden aan in dat project en vul ze met inhoud
Hoeveel anders is dit vergeleken met bijv. Visual Studio?
ik heb een Subversion plugin geinstalleerd en ik ben na 24 uur er nog niet achter waar ik de functies van de plugin kan benaderen.
(720p YouTube, Vimeo)
Ik had ervaring met VS6 en (een oude) Netbeans voordat ik bij Eclipse aankwam. Ik had geen enkel probleem met de interface van Eclipse.Normaal liggen user interfaces mij vrij natuurlijk, met andere woorden, ik kan van ieder programma zo vinden en kijken en dan weet ik wat ik moet doen maar Eclipse is één van de weinige programma's waarbij dat niet zo is. Volgens mij heeft nog nooit een user-interface designer naar dat programma gekregen. Een ramp
Ikzelf ben productief in Eclipse. Ik gebruik het momenteel voornamelijk voor Python (PyDev) en LaTeX (TeXlipse).Het beste zou je Java ontwikkelen in Visual Studio doen, maar er bestaat blijkbaar geen Java plugin voor (nee, geen J#). Blijkbaar houden Java mensen van lekker aankloten, in plaats van een productieve IDE en Framework te pakken met een goede documentatie.
Project Lombok, maar dat werd al door iemand anders aangehaald./rant-end
Als ik toch bezig ben pak ik Java er ook even bij tochPrimitieve k*ttaal die niet eens handigheidtjes zoals (auto) properties,
Komt (ooit) in Java7?lambda expressions,
(met een afschuwelijke syntax)
Dat wordt lastig om toe te voegen aan Java als er nog geen zaken als lambda's en extension methods of higher-kinded generics zijn.LINQ,
Partial classes gebruik je voornamelijk bij code generation. Als je toch code gaat genereren, neem dan iets als Stratego/XT.en partial classes ondersteunt,
Wanneer een taal te veel aanhang krijgt, kost het meer moeite om de taal te veranderen.de ontwikkeling gaat traag
Properties kun je al krijgen m.b.v. annotations en een enkele .jar file. Again, see Project Lombok.(je zou zeggen dat na tien jaar er wel *iemand* op handigheidjes zoals properties is gekomen)
Je kan anonieme classes gebruiken in Java.en events zonder een aparte eventhandler class.
(maar dan zit je nog met een hoop boilerplate)
Generation gap pattern zou iets beter zijn dan zowel gegenereerde code als eigen code in file te hebben, zoals hier kort aangestipt.[...]
In Java heb je geen partial classes, dus gegenereerde code zit in je eigen codefile. Het is niet makkelijk om het anders te ordenen bijvoorbeeld.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Oeh, idd een flink verschil; waarom staat dit nog niet op de FP.oisyn schreef op maandag 10 mei 2010 @ 14:28:
Zo, de nieuwe 480 van nVidia veegt de vloer aan met de 5870 van ATi
[afbeelding]
0.1 FPS verschil.oisyn schreef op maandag 10 mei 2010 @ 14:28:
Zo, de nieuwe 480 van nVidia veegt de vloer aan met de 5870 van ATi
[afbeelding]
Dat is idd een hele grote voorsprong

Wat wil jij weten van Microsoft? misschien interessant voor mensen welke gebruik maken van de Cloudcomputing / Azure etc. functionaliteit van Microsoft
If money talks then I'm a mime
If time is money then I'm out of time
Sole survivor of the Chicxulub asteroid impact.
Nogal een slecht plaatje IMHO. Die ~0,38% verschil hadden ze best wat meer kunnen uitvergroten..oisyn schreef op maandag 10 mei 2010 @ 14:28:
Zo, de nieuwe 480 van nVidia veegt de vloer aan met de 5870 van ATi
[afbeelding]
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Kater? Eerst water, de rest komt later
Hoewel: Wikipedia: Statistiek
Maar:Statistiek is de wetenschap, de methodiek en de techniek van het verzamelen, bewerken, interpreteren en presenteren van gegevens.
Allemaal gebaseerd op steekproeven, dit is geen steekproef.Traditioneel onderscheidt men in de statistiek de volgende deelgebieden:
* Beschrijvende statistiek
* Inductieve (ook: wiskundige, mathematische, beslissende, inferentiële) statistiek
Daarnaast is een soort tussenvorm van beide bovenstaande deelgebieden ontstaan:
* Exploratieve statistiek (data-analyse)
@RayNbow: Dat is slechts het uitchecken. Als ik bijvoorbeeld wil debuggen of iets anders wil dus moet ik van view ofzo wisselen. Niet logisch.
[ Voor 8% gewijzigd door Sebazzz op 10-05-2010 15:15 ]
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Sebazzz schreef op maandag 10 mei 2010 @ 15:12:
Dit zijn toch geen statistieken maar gewoon een simpele benchmark gevisualiseerd? Die gezegde is niet toepasbaar hier imo.
Hoewel: Wikipedia: Statistiek
[...]
Maar:
[...]
Allemaal gebaseerd op steekproeven, dit is geen steekproef.
Anders ga je even serieus op een grapje in


Kater? Eerst water, de rest komt later
De tweede, imho,Sebazzz schreef op maandag 10 mei 2010 @ 11:18:
[...]
Klopt, maar kan een taal wel een stuk leuker maken om mee te moeten werken. Hoe minder boilerplate, hoe beter (zolang de bedoeling van je code duidelijk blijft).
Wat is duidelijker?
C#:
1 2 class Blaat { public int Count {get;set;} } blaat.Count++
Java:
1 2 3 4 public Blaat { private int count; public void setCount(int cnt) { this.count = cnt }; public int getCount() { return this.count; } } blaat.setCount(blaat.getCount() + 1)
Maar in Java heb je wel meer boilerplate, dat geef ik toe.
die jaEddoH schreef op maandag 10 mei 2010 @ 11:43:
Java:
1 2 public Blaat { public int count; } blaat.Count++)
Je zou dat stukkie code sowieso al kunnen optimaliseren. Je kunt ook je eigen Iterator maken die alleen de Test objecten teruggeeft waarbij de voorwaarden (hasRun en author.equals(me)) true zijn. Ik heb geprobeerd dat snel in mekaar te flansen, maar ik heb zelf nog nooit zover doorgedacht, ;p. Waarschijnlijk zijn er ook wel libraries waarmee je dat soort constructies zelf in kunt vullen, zodat je een soort van DSL krijgt:quote: SebazzzJava:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // blaat is Iterable<Test>, me is User (niet zeker over de iterator) int cnt=0; for(Test t : blaat) { if (t.HasRun && t.Author.Equals(me)) { if (cnt < 20) { continue; } // doe iets cnt++; if (cnt > 100 + 20) { break; } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
| // pseudo cnt = 0; for (Test t : getTests(blaat, new Conditions(t) {{ allOf( isTrue(t.hasRun()), isTrue(t.author().equals(me)), isTrue(cnt < 20) ), breakOn(cnt > 100 + 20); }}) { // doe iets cnt++; } |
Dat zou mogelijk zijn in theorie, alleen krijg je wat aparte syntax. Maar het kan wel. Mogelijk kun je dan ook gewoon een sum() functie maken met daarin een Iterator en de Conditions.
Edit: Verveel me op het werk.
1
2
3
| // pseudo int cnt = getCount(blaat, new Conditions(t) {{ allOf(isTrue(t.hasRun), isTrue(t.author.equals(me), isTrue(cnt < 20), isFalse(cnt > 120)); }} // ofzo |
Of het ook goed performt is een hele andere discussie natuurlijk,
Daarom wil je, zowel in Java als C# als De Rest, ook liever blaat.increaseCountBy(1); hebben. Zo hoeft een externe aanroeper de interne zooi van blaat niet te kennen, en kun je binnen blaat je count ook van alles laten doen zonder het aanroepende aan te hoeven passen - hoe gemakkelijk dat ook is tegenwoordig met refactoringstools. Maar dat weet je waarschijnlijk zelf ook wel, ik zeg het er maar even bij als extra.quote: .oysinOnzinargument natuurlijk, voor élke taal moet je de syntax kennen. Als je de Java syntax niet kent snap je ook niet wat blaat.setCount(blaat.getCount() + 1) doet. En aan get/setCount() alleen kun je niet zien wat er gebeurt, net als dat je bij een .Net property access niet kan zien wat er gebeurt.
get / set is in veel gevallen niet eens nodig.
En daartegenover: Wanneer een taal door één bedrijf wordt onderhouden en ontwikkeld kan de ontwikkeling daarvan ook veel sneller. Zie ook hierboven. Bij Sun moeten ze rekening houden met alle grote klanten die van Java gebruik maken, en die in het hele proces meenemen. Of ja, dat doen ze, het is niet zo dat het echt moet. Ik heb wat dat aangaat ook liever een bedrijf dat weet wat ze doen die zoiets aanbieden dan dat het aan de OS wereld overgelaten wordt.quote: RaynBowWanneer een taal te veel aanhang krijgt, kost het meer moeite om de taal te veranderen.
Mja. Alle programmeertalen hebben hun eigen plek. Java is "established" in de enterprise wereld en, ook al heeft het WTFs mbt syntax in de trant van 'ken dat niet korter', het is nog steeds heel veel gebruikt. Ben alleen bang dat C# en .NET sneller ontwikkelen en beter zijn als het op het daadwerkelijke programmeren aankomt. Moet me maar snel omscholen,
.oisyn schreef op maandag 10 mei 2010 @ 14:28:
Zo, de nieuwe 480 van nVidia veegt de vloer aan met de 5870 van ATi
[afbeelding]
[ Voor 3% gewijzigd door YopY op 10-05-2010 15:41 ]
Het switchen naar bijv. de Debug-perspective gebeurt in de JDT-plugin standaard automatisch, je kan 't ook uitschakelen.Sebazzz schreef op maandag 10 mei 2010 @ 15:12:
@RayNbow: Dat is slechts het uitchecken. Als ik bijvoorbeeld wil debuggen of iets anders wil dus moet ik van view ofzo wisselen. Niet logisch.
Daarnaast is een perspective niets anders dan een bepaalde configuratie van je IDE. Je kan ook een custom perspective maken waarin je delen van verschillende bestaande perspectives combineert.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
1
2
3
| struct A { public int i { get; set; } } A a = new A(); a.i++; |
Maar dit niet:
1
2
3
| struct B { public A a { get; set; } } B b = new B(); b.a.i++; |
Als a.i++ toch al vertaald wordt naar a.i = a.i + 1, waarom kan b.a.i++ dan niet vertaald worden naar iets dat b.a opvraagt, de i verhoogt, en vervolgens weer assignt aan b.a.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Leuk plaatje, eventjes de lie factor uitrekenen.oisyn schreef op maandag 10 mei 2010 @ 14:28:
Zo, de nieuwe 480 van nVidia veegt de vloer aan met de 5870 van ATi
[afbeelding]

3 / 0,003 = 1000
The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.
Heeft waarschijnlijk te maken met hoe .Net omgaat met structs. Ik gebruik ze zelf eigenlijk nooit, maar ze zijn volgens mij anders dan in C++. Met classes werkt jouw voorbeeld wel gewoon..oisyn schreef op maandag 10 mei 2010 @ 16:24:
Wat ik alleen stom vind van C# properties is dat dit wel kan:
C#:
1 2 3 struct A { public int i { get; set; } } A a = new A(); a.i++;
Maar dit niet:
C#:
1 2 3 struct B { public A a { get; set; } } B b = new B(); b.a.i++;
Als a.i++ toch al vertaald wordt naar a.i = a.i + 1, waarom kan b.a.i++ dan niet vertaald worden naar iets dat b.a opvraagt, de i verhoogt, en vervolgens weer assignt aan b.a.
Kater? Eerst water, de rest komt later
[ Voor 12% gewijzigd door Sebazzz op 10-05-2010 16:42 ]
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Net even gekeken naar TeXclipse, dat is een stuk beter dan TeXnicCenter dat ik tot nu toe altijd gebruikte!RayNbow schreef op maandag 10 mei 2010 @ 14:12:
Ikzelf ben productief in Eclipse. Ik gebruik het momenteel voornamelijk voor Python (PyDev) en LaTeX (TeXlipse).
Nu nog even uitvinden hoe Eclipse een beetje werkt
Kater? Eerst water, de rest komt later
Ja duh, natuurlijk werkt het met classes gewoon, dan referencet i gewoon een property van het object zelf, en niet een property van een kopie van het object, en dat is nou juist het hele puntHaan schreef op maandag 10 mei 2010 @ 16:37:
[...]
Heeft waarschijnlijk te maken met hoe .Net omgaat met structs. Ik gebruik ze zelf eigenlijk nooit, maar ze zijn volgens mij anders dan in C++. Met classes werkt jouw voorbeeld wel gewoon.
Maar 'i' is ook een struct. Je kunt geen "referentie" maken naar die i. De expressie "a.i" is per definitie een kopie van de waarde i. In dat opzicht kun je er dus ook geen ++ op doen, omdat dat de kopie aan zou passen, en niet de property op 'a' zelf. Dit is vergelijkbaar met het aanpassen van een member van die kopie. Maar de ++ of += of whatever mag wel, een member aanpassen niet. Dat is gewoon raar.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Potentieel ben je dan dus opeens grote stukken geheugen onnodig aan het kopiëren, terwijl het lijkt alsof je alleen even een i'tje verhoogt. Dezelfde reden dus dat je niet "b.a.i=1" in een keer kan doen, maar natuurlijk wel "a.i=1"..oisyn schreef op maandag 10 mei 2010 @ 16:24:
Als a.i++ toch al vertaald wordt naar a.i = a.i + 1, waarom kan b.a.i++ dan niet vertaald worden naar iets dat b.a opvraagt, de i verhoogt, en vervolgens weer assignt aan b.a.
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Leuk argument, jammer dat het niet opgaat. Als de int een Matrix was, en je doet een += andereMatrix, dan heb je hetzelfde probleem, maar werkt het wel. En in mijn voorbeeld is een A net zo groot als een int, en daar mag het niet.pedorus schreef op maandag 10 mei 2010 @ 17:22:
[...]
Potentieel ben je dan dus opeens grote stukken geheugen onnodig aan het kopiëren, terwijl het lijkt alsof je alleen even een i'tje verhoogt.
Daarnaast kan de jitter slim genoeg zijn om alleen dat ene member aan te passen. De case waarbij ik het overigens zelf irritant vond was bij een eigen matrix implementatie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| struct FixedMatrix { public FixedPoint M11, M12, M13, M14, /* etc */; public Vector3Fixed XAxis { get { return new Vector3Fixed(M11, M12, M13); } set { M11 = value.X; M12 = value.Y; M13 = value.Z; } } } FixedMatrix m = new FixedMatrix(); FixedPoint x = m.XAxis.X; // ok; m.XAxis.Y = 34; // no go :/ |
[ Voor 43% gewijzigd door .oisyn op 10-05-2010 17:34 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
Traag? Hooguit bij het opstarten, en dat doe je toch maar een keer per dag. Integratie in Windows? Wat mis je precies dan? Workflow is een kwestie van persoonlijke voorkeur, niet van goed of slecht. Die plugin heeft Raynow al uitgelegd.Sebazzz schreef op maandag 10 mei 2010 @ 07:32:
[...]
Het is traag, het integreerd niet in Windows, de hele workflow is onlogisch, ik heb een Subversion plugin geinstalleerd en ik ben na 24 uur er nog niet achter waar ik de functies van de plugin kan benaderen.
Dat is gewoon een flame.Sebazzz schreef op maandag 10 mei 2010 @ 07:32:
Blijkbaar houden Java mensen van lekker aankloten, in plaats van een productieve IDE en Framework te pakken met een goede documentatie.

Dus als ik het goed begrijp vind je Java kut omdat het niet als twee druppels water op C# lijkt? Gebruik dan gewoon C#.Sebazzz schreef op maandag 10 mei 2010 @ 07:32:
Als ik toch bezig ben pak ik Java er ook even bij tochPrimitieve k*ttaal die niet eens handigheidtjes zoals (auto) properties, lambda expressions, LINQ, en partial classes ondersteunt, de ontwikkeling gaat traag (je zou zeggen dat na tien jaar er wel *iemand* op handigheidjes zoals properties is gekomen) en events zonder een aparte eventhandler class.

Je zit hier niet in de HRO kantine met gefrustreerde faalhazen die hun gebrekkige progskills projecteren op de gebruikte taal.

Ik zeg toch, rant, dus ik voel me vrij om dat dan even te zeggen.
Daar heb je niet altijd keuze in, bijvoorbeeld bij Android development. Je hebt wel Mono, maar dat vertrouw ik niet.Dus als ik het goed begrijp vind je Java kut omdat het niet als twee druppels water op C# lijkt? Gebruik dan gewoon C#
En het is niet nodig om de HRO erbij te betrekken, daar heb ik het toch niet over
[ Voor 11% gewijzigd door Sebazzz op 10-05-2010 17:40 ]
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
En dat ik daarna ook nog eens IIS gebruik om de gebouwde projects te serven? En dat ik hem ook nog eens een week heb gebruikt als router voor 4 machines? (Handige functie, dat wifi virtualization in Windows 7)
We are shaping the future
Hoezo? Dat is een operatie op het geheel, niet op een deel normaal gesproken..oisyn schreef op maandag 10 mei 2010 @ 17:29:
Leuk argument, jammer dat het niet opgaat. Als de int een Matrix was, en je doet een += andereMatrix, dan heb je hetzelfde probleem, maar werkt het wel.
Dat is een detail van die specifieke situatie, terwijl c# een generiek probleem op moet lossen.En in mijn voorbeeld is een A net zo groot als een int, en daar mag het niet.
Dat kan niet altijd natuurlijk, het kan makkelijk zijn dat er een hele berekening plaatsvind bij get/set.Daarnaast kan de jitter slim genoeg zijn om alleen dat ene member aan te passen.
Maar is het eigenlijk wel ok om het geheel op te vragen om een deel te krijgen?C#:
13 FixedPoint x = m.XAxis.X; // ok;
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Hoe zouden jullie het aanpakken?
Wat wordt dat toch weer ongelofelijk makkelijk gemaakt, jQuery verzorgt zowel het grafische gedeelte als de Ajax communicatie. Met de juiste parameters wordt dan weer de onderliggende communicatie tussen de server en de browser gedaan en grafisch alles netjes ingevoegd.
@hierboven. Je geeft eigenlijk al zelf het antwoord. Je hebt momenteel nog (te) weinig 4.0 ervaring, maar je wilt wel graag je MCPD halen. Waarom niet eerst voor MCPD 3.5 gaan en later (als je meer ervaring hebt met 4.0) een upgrade/update examen doen voor MCPD 4.0?
If money talks then I'm a mime
If time is money then I'm out of time
Tot dat besef was ik ook al een beetje gekomen ja, het voelt alleen alsof je achter de feiten aanloopt. Toch de ADO.NET 3.5 en ASP.NET 3.5 maar ingepland, dan nog een keer tijd (en zin) maken voor WinForms 3.5 en ik kan voor MCPD enterprise developer gaan. Vraag me sterk af waarom ze daar WinForms en niet WPF ingestopt hebben?Matis schreef op dinsdag 11 mei 2010 @ 09:39:
@hierboven. Je geeft eigenlijk al zelf het antwoord. Je hebt momenteel nog (te) weinig 4.0 ervaring, maar je wilt wel graag je MCPD halen. Waarom niet eerst voor MCPD 3.5 gaan en later (als je meer ervaring hebt met 4.0) een upgrade/update examen doen voor MCPD 4.0?
waarom werkt dit nou niet?
1
2
3
4
5
6
| public T Exists<T>(string name) where T : IModelElement { IList<T> matches = Model.GetElements<T>(name); return matches[0]; } |
De compiler zou die T toch gewoon door moeten zetten naar GetElements ipv:
Er zal vast een reden zijn maar ik weet hem ff zo snel niet.The type 'T' must be a reference type in order to use it as parameter 'TElement' in the generic type or method
Nu met Land Rover Series 3 en Defender 90
[ Voor 9% gewijzigd door Woy op 11-05-2010 10:33 ]
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Dank voor het meedenken.
Nu met Land Rover Series 3 en Defender 90
Verwijderd
[ Voor 27% gewijzigd door Verwijderd op 11-05-2010 10:57 ]
On another note; ik zou verwachten dat 'Exists' een bool returned.MTWZZ schreef op dinsdag 11 mei 2010 @ 10:21:
Grrr
waarom werkt dit nou niet?
C#:
1 2 3 4 5 6 public T Exists<T>(string name) where T : IModelElement { IList<T> matches = Model.GetElements<T>(name); return matches[0]; }
De compiler zou die T toch gewoon door moeten zetten naar GetElements ipv:
[...]
Er zal vast een reden zijn maar ik weet hem ff zo snel niet.
En der zit daar een bug waiting to happen volgens mij (NullReferenceException).
[ Voor 7% gewijzigd door whoami op 11-05-2010 11:06 ]
https://fgheysels.github.io/
Dat dacht ik ook.Verwijderd schreef op dinsdag 11 mei 2010 @ 10:57:
Dat stond toch al in je foutmelding of begrijp ik het verkeerd?
('new' constraint extra opnemen dacht ik zo).
https://fgheysels.github.io/
Nee 'class' constraint opnemen. 'new' is alleen een constraint voor de constructor.whoami schreef op dinsdag 11 mei 2010 @ 11:06:
[...]
Dat dacht ik ook.
('new' constraint extra opnemen dacht ik zo).
Iddwhoami schreef op dinsdag 11 mei 2010 @ 11:05:
[...]
On another note; ik zou verwachten dat 'Exists' een bool returned.
Volgens mij eerder een ArgumentOutOfRangeException, maar dat is natuurlijk afhankelijk of er een lege lijst of null komt als er geen matches zijn.En der zit daar een bug waiting to happen volgens mij (NullReferenceException).
[ Voor 45% gewijzigd door Woy op 11-05-2010 11:18 ]
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
code is versimpeld he
Nu met Land Rover Series 3 en Defender 90
new is voor parameterless constructorWoy schreef op dinsdag 11 mei 2010 @ 11:14:
[...]
Nee 'class' constraint opnemen. 'new' is alleen een constraint voor de constructor.
Going for adventure, lots of sun and a convertible! | GMT-8
Jij zegt "Een property/member van een property zetten mag niet want het is potentieel duur". Ik reageer daarop met "een += is ook potentieel duur, terwijl dat wel mag".pedorus schreef op maandag 10 mei 2010 @ 18:05:
[...]
Hoezo? Dat is een operatie op het geheel, niet op een deel normaal gesproken.
1
2
3
4
5
6
7
8
9
10
| struct A { public int i { get; set; } public Matrix m { get; set; } } A a = new A(); a.i += 34; // <=> a.i = a.i + 34 [#1] a.m += new Matrix(); // <=> a.m = a.m + new Matrix() [#2] a.m.M11 = 34; // <=> Matrix temp = a.m; temp.M11 = 34; a.m = temp; [#3] |
#1 en #2 mogen wel. #3 mag niet, terwijl #3 niet duurder is dan #2, en bovendien geoptimaliseerd zou kunnen worden zodat hij nog goedkoper is dan #2. Ergo, ik vind die hele redenatie krom.
Mijn hele punt is dat je geen enkele zeggenschap kunt doen over hoe duur een operatie is in het generieke geval.Dat is een detail van die specifieke situatie, terwijl c# een generiek probleem op moet lossen.
Wat bij += ook het geval is, dus wederom, dat is geen argument.Dat kan niet altijd natuurlijk, het kan makkelijk zijn dat er een hele berekening plaatsvind bij get/set.
Nog niet geprobeerd eigenlijkMaar is het eigenlijk wel ok om het geheel op te vragen om een deel te krijgen?Is dit nu evensnel als M11 opvragen trouwens, of snapt de JIT dit niet?
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Na do/does/did komt het hele werkwoord, hoor ik m'n docente Engels nog zeggen.
[ Voor 89% gewijzigd door .oisyn op 11-05-2010 12:19 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Oh, dát riep mijn netbook afgelopen week dus...D-Raven schreef op dinsdag 11 mei 2010 @ 12:05:
(Sharepoint + 6gb database + hele meuk draaiende in vmware image op een laptop) == laptop die schreeuwt: "when does the hurting stops!"
We are shaping the future
.oisyn schreef op dinsdag 11 mei 2010 @ 12:19:
-s
Na do/does/did komt het hele werkwoord, hoor ik m'n docente Engels nog zeggen.
Maar damn wat is dat ding traag zeg. Ik ga denk ik toch maar die 6gb database er af slopen.
We are shaping the future
Verwijder alle kinderen!Alex) schreef op dinsdag 11 mei 2010 @ 13:19:
Blergh, Nederlandstalige comments in Nederlands-/Engelstalige gemengde code...
Going for adventure, lots of sun and a convertible! | GMT-8
Verwijderd
Vandaar mijn verwijzing naar de kantine. Ik zag potentie voor een fatsoenlijke discussie, jammer dat je die niet wilt voeren.Sebazzz schreef op maandag 10 mei 2010 @ 17:39:
Lees die post dan ook![]()
Ik zeg toch, rant, dus ik voel me vrij om dat dan even te zeggen.
Dus omdat je Mono niet vertrouwt ga je Java afzeiken omdat het geen C# is dat wel op Android draait? Beetje raar criterium vind je zelf ook niet?Sebazzz schreef op maandag 10 mei 2010 @ 17:39:
Daar heb je niet altijd keuze in, bijvoorbeeld bij Android development. Je hebt wel Mono, maar dat vertrouw ik niet.
Nee, maar ik wel.Sebazzz schreef op maandag 10 mei 2010 @ 17:39:
En het is niet nodig om de HRO erbij te betrekken, daar heb ik het toch niet over
Eclipse heb ik wel even gebruikt, maar kon er niet aan wennen. Ben een php-ontwikkelaar trouwens.
[ Voor 30% gewijzigd door Sebazzz op 11-05-2010 14:41 ]
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Het gaat om veel duurder dan je verwacht bij het zien van de code. Natuurlijk kun je met operator overloading gekke dingen doen, maar niet alles is te voorkomen..oisyn schreef op dinsdag 11 mei 2010 @ 11:27:
Jij zegt "Een property/member van een property zetten mag niet want het is potentieel duur". Ik reageer daarop met "een += is ook potentieel duur, terwijl dat wel mag".
Het valt toch duidelijk op dat je bij het alternatief op regel 9 geen temp-variabele nodig hebt, en op 10 wel.C#:
9 10 a.m += new Matrix(); // <=> a.m = a.m + new Matrix() [#2] a.m.M11 = 34; // <=> Matrix temp = a.m; temp.M11 = 34; a.m = temp; [#3]
Ik heb het even getest. De JIT doet zijn werk en er is geen verschil. In die zin zouden ze het dus kunnen toestaan, enkel ik verwacht niet dat dit binnenkort gaat gebeuren (properties van structs is niet zo'n hot topic, en daarnaast kan het niet altijd bij berekende properties).Nog niet geprobeerd eigenlijk
Overigens kun je in dit specifieke geval wel StructLayout gebruiken:
1
2
3
4
5
6
7
8
9
10
11
12
| [StructLayout(LayoutKind.Explicit)] struct FixedMatrix { [FieldOffset(0)] public FixedPoint M11; [FieldOffset(4)] public FixedPoint M12; [FieldOffset(8)] public FixedPoint M13; [FieldOffset(0)] public Vector3Fixed XAxis; } |
Maar dat werkt niet op willekeurige combinaties waarbij je steeds dezelfde struct terug wil krijgen.
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Meen je dat nou serieus? Of moet ik je de werking van een dergelijke expressie uitleggen? Want ook bij #2 is er gewoon een temp variabele (de lokale kopie van de matrix voordat je de boel erbij op gaat tellen). Het feit dat C# syntax kent om bij #2 geen expliciete temp te hoeven maken wil nog niet zeggen dat hij er ook niet is.pedorus schreef op dinsdag 11 mei 2010 @ 14:42:
Het valt toch duidelijk op dat je bij het alternatief op regel 9 geen temp-variabele nodig hebt, en op 10 wel.
Hey dat is op zich nog best het overwegen waard. Al kan ik me voorstellen dat dit in de weg zit van allerlei optimalisaties.C#:
1 2 3 4 5 6 7 8 9 10 11 12 [StructLayout(LayoutKind.Explicit)] struct FixedMatrix { [FieldOffset(0)] public FixedPoint M11; [FieldOffset(4)] public FixedPoint M12; [FieldOffset(8)] public FixedPoint M13; [FieldOffset(0)] public Vector3Fixed XAxis; }
Hoe bedoel je dat precies?Maar dat werkt niet op willekeurige combinaties waarbij je steeds dezelfde struct terug wil krijgen.
[ Voor 5% gewijzigd door .oisyn op 11-05-2010 14:48 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik heb het wel gebruikt, het bevalt mij wel. Maar ik ben dan al aan Eclipse gewend. Het is een stuk complexer dan gewoon Notepad, maar zodra je daar voorbij bent en er goed me leert werken zal het zeker goed bevallen. Al ware het alleen maar om de ingebouwde syntax highlighting en context assist en dergelijke. De integratie met Zend Framework is ook dik voor mekaar, alhoewel ze er goed aan zouden doen om ook de meer recente versies van ZF aan te bieden (bijvoorbeeld door die direct te downloaden)Bernardo schreef op dinsdag 11 mei 2010 @ 14:01:
Is er hier eigenlijk ook iemand die Zend Studio gebruikt? (v5.5.1)
Eclipse heb ik wel even gebruikt, maar kon er niet aan wennen. Ben een php-ontwikkelaar trouwens.
5.5.1 is overigens oud, op de website staat 7.2 al. Weet niet hoe 5.5.1 zich daarmee verhoudt. Die pre-Eclipse Zend Studio kon ik ook niet aan wennen.
Lijkt me erg filosofisch worden. Ik bedoelde in ieder geval een expliciete..oisyn schreef op dinsdag 11 mei 2010 @ 14:46:
Meen je dat nou serieus? Of moet ik je de werking van een dergelijke expressie uitleggen? Want ook bij #2 is er gewoon een temp variabele (de lokale kopie van de matrix voordat je de boel erbij op gaat tellen). Het feit dat C# syntax kent om bij #2 geen expliciete temp te hoeven maken wil nog niet zeggen dat hij er ook niet is.
Meten=weten. Wel neigt StructLayout sterk naar unmanged code (ook een project dat op managed staat kan zo een acces violation maken).Hey dat is op zich nog best het overwegen waard. Al kan ik me voorstellen dat dit in de weg zit van allerlei optimalisaties.
Stel dat je X, Y, en Z niet precies in die volgorde, opeenvolgend staan in je matrix, dan kun je niet dezelfde struct retourneren. Je kunt dus niet X=M13, Y=M12, Z=M11 doen. Wat wel zou kunnen trouwens:Hoe bedoel je dat precies?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| [StructLayout(LayoutKind.Explicit)] struct FixedMatrix { //... [FieldOffset(0)] public Vector3Fixed2 XAxis2; } [StructLayout(LayoutKind.Explicit)] struct Vector3Fixed2 { [FieldOffset(0)] public FixedPoint Z; [FieldOffset(4)] public FixedPoint Y; [FieldOffset(8)] public FixedPoint X; public static implicit operator Vector3Fixed(Vector3Fixed2 m) { return new Vector3Fixed(m.X, m.Y, m.Z); } public static implicit operator Vector3Fixed2(Vector3Fixed m) { return new Vector3Fixed2() { X = m.X, Y = m.Y, Z = m.Z }; } } |
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Als je veel C++ hebt geprogrammeerd dan zijn dat soort dingen vrij evidentpedorus schreef op dinsdag 11 mei 2010 @ 16:01:
Lijkt me erg filosofisch worden. Ik bedoelde in ieder geval een expliciete.
Oh op zo'n manier. Nee, dat kan idd niet, maar gelukkig komt dat in mijn geval niet voorStel dat je X, Y, en Z niet precies in die volgorde, opeenvolgend staan in je matrix, dan kun je niet dezelfde struct retourneren.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
En dus is het logisch dat een struct niet kan worden aangepast.oisyn schreef op dinsdag 11 mei 2010 @ 16:31:
[...]
Feitelijk is de access van een property al een kopie - het is namelijk een returnvalue van een functie.
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Draai je de VM wel vanaf een andere (externe) hdd? Anders is het inderdaad niet vooruit te branden, maar dat heb je, als je maar 1 schijf gebruikt.D-Raven schreef op dinsdag 11 mei 2010 @ 13:12:
[...]
klopt idd.
Maar damn wat is dat ding traag zeg. Ik ga denk ik toch maar die 6gb database er af slopen.
Ontwikkel zelf eigenlijk alleen nog maar op VM's (veel Sharepoint) en alles via externe hdd. Is prima te doen (ook met grote db's). Ok, lokale installatie van server os werkt wel sneller, maar ach...
Battle.net - Jandev#2601 / XBOX: VriesDeJ
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
JaSebazzz schreef op dinsdag 11 mei 2010 @ 19:28:
Gewoon benieuwd, is het met ASP.NET mogelijk om een simpel scriptje te schrijven met het gemak zoals je een PHP scriptje schrijft? Dus bestand aanmaken, editor openen, uploaden, online aanroepen.
Jep. Je kunt - net als met PHP - ook gewoon je code en markup mixen. Uploaden, en de C#-compiler compileert het at runtime. Netter is het natuurlijk om code behind te gebruiken. Of ASP.NET MVC.Sebazzz schreef op dinsdag 11 mei 2010 @ 19:28:
Gewoon benieuwd, is het met ASP.NET mogelijk om een simpel scriptje te schrijven met het gemak zoals je een PHP scriptje schrijft? Dus bestand aanmaken, editor openen, uploaden, online aanroepen.
We are shaping the future
edit: Eerlijk gezegd had ik zo'n idee wel ergens in mijn hersenpan, van code en markup mixen, maar om één of andere reden kon ik alleen maar aan WebForms en MVC denken.
[ Voor 37% gewijzigd door Sebazzz op 12-05-2010 00:21 ]
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
1
2
| <%@Page Language="C#" %> <% Response.Write("Hello world"); %> |
There.
We are shaping the future
Brave developer dat je daar niet aan gedacht hebtSebazzz schreef op woensdag 12 mei 2010 @ 00:17:
edit: Eerlijk gezegd had ik zo'n idee wel ergens in mijn hersenpan, van code en markup mixen, maar om één of andere reden kon ik alleen maar aan WebForms en MVC denken.
Mixen van veel code in je markup is meestal geen goed idee. Nu je dit gedaan hebt ben je de rest van je leven verziekt (want tja waarom zou je een CS file maken...). Niemand kan je meer redden
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Kater? Eerst water, de rest komt later
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Ach, ook in een single file kan je nette code schrijven.Gertjan. schreef op woensdag 12 mei 2010 @ 09:09:
[...]
Brave developer dat je daar niet aan gedacht hebt![]()
Mixen van veel code in je markup is meestal geen goed idee. Nu je dit gedaan hebt ben je de rest van je leven verziekt (want tja waarom zou je een CS file maken...). Niemand kan je meer redden![]()
1
2
3
4
5
6
7
8
9
| <%@Page Language="C#" %> <asp:Literal ID="Literal1" runat="server"/> <script runat="server"> protected void Page_Init(object sender, EventArgs e) { Literal1.Text = "Hi"; } </script> |
Sterker nog, je moet wel als je in MVC custom controls wilt consumen.
[ Voor 3% gewijzigd door D-Raven op 12-05-2010 10:42 ]
https://fgheysels.github.io/
edit: Linkje naar nerddinner http://nerddinnerbook.s3.amazonaws.com/Intro.htm
edit2: HMS je hebt DM
[ Voor 15% gewijzigd door denyos op 12-05-2010 13:27 ]
Heb zelf ook nog wel een schoolproject in ASP.NET MVC staan, zitten ook dingen als Dependency Injection en NHibernate bij in. Mocht je het willen, laat maar even wetendenyos schreef op woensdag 12 mei 2010 @ 13:10:
Zelf ben ik begonnen met de Nerddinner tutorial van Scott Guthru. Een erg duidelijke, compleet en praktisch voorbeeld. Ga morgen eens naar die StoreFront sample kijken. Wil voor eind deze maand een MVC applicatie afronden, misschien dat in deze sample nog leuke handigheidjes zitten
edit: Linkje naar nerddinner http://nerddinnerbook.s3.amazonaws.com/Intro.htm
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB
Yoda Conditions
Yoda: "if (5 == count)"
The act of using
C:
1 if (constant == variable)
instead of
C:
1 if (variable == constant)
It’s like saying “If blue is the sky”.
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Met refuctoring kom je vast een heel eindafraca schreef op donderdag 13 mei 2010 @ 11:42:
De Yoda conditions zijn ook zeker geweldigBenieuwd hoe ver je je code sowiezo kan ver-Yoda-en...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| //Nieuwe c# 4.0 Goes-to: var x = 10; while (x --> 0) { Console.WriteLine("x = {0}", x); } //Nieuwe c# 4.0 Approached-by: var x = 10; while(0 <-- x) { Console.WriteLine("x = {0}", x); } |
.edit: oh, 't is gewoon een hele oude 1-april grap.
http://blogs.msdn.com/eri...meLastMinuteFeatures.aspx
[ Voor 65% gewijzigd door .oisyn op 14-05-2010 12:34 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Wat is heir anders aan danD-Raven schreef op vrijdag 14 mei 2010 @ 12:29:
C#:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //Nieuwe c# 4.0 Goes-to: var x = 10; while (x --> 0) { Console.WriteLine("x = {0}", x); } //Nieuwe c# 4.0 Approached-by: var x = 10; while(0 <-- x) { Console.WriteLine("x = {0}", x); }
1
| while (x-- > 0) {} |
?
Ennnnnnnnnn laat losssssssss.... https://github.com/jrz/container-shell (instant container met chroot op current directory)
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Opslaan van cached items in een System.Collections.Generic.Dictionary:

Opslaan van items in een eigen collection:

Het resizen van een Dictionary is traaaaaaaaaaaaaaaaaaaaaaaag.

Sole survivor of the Chicxulub asteroid impact.
[ Voor 63% gewijzigd door .oisyn op 14-05-2010 12:44 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik stonk er ook in, in het begin.oisyn schreef op vrijdag 14 mei 2010 @ 12:31:
Mijn god, breekt dat geen oude code?
.edit: oh, 't is gewoon een hele oude 1-april grap.
http://blogs.msdn.com/eri...meLastMinuteFeatures.aspx
Net wat .Oisyn zeg, volgens mij zit je hier verschillende datastructuren te vergelijken ipv twee implementaties van dezelfde structuur. En dan loop je er zo tegen aan dat de ene insert O(n) is en de andere O(n^2). (Waarschijnlijk is het bij de index of sort operatie weer andersom).AtleX schreef op vrijdag 14 mei 2010 @ 12:40:
Waarom het kan lonen om niet altijd te vertrouwen op ingebouwde collections:
Opslaan van cached items in een System.Collections.Generic.Dictionary:
[afbeelding]
Opslaan van items in een eigen collection:
[afbeelding]
Het resizen van een Dictionary is traaaaaaaaaaaaaaaaaaaaaaaag.
Ik heb idd maar 1 hdd op dit moment. Maar het is inderdaad wel handig om op VM's te werken. Al mis ik dan al wel snel fatsoenlijk multimonitor support.Jan_V schreef op dinsdag 11 mei 2010 @ 19:02:
[...]
Draai je de VM wel vanaf een andere (externe) hdd? Anders is het inderdaad niet vooruit te branden, maar dat heb je, als je maar 1 schijf gebruikt.
Ontwikkel zelf eigenlijk alleen nog maar op VM's (veel Sharepoint) en alles via externe hdd. Is prima te doen (ook met grote db's). Ok, lokale installatie van server os werkt wel sneller, maar ach...
VMWare workstation! Kost maar iets van 70 euro (99 dollar) en je kunt er prima mee multi-monitor'en.D-Raven schreef op vrijdag 14 mei 2010 @ 14:01:
[...]
Ik heb idd maar 1 hdd op dit moment. Maar het is inderdaad wel handig om op VM's te werken. Al mis ik dan al wel snel fatsoenlijk multimonitor support.
Gewoon full-screen en dan extenden naar je secundaire scherm.
Battle.net - Jandev#2601 / XBOX: VriesDeJ
---------------------------
Remote Desktop Connection Usage
---------------------------
MSTSC [<connection file>] [/v:<server[:port]>] [/admin] [/f[ullscreen]] [/w:<width> /h:<height>] [/public] | [/span] [/multimon] [/migrate] [/edit "connection file"]
...
/span -- Matches the remote desktop width and height with the local virtual desktop, spanning across multiple monitors, if necessary. To span across monitors, the monitors must be arranged to form a rectangle.
/multimon -- Configures the remote desktop session monitor layout to be identical to the current client-side configuration.
We are shaping the future
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Hier dus wel
Als ik echter op mn Vista pc kijk mist dat. Nieuwigheidje van 7 dus.
[ Voor 47% gewijzigd door dcm360 op 14-05-2010 19:30 ]
We are shaping the future
Ik kan je vertellen dat zowel van XP naar W7 en van W7 naar XP verbinden iig geen probleem is, en volgens mij multi-monitor support op die manier ook niet, heb ik 1x gedaan geloof ik, maar ik weet het niet meer zeker.Alex) schreef op vrijdag 14 mei 2010 @ 20:06:
Ik denk dat die inderdaad nieuw is in Windows 7. Ik weet niet hoe dat ding zich gedraagt als je naar bijvoorbeeld een XP of Vista-SP1-machine wil verbinden. Vista SP2 ook niet trouwens...
1
2
3
4
| // The combobox is a lie ////Get Combobox Selections //using (OleDbCommand oleDbCommand = new OleDbCommand("...", connection)) //{ |
Going for adventure, lots of sun and a convertible! | GMT-8
1
2
| // PCShaderTable.h // @author J** O***** (****@******) & Chest Rockwell (crockwell@nixxes.com) |
Er zat ook nog ergens een Brock Landers in onze codebase, maar die kan ik nergens meer vinden.
[ Voor 31% gewijzigd door .oisyn op 18-05-2010 15:07 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
wat is een flasher?
Going for adventure, lots of sun and a convertible! | GMT-8
Iemand die z'n regenjas opendoet.
Zo beter?
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
http://press.redhat.com/2...rs-of-python-development/
IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB
Dit topic is gesloten.
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep, niet als vraagbaak