Article View: be.comp.programming
Article #14667Re: Welke codes in VB6 om te voorkomen dat het programma tegelijkertijd uitgevoerd wordt?
From: Frans Bouma
Date: Sat, 13 Jan 2001 12:00
Date: Sat, 13 Jan 2001 12:00
155 lines
9799 bytes
9799 bytes
<Bart.Vanhauwaert@nowhere.be> wrote in message news:sj4o39.6h8.ln@jafshome.gtk.fr...
> Bert Rozenberg <sysop@ringtwice.com> wrote:
> > In de meeste commerciele gevallen is dat behoorlijk zonde van je tijd. Het
> > zal mijn klanten een worst zijn of mijn programma's portable zijn. Tenslotte
> > gebruiken zij Windows en zullen ze zeer waarschijnlijk nooit overstappen op
> > iets anders. Het zou een beetje naar oplichting ruiken als ik ze liet
> > betalen voor iets dat ze niet besteld hebben.
>
> Kortom : het is een nadeel waar jij persoonlijk geen last van hebt,
> maar het blijft natuurlijk wel een nadeel.
neee. Het is pas een nadeel als je er nadelige zaken van ondervindt.
sommigen vinden het niet hebben van een auto een voordeel, anderen
vinden dat een nadeel. Het is voor diegene die het voordelig vindt om
GEEN auto te hebben juist GEEN nadeel.
> > Da's klinkt een beetje naar een uitlating van iemand met een
> > minderwaardigheidsgevoel (niet dat je dat hebt, maar het klinkt alleen maar
> > zo). Wat jij voelt als 'gedwongen worden' is voor velen juist een bewuste
> > keuze.
>
> Is dat zo? Zijn er dan echt mensen die bewust kiezen om een programma
> te schrijven dat slechts heel moeilijk overgedragen kan worden naar
> een ander platform? Zijn er mensen die VB verkiezen boven pakweg C++
> omdat ze zeggen : C++ programma's hebben nog een kans op een ander
> platform te draaien, maar met VB lopen we dat risico gelukkig niet?
ik heb bewust voor win32 gekozen ja. ik heb ook bewust voor VB gekozen
voor bepaalde zaken (ADO/database gerelateerde spullen). Ik heb
ook bewust NIET voor portabiliteitszaken gekozen. De reden voor al dit
alles is dat ik het niet nuttig vindt om software te gaan maken voor een
ander platform dan win32, omdat a) mijn klanten daar niet mee werken
b) het veel extra tijd en moeite kost om me daarin te specialiseren wat
resulteert in een vervlakking van de specialistische kennis die ik nu heb
wat resulteert in een meer allround-ik-weet-het-net-niet kennis en daar
pas ik voor c) ik vind (eigen mening) dat win32 platformen mbt ontwikkeltools
en ontwikkelmogelijkheden ver voor lopen op equivalenten. Ook vind ik
(eigen mening) dat bv win2000 ver voor loopt op unices omdat de filosofie
achter het OS en de software basis die het heeft mij veel meer aanspreken dan
de big iron filosofie van bv sun.
Dus kom je uit op... inderdaad.
wat je verder niet snapt is dat er situaties zijn waarbij C++ echt niet
de juiste weg is (sterker, ik ken mensen die vervloeken C++ en alleen maar
java willen programmeren) en VB je veel meer helpt. Door dan de ogen
te sluiten en te zeggen "dat is microsoft, dat pint je vast op 1 platform,
dat is een slechte taal want geen goed idioom" en dan VB links te laten
liggen lijkt me een zwaktebod en geeft IMHO eerder aan dat je ook niet
goed bent in je vak, net zoals broddelaars in allerlei talen dat niet
zijn.
Tuurlijk, als je software maakt die portable MOET zijn omdat de DOELGROEP
(ja, je weet wel, de mensen die de software gaan GEBRUIKEN) dat verlangt,
dan is VB of win32 specifieke talen geen optie, althans niet voor zaken
die werkelijk portable moeten zijn. Maar "choose the right tool for the
job" impliceert dat automatisch.
> Dat lijkt me wel een heel gekke redenering.
>
> Volgens mij kiezen mensen om heel andere reden voor VB en zijn
> ze zich ofwel niet bewust van de beperking of weegt die beperking
> niet op tegen de voordelen die ze denken op een ander vlak te
> krijgen (zoals bij jou het geval is).
hoezo? onderzoek gedaan? of persoonlijk intuitie? Waarom zou
iemand voor VB kiezen als hij op uni/hbo alleen maar C/C++/java
krijgt onderwezen. Omdat de manager het zegt? omdat de doos er
zo glimmend en kleurrijk uitzag?
> Volgens mij is die bewuste keuze dus eerder een keuze 'ondanks'.
nee dat denk ik niet. Ik ben erg blij met VB, omdat het me de mogelijk-
heid geeft om in no-time (ja en onderhoudbaar mr. Basjes Ja en met
een theoretisch dichtgetimmerd ontwerp als basis mr. Basjes) een of
meerdere layers in mn n-tier systems te ontwikkelen. Voor anderen
is het weer een uitkomst omdat ze snel en eenvoudig een gui met
eventhandlers kunnen bouwen die dan COM objects gebruikt die wellicht
in C++ zijn geschreven.
> > Hierbij is het mij juist opgevallen dat met name C++ programmeurs (en zeker
> > die met een C achtergrond) nogal eens 'slim' willen programmeren (x== (++V=
> ^^^^^^^^
> > Zv--) + (-- -Cv += Jv++)) terwijl VB en Delphi ontwikkelaars meer aandachtp
> ^^^^^^ ^^^^ ^^^^^^^^^^^^
>
> Waarom heb ik zo het gevoel dat je dit uit je duim zuigt? Natuurlijk,
> er worden dingen gebruikt door C/C++ programmeurs die _daar_op_lijken_.
> Die voor een buitenstaander die niet met het idioom bekend is
> misschien even 'ingewikkeld' en 'overstaanbaar' lijken, maar dat niet
> zijn.
waarom lijken dingen in VB jou dan wel raar terwijl ze dat OOK niet
zijn?
Verder geef ik Ben gelijk met de bovenstaande constructie. Tuurlijk is
het een voorbeeld, maar ik kom veel C++ code tegen vol met templates
en operator overloads terwijl dit totaal niet nodig is. Voor iemand
die niet 2 jaar van zn leven heeft gespendeerd om C++ tot in de puntjes
te beheersen is het onleesbaar, terwijl er makkelijkere constructies zijn
om het te doen.
> > besteden aan de leesbaarheid van hun code. Nogmaals, het is slechts
> > gebaseerd op de code van een paar honderd programmeurs en niet de miljoenen
> > en ik wil dan ook zeker de term 'de meeste' niet gebruiken, maar het lijkt
> > me toch een redelijke steekproef.
>
> Nogmaals : wat jij daar gaf is _jou_ interpretatie van die echte code,
> en sorry om het je te moeten zeggen, maar er is een hemelsbreed
> verschil met de _echte_ code. Ze lijken op elkaar, net zoals die twee
> personen dezelfde taal leken te spreken. Maar het een is het echte en
> het ander is het valse. En het is oneerlijk om je conclusies over het
> echte te argumenteren met voorbeelden uit het valse.
Ik kwalificeer code als:
if(foo(x--))
bar(y++);
als bagger. En ja ik ben bijna klaar met mn 30.000 regels tellende C/C++
library voor opengl programma's, dus ik programmeer echt wel eens in
C/C++. Dat jij het bovenstaande wellicht efficient vindt, zal best,
ik vind het onleesbaar.
Dat is niet erg, echter de kwaliteit van de TAAL af laten hangen van
wat onverlaten er mee bouwen vind ik wel erg. En dat is precies wat
hier gebeurd: VB wordt door de mangel gehaald met argumenten die echt
kant noch wal raken in veel gevallen, resulterend in gebrabbel over
taalkwaliteit die terug te herleiden is aan de kwaliteit van de
programmeur niet de taal.
ik zou bv het bovenstaande opschrijven als:
x--;
if(foo(x))
{
y++;
bar(y);
}
o gottegod, allerlei optimalisaties weggehaald, extra regels code
toegevoegd... ja inderdaad. Nu kan er nl. commentaar bij, staan er
goede brackets om de true clause van de if en worden variabelen
op hun eigen regels bewerkt. 2 stukken code van dezelfde taal.
Wel van verschillende kwaliteit, ik laat in het midden welke de
beste kwaliteit bevat. Dat is immers relatief. Zo is het
ook met programmeertalen anders dan C++. De een zal het gemak van
VB verafschuwen en die wil precies weten wat er gebeurd als er:
Dim rsadoMyRecordset as new ADODB.recordset
wordt uitgevoerd, anderen interesseert het geen lor en die willen
gewoon verder met hun werk.
FB
Technical Details
Message-ID:
<93pfm9$5hf$1@news1.xs4all.nl>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!bignews.mediaways.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!fr.clara.net!heighliner.fr.clara.net!newsfeed.wirehub.nl!transit.news.xs4all.nl!not-for-mailReferences:
<9351an$f7n$1@news1.skynet.be> <9377d7$jbe$1@news1.skynet.be> <3A572F38.50D749B0@xs4all.nl> <93f8m5$5tf$1@porthos.nl.uu.net> <3A5B58F4.A2EC26E9@xs4all.nl> <93h90p$acu$1@porthos.nl.uu.net> <3A5CB023.748599E@xs4all.nl> <93jtut$npo$1@porthos.nl.uu.net> <3A5E0CDB.799DE750@xs4all.nl> <3A5E18D3.FEA73C86@chello.be> <c2es5toqrrd6mqmdmmeeubu032l3ibsvb6@4ax.com> <93mkk6$3bi$1@porthos.nl.uu.net> <59lu5tcpsbp7oopd87p5n9ho5uu3fdr8r7@4ax.com> <93nugs$faa$1@porthos.nl.uu.net> <sj4o39.6h8.ln@jafshome.gtk.fr>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: 107324,d0015270be29ee92 X-Google-Attributes: gid107324,public X-Google-Thread: fcea4,d0015270be29ee92 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-01-13 03:57:19 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!bignews.mediaways.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!fr.clara.net!heighliner.fr.clara.net!newsfeed.wirehub.nl!transit.news.xs4all.nl!not-for-mail From: "Frans Bouma" <perseus@xs4all.nl> Newsgroups: be.comp.programming,nl.comp.programmeren Subject: Re: Welke codes in VB6 om te voorkomen dat het programma tegelijkertijd uitgevoerd wordt? Date: Sat, 13 Jan 2001 13:00:16 +0100 Organization: Solutions Design Lines: 156 Sender: perseus@11dyn230.dh.casema.net Message-ID: <93pfm9$5hf$1@news1.xs4all.nl> References: <9351an$f7n$1@news1.skynet.be> <9377d7$jbe$1@news1.skynet.be> <3A572F38.50D749B0@xs4all.nl> <93f8m5$5tf$1@porthos.nl.uu.net> <3A5B58F4.A2EC26E9@xs4all.nl> <93h90p$acu$1@porthos.nl.uu.net> <3A5CB023.748599E@xs4all.nl> <93jtut$npo$1@porthos.nl.uu.net> <3A5E0CDB.799DE750@xs4all.nl> <3A5E18D3.FEA73C86@chello.be> <c2es5toqrrd6mqmdmmeeubu032l3ibsvb6@4ax.com> <93mkk6$3bi$1@porthos.nl.uu.net> <59lu5tcpsbp7oopd87p5n9ho5uu3fdr8r7@4ax.com> <93nugs$faa$1@porthos.nl.uu.net> <sj4o39.6h8.ln@jafshome.gtk.fr> Reply-To: "Frans Bouma" <perseus@xs4all.nl> NNTP-Posting-Host: 11dyn230.dh.casema.net Mime-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Trace: news1.xs4all.nl 979386889 5679 212.64.56.230 (13 Jan 2001 11:54:49 GMT) X-Complaints-To: abuse@xs4all.nl NNTP-Posting-Date: 13 Jan 2001 11:54:49 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400