De Devschuur Coffee Corner Overzicht Volgende deel Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 20 ... 201 Laatste
Acties:
  • 852.047 views

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:35
Matis schreef op maandag 23 november 2009 @ 15:33:
[...]

Dat heb ik idd nu ook gedaan, dan wordt hij netjes verwijderd. Dan komt het verwachte gedrag weer terug ;)
Komt dat niet omdat je het object niet initialiseert?

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.


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

farlane schreef op maandag 23 november 2009 @ 16:06:
Komt dat niet omdat je het object niet initialiseert?
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 kwam :P

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 22:43
Heb je daar een test case bij? Ik vind het maar een vreemd verhaal namelijk.

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:
C#:
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;
            }
        }
    }
}

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
In .NET krijg ik ook een 'use of unassigned local variable'.

Volgens mij is Matis niet goed wakker.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

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.

[ 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


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:35
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.
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 )

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.


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

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 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.

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


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 22:43
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).

Was dit trouwens een debug-build?

[ Voor 8% gewijzigd door Soultaker op 23-11-2009 17:45 ]


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

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).
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.
Was dit trouwens een debug-build?
Yes, gewoon f5 in VS 2008, dat is afaik debug-build ja.

[ 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


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 21-09 08:50
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.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

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.
Klopt, maar de bestanden staan in het debug mapje /bin/debug als ik me niet vergis.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
* whoami selecteert een lap code (inner class) die hij naar een andere file wil verhuizen
* whoami doet CTRL-X
* whoami wil CTRL-V doen
net op dat moment beslist VS.NET om er mee te kappen ...
:X
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.

:X :X :X :X :X :X
:'( :'( :'( :'( :'( :( :(

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 21:30

Sebazzz

3dp

Windows Backup / ShadowCopy?

En anders moet je het positief zien, je hebt de gelegenheid om de innerclass eens netjes te herschrijven. :p

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 :P

[ Voor 41% gewijzigd door Sebazzz op 24-11-2009 14:53 ]

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
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.
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.

“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.”


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
Afbeeldingslocatie: http://users.pandora.be/fgzone/systemprotection.jpg
:(

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

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.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

Zoals je zelf al zegt is consistentie het belangrijkst. Ik volg zelf wel de Microsoft richtlijnen voor .Net programmeren, dan krijg je ook minder gezeur met StyleCop / ReSharper e.d. tools ;)

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
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?

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

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 
}


@Haan, thnx, die ReSharper ziet er echt handig uit. Daarmee zal inconsistentie tot het verleden behoren :D

[ 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


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
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.
Ik zou inderdaad gewoon de Microsoft conventie aanhouden, dat is lekker consistent met het framework, en er is niks mis mee.

“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.”


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
HuHu 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?
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 ;)

[ 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.”


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Matis 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 
}
Dat snap ik :P. Maar het is code ingeleverd door een student en ik moet het nakijken. Alleen hier wist ik het ff niet meer :D.

Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 21-09 08:50
Pff, PostSharp.Laos vervangen door twee zelfgeschreven plugins (leuk! MSIL) op PostSharp.Core (AOP framework) en 900% snellere calls. W00T OMZG!111!!

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
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 ;)
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.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
HuHu 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.
In feite komt er 0 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.”


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

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 :P

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 21-09 08:50
Volgens mij kan het .Net framework het zelf wel, maar is het een beperking van C# en VB.

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
mmm, opgeklopte melk + dubbele espresso met zwaar chocoladegebak.

Echt boolean datatype ftw.

[ Voor 18% gewijzigd door YopY op 25-11-2009 11:05 ]


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
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

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
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
Het is inderdaad net afhankelijk hoe dingen gedefineerd zijn:
  • 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.”


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
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?

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

De eerste geeft foo terug. Kennelijk is het dus geen pointerverwijzing, maar een echte memcopy van a naar b ;)

Tweede geeft bar terug, je doet toch niets meer met $a?

spoiler:
Niet uit mijn hoofd btw :P

[ 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


Acties:
  • 0 Henk 'm!

Verwijderd

De eerste geeft foo terug. Kennelijk is het dus geen pointerverwijzing,
Een reference in PHP ís ook géén pointer.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
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?

“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.”


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

Verwijderd schreef op woensdag 25 november 2009 @ 11:38:
Een reference in PHP ís ook géén pointer.
Nee, ik zie nu ook dat ik ook het een en ander door elkaar heb gehaald met mijn reactie, voor de zekerheid maar getruncated O-)


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

[ 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


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
Woy 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?
Idd, dat snap ik niet. Ik zag het ergens staan als 'Quantum Mechanics in PHP', het observeren van $a[0] wijzigt het gedrag :) Maar ik probeer te snappen waarom dat zo is. Het lijkt erop dat voor $c =& $a[0]; PHP van $a[0] eerst een reference maakt naar een nieuw object. $b = $a; kopieert dan die reference. Wel vreemd.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

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?
Lijkt me duidelijk een bug. Ik ben benieuwd hoe ze zich hieruit gaan lullen op de bugtracker...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • masq
  • Registratie: September 2004
  • Laatst online: 18-04 00:18
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.

Er wordt geen nieuw "object" aangemaakt. Alleen een is_ref=1 vlag gezet voor $a[0].

Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 21-09 08:50
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.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
creator1988 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.
In C# is dat heel logisch, want alle reference types werken bij reference ( Alleen de reference word by value doorgegeven :+ ). Ook best logisch als iets een reference type heet ;). Als list een ValueType was geweest dan had het gewerkt zoals jij verwacht had.

[ 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.”


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Pass by reference maakt dus van het "origineel" ook een reference "ding" (om het in mijn lekentaal uit te drukken)? Het staat ook nergens zo in de php manual vermeld...

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

@masq

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'


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

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 ;)
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).

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.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

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.
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.

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.


Acties:
  • 0 Henk 'm!

Verwijderd

Hehe, ik zit nu gewoon lekker tooltjes te proggen in C#/.net...
En ik vind het heerlijk :+

Acties:
  • 0 Henk 'm!

  • masq
  • Registratie: September 2004
  • Laatst online: 18-04 00:18
.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.
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.

Ik ga ook niet ontkennen dat dit behoorlijk wazig gedrag is :P. Maar zoals Janoz al aangaf, op de bugtracker wordt er vrolijk "not a bug" op gestempeld waarschijnlijk. Misschien als ze nou nog eens fatsoenlijk zouden documenteren waarom niet..

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 8)7

[ Voor 20% gewijzigd door masq op 25-11-2009 13:05 ]


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
code:
1
2
3
<c:if test="showThemes">
<!-- blaat -->
</c:if>


...wie ziet de fout?

spoiler:
<c:if test="${showThemes}">
/me begint een hekel te krijgen aan JSP. Duurde drie kwartier voordat ik het door had -_-

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

masq schreef op woensdag 25 november 2009 @ 12:56:
Wie snapt het nog bij die laatste twee refcounts 8)7
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 :P

.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.


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
ReSharper O+

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


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 21:30

Sebazzz

3dp

ReSharper werkt heerlijk. Wat ik wel irritant vind is dit:

Je hebt een bestand zonder referentie naar System.IO. Je tikt het volgende:
C#:
1
File.
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).

Nouja, altijd nog beter dan de autocompletion van NetBeans, dat werkt helemaal niet lekker. :X

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
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#:
1
File.
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).

Nouja, altijd nog beter dan de autocompletion van NetBeans, dat werkt helemaal niet lekker. :X
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 gebruiken :).

:) Er zijn altijd leuke/handige plugins voor VS als je even zoekt, zoals laatst gevonden de HLSL syntax highlighting plugin, toch weer erg handig.

[ Voor 5% gewijzigd door roy-t op 25-11-2009 22:43 ]

~ Mijn prog blog!


  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 21-09 10:48

zomertje

Barisax knorretje

Het is al even geleden, maar wilde nog even melden wat mn collega nu gaat doen. Hij gaat met name kijken naar MySQL en daarnaast ook Java. Bij die MySQL cursus zit ook wat PHP, dus dat krijgt ie er dan vanzelf ook bij :)

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

Ja, ik heb gisteren ReSharper geïnstalleerd, dat werkt toch wel super goed :) Bedankt voor het tippen Haan :D

If money talks then I'm a mime
If time is money then I'm out of time


  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
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#:
1
File.
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).

Nouja, altijd nog beter dan de autocompletion van NetBeans, dat werkt helemaal niet lekker. :X
Je kunt de intellisense van vs uitzetten. Resharper bied toch een volledige vervangen aan, dus die mis je toch niet.

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?

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

Matis schreef op donderdag 26 november 2009 @ 09:47:
Ja, ik heb gisteren ReSharper geïnstalleerd, dat werkt toch wel super goed :) Bedankt voor het tippen Haan :D
O+

Maar ga je de licentie zelf betalen, of doet je werkgever dat?

Kater? Eerst water, de rest komt later


  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

Haan schreef op donderdag 26 november 2009 @ 16:37:
O+

Maar ga je de licentie zelf betalen, of doet je werkgever dat?
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.

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


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

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
Afbeeldingslocatie: http://tweakers.net/ext/f/8VIYytSdPg9J1aFyMb4nmKK1/thumb.png

Going for adventure, lots of sun and a convertible! | GMT-8


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

Ja dat is inderdaad wel een puntje waar ik me ook aan kan ergeren. Soms heb je het ook niet eens door, bijv. als je in een regel met geneste methode aanroepen zoiets doet, en dan jezelf zitten afvragen waarom je code opeens niet meer build :(

Kater? Eerst water, de rest komt later


  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

Ja, wat ik vervelend vind is dat hij eerst alles naar var wil hebben en dat de compiler in sommige gevallen weer een gedefinieerd type verwacht.

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


  • The Great HooD
  • Registratie: September 2009
  • Laatst online: 13-09-2014
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?

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 21-09 10:43

Matis

Rubber Rocket

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?
http://www.cplusplus.com/ heeft mij veel geholpen, zeker als je wat basics wilt doen. Beetje FileIO en OO programmeren.
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


  • The Great HooD
  • Registratie: September 2009
  • Laatst online: 13-09-2014
Je kan ook echt heel goed programmeren, of hanteer je echt gewoon de basics?

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
Het hangt er ook vanaf of jij al (veel) ervaring hebt met andere talen.
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.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:35
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?
Reken er maar op dat relevante boeken in het Engels zijn, dus ja dat is een must. Er is een boekentopic...

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.


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
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]
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.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 21:30

Sebazzz

3dp

Wat is het toch heerlijk om Silverlight applicaties te debuggen. Gewoon opeens, zonder reden knalt Firefox er uit tijdens het debuggen. Af en toe krijg ik 'breakpoint could not be hit' fouten, of als ik de waarde van een variabele wil bekijken door er met de muis op de te staan knalt de debugger er zonder melding uit. En ook bij een statement:
C#:
1
this.Image = new Image();
Knalt ie er ook uit.

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. :(
code:
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]


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

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.
Ik vond CodeRush veel inuitiever werken, vond de refactorings veel leuker, meer opties.

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


Acties:
  • 0 Henk 'm!

Verwijderd

Blergh, ik heb er geen kracht meer voor! Volgens mij is dit echt de minst productieve dag uit m'n carrière :P

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
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?
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.

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.

Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
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. 8)7

Visual Studio afsluiten en weer opnieuw opstarten loste het op.. ik dacht even dat ik gek werd :P. Als t weer voor gaat komen maar eens memtest gaan runnen.

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

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. 8)7

Visual Studio afsluiten en weer opnieuw opstarten loste het op.. ik dacht even dat ik gek werd :P. Als t weer voor gaat komen maar eens memtest gaan runnen.
Euh zowiezo lijkt het me heel gek dat Firefox crasht door je Winforms app (tenzij die iets doet met Firefox).

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
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).
Ja die gedachte had ik ook. En nee, de app doet niks met FireFox.

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
CodeRush :r

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


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Hmm, vrijdag avond, vriendin ligt al te slapen op mijn bed, rustige muziek nog zachtjes aan. Glaasje rum met cola voor me, en toch nog even bezig met 'dat hobby projectje' omdat ik nog niet moe ben, af en toe even over mijn schouder gluren naar mijn slapende vriendin.

Soms is het leven van een programmeur erg mooi. Proost!

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
wachting movies, zijn dat dan trage films ofzo ? :P

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 21:30

Sebazzz

3dp

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.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

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 Intellisense :( Heeft 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..

[ Voor 6% gewijzigd door Haan op 28-11-2009 12:51 ]

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 21:30

Sebazzz

3dp

Alle add-ons al uitgeschakeld?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
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.
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' :).

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

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' :).
Code schuiven is iets wat ik vermijd als ik moe ben.

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


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

Ik had nog een verlopen ReSharper, die is verwijderd, repair gedaan, maar nog steeds niets :(

Het is weer terug, dankzij deze pagina :9

[ Voor 21% gewijzigd door Haan op 28-11-2009 14:08 ]

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Brrr, Subversion. Moet 't voor mijn werk gebruiken maar wat een ramp. Heb ik liever TFS.

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

TFS 2008 is ook niet alles, maar 2010 wordt echt :9 Op het werk zijn we er nu mee bezig.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

Verwijderd

roy-t schreef op zaterdag 28 november 2009 @ 13:05:
[...]

Mwah 's avonds moet je ook alleen licht werk doen, [...]
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. ;)

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

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.
Wat is er zo'n ramp aan?

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

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.
Nepprogrammeur!

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.


Acties:
  • 0 Henk 'm!

  • CrashOverDrive
  • Registratie: Augustus 2005
  • Laatst online: 20:45
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 :+ .

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:04
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 Intellisense :( Heeft 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..
Heb je een backup van je user settings ? IMporteer die anders een keer.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

De 23487239472342034 extra files die verschijnen in de .svn folders?

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 21:30

Sebazzz

3dp

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]


Acties:
  • 0 Henk 'm!

  • Comp_Lex
  • Registratie: Juni 2005
  • Laatst online: 23:50
Snake schreef op zaterdag 28 november 2009 @ 21:12:
[...]

De 23487239472342034 extra files die verschijnen in de .svn folders?
Je overdrijft. SVN werkt best wel relaxed.

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 21:30

Sebazzz

3dp

Even een kort vraagje, is het mogelijk om Internet Explorer te gebruiken om Silverlight applicaties te debuggen? Hij start nu mijn hoofdbrowser, Firefox, en attached daar de debugger aan, maar als de Silverlight applicatie crasht kan de plugin crashen en de browser meenemen. Daarnaast moet ik handmatig de debug sessie sluiten in Visual Studio omdat de debugger pas stopt als de browser wordt afgesloten.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

Internet Explorer als standaard browser instellen :P

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Beuh, 's avonds programmeren lukt me echt niet / kan ik de motivatie niet voor opbrengen, :/. Wat jammer is, heb best nog wel een rijtje met hobbyprojecten die ik graag uit zou willen proberen.

Nee, computerspellen gaat nog, maar programmeren? blargh.

* YopY is niet tr00.

Acties:
  • 0 Henk 'm!

  • Comp_Lex
  • Registratie: Juni 2005
  • Laatst online: 23:50
Ik ben een echte avondmens. 's Avonds heb ik de meeste output.

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Snake schreef op zaterdag 28 november 2009 @ 21:12:
[...]

De 23487239472342034 extra files die verschijnen in de .svn folders?
dat is metadata,waarom zit je daarin?

Folders -> directories ;).

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • Sh4wn
  • Registratie: December 2006
  • Laatst online: 12-11-2017

Sh4wn

Bio-informatica

Haha 's nachts proggen werkt voor mij ook altijd het best, weinig afleiding, je kan lekker doortikken. xD

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

Sebazzz schreef op zaterdag 28 november 2009 @ 22:13:
[...]

Er is natuurlijk een verschil tussen implementeren, wat ik bedoel, en goede dingen verzinnen. ;)
Dat verschil is er idd, maar een échte programmeur doet beide 's avonds of 's nachts :Y)

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.


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 21:30

Sebazzz

3dp

Haan schreef op zondag 29 november 2009 @ 13:07:
Internet Explorer als standaard browser instellen :P
:+
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]


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Snake schreef op zaterdag 28 november 2009 @ 21:12:
[...]

De 23487239472342034 extra files die verschijnen in de .svn folders?
Beeld -> Mapopties -> Verborgen bestanden niet weergeven.

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?).
Pagina: 1 ... 20 ... 201 Laatste

Dit topic is gesloten.

Let op:
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep, niet als vraagbaak