🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #11561

Re: beginner in vb6

#11561
From: Pieter Philippaerts
Date: Thu, 31 Jan 2002 11:33
150 lines
6994 bytes
> Het probleem is niet dat het van Microsoft is, maar dat je vastzit aan ��n
> platform, en regelmatig ook aan ��n versie van het platform.

Als dat je enige (of grootste) probleem is met VB, dan heb ik goed nieuws
voor
je aangezien VB.NET code momenteel draait op Windows, Linux en FreeBSD
(ja, ik weet het, Linux en FreeBSD ports staan nog in hun kinderschoenen,
maar dat is het punt niet; het punt is dat het corss-platform is).

>  Als je een
> programma schrijft dat overwegend Windows API calls maakt, zal daar veel
niet
> van werken op een andere versie van Windows waarvoor je het schrijft, en
dan
> mag je met elke nieuwe Windows versie je programma aanpassen.

Das de eerste keer dat ik daarvan hoor... Als je je beperkt tot de Windows95
API
functies, dan draaien je applicaties perfect op elke 32-bit Windows. Als je
dan toch
een nieuwere API functie wil gebruiken schrijf je daar vlug een kleine
wrapper voor
die ff de windows versie controleert.

> De 'components'
> en 'libraries' van Microsoft zijn ook niet consistent tussen software
versies.

Mja... misschien is het daarom dat ze helemaal opnieuw begonnen zijn met
.NET
(en aangezien de CLR nu beheert wordt door het ECMA, zouden de volgende
versies
in principe consistent moeten zijn met de vorige).

> Ik ben nu voor mijn werk een Windows programma aan't ontwikkelen [tegen
mijn
> zin, ik hou me normaal bezig met het schrijven van automatisatie dingen
onder
> un*x] om data uit een databaseserver te halen en in Excel te gooien.  Nu
> zitten we hier met twee versies van Excel: Excel 2000 en Excel 97.  Ik
schrijf
> natuurlijk in C++, maar heb toch al een lijstje pre-processor macro's om
'u'
> tegen te zeggen, gewoon omdat de Excel 2000 classes niet proper praten met
> Excel 97.  ...dat even terzijde...

Microsofts drang om mensen te laten upgraden naar hun nieuwste software
is inderdaad zeer goed zichtbaar in de Office paketten. Nu ja, als ik in hun
schoenen
stond zou ik waarschijnlijk net hetzelfde doen (niet omdat ik mensen graag h
oofdpijn
bezorg, maar omdat dat commercieel gezien het meest rendabel is).

> > Het feit dat je een programma "opnieuw" moet maken wijst erop dat je
> > "slecht" geprogrammeerd hebt.

De oudere BASIC versies boden je niet veel hulpmiddelen aan om goede code
te schrijven. De hoogste vorm van abstractie was een methode :(

> Niet noodzakelijk.  Als jij je programma linkt met een third-party
library, en
> een nieuwere versie van die library is niet backward-compatible, dan heb
je
> een probleem, en dat probleem is inherent aan Windows, denk ik, met de
> DLL-hel.

DLL hel is gelukkig opgelost in .NET.

> Elke programmeur kan een DLL in het systeem steken, en een 'system
> DLL' overschrijven zonder dat hij rekening houdt met de programma's die
zich
> al baseren op die DLL.

... behalve in Windows2000 en hoger.

>  Onder un*x kan je ook shared libraries overwriten,
> maar men doet het gewoon niet. ;-)

Als diezelfde unix goodwill ook bij de windows programmeurs bestond, dan zou
DLL hell nooit een probleem geweest zijn :)
Het probleem denk ik is dat de meeste programmeurs de standaard instellingen
van hun setup programma zomaar overnemen. Als die standaardinstellingen
dan zijn: 'alle DLLs in de Win\Sys zetten en overwriten als die daar al
bestaat'
dan kan je na een tijdje idd problemen verwachten.

> Ik kan je verzekeren dat het
> geen lolletje is.  De taal laat je gewoon toe -- moedigt je zelfs aan --
om
> vieze code te schrijven.  Daar kan ik niet mee om.

Nah... de drie talen bij uitstek om vieze code in te schrijven zijn toch wel
C, C++
en Perl (ik denk dan zo meteen aan
http://www.thinkgeek.com/stuff/apparel/321a.shtml
en http://www.thinkgeek.com/stuff/apparel/31fe.shtml).

> De vraag is of die 'mooie dingen' ook wel nuttig zijn.  E�n van mijn
leraars
> <SNIP>
> richting (het systeem is je standaard happy editor).

Het is evident dat een VB programma dat enkel 'Hello World' zegt compleet
nutteloos
is, maar zo'n programmas kan je in elke taal schrijven (behalve
lambda-calculus
misschien, nuja).
Momenteel is VB nog altijd de meest gebruikte taal voor administratieve
toepassingen,
dus neem VB weg en de economie stort in elkaar (hetzelfde geldt voor sommige
andere
talen zoals C/C++ en COBOL).

> Als je automatisatietoepassingen moet schrijven die op meerdere platformen
> werken, en ook in low-memory situaties ga je met VB niet ver komen.

Daar is VB ook nooit voor gemaakt. Hier zijn enkele dingen waar VB *niet*
voor gemaakt is:
 - drivers
 - low memory programs
 - spelletjes (dan bedoel ik niet 'MineSweeper', maar eerder 'Half-Life' ed)
 - number crunching
 - multi-platform software
 - ongetwijfeld nog enkele dingen...

Waarvoor is VB dan wel geschikt? Snelle ontwikkeling van
bedrijfstoepassingen.

Het is evident dat, als je twee talen met elkaar wil vergelijken, dat je dan
niet hetgeen
moet vergelijken wat de ene taal niet heeft en de andere wel. Als je nu VB
en C zou
vergelijken op de dingen die ze beide kunnen (bijv. het ontwikkelen van
administratieve
toepassingen) dan zal je merken dat VB hier veel beter scoort dan C,
aangezien de sterke
punten van C (klein, snel) eigenlijk niet veel belang hebben in dit type van
toepassingen
en de sterke punten van VB (RAD) net wel veel belang hebben.

> Als jij een VB programma zou krijgen, geschreven in 1984, of maar een
stukje
> van zo'n programma, denk ik dat je heel wat meer werk zou hebben om het te
> laten werken onder meer moderne systemen...

Waarschijnlijk... het is jammer dat VB nooit gestandariseerd is.


Mvg,
Pieter Philippaerts
Technical Details
Message-ID: <9Q968.56$l%.7545@news.chello.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!195.64.68.27!newsgate.cistron.nl!amsnews01.chello.com!news.chello.be!not-for-mail
References: <pyC58.105321$rt4.8831@afrodite.telenet-ops.be> <a9W58.107457$rt4.8856@afrodite.telenet-ops.be> <rbcg5u82a479t6715830t9ei3thso06v5b@4ax.com> <a39oud$a0h$1@newsreader.mailgate.org> <c4tg5ucjmf89kj583apqbgaqeq4mno8pde@4ax.com> <1e668.108304$rt4.9230@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,4f074f42822f7c22
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-01-31 03:29:15 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!195.64.68.27!newsgate.cistron.nl!amsnews01.chello.com!news.chello.be!not-for-mail
Reply-To: "Pieter Philippaerts" <Pieter@allapi.net>
From: "Pieter Philippaerts" <Pieter@allapi.net>
Newsgroups: be.comp.programming
References: <pyC58.105321$rt4.8831@afrodite.telenet-ops.be> <a9W58.107457$rt4.8856@afrodite.telenet-ops.be> <rbcg5u82a479t6715830t9ei3thso06v5b@4ax.com> <a39oud$a0h$1@newsreader.mailgate.org> <c4tg5ucjmf89kj583apqbgaqeq4mno8pde@4ax.com> <1e668.108304$rt4.9230@afrodite.telenet-ops.be>
Subject: Re: beginner in vb6
Lines: 152
Organization: The KPD-Team
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Message-ID: <9Q968.56$l%.7545@news.chello.be>
Date: Thu, 31 Jan 2002 12:33:30 +0100
NNTP-Posting-Host: 195.162.214.182
X-Complaints-To: abuse@chello.be
X-Trace: news.chello.be 1012476293 195.162.214.182 (Thu, 31 Jan 2002 12:24:53 MET)
NNTP-Posting-Date: Thu, 31 Jan 2002 12:24:53 MET