Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Zou goed kunnen, ik gebruik het ook alleen als hulpvariabele in de eerste case. Niet wetende dat hij daarmee ook automagisch in de scope van de rest van de cases viel, maar met de GC.collect() werkt het prima. Niet dat het kwaad kon, alleen vond ik het gewoon heel vreemd dat hij *geïnitialiseerd* terug kwamfarlane schreef op maandag 23 november 2009 @ 16:06:
Komt dat niet omdat je het object niet initialiseert?
If money talks then I'm a mime
If time is money then I'm out of time
Als ik 't op deze manier probeer te reproduceren, kreeg ik van Mono een foutmelding: Use of unassigned local variable `j', wat me terecht lijkt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| using System; public class Test { public static void Main(string[] args) { for (int i = 0; i < 10; ++i) { switch (i%2) { case 0: int j = 100 + i; Console.WriteLine(j); break; case 1: Console.WriteLine(j); break; } } } } |
Volgens mij is Matis niet goed wakker.
https://fgheysels.github.io/
* Matis is/was wel goed wakker btw, anders was het me nooit opgevallen
edit; ik deed btw ook niets met de variabele j in de tweede case, wat jullie wel doen, maar hij kwam wel terug in mijn debugger.
[ Voor 26% gewijzigd door Matis op 23-11-2009 17:25 ]
If money talks then I'm a mime
If time is money then I'm out of time
Dat klopt ook want die language ref stelt dat de variabele in de hele switch scope bestaat ( als je geen nieuwe scope introduceert in je case ofc )Matis schreef op maandag 23 november 2009 @ 17:24:
Ik kan het momenteel niet testen want ik heb geen IDE bij de hand, maar ik zal het morgen wel eens proberen.
* Matis is/was wel goed wakker btw, anders was het me nooit opgevallen
edit; ik deed btw ook niets met de variabele j in de tweede case, wat jullie wel doen, maar hij kwam wel terug in mijn debugger.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Dat begrijp ik, alleen ik vind het vreemd dat hij toen voor de tweede keer in de switch/case kwam en de debugger het breakpoint in de tweede case raakte, de waarde van het object hulpvar gelijk was aan de waarde die hij had toen de code de switch/case verliet.farlane schreef op maandag 23 november 2009 @ 17:34:
Dat klopt ook want die language ref stelt dat de variabele in de hele switch scope bestaat ( als je geen nieuwe scope introduceert in je case ofc )
Dat is het geheel wat ik zo vreemd vind/vond. Met GC.Collect() komt het object ongeinitialiseerd terug in de tweede keer dat ik door de loop heen loop. Dat is gedrag dat ik in eerste instantie verwachtte.
Kennelijk vond de GC het nog niet echt nodig om de lokale variabele te verwijderen toen ik buiten de switchcase scopte ging.
If money talks then I'm a mime
If time is money then I'm out of time
Was dit trouwens een debug-build?
[ Voor 8% gewijzigd door Soultaker op 23-11-2009 17:45 ]
Ja, het zal wss wel een fout van de debugger geweest zijn. Ik heb ook de waarde nooit gebruikt in de tweede statement, maar mijn muis ging over de hulpVar heen en tot mijn grote schrik viel het allereerst binnen de scope (maar dat is dus gedocumenteerd) en tot mijn tweede verbazing was ook de waarde nog gelijk aan de waarde van de vorige keer.Soultaker schreef op maandag 23 november 2009 @ 17:44:
Als 't alleen in de debugger zichtbaar is, kan ik me er wat bij voorstellen. Dat is nooit zo betrouwbaar (tenminste, niet bij C/C++; met C# heb ik weinig ervaring), zeker bij release builds. Waarschijnlijk wordt de stack frame voor lokale variabelen gewoon van te voren geïnitialiseerd en worden variabelen niet op null gezet tussendoor omdat de compiler/verifier al garandeert dat initialisatie altijd aan evaluatie vooraf gaat (dus een oude waarde gebruiken in de tweede case is niet mogelijk).
Yes, gewoon f5 in VS 2008, dat is afaik debug-build ja.Was dit trouwens een debug-build?
[ Voor 15% gewijzigd door Matis op 23-11-2009 18:02 ]
If money talks then I'm a mime
If time is money then I'm out of time
Klopt, maar de bestanden staan in het debug mapje /bin/debug als ik me niet vergis.creator1988 schreef op maandag 23 november 2009 @ 18:06:
Ligt eraan wat er in de Configuration Manager staat. F5 doet gewoon build van de huidige setting, kan DEBUG, RELEASE of een eigen config set zijn.
If money talks then I'm a mime
If time is money then I'm out of time
* whoami doet CTRL-X
* whoami wil CTRL-V doen
net op dat moment beslist VS.NET om er mee te kappen ...

VS.NET start opnieuw op, en stelt zelf voor om bepaalde files te recoveren
* whoami is akkoord
* whoami ziet dat de inner class weg is
* whoami denkt, geen probleem, zal wel nog in m'n clipboard zitten
* whoami doet CTRL-V
* whoami ziet dat er niets gebeurd ....
* whoami denkt eraan om een vorige versie uit source-control te halen.
* whoami realiseert zich dat dit een nieuwe file was die nog niet ingechecked was.






https://fgheysels.github.io/
En anders moet je het positief zien, je hebt de gelegenheid om de innerclass eens netjes te herschrijven.
En files recoveren kan meer slopen dan goed doen ja, been there..
Eerst backup huidige bestanden doen, daarna kijken of recoveren ook echt recovert. In Word werkt het wel altijd goed
[ Voor 41% gewijzigd door Sebazzz op 24-11-2009 14:53 ]
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Het is niet zozeer een fout, want die variabele word gewoon vertaald naar een adres op de stack, en aangezien je in die case die variabele niet initialiseert staat er gewoon nog de vorige waarde (De stack is immers al opgebouwd zoals Soultaker terecht opmerkt ). Aangezien het verplicht is om je var te initialiseren kun je die oude waarde dan ook nooit gebruiken, en kan je dus nooit per ongeluk de waarde uit de vorige "run" krijgen. Je debugger kan hem echter nog wel zien.Matis schreef op maandag 23 november 2009 @ 18:01:
[...]
Ja, het zal wss wel een fout van de debugger geweest zijn. Ik heb ook de waarde nooit gebruikt in de tweede statement, maar mijn muis ging over de hulpVar heen en tot mijn grote schrik viel het allereerst binnen de scope (maar dat is dus gedocumenteerd) en tot mijn tweede verbazing was ook de waarde nog gelijk aan de waarde van de vorige keer.
“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.”
Ik zat net dit topic te lezen; C# variable voor meerdere functies en daar kwam de discussie weer op gang mbt de "Naming convention". Ik wilde er in dat topic niet op reageren, omdat het imo offtopic was, maar hoe staan jullie tegenover CamelCase (wat MS aanraadt bij het programmeren in/van .Net)?
De docent die mijn klassediagram, broncode etc. gaat reviewen/beoordelen sprak geen voorkeur uit voor een specifieke Naming Convention, maar ik wil wel graag dat het professioneel overkomt en iig consistent toegepast wordt. Ik ben sws niet van plan om de type-prefix toe te voegen aan de indentifier.
If money talks then I'm a mime
If time is money then I'm out of time
Kater? Eerst water, de rest komt later
1
2
3
4
5
6
7
| int a = 160; // Dit getal kan veranderen tussen 0 en 1000 bijvoorbeeld int l = 150; int r = 255; if (l < a < r) { // iets } |
Het idee is dat de if alleen true mag zijn als a tussen l en r ligt.
Die constructie l < a < r is fout en evalueert altijd naar true, tenzij l = a = r, alleen in dat geval is het false.
Maar wat gebeurd er nu achter de schermen? Wat maakt de compiler hier van? Ik gok zelf op zoiets:
1
2
3
4
5
6
7
8
9
| if (l < a < r) { // iets } // Dit wordt eigenlijk: if (l < a || a < r) { // iets } |
Kan iemand dat bevestigen?
1
2
3
| if (l < a && a < r) { // iets } |
@Haan, thnx, die ReSharper ziet er echt handig uit. Daarmee zal inconsistentie tot het verleden behoren
[ Voor 22% gewijzigd door Matis op 25-11-2009 10:01 ]
If money talks then I'm a mime
If time is money then I'm out of time
Ik zou inderdaad gewoon de Microsoft conventie aanhouden, dat is lekker consistent met het framework, en er is niks mis mee.Matis schreef op woensdag 25 november 2009 @ 09:41:
Om nog even terug te komen op het hele vreemde switch/case in de for-loop. Het is idd een debuggercache die niet echt lekker meeloopt met mijn programma. Wanneer ik het probleem probeer te reproduceren in een lege applicatie met alleen de for-loop en de switch/case blijft hij wel ongeïnitialiseerd.
Ik zat net dit topic te lezen; C# variable voor meerdere functies en daar kwam de discussie weer op gang mbt de "Naming convention". Ik wilde er in dat topic niet op reageren, omdat het imo offtopic was, maar hoe staan jullie tegenover CamelCase (wat MS aanraadt bij het programmeren in/van .Net)?
De docent die mijn klassediagram, broncode etc. gaat reviewen/beoordelen sprak geen voorkeur uit voor een specifieke Naming Convention, maar ik wil wel graag dat het professioneel overkomt en iig consistent toegepast wordt. Ik ben sws niet van plan om de type-prefix toe te voegen aan de indentifier.
“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.”
De compiler zal niks aan dat statement veranderen, maar je moet gewoon naar de operator precendence ( Hier niet zo belangrijk aangezien je 2 maal dezelfde operator gebruikt ) en Associativity kijken. Aangezien een bool in C/C++ gewoon een int is kan die perfect met r vergeleken wordenHuHu schreef op woensdag 25 november 2009 @ 09:53:
Ik gen een rare constructie in C++ tegen gekomen, waarvan ik niet weet wat er nu precies gebeurd. Kan iemand met me meedenken? Het gaat om deze code:
C++:
1 2 3 4 5 6 7 int a = 160; // Dit getal kan veranderen tussen 0 en 1000 bijvoorbeeld int l = 150; int r = 255; if (l < a < r) { // iets }
Het idee is dat de if alleen true mag zijn als a tussen l en r ligt.
Die constructie l < a < r is fout en evalueert altijd naar true, tenzij l = a = r, alleen in dat geval is het false.
Maar wat gebeurd er nu achter de schermen? Wat maakt de compiler hier van? Ik gok zelf op zoiets:
C++:
1 2 3 4 5 6 7 8 9 if (l < a < r) { // iets } // Dit wordt eigenlijk: if (l < a || a < r) { // iets }
Kan iemand dat bevestigen?
[ Voor 3% gewijzigd door Woy op 25-11-2009 10:07 ]
“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.”
Dat snap ikMatis schreef op woensdag 25 november 2009 @ 10:00:
Dat kan ik niet bevestigen, maar het lijkt beter als je || && gebruikt. Je wilt immers dat de code uitgevoerd wordt als de waarde a kleiner is dan r EN l kleiner is dan a
C++:
1 2 3 if (l < a && a < r) { // iets }
Ja, daar had ik ook nog aan gedacht en daar lijkt het inderdaad op. Als ik 150 < 170 < 0 doe komt er inderdaad false uit.Woy schreef op woensdag 25 november 2009 @ 10:03:
[...]
De compiler zal niks aan dat statement veranderen, maar je moet gewoon naar de operator precendence ( Hier niet zo belangrijk aangezien je 2 maal dezelfde operator gebruikt ) en Associativity kijken. Aangezien een bool in C/C++ gewoon een int is kan die perfect met r vergeleken worden
In feite komt er 0 uitHuHu schreef op woensdag 25 november 2009 @ 10:17:
[...]
Ja, daar had ik ook nog aan gedacht en daar lijkt het inderdaad op. Als ik 150 < 170 < 0 doe komt er inderdaad false uit.
Dat is ook de reden dat je bij een dergelijk statement in Java/C# een compiler error krijgt aangezien er geen operator< is gedefineerd voor (bool,int)
[ Voor 20% gewijzigd door Woy op 25-11-2009 10:22 ]
“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.”
Ja, dat is ook weer zoiets geniaals, in de IDE die ze hier gebruiken voor het ontwikkelen van procesautomatiseringssystemen is true 0 en false -1, dat heeft te maken met de spanningsval over de draadjes binnen een PLC / Veldbus. Duurde ongeveer een week voordat ik er achter was waarom iets niet werkte zoals verwacht
If money talks then I'm a mime
If time is money then I'm out of time
Echt boolean datatype ftw.
[ Voor 18% gewijzigd door YopY op 25-11-2009 11:05 ]
1
2
3
4
5
| >>> a = 1; b = 3; c = 5; >>> a < b < c True >>> a == b == c False |
Het is inderdaad net afhankelijk hoe dingen gedefineerd zijn:JanDM schreef op woensdag 25 november 2009 @ 11:17:
Het is maar net hoe de taal het definieert. In o.a. Python kan het wel:
Python:
1 2 3 4 5 >>> a = 1; b = 3; c = 5; >>> a < b < c True >>> a == b == c False
- Is er een echt boolean type?
- Wat is het resultaat van de < operator?
- Kan je een boolean vergelijken met een ander data type? Oftewel: Voor welke types is de operator gedefineerd of welke automatische conversies vinden er plaats?
- Werkt een conditional statement alleen op een boolean?
- Worden andere types automatisch naar boolean geconverteerd?
[ Voor 7% gewijzigd door Woy op 25-11-2009 11:22 ]
“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.”
1
2
3
4
5
| <?php $a = array('foo'); $b = $a; $b[0] = 'bar'; echo $a[0]; |
en
1
2
3
4
5
| $a = array('foo'); $c =& $a[0]; $b = $a; $b[0] = 'bar'; echo $a[0]; |
Ik dacht dat een reference in PHP intern een pointer naar dezelfde struct is. Blijkbaar gebeurt er meer?
Weet iemand hoe dit komt?
Tweede geeft bar terug, je doet toch niets meer met $a?
[ Voor 8% gewijzigd door Matis op 25-11-2009 11:37 ]
If money talks then I'm a mime
If time is money then I'm out of time
Verwijderd
Een reference in PHP ís ook géén pointer.De eerste geeft foo terug. Kennelijk is het dus geen pointerverwijzing,
“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.”
Nee, ik zie nu ook dat ik ook het een en ander door elkaar heb gehaald met mijn reactie, voor de zekerheid maar getruncatedVerwijderd schreef op woensdag 25 november 2009 @ 11:38:
Een reference in PHP ís ook géén pointer.

Edit; wtf, Woy, volgens mij postten wij echt tegelijkertijd; ik kreeg

[ Voor 29% gewijzigd door Matis op 25-11-2009 11:44 ]
If money talks then I'm a mime
If time is money then I'm out of time
Idd, dat snap ik niet. Ik zag het ergens staan als 'Quantum Mechanics in PHP', het observeren van $a[0] wijzigt het gedragWoy schreef op woensdag 25 november 2009 @ 11:41:
Ik moet zeggen dat ik het wel vreemd vind als dat verschillende resultaten heeft. De assignment van &$a\[0] aan $c heeft blijkbaar invloed van de assignment van $a aan $b?
Lijkt me duidelijk een bug. Ik ben benieuwd hoe ze zich hieruit gaan lullen op de bugtracker...JanDM schreef op woensdag 25 november 2009 @ 11:30:
Wie weet trouwens uit z'n hoofd wat de uitvoer is van:
PHP:
1 2 3 4 5 <?php $a = array('foo'); $b = $a; $b[0] = 'bar'; echo $a[0];
en
PHP:
1 2 3 4 5 $a = array('foo'); $c =& $a\[0]; $b = $a; $b\[0] = 'bar'; echo $a\[0];
Ik dacht dat een reference in PHP intern een pointer naar dezelfde struct is. Blijkbaar gebeurt er meer?
Weet iemand hoe dit komt?
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Er wordt geen nieuw "object" aangemaakt. Alleen een is_ref=1 vlag gezet voor $a[0].
List<int> list1;
List<int> list2;
list1 = list2 = new List<int>();
verwachte ik dat ik losse nieuwe instances kreeg. Alleen als ik list1.Add deed, kreeg list2 hem er ook bij. Beetje lastig, verbaasde me er over, maar is uiteindelijk toch wel een klein beetje logisch.
In C# is dat heel logisch, want alle reference types werken bij reference ( Alleen de reference word by value doorgegevencreator1988 schreef op woensdag 25 november 2009 @ 12:14:
In C# zit ook zoiets wat ik niet wist. Als je doet
List<int> list1;
List<int> list2;
list1 = list2 = new List<int>();
verwachte ik dat ik losse nieuwe instances kreeg. Alleen als ik list1.Add deed, kreeg list2 hem er ook bij. Beetje lastig, verbaasde me er over, maar is uiteindelijk toch wel een klein beetje logisch.
[ Voor 3% gewijzigd door Woy op 25-11-2009 12:16 ]
“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.”
De typische php benadering van een bug. Uiteraard is er een logische verklaring voor het effect. Dat is inherent aan een software probleem. Software is immers per definitie logisch.
Het punt is of je dit gedrag verwacht, en dat lijkt mij niet, dus is het een bug.
Ik haal nog even een wat oudere reactie van mij aan:
Janoz in "\[PHP/MySQL] SQL injectie voorkomen"
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
In C is een vergelijking van het type int waar 0 danwel 1 uitkomt. In C++ is het van het type bool dat false danwel true is. Het punt is alleen dat een bool ook gewoon naar int te converteren is, met als resultaat 0 danwel 1 (en daarmee is C++ dus in feite compatible met C).Woy schreef op woensdag 25 november 2009 @ 10:03:
Aangezien een bool in C/C++ gewoon een int is kan die perfect met r vergeleken worden
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.
Hmm, is er hier wat veranderd aan PHP in de loop der tijd? Want feitelijk waren álle variabelen altijd references. Als je een variabele voor het eerst gebruikt krijgt hij ergens een slot in een table waar de data in komt. Volgende assignments aan die variabele wijzigen de waarde in dat slot. Door een "reference naar een variabele" te assignen aan de variabele zorg je in feite dat je de variabele aan het slot verbindt waar de andere variabele mee verbonden is, en daardoor zien ze dus dezelfde data.masq schreef op woensdag 25 november 2009 @ 12:11:
Geen bug. De assignment $c =& $a\[0] maakt van $a\[0] een reference. Als je dan $a assignt aan $b is $b\[0] dus logischerwijs ook een reference.
De bottom line is hier: variabelen zijn dus altijd pointers. Vreemd dat dat gedrag voor arrays dan ineens anders is.
Mooie PHP bug idd, al zullen ze het zelf zo wel niet noemen, gezien het feit dat ze maar wat programmeren en wat daar dan ook maar uitkomt de spec van de taal is, ipv dat ze een spec verzinnen en zorgen dat ze daar ook naar programmeren
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.
Terminologie die PHP gebruikt is op dit punt gewoon erg onhandig. Jouw verhaal klopt inderdaad nog steeds. Alleen PHP gebruikt dus de term reference voor slots waarbij de is_ref vlag gezet is..oisyn schreef op woensdag 25 november 2009 @ 12:41:
[...]
Hmm, is er hier wat veranderd aan PHP in de loop der tijd? Want feitelijk waren álle variabelen altijd references. Als je een variabele voor het eerst gebruikt krijgt hij ergens een slot in een table waar de data in komt. Volgende assignments aan die variabele wijzigen de waarde in dat slot. Door een "reference naar een variabele" te assignen aan de variabele zorg je in feite dat je de variabele aan het slot verbindt waar de andere variabele mee verbonden is, en daardoor zien ze dus dezelfde data.
Ik ga ook niet ontkennen dat dit behoorlijk wazig gedrag is
Xdebug is trouwens handig om dit te begrijpen:
$a = array('foo'); $c =& $a[0]; xdebug_debug_zval('a'); a: (refcount=1, is_ref=0)=array (0 => (refcount=2, is_ref=1)='foo') $b = $a; xdebug_debug_zval('b'); b: (refcount=2, is_ref=0)=array (0 => (refcount=2, is_ref=1)='foo') $b[0] = 'bar'; xdebug_debug_zval('a'); a: (refcount=1, is_ref=0)=array (0 => (refcount=3, is_ref=1)='bar') xdebug_debug_zval('b'); b: (refcount=1, is_ref=0)=array (0 => (refcount=3, is_ref=1)='bar')
Wie snapt het nog bij die laatste twee refcounts

[ Voor 20% gewijzigd door masq op 25-11-2009 13:05 ]
1
2
3
| <c:if test="showThemes"> <!-- blaat --> </c:if> |
...wie ziet de fout?
/me begint een hekel te krijgen aan JSP. Duurde drie kwartier voordat ik het door had -_-
Copy-on-write semantics. De arrays $a en $b wijzen initieel naar dezelfde data. Maar zodra je een van de twee aan gaat passen ($b in dit geval), maakt hij daarvoor een unieke kopie, zodat alleen $b de verandering ziet en $a niet. $a blijft naar dezelfde array wijzen, maar de refcount is dan weer 1 (want $b wijst er niet meer naar)
.edit: oh wacht, je hebt het over de refcounts van $a[0], niet die van $a zelf. Nee, die kan ik ook niet verklaren. Klinkt als een mooie memory leak
.edit2: nee duh, dat is dezelfde verklaring. $a[0] heeft in eerste instantie een refcount van twee, want $a[0] en $c wijzen er allebei naar. $b[0] telt dan nog niet mee want $b is dezelfde array als $a, dus die refcount leeft een niveau hoger. Na de copy-on-write zijn er 3 references, namelijk $a[0], $b[0] en $c.
[ Voor 32% gewijzigd door .oisyn op 25-11-2009 15:00 ]
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 alleen wel klote is, is dat wanneer je een roaming profile hebt en ReSharper niet op alle machines hebt, Visual Studio iedere keer opnieuw z'n omgeving gaat initialiseren. En IntelliSense doet 't niet meer automatisch omdat ReSharper die heeft overgenomen.
We are shaping the future
Je hebt een bestand zonder referentie naar System.IO. Je tikt het volgende:
1
| File. |
Nouja, altijd nog beter dan de autocompletion van NetBeans, dat werkt helemaal niet lekker.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Kun je niet uit zetten dat resharper je vraagt om dingen aan je usings toe te voegen, sinds VS2008 (en misschien zelfs 2005) kun je dat al doen door na het typen van File op de menu key te drukken dus die optie heb je niet echt nodig, en dan zit het ook niet meer in de weg en kun je reshaper voor alle andere handige functies gebruikenSebazzz schreef op woensdag 25 november 2009 @ 21:47:
ReSharper werkt heerlijk. Wat ik wel irritant vind is dit:
Je hebt een bestand zonder referentie naar System.IO. Je tikt het volgende:
C#:Voordat je de punt typt opent intellisense, maar biedt ReSharper ook aan om System.IO aan de usings toe te voegen. Als je dat doet, en je typt dan de punt zet Intellisense gewoon het eerste item neer wat gehighlight is in je Intellisense, in plaats van dat het ververst wordt en het most-likely item kiest, File in dit geval. Je moet dat op backspace drukken en de 'e' van File intikken om Intellisense te forceren te verversen (of Ctrl+Space).
1 File.
Nouja, altijd nog beter dan de autocompletion van NetBeans, dat werkt helemaal niet lekker.
[ Voor 5% gewijzigd door roy-t op 25-11-2009 22:43 ]
het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun
If money talks then I'm a mime
If time is money then I'm out of time
Je kunt de intellisense van vs uitzetten. Resharper bied toch een volledige vervangen aan, dus die mis je toch niet.Sebazzz schreef op woensdag 25 november 2009 @ 21:47:
ReSharper werkt heerlijk. Wat ik wel irritant vind is dit:
Je hebt een bestand zonder referentie naar System.IO. Je tikt het volgende:
C#:Voordat je de punt typt opent intellisense, maar biedt ReSharper ook aan om System.IO aan de usings toe te voegen. Als je dat doet, en je typt dan de punt zet Intellisense gewoon het eerste item neer wat gehighlight is in je Intellisense, in plaats van dat het ververst wordt en het most-likely item kiest, File in dit geval. Je moet dat op backspace drukken en de 'e' van File intikken om Intellisense te forceren te verversen (of Ctrl+Space).
1 File.
Nouja, altijd nog beter dan de autocompletion van NetBeans, dat werkt helemaal niet lekker.
Als dat het probleem niet oplost dan is het een bug welke in de laatste versie zit. Wordt bij jou toevallig ook het autocomplete window transparant weergegeven? Als in, dat je hem bijna niet ziet?
Matis schreef op donderdag 26 november 2009 @ 09:47:
Ja, ik heb gisteren ReSharper geïnstalleerd, dat werkt toch wel super goedBedankt voor het tippen Haan
Maar ga je de licentie zelf betalen, of doet je werkgever dat?
Kater? Eerst water, de rest komt later
Oh, het is maar voor mijn afstuderen, dus ik kan nu mooi de trial uitzingen, snapshot van vorige week terugplaatsen en nog een keer installeren.Haan schreef op donderdag 26 november 2009 @ 16:37:
![]()
Maar ga je de licentie zelf betalen, of doet je werkgever dat?
Dan loopt precies de tweede termijn af als ik klaar ben met afstuderen
If money talks then I'm a mime
If time is money then I'm out of time
Typ de volgende klasse:
1
2
3
4
5
6
7
8
9
| public class Test { private string _concat; public Test() { string.Concat("alpha", "beta"); } } |
En dan realiseer je je dat je het result moet opslaan in _concat.
Je zet je cursor aan het textbegin van regel 7, je typt 'this.' en dan krijg je Re#er's intellisense, _concat staat bovenaan, je duwt op tab, en BAM, 'string' wordt overschreven door _concat.
GRRRRRRRR

Going for adventure, lots of sun and a convertible! | GMT-8
Kater? Eerst water, de rest komt later
Verder werkt het wel lekker en een licentie voor academic-use (wat het momenteel ook is) kost maar 41 euro. Dat valt dus nog wel mee
If money talks then I'm a mime
If time is money then I'm out of time
Wie heeft ervaring met deze taal en kan mij vertellen welk boek ik moet halen?
Ik heb al een beetje rondgekeken, maar ik weet niet zeker of ik nou een boek in het engels moet halen of niet...
En is een boek een goed middel of niet?
http://www.cplusplus.com/ heeft mij veel geholpen, zeker als je wat basics wilt doen. Beetje FileIO en OO programmeren.The Great HooD schreef op donderdag 26 november 2009 @ 18:41:
Ik ben van plan om te gaan beginnen met C++.
Wie heeft ervaring met deze taal en kan mij vertellen welk boek ik moet halen?
Ik heb al een beetje rondgekeken, maar ik weet niet zeker of ik nou een boek in het engels moet halen of niet...
En is een boek een goed middel of niet?
Ik heb zelf ook veel profijt gehad van http://www.boost.org/
If money talks then I'm a mime
If time is money then I'm out of time
Als je bijvoorbeeld al lang met Java gewerkt hebt zul je de basics van OO programmeren niet meer hoeven te leren.
Zelf bekijk ik vaak een aantal tutorials, kijken wat ze exact doen en dingen aanpassen.
Reken er maar op dat relevante boeken in het Engels zijn, dus ja dat is een must. Er is een boekentopic...The Great HooD schreef op donderdag 26 november 2009 @ 18:41:
Ik ben van plan om te gaan beginnen met C++.
Wie heeft ervaring met deze taal en kan mij vertellen welk boek ik moet halen?
Ik heb al een beetje rondgekeken, maar ik weet niet zeker of ik nou een boek in het engels moet halen of niet...
En is een boek een goed middel of niet?
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Met Re# heb ik dat nog niet meegemaakt; wel met de tegenhanger van DevExpress (CodeRush).Snake schreef op donderdag 26 november 2009 @ 17:14:
Wat ik haat aan Re#er is dit:
Typ de volgende klasse:
C#:
1 2 3 4 5 6 7 8 9 public class Test { private string _concat; public Test() { string.Concat("alpha", "beta"); } }
En dan realiseer je je dat je het result moet opslaan in _concat.
Je zet je cursor aan het textbegin van regel 7, je typt 'this.' en dan krijg je Re#er's intellisense, _concat staat bovenaan, je duwt op tab, en BAM, 'string' wordt overschreven door _concat.
GRRRRRRRR
[afbeelding]
Ik weet niet meer hoe het juist gebeurde, maar ik was redelijk snel aan het typen, en CodeRush had m'n cursor verplaatst, of een stuk code geselecteerd, en plots was die code overschreven natuurlijk.
Ik vond die CodeRush zo al irritant met al die pijltjes en schermpjes die over m'n scherm zoefden, en toen heb ik het maar ge-uninstalled.
https://fgheysels.github.io/
1
| this.Image = new Image(); |
Dus ik denk, ik ga maar een WPF applicatie maken want Silverlight lijkt er toch behoorlijk op, maar zelfs de gegenereerde code van Visual Studio van de WPF template geeft fouten.
1
| '/Microsoft.VisualStudio.Xaml;Component/MS/Internal/Designer/PropertyEditing/Resources/StylesCore.Constants.xaml' value cannot be assigned to property 'Source' of object 'System.Windows.ResourceDictionary'. Could not load file or assembly 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. Het systeem kan het opgegeven bestand niet vinden. Error at object 'ResourceDictionary_2' in markup file 'Microsoft.VisualStudio.Xaml;component/MS/Internal/Designer/PropertyEditing/Resources/StylesCore.xaml'. |
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Ik vond CodeRush veel inuitiever werken, vond de refactorings veel leuker, meer opties.whoami schreef op donderdag 26 november 2009 @ 21:18:
[...]
Met Re# heb ik dat nog niet meegemaakt; wel met de tegenhanger van DevExpress (CodeRush).
Ik weet niet meer hoe het juist gebeurde, maar ik was redelijk snel aan het typen, en CodeRush had m'n cursor verplaatst, of een stuk code geselecteerd, en plots was die code overschreven natuurlijk.
Ik vond die CodeRush zo al irritant met al die pijltjes en schermpjes die over m'n scherm zoefden, en toen heb ik het maar ge-uninstalled.
Resharper is mij te beperkt. Ik moet binnekort mijn versie upgraden (131 euro) voor Visual Studio 2010.
Toch CodeRush eens overwegen, kost 167 euro (uit de US).
Going for adventure, lots of sun and a convertible! | GMT-8
Verwijderd
Een boek is een goed middel, ja, heeft bij mij nog steeds de voorkeur over websites. Het geeft lijn en structuur en dergelijke. Welk boek je het beste kunt gebruiken doe ik hier geen uitspraken over, daar is een ander topic voor.The Great HooD schreef op donderdag 26 november 2009 @ 18:41:
Ik ben van plan om te gaan beginnen met C++.
Wie heeft ervaring met deze taal en kan mij vertellen welk boek ik moet halen?
Ik heb al een beetje rondgekeken, maar ik weet niet zeker of ik nou een boek in het engels moet halen of niet...
En is een boek een goed middel of niet?
Ik zou het wel in het Engels doen, maar dat is misschien een persoonlijke voorkeur - ik weet zo niet veel goeie Nederlandse boeken over programmeertalen te bedenken.
C# Winforms app. Iedere keer als ik op F5 druk gebeurd er iets anders.
Ene keer laat ie Assembly zien, waarbij die gebreaked is op een bepaalde regel (maar geen exception info tonen ofzo). Andere keer dan is het een bepaalde regel code, ipv Assembly.
Daarnet crashte zelfs mn FireFox, gevolgd door mn Windows Explorer.

Visual Studio afsluiten en weer opnieuw opstarten loste het op.. ik dacht even dat ik gek werd
Euh zowiezo lijkt het me heel gek dat Firefox crasht door je Winforms app (tenzij die iets doet met Firefox).D-Raven schreef op vrijdag 27 november 2009 @ 15:34:
WTF ik heb me nu toch vage dingen.
C# Winforms app. Iedere keer als ik op F5 druk gebeurd er iets anders.
Ene keer laat ie Assembly zien, waarbij die gebreaked is op een bepaalde regel (maar geen exception info tonen ofzo). Andere keer dan is het een bepaalde regel code, ipv Assembly.
Daarnet crashte zelfs mn FireFox, gevolgd door mn Windows Explorer.![]()
Visual Studio afsluiten en weer opnieuw opstarten loste het op.. ik dacht even dat ik gek werd. Als t weer voor gaat komen maar eens memtest gaan runnen.
Going for adventure, lots of sun and a convertible! | GMT-8
Ja die gedachte had ik ook. En nee, de app doet niks met FireFox.Snake schreef op vrijdag 27 november 2009 @ 15:40:
[...]
Euh zowiezo lijkt het me heel gek dat Firefox crasht door je Winforms app (tenzij die iets doet met Firefox).

Een irritanter, opdringerig stuk software heb ik nog nooit meegemaakt. Neemt allerlei mappings over, doet allerlei acties op onlogische hotkeys ("Smart Cut"? WTF?) en als kers op de taart is het nog irritant ook. 't is dat ik het meegeïnstalleerd kreeg met de DevExpress-controls* die ik voor m'n werk nodig heb, en dat ik te lui ben om de installer uit te pluizen op zoek naar de checkbox die die bagger heeft geïnstalleerd.
Gelukkig heeft dat ding een optie om 'm niet automatisch te laden. Die staat dus ook aan
* Eveneens een :r-ding die ik zoveel mogelijk probeer te vermijden.
We are shaping the future
Soms is het leven van een programmeur erg mooi. Proost!
https://fgheysels.github.io/
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Ik had in VS2010 trouwens ook geen Intellisense..
[ Voor 6% gewijzigd door Haan op 28-11-2009 12:51 ]
Kater? Eerst water, de rest komt later
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Mwah 's avonds moet je ook alleen licht werk doen, beetje code heen en weer schuiven, beetje refactoren, en wat placeholders hier en daar maken. Gaat bij mij meestal prima. Je moet natuurlijk niet meer bezig met echt ingewikkelde code, dat kan beter 'morgen'Sebazzz schreef op zaterdag 28 november 2009 @ 11:04:
Pff, als ik laat in de avond ga programmeren of 's nachts programmeer ga ik alleen maar domme fouten maken die je anders wel direct ziet.
Code schuiven is iets wat ik vermijd als ik moe ben.roy-t schreef op zaterdag 28 november 2009 @ 13:05:
[...]
Mwah 's avonds moet je ook alleen licht werk doen, beetje code heen en weer schuiven, beetje refactoren, en wat placeholders hier en daar maken. Gaat bij mij meestal prima. Je moet natuurlijk niet meer bezig met echt ingewikkelde code, dat kan beter 'morgen'.
Krijg je gekke dingen van de volgende morgen
Sowieso heb ik lokaal VisualSVN server draaien icm AhnkSVN zodat ik versies kan terug gaan + dagelijke backup van de repo in case of problems
Binnekort vliegt SVN er uit in favor of TFS2010.
Going for adventure, lots of sun and a convertible! | GMT-8
Ik had nog een verlopen ReSharper, die is verwijderd, repair gedaan, maar nog steeds nietsSebazzz schreef op zaterdag 28 november 2009 @ 12:59:
Alle add-ons al uitgeschakeld?
Het is weer terug, dankzij deze pagina
[ Voor 21% gewijzigd door Haan op 28-11-2009 14:08 ]
Kater? Eerst water, de rest komt later
We are shaping the future
Kater? Eerst water, de rest komt later
Verwijderd
Dat verschilt van persoon tot persoon. Ik ben 's avonds maar vooral 's nachts op m'n best. Vooral als ik bezig ben een of ander algoritme of ontwerp te bedenken komt het 'eurekamoment' altijd 's nachts. Da's dan altijd een kwestie van ff pen en papier pakken en opschrijven en dan snel weer het bed in duiken, want de werktijden van deze maatschappij zijn niet compatible met die piekuren van mijn brein.roy-t schreef op zaterdag 28 november 2009 @ 13:05:
[...]
Mwah 's avonds moet je ook alleen licht werk doen, [...]
Wat is er zo'n ramp aan?Alex) schreef op zaterdag 28 november 2009 @ 15:27:
Brrr, Subversion. Moet 't voor mijn werk gebruiken maar wat een ramp. Heb ik liever TFS.
Nepprogrammeur!Sebazzz schreef op zaterdag 28 november 2009 @ 11:04:
Pff, als ik laat in de avond ga programmeren of 's nachts programmeer ga ik alleen maar domme fouten maken die je anders wel direct ziet.
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.
Eensch is,
Ik zou zeggen, tussen 18:00 en 02:00 ben ik het sterkste kwa structuren verzinnen. Buiten die tijden is het niet altijd even logisch
Heb je een backup van je user settings ? IMporteer die anders een keer.Haan schreef op zaterdag 28 november 2009 @ 12:51:
Hmm, ik heb nu iets raars en vervelends.. Sinds gisteren werkt de Intellisense in VS 2008 niet meer, ik dacht dat dat kwam door het installeren van VS2010 ernaast, dit heb ik ook gisteren gedaan. Maar nu heb ik een System Restore gedaan naar de situatie daarvoor, en nog steeds geen IntellisenseHeeft iemand misschien nog een idee waar ik naar zou kunnen kijken voordat ik VS2008 opnieuw ga installeren?
Ik had in VS2010 trouwens ook geen Intellisense..
https://fgheysels.github.io/
De 23487239472342034 extra files die verschijnen in de .svn folders?
Going for adventure, lots of sun and a convertible! | GMT-8
Er is natuurlijk een verschil tussen implementeren, wat ik bedoel, en goede dingen verzinnen.
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Je overdrijft. SVN werkt best wel relaxed.Snake schreef op zaterdag 28 november 2009 @ 21:12:
[...]
De 23487239472342034 extra files die verschijnen in de .svn folders?
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Kater? Eerst water, de rest komt later

Nee, computerspellen gaat nog, maar programmeren? blargh.
* YopY is niet tr00.
dat is metadata,waarom zit je daarin?Snake schreef op zaterdag 28 november 2009 @ 21:12:
[...]
De 23487239472342034 extra files die verschijnen in de .svn folders?
Folders -> directories
Dat verschil is er idd, maar een échte programmeur doet beide 's avonds of 's nachtsSebazzz schreef op zaterdag 28 november 2009 @ 22:13:
[...]
Er is natuurlijk een verschil tussen implementeren, wat ik bedoel, en goede dingen verzinnen.
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.
.oisyn schreef op zaterdag 28 november 2009 @ 18:58:
Nepprogrammeur!
Dat is geen oplossing in ieder geval, want Firefox is mijn favoriete browser maar tabbed browsing werkt niet echt lekker icm Visual Studio.
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Beeld -> Mapopties -> Verborgen bestanden niet weergeven.Snake schreef op zaterdag 28 november 2009 @ 21:12:
[...]
De 23487239472342034 extra files die verschijnen in de .svn folders?
En als je het door wilt sturen, rechtermuisklik -> TortoiseSVN -> Export
Het is misschien even wennen, maar het is heus wel werkbaar. Ook al zou het netter zijn als SVN gewoon een enkele database heeft met relatieve paden en dergelijke (misschien ook sneller?).
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