Bekijk Volledige Versie : Site thuis hosten
Johan Wevers
07/03/05, 23:35
Hallo,
Ik heb een website ontwikkeld in Delphi onder windows. De klant wil
die thuis hosten bij @home, via kabelinternet. Nu blijkt (had ik ook
direct moeten vragen, stom) dat die geen vast IP adres geven maar dat
dat na elke reboot van hun kant anders kan zijn. Ik heb wel gehoord
dat dyndns daarvoor ontwikkeld is, maar weet iemand hoe dat precies
werkt aan de serverkant op een windows (XP prof, evt. win2000) machine?
Als ik kijk bij www.dyndns.org is me dat niet bepaald duidelijk.
Verder vraag ik me af hoe betrouwbaar dat is. Als caching DNS servers
het adres vasthouden krijgen klanten van mijn klant natuurlijk veel
te vaak "the page could not be found" errors.
--
ir. J.C.A. Wevers // Physics and science fiction site:
johanw@vulcan.xs4all.nl // http://www.xs4all.nl/~johanw/index.html
PGP/GPG public keys at http://www.xs4all.nl/~johanw/pgpkeys.html
Johan Wevers schreef:
> Hallo,
>
> Ik heb een website ontwikkeld in Delphi onder windows. De klant wil
> die thuis hosten bij @home, via kabelinternet. Nu blijkt (had ik ook
> direct moeten vragen, stom) dat die geen vast IP adres geven maar dat
> dat na elke reboot van hun kant anders kan zijn. Ik heb wel gehoord
> dat dyndns daarvoor ontwikkeld is, maar weet iemand hoe dat precies
> werkt aan de serverkant op een windows (XP prof, evt. win2000) machine?
> Als ik kijk bij www.dyndns.org is me dat niet bepaald duidelijk.
>
> Verder vraag ik me af hoe betrouwbaar dat is. Als caching DNS servers
> het adres vasthouden krijgen klanten van mijn klant natuurlijk veel
> te vaak "the page could not be found" errors.
>
Dyndns is wel vrij betrouwbaar, de 'lease'tijd wordt zo laag gezet dat
het door DNS srvers vaak wordt opgevraagd, als ik de documentatie mag
geloven.
Overigens, als DNS neit is geupdate krijg je de fout "De server is
tijdelijk niet bereikbaar" of zoiets in Internet Explorer.
Hosting is overigens niet zo duur tegenwoordig, zelfs al wil je wat
lokaal installeren.
Ook heb je met veel andere providers wel een vast ipadres. XS4all heeft
een vast ip-adres en het ipadres bij Wanadoo ADSL-light abonnement bij
mijn moeder thuis is ook al tijden niet veranderd, terwijl de computer
wel vaak uit staat. Daar is wel een router/modem dat is misschien het
verschil.
On Mon, 07 Mar 2005 23:31:46 +0100, Johan Wevers <johanw@xs4all.nl> wrote:
> Hallo,
>
> Ik heb een website ontwikkeld in Delphi onder windows. De klant wil
> die thuis hosten bij @home, via kabelinternet. Nu blijkt (had ik ook
> direct moeten vragen, stom) dat die geen vast IP adres geven maar dat
> dat na elke reboot van hun kant anders kan zijn. Ik heb wel gehoord
> dat dyndns daarvoor ontwikkeld is, maar weet iemand hoe dat precies
> werkt aan de serverkant op een windows (XP prof, evt. win2000) machine?
> Als ik kijk bij www.dyndns.org is me dat niet bepaald duidelijk.
Volgens mij mogen mensen niet zomaar zakelijk hosten bij @home, net als
bij chello enzo. Ik denk dat de klant beter ergens een stukje hosting
kan huren.
Hans
--
http://blacklist.kernelnewbies.nl
Daniel Tryba
08/03/05, 00:15
Johan Wevers <johanw@xs4all.nl> wrote:
> Ik heb een website ontwikkeld in Delphi onder windows.
[snip]
> Als ik kijk bij www.dyndns.org is me dat niet bepaald duidelijk.
Dit lijkt me overigen meer op z'n plaats in internet.algemeen of
nl.comp.netwerken.
Maar wat snap je niet?
-meldt je aan
-verzin een hostname: anything.dyndns.org
-voer het ip addres in
-installeer een update client
klaar
Laat je progs naar die hostname luisten en het zou moeten werken.
> Verder vraag ik me af hoe betrouwbaar dat is. Als caching DNS servers
> het adres vasthouden krijgen klanten van mijn klant natuurlijk veel
> te vaak "the page could not be found" errors.
You get what you pay for?
Maar de ttl van die hostnames is zeer laag...
Maar je kunt dus ook een "offline pagina" bij dyndns kopen.
Rene Pijlman
08/03/05, 00:55
Johan Wevers:
>Ik heb een website ontwikkeld in Delphi onder windows. De klant wil
>die thuis hosten bij @home, via kabelinternet.
Kabelinternet? Daar ben ik vanaf gestapt omdat Usenet-nieuws ophalen al
een te grote belasting bleek te zijn (UPC). En dat was downstream. Als he
een server host gaat de bulk van het verkeer upstream. Dat kan toch niet
serieus bedoeld zijn?
En dan ook nog eens met een dynamisch IP. Hahaha :-)
>Verder vraag ik me af hoe betrouwbaar dat is. Als caching DNS servers
>het adres vasthouden krijgen klanten van mijn klant natuurlijk veel
>te vaak "the page could not be found" errors.
Of de website van de buren.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
On Mon, 07 Mar 2005 23:31:46 +0100, Johan Wevers <johanw@xs4all.nl>
wrote:
>Hallo,
>
>Ik heb een website ontwikkeld in Delphi onder windows. De klant wil
>die thuis hosten bij @home, via kabelinternet. Nu blijkt (had ik ook
>direct moeten vragen, stom) dat die geen vast IP adres geven maar dat
>dat na elke reboot van hun kant anders kan zijn. Ik heb wel gehoord
>dat dyndns daarvoor ontwikkeld is, maar weet iemand hoe dat precies
>werkt aan de serverkant op een windows (XP prof, evt. win2000) machine?
>Als ik kijk bij www.dyndns.org is me dat niet bepaald duidelijk.
>
>Verder vraag ik me af hoe betrouwbaar dat is. Als caching DNS servers
>het adres vasthouden krijgen klanten van mijn klant natuurlijk veel
>te vaak "the page could not be found" errors.
`
Bij een echte provider gaan, en vooral geen windhoos nemen als
serversoftware.
--
server: news.kools-online.com
web: http://www.kools-online.com
info: http://portal.kools-online.com
Johan Wevers
09/03/05, 09:35
cmkools wrote:
> Bij een echte provider gaan, en vooral geen windhoos nemen als
> serversoftware.
Tja, windows was een voorwaarde, evenals MS Access voor de tabellen.
En windows hosting is gewoonlijk niet zo goedkoop.
--
ir. J.C.A. Wevers // Physics and science fiction site:
johanw@vulcan.xs4all.nl // http://www.xs4all.nl/~johanw/index.html
PGP/GPG public keys at http://www.xs4all.nl/~johanw/pgpkeys.html
Edwin Martin
09/03/05, 10:25
Johan Wevers wrote:
>>Bij een echte provider gaan, en vooral geen windhoos nemen als
>>serversoftware.
>
> Tja, windows was een voorwaarde, evenals MS Access voor de tabellen.
> En windows hosting is gewoonlijk niet zo goedkoop.
Het begint er toch wel een beetje op te lijken dat je opdrachtgever een
cheapskate is.
Wat krijg je als de opdracht klaar is? Een ijsje?
Edwin Martin
PS Access is absoluut ongeschikt als je meer dan een handvol
gelijktijdige bezoekers kan verwachten.
--
http://www.bitstorm.org/
Yvette P. Hoitink
10/03/05, 14:55
"Johan Wevers" <johanw@xs4all.nl> wrote in message
news:422CD652.2093B8A3@xs4all.nl...
> Hallo,
>
> Ik heb een website ontwikkeld in Delphi onder windows. De klant wil
> die thuis hosten bij @home, via kabelinternet. Nu blijkt (had ik ook
> direct moeten vragen, stom) dat die geen vast IP adres geven maar dat
> dat na elke reboot van hun kant anders kan zijn. Ik heb wel gehoord
> dat dyndns daarvoor ontwikkeld is, maar weet iemand hoe dat precies
> werkt aan de serverkant op een windows (XP prof, evt. win2000) machine?
> Als ik kijk bij www.dyndns.org is me dat niet bepaald duidelijk.
>
> Verder vraag ik me af hoe betrouwbaar dat is. Als caching DNS servers
> het adres vasthouden krijgen klanten van mijn klant natuurlijk veel
> te vaak "the page could not be found" errors.
>
Je klant heeft een ander probleem, commercieel gebruik van je
thuisaansluiting mag niet van @Home:
http://www.home.nl/producten/voorwaarden/aanv_voorwaarden
<quote>
Persoonlijk, niet commercieel gebruik
Het is abonnees niet toegestaan om domeinnamen te (laten) registreren die
verwijzen naar door @Home beheerde IP-adressen, anders dan door @Home zelf
beheerde domeinnamen.
Het is de Abonnees niet toegestaan om de Kabelinternetdienst (geheel of
gedeeltelijk) weder te verkopen, of door te leveren aan derden zonder
schriftelijk toestemming van de leverancier van de Kabelinternetdienst. Zo
is het bijvoorbeeld niet toegestaan om toegang te verschaffen op het
Internet door middel van een inbelKabelinternetdienst waarbij gebruik wordt
gemaakt van de toegang tot de Kabelinternetdienst, shell accounts over het
Internet te hosten, e-mail of news abonnementen te verstrekken of een
news-feed te verspreiden.
De Kabelinternetdienst is bestemd voor persoonlijk, niet-commercieel gebruik
door consumenten. Het is de abonnee niet toegestaan om via de
Kabelinternetdienst diensten te leveren aan derden.
</quote>
Los daarvan zou ik het je klant ook afraden vanwege de lage upstream.
Bij het bouwen van een professionele website horen voor mij ook het
bespreken van de benodigde technische faciliteiten. Het klinkt alsof je daar
niet aan toe bent gekomen :-(
Elders in de draad schrijf je dat je Access als database gebruikt. Als je
meer dan 2 bezoekers per minuut verwacht voorspel ik al 'server busy'
meldingen. Access is niet bedoeld voor simultaan gebruik.
Als budget een optie is was PHP/MySQL waarschijnlijk een betere optie
geweest want daar kun je al voor een paar tientjes per jaar hosting voor
krijgen i.t.t. Windows oplossingen.
Yvette
Johan Wevers
10/03/05, 21:35
Edwin Martin wrote:
>> Tja, windows was een voorwaarde, evenals MS Access voor de tabellen.
>> En windows hosting is gewoonlijk niet zo goedkoop.
> Het begint er toch wel een beetje op te lijken dat je opdrachtgever een
> cheapskate is.
Nou, eerder iemand die niet zo erg thuis is hierin. Maar de opdrachtgever
is een persoonlijke vriend. En ik had nog nooit een webapp geschreven, dat
wilde ik ook een keer doen. Veel uren die ik besteed heb aan uitzoekwerk
tel ik als leeruren voor mezelf en reken ik niet af. Tenslotte zou hij die
bij een ervaren webprogrammeur ook niet kwijtgeweest zijn.
> PS Access is absoluut ongeschikt als je meer dan een handvol
> gelijktijdige bezoekers kan verwachten.
Dat weet ik ook wel, al viel het gebruik van de ADO componenten van Delphi
me mee. Als ik de standaard Delphi Paradox tabellen gebruik krijg je al een
error als 2 mensen tegelijk aan de tabel willen zitten, en moet je dat
speciaal afvangen. Daar heb ik hier geen last van. Maar ik heb begrepen dat
er hooguit enkele honderden bezoekers per maand komen, dat moet hij makkelijk
kunnen trekken.
--
ir. J.C.A. Wevers // Physics and science fiction site:
johanw@vulcan.xs4all.nl // http://www.xs4all.nl/~johanw/index.html
PGP/GPG public keys at http://www.xs4all.nl/~johanw/pgpkeys.html
John Bokma
10/03/05, 21:45
Yvette P. Hoitink wrote:
> Als budget een optie is was PHP/MySQL waarschijnlijk een betere optie
> geweest want daar kun je al voor een paar tientjes per jaar hosting
> voor krijgen i.t.t. Windows oplossingen.
Buiten NL (en waarom niet) 1 USD/maand. Geen idee waarvoor ze Windows aan
kunnen bieden. Inclusief een domeinnaam zit je rond de 20 euro, dus ja, het
kan. Zal mij niets verbazen als het nog goedkoper kan, maar dat je per jaar
moet betalen.
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Johan Wevers
10/03/05, 21:45
"Yvette P. Hoitink" wrote:
> Je klant heeft een ander probleem, commercieel gebruik van je
> thuisaansluiting mag niet van @Home:
Dat heb ik vaker gehoord bij providers. Wat is de kans dat ze er achter
komen? Gaan ze actief zoeken zolang er geen klachten komen over misbruik?
> Los daarvan zou ik het je klant ook afraden vanwege de lage upstream.
Het is geen zware site. Het gaat om de site die nu statisch te zien is
op http://members.home.nl/wgeraedts/ .
> Bij het bouwen van een professionele website horen voor mij ook het
> bespreken van de benodigde technische faciliteiten. Het klinkt alsof je
> daar niet aan toe bent gekomen :-(
Dat wel, maar heel kort. Er was eigenlijk sprake van een misverstand: ik
meende begrepen te habben dat hij ADSL had, en ik weet dat Xs4all het
draaien van eigen servers expliciet toestaat (zolang er geen zaken op
staan waar justitie al te vervelend over doet).
> Elders in de draad schrijf je dat je Access als database gebruikt.
Dat was een harde eis. Ik zou zelf onder windows in dit geval Interbase
o.i.d. gebruikt hebben.
> Als je
> meer dan 2 bezoekers per minuut verwacht voorspel ik al 'server busy'
> meldingen. Access is niet bedoeld voor simultaan gebruik.
Lokaal testen met 2 gebruikers werkte wel nog. Ik heb vanuit een vorige
werkkring veel slechtere ervaringen met Access, de ADO drivers van
Delphi werken een stuk beter dan die oude Titan drivers.
> Als budget een optie is was PHP/MySQL waarschijnlijk een betere optie
> geweest
Nee, want dan had hij iemand moeten inhuren die elk uur berekende. Ik
ken nl. geen PHP. En dan had er een apart programma moeten bijkomen om
de MySQL tabellen te vullen vanuit zijn eigen Access tabellen. Ik weet
niet hoe lastig dat is; een programma dat die Access tabellen in een
windowtje schrijft en wat spul er omheen schrijf ik binnen een dag.
> want daar kun je al voor een paar tientjes per jaar hosting voor
> krijgen i.t.t. Windows oplossingen.
Vandaar dat hij zelf wil hosten.
--
ir. J.C.A. Wevers // Physics and science fiction site:
johanw@vulcan.xs4all.nl // http://www.xs4all.nl/~johanw/index.html
PGP/GPG public keys at http://www.xs4all.nl/~johanw/pgpkeys.html
John Bokma
10/03/05, 21:55
Johan Wevers wrote:
> Nou, eerder iemand die niet zo erg thuis is hierin. Maar de
> opdrachtgever is een persoonlijke vriend. En ik had nog nooit een
> webapp geschreven, dat wilde ik ook een keer doen. Veel uren die ik
> besteed heb aan uitzoekwerk tel ik als leeruren voor mezelf en reken
> ik niet af.
Aargh, hoelang werk je al in opdracht? Hemel, zodra ik niet hoef te
leren op een opdracht ga ik wat anders doen. Meestal is 70% van de tijd
leren, en ik moet er niet aan denken omdat kado te doen.
> Tenslotte zou hij die bij een ervaren webprogrammeur ook
> niet kwijtgeweest zijn.
Foute gedachte van jou. En inderdaad, die vriend had 10x beter iemand in
kunnen huren *met* ervaring.
> Dat weet ik ook wel, al viel het gebruik van de ADO componenten van
> Delphi me mee. Als ik de standaard Delphi Paradox tabellen gebruik
> krijg je al een error als 2 mensen tegelijk aan de tabel willen
> zitten, en moet je dat speciaal afvangen. Daar heb ik hier geen last
> van. Maar ik heb begrepen dat er hooguit enkele honderden bezoekers
> per maand komen, dat moet hij makkelijk kunnen trekken.
Het gaat niet om per maand, het gaat om gelijktijdig. En het is vrij
normaal dat als 2 mensen aan iets willen zitten dat je dan speciale
maatregelen wilt nemen. Locking heet dat. Wordt vaak vergeten, en gaat
vaak lang goed, tot het een keer mis gaat. Bekende geval:
a: haal teller op
a: haalt 50 van de teller
b: haal teller op
b: haalt 50 van de teller
b: schrijft terug
a: schrijft terug
Heerlijk als een pin automaat zo zou werken, maar helaas.
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
On Thu, 10 Mar 2005 21:41:31 +0100, Johan Wevers <johanw@xs4all.nl> wrote:
>> Als budget een optie is was PHP/MySQL waarschijnlijk een betere optie
>> geweest
>
> Nee, want dan had hij iemand moeten inhuren die elk uur berekende. Ik
> ken nl. geen PHP. En dan had er een apart programma moeten bijkomen om
> de MySQL tabellen te vullen vanuit zijn eigen Access tabellen. Ik weet
> niet hoe lastig dat is; een programma dat die Access tabellen in een
> windowtje schrijft en wat spul er omheen schrijf ik binnen een dag.
Er zijn diverse Mysql client programma's die het rechtstreeks naar access
kunnen exporteren en er ook vanuit kunnen importeren. Het is wel zo dat
je de eventuele functionaliteit er zelf nog omheen moet schrijven.
Hans
--
http://blacklist.kernelnewbies.nl
Yvette P. Hoitink
10/03/05, 22:55
"Johan Wevers" <johanw@xs4all.nl> wrote in message
news:4230B0FB.9339D9EE@xs4all.nl...
> "Yvette P. Hoitink" wrote:
>
> > Je klant heeft een ander probleem, commercieel gebruik van je
> > thuisaansluiting mag niet van @Home:
>
> Dat heb ik vaker gehoord bij providers. Wat is de kans dat ze er achter
> komen? Gaan ze actief zoeken zolang er geen klachten komen over misbruik?
Ik weet niet of ze controleren, maar als ze erachter komen loop je de kans
om afgesloten te worden (en terecht overigens). Die kans loopt ie nu
trouwens ook al, want ook je @Home webspace mag je niet commercieel
gebruiken.
>
> > Los daarvan zou ik het je klant ook afraden vanwege de lage upstream.
>
> Het is geen zware site. Het gaat om de site die nu statisch te zien is
> op http://members.home.nl/wgeraedts/ .
Aha, dus wel degelijk een commerciele site. Voor 15 euro per maand heb je al
een site bij IS met alle faciliteiten die je noemt: http://www.is.nl. Niet
gratis maar dat zijn zijn postzegels ook niet :-)
>
> > Bij het bouwen van een professionele website horen voor mij ook het
> > bespreken van de benodigde technische faciliteiten. Het klinkt alsof je
> > daar niet aan toe bent gekomen :-(
>
> Dat wel, maar heel kort. Er was eigenlijk sprake van een misverstand: ik
> meende begrepen te habben dat hij ADSL had, en ik weet dat Xs4all het
> draaien van eigen servers expliciet toestaat (zolang er geen zaken op
> staan waar justitie al te vervelend over doet).
Eigen servers mag ook wel bij @Home, zolang het maar niet commercieel is.
Hoe dat bij XS4ALL zit weet ik niet.
>
> > Elders in de draad schrijf je dat je Access als database gebruikt.
>
> Dat was een harde eis. Ik zou zelf onder windows in dit geval Interbase
> o.i.d. gebruikt hebben.
>
> > Als je
> > meer dan 2 bezoekers per minuut verwacht voorspel ik al 'server busy'
> > meldingen. Access is niet bedoeld voor simultaan gebruik.
>
> Lokaal testen met 2 gebruikers werkte wel nog. Ik heb vanuit een vorige
> werkkring veel slechtere ervaringen met Access, de ADO drivers van
> Delphi werken een stuk beter dan die oude Titan drivers.
Nog los van de drivers heeft Access zelf gewoon problemen met meerdere
concurrent users. Jammer dat dat een eis was, ik hoop dat je klant daar geen
spijt van krijgt. Aan de andere kant hoop ik natuurlijk voor jullie dat de
site een groot succes wordt en dat je snel uit Access zult groeien ;-)
>
> > Als budget een optie is was PHP/MySQL waarschijnlijk een betere optie
> > geweest
>
> Nee, want dan had hij iemand moeten inhuren die elk uur berekende.
Ah, omdat je sprak over een klant dacht ik dat jij dit ook commercieel deed.
> Ik
> ken nl. geen PHP. En dan had er een apart programma moeten bijkomen om
> de MySQL tabellen te vullen vanuit zijn eigen Access tabellen. Ik weet
> niet hoe lastig dat is;
Dat kan waarschijnlijk zelfs in Access wel door middel van gelinkte tabellen
naar de MySQL database en een paar geschikte queries.
> een programma dat die Access tabellen in een
> windowtje schrijft en wat spul er omheen schrijf ik binnen een dag.
Netjes, dat red ik niet :-)
Yvette
Johan Wevers
11/03/05, 10:45
"Yvette P. Hoitink" wrote:
>> Dat heb ik vaker gehoord bij providers. Wat is de kans dat ze er achter
>> komen? Gaan ze actief zoeken zolang er geen klachten komen over misbruik?
> Ik weet niet of ze controleren, maar als ze erachter komen loop je de kans
> om afgesloten te worden (en terecht overigens). Die kans loopt ie nu
> trouwens ook al, want ook je @Home webspace mag je niet commercieel
> gebruiken.
OK, als dat zo is schat ik de kans laag in. Gewoonlijk is dit een bepaling
die er voor moet zorgen dat overlast gevende sites makkelijk aangepakt
kunnen worden en men zolang er geen overlast is niet moeilijk doet.
> Aha, dus wel degelijk een commerciele site. Voor 15 euro per maand heb je
> al een site bij IS met alle faciliteiten die je noemt: http://www.is.nl.
Ook eigen executables op de server draaien? Ik zal het in ieder geval
doorgeven.
> Niet gratis maar dat zijn zijn postzegels ook niet :-)
De bedoeling is wel dat hij er winst op maakt. :-)
> Eigen servers mag ook wel bij @Home, zolang het maar niet commercieel is.
> Hoe dat bij XS4ALL zit weet ik niet.
Hoe het formeel zit weet ik niet, maar in de praktijk doet Xs4all pas
moeilijk als er serieuze klachten komen of als je extreem veel traffic
trekt (al is dat laatste net afgeschaft). Dat wil in de praktijk dus
zeggen dat zolang je geen warez, kinderporno of ander copyrighted spul
waar advocaten over klagen host je kunt doen wat je wilt.
> Nog los van de drivers heeft Access zelf gewoon problemen met meerdere
> concurrent users. Jammer dat dat een eis was, ik hoop dat je klant daar
> geen spijt van krijgt. Aan de andere kant hoop ik natuurlijk voor jullie
> dat de site een groot succes wordt en dat je snel uit Access zult groeien
> ;-)
Het ging er eigenlijk om de site zoals die nu is te automatiseren: i.p.v.
een bestelformulier te downloaden de bestellingen direct per email door
te sturen, en die bestellingen werken de voorraad ook direct bij. Die
database moet liefst ook lokaal staan zodat hij hem meteen als eigen
voorraadoverzicht kan gebruiken.
>> een programma dat die Access tabellen in een
>> windowtje schrijft en wat spul er omheen schrijf ik binnen een dag.
> Netjes, dat red ik niet :-)
Kwestie van de juiste tool gebruiken. Met Delphi componenten is een frame
dat zoiets doet al binnen een halfuur klaar (grid op window, aan tabel
koppelen, DBnavigator met update knop en klaar). Als je het een beetje
idiot proof wilt maken, en wat zaken netjes wilt afhandelen (tabel
selectiescherm i.p.v. hardcoded tabel, veld B dat automatisch meeveranderd
met veld B, foto's van de zegels op het scherm zetten, etc.), kost het je
de rest van de dag. :-)
--
ir. J.C.A. Wevers // Physics and science fiction site:
johanw@vulcan.xs4all.nl // http://www.xs4all.nl/~johanw/index.html
PGP/GPG public keys at http://www.xs4all.nl/~johanw/pgpkeys.html
Johan Wevers wrote:
> "Yvette P. Hoitink" wrote:
< KNIP >
Bij Vevida hosten met eigen domeinnaam voor de onderstaande gegevens is/kan
niet te duur zijn denk ik.
Uw pakket
.. Registratie van uw domein xxxxxxxxxxxx.nl, ordernr *****
.. Registratietype' Particulier
.. Hosting van uw website
.. 150 Mb ruimte voor uw website
.. 10 POP3 e-mailadressen
.. 10 Gb dataverkeer per maand
Dit complete pakket kost u slechts ? 39 00 per jaar exclusief BTW (? 46-41
inclusief BTW)
--
Groetjes
Simon
Stay healthy and happy
http://www.simonnoot.nl
http://www.buurtenonline.nl
Johan Wevers
11/03/05, 23:55
Simon wrote:
> Bij Vevida hosten met eigen domeinnaam voor de onderstaande gegevens is/kan
> niet te duur zijn denk ik.
[...]
> . Hosting van uw website
Welk OS? Wat kan ik op die server allemaal draaien aan eigen programma's?
Als je al iets zelf kunt draaien beperkt zich dat in zo'n geval gwoonlijk
tot Perl en PHP.
--
ir. J.C.A. Wevers // Physics and science fiction site:
johanw@vulcan.xs4all.nl // http://www.xs4all.nl/~johanw/index.html
PGP/GPG public keys at http://www.xs4all.nl/~johanw/pgpkeys.html
John Bokma
12/03/05, 00:35
Johan Wevers wrote:
> Simon wrote:
>
>> Bij Vevida hosten met eigen domeinnaam voor de onderstaande gegevens
>> is/kan niet te duur zijn denk ik.
> [...]
>> . Hosting van uw website
>
> Welk OS? Wat kan ik op die server allemaal draaien aan eigen
> programma's? Als je al iets zelf kunt draaien beperkt zich dat in zo'n
> geval gwoonlijk tot Perl en PHP.
Java, shell scripts, C, C++ (in mijn geval).
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
John Bokma wrote:
> Johan Wevers wrote:
>
>> Simon wrote:
>>
>>> Bij Vevida hosten met eigen domeinnaam voor de onderstaande gegevens
>>> is/kan niet te duur zijn denk ik.
>> [...]
>>> . Hosting van uw website
>>
>> Welk OS? Wat kan ik op die server allemaal draaien aan eigen
>> programma's? Als je al iets zelf kunt draaien beperkt zich dat in
>> zo'n geval gwoonlijk tot Perl en PHP.
>
> Java, shell scripts, C, C++ (in mijn geval).
Ik was even vergeten de url erbij te plaatsen, vandaar alsnog.
http://www.vevida.nl
Simon
Stay healthy and happy
http://www.simonnoot.nl
http://www.buurtenonline.nl
Johan Wevers
13/03/05, 15:35
John Bokma wrote:
> > Welk OS? Wat kan ik op die server allemaal draaien aan eigen
> > programma's? Als je al iets zelf kunt draaien beperkt zich dat in zo'n
> > geval gwoonlijk tot Perl en PHP.
>
> Java, shell scripts, C, C++ (in mijn geval).
Betekend dat dat je C/C++ code kunt uploaden en via hun compiler
compileren, of dat je zelf executables kunt uploaden?
--
ir. J.C.A. Wevers // Physics and science fiction site:
johanw@vulcan.xs4all.nl // http://www.xs4all.nl/~johanw/index.html
PGP/GPG public keys at http://www.xs4all.nl/~johanw/pgpkeys.html
John Bokma
13/03/05, 21:15
Johan Wevers wrote:
> John Bokma wrote:
>
>> > Welk OS? Wat kan ik op die server allemaal draaien aan eigen
>> > programma's? Als je al iets zelf kunt draaien beperkt zich dat in zo'n
>> > geval gwoonlijk tot Perl en PHP.
>>
>> Java, shell scripts, C, C++ (in mijn geval).
>
> Betekend dat dat je C/C++ code kunt uploaden en via hun compiler
> compileren, of dat je zelf executables kunt uploaden?
Het eerste. Het laatste is altijd mogelijk.
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
John Bokma
15/03/05, 18:25
Johan Wevers wrote:
> John Bokma wrote:
>
>> Aargh, hoelang werk je al in opdracht?
>
> Enkele maanden, maar bepaald niet volcontinue.
Gelukkig maar (niet volcontinue).
>> Hemel, zodra ik niet hoef te
>> leren op een opdracht ga ik wat anders doen.
>
> Als je opdrachten genoeg hebt kun je dat natuurlijk makkelijk stellen.
>
>> Meestal is 70% van de tijd leren,
>
> Da's wel erg veel.
Maar in mijn geval gewoon praktijk. En ik gok dat ik niet de enige
freelance ontwikkelaar waarvoor elke opdracht iets nieuws is. Ik heb nog
niet meegemaakt dat ik een stuk eerder geschreven code uit de kast kon
trekken, beetje aanpassen, en klaar.
>> Foute gedachte van jou. En inderdaad, die vriend had 10x beter iemand
>> in kunnen huren *met* ervaring.
>
> Met ervaring op dit gebied bedoel je. Dat had hem veel meer gekost.
Dan werk je voor een appel en een ei :-D. Niets mis mee als het hobby is
(hoewel, ook voor hobby kan je gewoon een goede vergoeding vragen).
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Nico Coesel
18/03/05, 18:45
"Yvette P. Hoitink" <hoitink @ home . nl (nospam)> wrote:
>Elders in de draad schrijf je dat je Access als database gebruikt. Als je
>meer dan 2 bezoekers per minuut verwacht voorspel ik al 'server busy'
>meldingen. Access is niet bedoeld voor simultaan gebruik.
Pertinente onzin. Je kunt een Access database prima met meerdere
gebruikers delen. Alleen krijg je boven een bepaald aantal gebruikers
(10 of zo) en een bepaald aantal records (100000 dacht ik) performance
problemen.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
Nico Coesel
18/03/05, 18:45
Johan Wevers <johanw@xs4all.nl> wrote:
>
>Nee, want dan had hij iemand moeten inhuren die elk uur berekende. Ik
>ken nl. geen PHP. En dan had er een apart programma moeten bijkomen om
>de MySQL tabellen te vullen vanuit zijn eigen Access tabellen. Ik weet
>niet hoe lastig dat is; een programma dat die Access tabellen in een
>windowtje schrijft en wat spul er omheen schrijf ik binnen een dag.
Als je C en Perl een beetje kent, dan ken je ook PHP. Bovendien heeft
Mysql ook een ODBC driver. Je kunt als je je applikatie slim hebt
geschreven zo een Mysql database gebruiken in plaats van Access.
Vanuit Access kun je ook een Mysql (of ieder andere) database
benaderen.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
Yvette P. Hoitink
18/03/05, 19:35
"Nico Coesel" <nico@puntnl.niks> wrote in message
news:423b11c1.847834271@news.planet.nl...
> "Yvette P. Hoitink" <hoitink @ home . nl (nospam)> wrote:
>
> >Elders in de draad schrijf je dat je Access als database gebruikt. Als je
> >meer dan 2 bezoekers per minuut verwacht voorspel ik al 'server busy'
> >meldingen. Access is niet bedoeld voor simultaan gebruik.
>
> Pertinente onzin. Je kunt een Access database prima met meerdere
> gebruikers delen. Alleen krijg je boven een bepaald aantal gebruikers
> (10 of zo) en een bepaald aantal records (100000 dacht ik) performance
> problemen.
>
Ik ontken ook niet dat je een Access database met meerdere gebruikers kan
delen. Mijn laatste opmerking was inderdaad wat te kort door de bocht, ik
had moeten schrijven dat Access niet ontwikkeld was voor op grote schaal
parallel raadplegen van de database. Je kunt Access wel gebruiken voor
simultaan gebruik, maar het is er eigenlijk niet voor bedoeld waardoor je al
snel tegen 'server busy' problemen aanloopt.
Ik heb zelf slechte ervaringen met het gebruik van Access op websites, maar
dat waren wel websites met duizenden bezoekers per dag (vandaar die 2
bezoekers per minuut).
Yvette
John Bokma
18/03/05, 21:05
Nico Coesel wrote:
> Johan Wevers <johanw@xs4all.nl> wrote:
>>
>>Nee, want dan had hij iemand moeten inhuren die elk uur berekende. Ik
>>ken nl. geen PHP. En dan had er een apart programma moeten bijkomen om
>>de MySQL tabellen te vullen vanuit zijn eigen Access tabellen. Ik weet
>>niet hoe lastig dat is; een programma dat die Access tabellen in een
>>windowtje schrijft en wat spul er omheen schrijf ik binnen een dag.
>
> Als je C en Perl een beetje kent, dan ken je ook PHP.
Ik ken C goed en Perl extreem goed, maar ik ken geen PHP [1].
Hoe kan dat nu?
Een nieuwe taal leren kost tijd. PHP lijkt op een misvormt soort Perl, maar
dat wil nog niet zeggen dat je zo ff PHP kan doen. Daarnaast moet je ook
nog eens de berg functies leren en hoe je Perl dingen in PHP doet.
[1] Ja, ik kan er iets in maken, maar dat kost mij veel opzoekwerk.
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Nico Coesel
20/03/05, 10:45
John Bokma <postmaster@castleamber.com> wrote:
>Nico Coesel wrote:
>
>> Johan Wevers <johanw@xs4all.nl> wrote:
>>>
>>>Nee, want dan had hij iemand moeten inhuren die elk uur berekende. Ik
>>>ken nl. geen PHP. En dan had er een apart programma moeten bijkomen om
>>>de MySQL tabellen te vullen vanuit zijn eigen Access tabellen. Ik weet
>>>niet hoe lastig dat is; een programma dat die Access tabellen in een
>>>windowtje schrijft en wat spul er omheen schrijf ik binnen een dag.
>>
>> Als je C en Perl een beetje kent, dan ken je ook PHP.
>
>Ik ken C goed en Perl extreem goed, maar ik ken geen PHP [1].
>Hoe kan dat nu?
Geen idee. Misschien ken je PHP al beter dan je denkt :-)
Naar mijn mening hoef je niet alle facetten van een taal door en door
te kennen om er een applikatie mee te maken. In geval van een nieuwe
taal zoek ik een voorbeeldje op voor de syntax en ik begin met
programmeren van _mijn_ applicatie. Eventuele hobbels los ik gaandeweg
op (er staan genoeg voorbeelden op internet). Met de noodzaak om meer
met de betreffende taal te doen, groeit mijn expertise.
Als je het abstract bekijkt: Iedere programmeertaal heeft tot doel het
beschrijven van een procedurele oplossing voor een probleem. Op iedere
taal zijn gangbare programmeertechnieken toepasbaar. Dan blijven de
syntax en beschikbare functies over als variabele factoren.
Over de syntax van PHP heb ik het al gehad, de functies worden
beschreven in een uitgebreide gebruiksaanwijzing.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
John Bokma
20/03/05, 21:55
Nico Coesel wrote:
> John Bokma <postmaster@castleamber.com> wrote:
>
>>Nico Coesel wrote:
>>
>>> Johan Wevers <johanw@xs4all.nl> wrote:
>>>>
>>>>Nee, want dan had hij iemand moeten inhuren die elk uur berekende.
>>>>Ik ken nl. geen PHP. En dan had er een apart programma moeten
>>>>bijkomen om de MySQL tabellen te vullen vanuit zijn eigen Access
>>>>tabellen. Ik weet niet hoe lastig dat is; een programma dat die
>>>>Access tabellen in een windowtje schrijft en wat spul er omheen
>>>>schrijf ik binnen een dag.
>>>
>>> Als je C en Perl een beetje kent, dan ken je ook PHP.
>>
>>Ik ken C goed en Perl extreem goed, maar ik ken geen PHP [1].
>>Hoe kan dat nu?
>
> Geen idee. Misschien ken je PHP al beter dan je denkt :-)
Nee. Sterker, ik vind het idee dat als je a en b kent dat je dan ook c
wel doorhebt erg onjuist. Ik herinner mij dat men dat ook riep van Java.
Ken je C++? Oh, dan heb je Java zo door. Niet dus. Java door hebben is
*juist* de (soms niet zo) subtiele verschillen tussen Java en C++
doorhebben. En niet C++ in Java proberen te modderen.
> Naar mijn mening hoef je niet alle facetten van een taal door en door
> te kennen om er een applikatie mee te maken.
Oh, zeker. Sterker ik ken 10 jaar Perl maar zeker niet alle facetten. Ik
moet nog steeds iets opzoeken als ik het ff niet gedaan heb.
Maar er is een verschil tussen een beetje PHP aankloten en er in
programmeren. Helaas, ik zie te vaak dat eerste. Jaaa, het is net Basic.
> In geval van een nieuwe
> taal zoek ik een voorbeeldje op voor de syntax en ik begin met
> programmeren van _mijn_ applicatie.
Tja, en naar mijn niet zo heel erg bescheiden mening is dat de meest
foute manier om het te leren.
Ikzelf ben nu Python aan het leren. Oh, het is net C, Perl, en Miranda,
of zoiets. Maar ik wil geen C+Perl+Miranda programmeren, ik wil Python
programmeren.
Dus heb ik eerst ff de tutorial doorgelezen, vervolgens Dive into
Python. Die laatste ben ik nu opnieuw aan het lezen, en ik maak
aantekeningen.
Voor mij is dat de beste manier: lees 1 boek (speed), hop, stoor je niet
aan wat je niet begrijpt, op naar het volgende hoofdstuk. Maak het
liefst nog geen aantekeningen (want dat worden er te veel). Dingen die
je echt niet snapt kan je evt met een ? markeren.
Einde van het boek? Hop terug naar het begin, en dan merk je al dat het
eenvoudiger leest. Maak nu wel aantekeningen, en test wat stukjes code.
Dive into Python is hier min of meer op geschreven, en werkt perfect.
> Eventuele hobbels los ik gaandeweg
> op
En dus "ontdek" jij een vreemd dialect. Leuk hoor, en ja, je krijgt
uiteindelijk wel iets werkend. Het vervelende is dat je code extreem
onleesbaar is voor iemand die wat langer in de taal zit.
Ik zie regelmatig dingen in Perl code (ik vertel zo de bron), a la:
for ( $i = 0; $i < 100; $i++ ) {
print("<td>\n");
printf("%d\n", @items[ $i ]);
print("</td>");
}
Wellicht herken je dit wel van vakantie, waar b.v. Nederlanders met een
soort Amerikaans accent Nederlands en wat Engels mixen, en hopen dat de
ander het perfect begrijpt.
> (er staan genoeg voorbeelden op internet).
Yup, en ik denk dat je gerust kan zeggen dat 90% daarvan rommel is.
Zeker de "scripttalen" Perl en PHP.
> Met de noodzaak om meer
> met de betreffende taal te doen, groeit mijn expertise.
Maar tijdens de groei lever je allerlei gedrochten op. Is niet zo heel
erg als het eigen werk is, en niemand anders hoeft de code te
onderhouden. Hoewel, als je zelf na 3 jaar in die code moet duiken
schrik je je ook rot.
Ik heb met beide manieren van leren ervaring. Soms krijg ik wel eens een
opdracht waarvoor ik een nieuwe taal moet leren. Toevallig was dat
(o.a.) twee keer een BASIC dialect. Bij een opdracht lijkt er vaak geen
tijd voor de 1e manier, en dus begint men (ik) maar. Echter, achteraf:
al die opzoek tijd, en het uitpuzzelen van stukjes code, was dat niet
meer tijd?
Ik kan in ca. 2 uur 2 Python boeken doorlezen, en na die 2 uur
"programmeren" in Python. Ik weet dan dat ik echter maanden nodig heb om
echt Python te produceren, en als ik de libraries wil gebruiken, nog
meer maanden.
Mijn plan van aanpak is dus:
- bestudeer boeken (Dive into is gratis te downloaden, en diverse Python
tutorials bij de bron). En bestuderen is dus: elk hoofdstuk kunnen
lezen en snappen. En snel terug kunnen vinden.
- herlees boek, maak aantekeningen, probeer stukjes code uit.
- bestudeer *grondig* de beschikbare modules (library), maak
aantekeningen van de meest handige modules.
- lees python groepen mee
- bekijk source van goed geprogrammeerde dingen
Yup, ik hoor het nu al: maar dan zit je dagen, weken (nah, valt wel mee)
*niet* achter de computer, en produceer je niks.
Maar na die initiele "trage" aanloop heb ik Python beter in mijn vingers
dan iemand die wellicht 3 tot 5 maal zo lang op de kloot maar aan
methode bezich is geweest.
> Als je het abstract bekijkt: Iedere programmeertaal heeft tot doel het
> beschrijven van een procedurele oplossing voor een probleem.
Hoe zit dat met functionele programmeertalen ;-)
> Op iedere
> taal zijn gangbare programmeertechnieken toepasbaar. Dan blijven de
> syntax en beschikbare functies over als variabele factoren.
Ah, maar daar zit al een hele grote fout. De gangbare
programmeertechnieken schrijf je in de ene taal heel anders op dan de
ander. Sterker, sommige talen hebben niet standaard bepaalde technieken
aan boord. Zo zal iemand in b.v. C veel minder snel naar reguliere
expressies grijpen dan iemand in Perl.
En dan heb ik het nog niet over dingen als lazy evaluation.
> Over de syntax van PHP heb ik het al gehad,
Yup, en die wijkt hier en daar stevig af van Perl. Er zitten massa's
valkuilen in de taal. Kwalijker, soms verandert dat nogal.
> de functies worden
> beschreven in een uitgebreide gebruiksaanwijzing.
Yup, en wat dus bitter slecht werkt is: ik wil dit doen, laten we eens
ff kijken of daar een functie voor is. (Wat vaak neerkomt: hmmm, ik hack
het wel ff zelf).
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Nico Coesel
21/03/05, 23:15
John Bokma <postmaster@castleamber.com> wrote:
>Nico Coesel wrote:
>
>> John Bokma <postmaster@castleamber.com> wrote:
>>
>>>Nico Coesel wrote:
>>>
>>>> Johan Wevers <johanw@xs4all.nl> wrote:
>>>>>
>>>>>Nee, want dan had hij iemand moeten inhuren die elk uur berekende.
>>>>>Ik ken nl. geen PHP. En dan had er een apart programma moeten
>>>>>bijkomen om de MySQL tabellen te vullen vanuit zijn eigen Access
>>>>>tabellen. Ik weet niet hoe lastig dat is; een programma dat die
>>>>>Access tabellen in een windowtje schrijft en wat spul er omheen
>>>>>schrijf ik binnen een dag.
>>>>
>>>> Als je C en Perl een beetje kent, dan ken je ook PHP.
>>>
>>>Ik ken C goed en Perl extreem goed, maar ik ken geen PHP [1].
>>>Hoe kan dat nu?
>>
>> Geen idee. Misschien ken je PHP al beter dan je denkt :-)
>
>Nee. Sterker, ik vind het idee dat als je a en b kent dat je dan ook c
>wel doorhebt erg onjuist. Ik herinner mij dat men dat ook riep van Java.
>Ken je C++? Oh, dan heb je Java zo door. Niet dus. Java door hebben is
>*juist* de (soms niet zo) subtiele verschillen tussen Java en C++
>doorhebben. En niet C++ in Java proberen te modderen.
>
>> Naar mijn mening hoef je niet alle facetten van een taal door en door
>> te kennen om er een applikatie mee te maken.
>
>Oh, zeker. Sterker ik ken 10 jaar Perl maar zeker niet alle facetten. Ik
>moet nog steeds iets opzoeken als ik het ff niet gedaan heb.
>
>Maar er is een verschil tussen een beetje PHP aankloten en er in
>programmeren. Helaas, ik zie te vaak dat eerste. Jaaa, het is net Basic.
Als je niet kunt programmeren / software ontwerpen, dan wordt het
nooit wat. Ongeacht de taal. Helaas zijn er nog vele webdesigners die
het programmeren er nog wel even bij doen.
>> In geval van een nieuwe
>> taal zoek ik een voorbeeldje op voor de syntax en ik begin met
>> programmeren van _mijn_ applicatie.
>
>Tja, en naar mijn niet zo heel erg bescheiden mening is dat de meest
>foute manier om het te leren.
Het is een vorm van extreme programming. Knip en plak je eerste
programma in elkaar van bestaande code en focusseer alleen op de
probleemgebieden.
>Ikzelf ben nu Python aan het leren. Oh, het is net C, Perl, en Miranda,
>of zoiets. Maar ik wil geen C+Perl+Miranda programmeren, ik wil Python
>programmeren.
>
>
>Voor mij is dat de beste manier: lees 1 boek (speed), hop, stoor je niet
>aan wat je niet begrijpt, op naar het volgende hoofdstuk. Maak het
>
>> Eventuele hobbels los ik gaandeweg
>> op
>
>En dus "ontdek" jij een vreemd dialect. Leuk hoor, en ja, je krijgt
>uiteindelijk wel iets werkend. Het vervelende is dat je code extreem
>onleesbaar is voor iemand die wat langer in de taal zit.
Juist niet, zie onder.
>Ik zie regelmatig dingen in Perl code (ik vertel zo de bron), a la:
>
>for ( $i = 0; $i < 100; $i++ ) {
>
> print("<td>\n");
> printf("%d\n", @items[ $i ]);
> print("</td>");
>}
Niets mis mee toch? Perfect juist; leesbaar voor iemand die ook C kent
(en wellicht nog wat andere talen). Lekker standaard (C kun je toch
min of meer als standaard beschouwen). Programma's moet je vooral
standaard houden dan kan iedereen ze onderhouden.
Mensen die langer met een programmeertaal bezig zijn gebruiken vaak
allerlei truukjes en shortcuts. De ervaring leert dat juist het
gebruik van deze truukjes en shortcuts het onderhoud aan software voor
anderen lastig maakt. De kans dat iemand naar je code kijkt die meer
ervaring heeft dan jezelf is kleiner dan de kans dat iemand naar je
code die minder ervaring heeft dan jezelf.
>Ik kan in ca. 2 uur 2 Python boeken doorlezen, en na die 2 uur
>"programmeren" in Python. Ik weet dan dat ik echter maanden nodig heb om
>echt Python te produceren, en als ik de libraries wil gebruiken, nog
>meer maanden.
In het vakgebied waarin ik momenteel nog werkzaam ben, ben je dan
compleet onbruikbaar :-) Deze week iets met DCOM objecten, volgende
week iets met een seriele poort en de week daarna weer een of ander
protocol dat via UDP berichten loopt en op Linux moet draaien. Als ik
eerst alles zou lezen, dan zou ik alleen maar aan het lezen zijn en
het werk komt niet af. Uit de documentatie pikken wat nodig is (en dat
tot op het bot uitpluizen) en de rest laten liggen is het devies.
Een resultaat dat werkt, onder alle omstandigheden blijft werken en
onderhoudbaar is, is veel belangrijker dan een efficient taalgebruik.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
John Bokma
22/03/05, 04:45
Nico Coesel wrote:
> John Bokma <postmaster@castleamber.com> wrote:
> Als je niet kunt programmeren / software ontwerpen, dan wordt het
> nooit wat. Ongeacht de taal. Helaas zijn er nog vele webdesigners die
> het programmeren er nog wel even bij doen.
Omgekeerd ook :-D. Maar je mist mijn punt. Iemand die goed kan
programmeren en ff hop hop PHP leert in 3 dagen, die zal in het begin
zeer zeker niet goed PHP programmeren (of welke taal dan ook). Sterker,
ik beweer nu probleemloos dat die aankloot code gewoon na 3 maanden ook
door de uitvoerder als gekloot wordt aangemerkt (excuses voor het
Frans).
>>> In geval van een nieuwe
>>> taal zoek ik een voorbeeldje op voor de syntax en ik begin met
>>> programmeren van _mijn_ applicatie.
>>
>>Tja, en naar mijn niet zo heel erg bescheiden mening is dat de meest
>>foute manier om het te leren.
>
> Het is een vorm van extreme programming.
Extreem gekloot. Werkt prima voor u roept, wij draaien. Maar niet als
het over 3 maanden eens onderhouden moet worden. Ok, uitzondering zijn
kleine dingen, ook omdat je bij kleine dingen vaak min of meer op het
zelfde uitkomt.
Maar zodra het een groot project is, wordt het diepe tranen als er
mensen op werken die ff on-the-fly denken een taal te kunnen leren.
> Knip en plak je eerste
> programma in elkaar van bestaande code en focusseer alleen op de
> probleemgebieden.
Jaaa, heerlijk, ik heb zo een ding gezien met 650 perl modules. Na een
paar jaar was het probleemgebied de gehele applicatie. En wellicht ook
dat niemand er langer dan 3 maanden onderhoud op kon doen (ik verving de
vervanger of zoiets, en werd ook weer vervangen).
>>En dus "ontdek" jij een vreemd dialect. Leuk hoor, en ja, je krijgt
>>uiteindelijk wel iets werkend. Het vervelende is dat je code extreem
>>onleesbaar is voor iemand die wat langer in de taal zit.
>
> Juist niet, zie onder.
Vreemd, ik zie dat al zo'n 20 jaar in de praktijk gebeuren, ook bij
eigen werk als ik het op de door jouw omschreven manier doe.
>>Ik zie regelmatig dingen in Perl code (ik vertel zo de bron), a la:
>>
>>for ( $i = 0; $i < 100; $i++ ) {
>>
>> print("<td>\n");
>> printf("%d\n", @items[ $i ]);
>> print("</td>");
>>}
>
> Niets mis mee toch? Perfect juist;
Omdat je wellicht geen Perl kent. Voor iemand die dagelijks Perl
programmeert is dit dus extreem lastig te lezen. Daarnaast mankeren er
wat dingen aan.
> leesbaar voor iemand die ook C kent
Juist, en die zal dus de helft van mijn Perl, en Perl van elke
programmeur die het langer doet dan 2 jaar niet kunnen lezen. En
omgekeerd, zijn halve C pogingen maken de Perl code onleesbaar, en
ononderhoudbaar.
Door te zeggen dat ik ongelijk heb, bevestig je alleen maar mijn gelijk
:-D
> (en wellicht nog wat andere talen). Lekker standaard (C kun je toch
> min of meer als standaard beschouwen). Programma's moet je vooral
> standaard houden dan kan iedereen ze onderhouden.
Mis, bovenstaande code is extreem onhandig in Perl (ook omdat er een
foute aanname in zit, maar een die *juist* gemaakt wordt als een C
programmeur aan de Perl gaat).
> Mensen die langer met een programmeertaal bezig zijn gebruiken vaak
> allerlei truukjes en shortcuts. De ervaring leert dat juist het
> gebruik van deze truukjes en shortcuts het onderhoud aan software voor
> anderen lastig maakt.
Wiens ervaring? Ah, de ervaring van de onervaren programmeur. Oh, vast,
ik denk dat een C programmeur die Perl op de aankloot manier geleerd
heeft niet 1,2,3 dit snapt:
print "<td>\n$_\n</td>" for @items;
En toch is dit gelijk aan bovenstaande "C" gepruts (ff uitgegaan dat
@items 100 dingen bevat).
En sterker, het is nog leesbaarder ook: druk af voor alle dingen. Geen
zorgen om ondergrens, bovengrens, enz.
Ik ben het niet zo ver eens met Dijkstra, die ooit iets riep dat als
iemand ooit Basic had geprogrammeerd had die verloren was, maar iemand
die denkt dat Perl een soort C on acid is, is verkeerd bezig.
> De kans dat iemand naar je code kijkt die meer
> ervaring heeft dan jezelf is kleiner
In mijn geval met Perl of Java of straks Python, ja, zal vaak opgaan.
Maar die bovenstaande Perl = C prutser? Ik hoop van harte van niet.
> dan de kans dat iemand naar je
> code die minder ervaring heeft dan jezelf.
En zo filter je dus mensen die nog meer aankloten dus mooi uit als je
het op mijn manier doet. Ik bedoel, wie neemt er een zeer onervaren
programmeur aan die zo dom programmeert dat iemand met nog minder
ervaring het ook kan snappen? Hemeltje.
Ga jij in Java ook in C zitten programmeren, dus geen OO maar (want dat
is complex)? Iets van C is de ondergrens?
En merk op: ik promoot niet om de smart ass uit te hangen, dat zie ik
ook wel eens in code, iemand die denkt dat als het allemaal op 1 regel
past dat het dan helemaal mooi is.
Maar wel: gebruik idiomen die gangbaar zijn in de taal. De bovengenoemde
.... for .. is er zo een.
>>Ik kan in ca. 2 uur 2 Python boeken doorlezen, en na die 2 uur
>>"programmeren" in Python. Ik weet dan dat ik echter maanden nodig heb
>>om echt Python te produceren, en als ik de libraries wil gebruiken,
>>nog meer maanden.
>
> In het vakgebied waarin ik momenteel nog werkzaam ben, ben je dan
> compleet onbruikbaar :-)
Een klassieke vergissing. Vaak gedaan door mensen die menen dat
programmeren 12 uur lang knopjes indrukken is.
Op "jouw" manier leren programmeren betekent dat je alle nieuwe kennis
op te breken in brokken die dom genoeg zijn, en je leert dus in feite
niks nieuws. En als er vervolgens iemand naar kijkt die een paar jaar er
in zit, dan heeft die geen idee waar het gekloot over gaat.
> Deze week iets met DCOM objecten, volgende
> week iets met een seriele poort en de week daarna weer een of ander
> protocol dat via UDP berichten loopt en op Linux moet draaien. Als ik
> eerst alles zou lezen, dan zou ik alleen maar aan het lezen zijn en
> het werk komt niet af. Uit de documentatie pikken wat nodig is (en dat
> tot op het bot uitpluizen)
Ben je stiekem toch aan het lezen geslagen. Je kan iets pas overslaan
als je weet wat er staat natuurlijk.
Tenzij het totaal buiten hetgeen wat je nodig hebt valt, ik ga voorlopig
ook niet leren hoe ik C code met Python kan interfacen. Maar ik heb wel
gelezen dat het kan (en dus kan ik het opzoeken).
Jouw manier van leren klinkt mij te veel in de oren als:
nieuwe taal: ok, ik heb een variabele nodig, index.... variabele...
pagina 20. Ok, nu wil ik printen naar het scherm, print... print... ah,
ok, print... Nu wil ik een for loop... for... for...
> en de rest laten liggen is het devies.
En dus krijg je halfbrakke implementaties die vaak terugkomen als je
niet voldoende gelezen hebt. Je verschuift dan de ellende naar een later
tijdstip. Als je wel voldoende gelezen hebt, ben je het met mij eens
:-D.
> Een resultaat dat werkt, onder alle omstandigheden blijft werken en
> onderhoudbaar is, is veel belangrijker dan een efficient taalgebruik.
Ik hoop dat soort code niet vaak onder ogen te krijgen. De laatste keer
was erg genoeg.
Tenslotte, ik kom het ook wel eens tegen hoor, dat ik in erg korte tijd
iets onder de knie moet krijgen. Maar tot nu toe gemerkt dat het beter
werkt om er ff een dag voor te zitten (niet achter de computer vaak) en
het dan te programmeren (soms eerst op papier) dan:
met boek op de schoot trial en erreur until it workz ferry prima.
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Nico Coesel
23/03/05, 21:15
John Bokma <postmaster@castleamber.com> wrote:
>Nico Coesel wrote:
>
>> John Bokma <postmaster@castleamber.com> wrote:
>
>> Als je niet kunt programmeren / software ontwerpen, dan wordt het
>> nooit wat. Ongeacht de taal. Helaas zijn er nog vele webdesigners die
>> het programmeren er nog wel even bij doen.
>
>Omgekeerd ook :-D. Maar je mist mijn punt. Iemand die goed kan
>programmeren en ff hop hop PHP leert in 3 dagen, die zal in het begin
>zeer zeker niet goed PHP programmeren (of welke taal dan ook). Sterker,
>ik beweer nu probleemloos dat die aankloot code gewoon na 3 maanden ook
>door de uitvoerder als gekloot wordt aangemerkt (excuses voor het
>Frans).
>
>>>> In geval van een nieuwe
>>>> taal zoek ik een voorbeeldje op voor de syntax en ik begin met
>>>> programmeren van _mijn_ applicatie.
>>>
>>>Tja, en naar mijn niet zo heel erg bescheiden mening is dat de meest
>>>foute manier om het te leren.
>>
>> Het is een vorm van extreme programming.
>
>Extreem gekloot. Werkt prima voor u roept, wij draaien. Maar niet als
>het over 3 maanden eens onderhouden moet worden. Ok, uitzondering zijn
>kleine dingen, ook omdat je bij kleine dingen vaak min of meer op het
>zelfde uitkomt.
>
>Maar zodra het een groot project is, wordt het diepe tranen als er
>mensen op werken die ff on-the-fly denken een taal te kunnen leren.
Ik heb ook nooit beweerd dat je meteen grote complexe projecten moet
aanpakken :-)
>> Knip en plak je eerste
>> programma in elkaar van bestaande code en focusseer alleen op de
>> probleemgebieden.
>
>Jaaa, heerlijk, ik heb zo een ding gezien met 650 perl modules. Na een
>paar jaar was het probleemgebied de gehele applicatie. En wellicht ook
>dat niemand er langer dan 3 maanden onderhoud op kon doen (ik verving de
>vervanger of zoiets, en werd ook weer vervangen).
Probleem is dan vaak niet de code, maar de documentatie. Hoe dom of
ingenieus een stuk software ook in elkaar zit, zonder documentatie kun
je geen onderhoud plegen.
>>>En dus "ontdek" jij een vreemd dialect. Leuk hoor, en ja, je krijgt
>>>uiteindelijk wel iets werkend. Het vervelende is dat je code extreem
>>>onleesbaar is voor iemand die wat langer in de taal zit.
>>
>> Juist niet, zie onder.
>
>Vreemd, ik zie dat al zo'n 20 jaar in de praktijk gebeuren, ook bij
>eigen werk als ik het op de door jouw omschreven manier doe.
>
>>>Ik zie regelmatig dingen in Perl code (ik vertel zo de bron), a la:
>>>
>>>for ( $i = 0; $i < 100; $i++ ) {
>>>
>>> print("<td>\n");
>>> printf("%d\n", @items[ $i ]);
>>> print("</td>");
>>>}
>>
>> Niets mis mee toch? Perfect juist;
>
>Omdat je wellicht geen Perl kent. Voor iemand die dagelijks Perl
>programmeert is dit dus extreem lastig te lezen. Daarnaast mankeren er
>wat dingen aan.
Ik heb weleens wat met Perl gedaan (kort programmaatje om wat gegevens
uit een database in een grafiek te zetten), maar dat is lang geleden.
>> leesbaar voor iemand die ook C kent
>
>Juist, en die zal dus de helft van mijn Perl, en Perl van elke
>programmeur die het langer doet dan 2 jaar niet kunnen lezen. En
>omgekeerd, zijn halve C pogingen maken de Perl code onleesbaar, en
>ononderhoudbaar.
Dat is meer een manier van opmaken en taalgebruik. Zoals het verschil
tussen het Nederlands dat de Nederlanders gebruiken en de Belgen. Wie
spreekt er nu fout Nederlands?
>> De kans dat iemand naar je code kijkt die meer
>> ervaring heeft dan jezelf is kleiner
>
>In mijn geval met Perl of Java of straks Python, ja, zal vaak opgaan.
>Maar die bovenstaande Perl = C prutser? Ik hoop van harte van niet.
>
>> dan de kans dat iemand naar je
>> code die minder ervaring heeft dan jezelf.
>
>En zo filter je dus mensen die nog meer aankloten dus mooi uit als je
>het op mijn manier doet. Ik bedoel, wie neemt er een zeer onervaren
>programmeur aan die zo dom programmeert dat iemand met nog minder
>ervaring het ook kan snappen? Hemeltje.
Je mist mijn punt. Het werkt juist andersom. Door 'dom' programmeren
houd je een stuk software over dat door meer en bovendien goedkopere
mensen onderhouden kan worden. Bovendien worden simpele stukken code
eerder hergebruikt dan ingewikkelde. Je hebt 3 manieren om een functie
te schrijven: de kortste, de langste en de eenvoudigste. De
eenvoudigste versie is het makkelijkste in onderhoud en ook het meest
robuust.
>Ga jij in Java ook in C zitten programmeren, dus geen OO maar (want dat
>is complex)? Iets van C is de ondergrens?
Ik ga geen uitspraak over Java doen omdat ik er echt nog nooit naar
gekeken heb.
Ik gebruik weleens OO in C(++), maar alleen als het de oplossing echt
makkelijker maakt. OO blijkt voor velen nog een lastig te visualiseren
concept en dus lastig onderhoudbaar (vergt ook meer documentatie).
Ik heb genoeg programma's van anderen gezien waarbij je een object
maar 1 keer kan instantieren omdat anders de globale variabelen dubbel
worden gebruikt of dat de instanties niet meer netjes op te ruimen
zijn.
Bovendien is het gebruik van OO geen Haarlemmer olie waarmee je alle
problemen oplost. Zoiets van 'met een grote hamer krijg je ook
schroeven in de muur'. OO heeft z'n nut maar ook z'n nukken.
>Jouw manier van leren klinkt mij te veel in de oren als:
>
>nieuwe taal: ok, ik heb een variabele nodig, index.... variabele...
>pagina 20. Ok, nu wil ik printen naar het scherm, print... print... ah,
>ok, print... Nu wil ik een for loop... for... for...
Nee, heb ik nooit gezegd. Mijn manier: voorbeelden (op internet)
opzoeken die lijken op hetgeen je wilt doen (voor een deelprobleem) en
dat gebruiken. Zie/leer je ook meteen de gebruikelijke idioom voor de
betreffende taal en welke elementen de taal biedt om bepaalde dingen
efficient op te lossen.
>Tenslotte, ik kom het ook wel eens tegen hoor, dat ik in erg korte tijd
>iets onder de knie moet krijgen. Maar tot nu toe gemerkt dat het beter
>werkt om er ff een dag voor te zitten (niet achter de computer vaak) en
>het dan te programmeren (soms eerst op papier) dan:
Dat is meer de manier van werken. Ik specificeer / documenteer altijd
vooraf wat m'n software moet doen. Zomaar ergens beginnen met
programmeren leidt nergens toe. Meestal heb ik Word openstaan om de
documentatie in lijn te houden met het programma en vice versa.
De discussie ging echter over PHP en ik ben nog steeds van mening dat
iemand die een redelijke kennis van C of Perl heeft makkelijk met PHP
overweg zou moeten kunnen.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
John Bokma
24/03/05, 00:05
Nico Coesel wrote:
> John Bokma <postmaster@castleamber.com> wrote:
[ snip ]
>>Maar zodra het een groot project is, wordt het diepe tranen als er
>>mensen op werken die ff on-the-fly denken een taal te kunnen leren.
>
> Ik heb ook nooit beweerd dat je meteen grote complexe projecten moet
> aanpakken :-)
Het probleem is dat het zo wel gaat in de praktijk. Een programmeur
krijgt zelden een project van 50 regels voor zijn kiezen (zie ook je
opmerking over DCOM etc.)
[ snip ]
> Probleem is dan vaak niet de code, maar de documentatie. Hoe dom of
> ingenieus een stuk software ook in elkaar zit, zonder documentatie kun
> je geen onderhoud plegen.
Als er al geen tijd is om de taal door studie te leren, is er zeer zeker
geen tijd om documentatie te maken. Die dingen gaan een beetje hand in
hand. Als je de idiomen van een taal beheerst is het vaak heel eenvoudig
om zelf documenterende code te maken, e.g.
print $_ * 2, "\n" for @numbers;
v.s.
for ( my $i = 0; $i < scalar @numbers; $i++) {
printf("%d\n", $numbers[ $i ] * 2);
}
[ snip slecht stukje Perl ]
> Ik heb weleens wat met Perl gedaan (kort programmaatje om wat gegevens
> uit een database in een grafiek te zetten), maar dat is lang geleden.
Yup, en dus omdat het op C lijkt begrijp jij het. Maar... iemand die
jaren Perl ervaring heeft moet dat stukje 2x lezen, en fixen :-D.
>>Juist, en die zal dus de helft van mijn Perl, en Perl van elke
>>programmeur die het langer doet dan 2 jaar niet kunnen lezen. En
>>omgekeerd, zijn halve C pogingen maken de Perl code onleesbaar, en
>>ononderhoudbaar.
>
> Dat is meer een manier van opmaken en taalgebruik.
Nee, het is een keuze van gangbare uitdrukkingen in de taal. Het
volgende stukje illustreerd prima mijn verhaal:
"There once was a poor woodchopper. This wood chopping, he said one day
to his woman, there sits no dry bread in it. I work myself an accident
the whole day, but you and your twelve children have not to eat. - I see
the future dark in, his woman agreed. -We must try to fit a sleeve on
it, the woodchopper resumed. I have a plan: tomorrow we shall go on step
with the children, and then, in the middle of the wood, we'll leave them
to their fate over. His woman almost went of her little stick when she
heard this. -What is there with you on the hand, she cried, aren't you
good wise?" <http://www.ttoschool.nl/docs/pdf/escaped_from_language.pdf>
> Je mist mijn punt. Het werkt juist andersom. Door 'dom' programmeren
> houd je een stuk software over dat door meer en bovendien goedkopere
> mensen onderhouden kan worden.
Yup, mensen die niet thuis zijn in de taal dus, in geen enkele taal maar
gewoon was basiskennis bij elkaar geplukt hebben van het net. (Geen MS
grappen, graag :-D ).
> Bovendien worden simpele stukken code
> eerder hergebruikt dan ingewikkelde.
Waarom?
Code stop je achter een method, functie, subroutine. Hergebruik is dat
ding aanroepen. ( Of bedoel je knip en plak? )
Of nog beter, je gebruikt een library. Een ander *enorm* bijkomend
probleem van mensen die, b.v. wel C kennen maar nauwelijks Perl, is dat
ze geen idee hebben van welke libraries er allemaal zijn. Dus of gaan ze
opzoek naar een C equivalent, of, wellicht vaker, maken ze een wiel dat
extra onderhoud oplevert, en niet eens lekker draait.
Ik ben zelf Python aan het leren: inmiddels 2 boeken doorgelezen. Het
volgende wordt de library reference.
> Je hebt 3 manieren om een functie
> te schrijven: de kortste, de langste en de eenvoudigste. De
> eenvoudigste versie is het makkelijkste in onderhoud en ook het meest
> robuust.
Wat een beginner de eenvoudigste vind is voor een ervaren programmeur
weer niet de eenvoudigste. Mijn Perl voorbeeld illustreerd dit erg mooi,
de "eenvoudigste" versie lijkt de C versie, maar is het niet: meer
regels, meer kans op fouten (naast die er al in zitten). Daarnaast loop
je het risico dat een ervaren programmeur dat soort dingen gaat zitten
fixen (en mogelijk fouten introduceert).
>>Ga jij in Java ook in C zitten programmeren, dus geen OO maar (want
>>dat is complex)? Iets van C is de ondergrens?
>
> Ik ga geen uitspraak over Java doen omdat ik er echt nog nooit naar
> gekeken heb.
Ok, ga jij in C++ C zitten programmeren omdat de "basis" is?
> Ik gebruik weleens OO in C(++), maar alleen als het de oplossing echt
> makkelijker maakt.
Maar hoe moet dat dan met die andere programmeurs die niks van C++, OO
en zo snappen (maar wel heel "goedkoop" zijn, dat wel)
> OO blijkt voor velen nog een lastig te visualiseren
> concept
Nee, de visualisatie is kinderlijk eenvoudig. Het probleem is dat de
meeste beginners half een boek lezen, en dan maar aan de slag gaan, en
dus dingen missen als: niet alles hoeft een is-a relatie te zijn, soms
is has-a veel beter etc. Ze missen het "wanneer wel en niet", en dan zie
je dus dat ze op een project beginnen met een basis class, en daar een
class opzetten, en nog een, en nog een en nog een, en nog een en nog
een.
> en dus lastig onderhoudbaar (vergt ook meer documentatie).
Omdat?
> Ik heb genoeg programma's van anderen gezien waarbij je een object
> maar 1 keer kan instantieren omdat anders de globale variabelen dubbel
> worden gebruikt of dat de instanties niet meer netjes op te ruimen
> zijn.
Je bedoelt wellicht dat een object 1 resource beheert, een singleton.
Niks mis mee, ook zonder OO zal je dat op een soortgelijke manier op
moeten lossen, en heeft dus niks met OO op zich van doen.
> Bovendien is het gebruik van OO geen Haarlemmer olie waarmee je alle
> problemen oplost.
Oh, dat beweer ik ook niet, maar het is een beetje krom om het *nooit*
te gebruiken omdat je programmeurs allemaal op hetzelfde nivo moeten
werken, dat van de programmeur met de minste kennis.
> Nee, heb ik nooit gezegd. Mijn manier: voorbeelden (op internet)
> opzoeken die lijken op hetgeen je wilt doen (voor een deelprobleem) en
> dat gebruiken. Zie/leer je ook meteen de gebruikelijke idioom voor de
> betreffende taal en welke elementen de taal biedt om bepaalde dingen
> efficient op te lossen.
Als je de taal niet beheerst heb je totaal geen idee of iets een idioom
is of niet. En ook heb je totaal geen idee of het dingen efficient
oplost. De stukken Perl en PHP die je hier en daar kan bekijken
bevestigen mijn verhaal. Kijk eens naar de PHP documentatie *met*
bezoekersbijdragen zou ik zeggen.
Het is net als: ik ga Engels leren door ff wat webpagina's te bekijken.
Of ik ga HTML leren door ff de broncode van wat pagina's te bestuderen.
> De discussie ging echter over PHP en ik ben nog steeds van mening dat
> iemand die een redelijke kennis van C of Perl heeft makkelijk met PHP
> overweg zou moeten kunnen.
En ik bezit meer dan redelijke kennis van Perl en C, en ik beweer nu dat
PHP leren door stukjes code van het net te plukken en een beetje
ombuigen de meest foute manier is om het te leren :-D
En verder, ik heb wat PHP gedaan, en nee, ik kan er niet makkelijk mee
overweg.
--
John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Nico Coesel
24/03/05, 21:15
John Bokma <postmaster@castleamber.com> wrote:
>Nico Coesel wrote:
>
>> John Bokma <postmaster@castleamber.com> wrote:
>
>[ snip ]
>
>>>Maar zodra het een groot project is, wordt het diepe tranen als er
>>>mensen op werken die ff on-the-fly denken een taal te kunnen leren.
>>
>> Ik heb ook nooit beweerd dat je meteen grote complexe projecten moet
>> aanpakken :-)
>
>Het probleem is dat het zo wel gaat in de praktijk. Een programmeur
>krijgt zelden een project van 50 regels voor zijn kiezen (zie ook je
>opmerking over DCOM etc.)
50 regels is wel erg weinig, maar je heb nou eenmaal ingewikkelde en
eenvoudige problemen.
>[ snip ]
>> Probleem is dan vaak niet de code, maar de documentatie. Hoe dom of
>> ingenieus een stuk software ook in elkaar zit, zonder documentatie kun
>> je geen onderhoud plegen.
>
>Als er al geen tijd is om de taal door studie te leren, is er zeer zeker
>geen tijd om documentatie te maken. Die dingen gaan een beetje hand in
>hand. Als je de idiomen van een taal beheerst is het vaak heel eenvoudig
>om zelf documenterende code te maken, e.g.
"zelf documenterende code" is net zoiets als zeggen dat God bestaat.
Sommigen gloven er in en anderen niet, maar niemand heeft Hem ooit
gezien.
>print $_ * 2, "\n" for @numbers;
Het onderste voorbeeld snap ik enigzins, maar het bovenste voorbeeld
zegt mij helemaal niets.
>v.s.
>
>for ( my $i = 0; $i < scalar @numbers; $i++) {
>
> printf("%d\n", $numbers[ $i ] * 2);
>}
>
>[ snip slecht stukje Perl ]
>> Ik heb weleens wat met Perl gedaan (kort programmaatje om wat gegevens
>> uit een database in een grafiek te zetten), maar dat is lang geleden.
>
>Yup, en dus omdat het op C lijkt begrijp jij het. Maar... iemand die
>jaren Perl ervaring heeft moet dat stukje 2x lezen, en fixen :-D.
Maar eigenlijk is het probleem van Perl dus dat het op C lijkt, maar
dat Unix mensen die ervaring met (Ba)sh hebben er van oudsher op een
shell script achtige manier mee programmeren en dat dat tot standaard
is verheven. Te flexibel dus. :-)
>>>Juist, en die zal dus de helft van mijn Perl, en Perl van elke
>>>programmeur die het langer doet dan 2 jaar niet kunnen lezen. En
>>>omgekeerd, zijn halve C pogingen maken de Perl code onleesbaar, en
>>>ononderhoudbaar.
>>
>> Dat is meer een manier van opmaken en taalgebruik.
>
>Nee, het is een keuze van gangbare uitdrukkingen in de taal. Het
>volgende stukje illustreerd prima mijn verhaal:
>
>"There once was a poor woodchopper. This wood chopping, he said one day
>to his woman, there sits no dry bread in it. I work myself an accident
Slecht voorbeeld, want het is grammaticaal onjuist. Als je
compiler/interpreter het snapt en het doet wat het functioneel moet
doen, dan is het correcte code.
>> Je mist mijn punt. Het werkt juist andersom. Door 'dom' programmeren
>> houd je een stuk software over dat door meer en bovendien goedkopere
>> mensen onderhouden kan worden.
>
>Yup, mensen die niet thuis zijn in de taal dus, in geen enkele taal maar
>gewoon was basiskennis bij elkaar geplukt hebben van het net. (Geen MS
>grappen, graag :-D ).
>
>> Bovendien worden simpele stukken code
>> eerder hergebruikt dan ingewikkelde.
>
>Waarom?
Omdat het eerder wordt begrepen. Ik heb de indruk dat je weinig in
teamverband programmeert. Klopt dat?
>Code stop je achter een method, functie, subroutine. Hergebruik is dat
>ding aanroepen. ( Of bedoel je knip en plak? )
Helaas moeten de meeste stukken nog geinitialiseerd worden. Dus dan is
enige kennis van de inwendige werking soms wel noodzakelijk.
>>>Ga jij in Java ook in C zitten programmeren, dus geen OO maar (want
>>>dat is complex)? Iets van C is de ondergrens?
>>
>> Ik ga geen uitspraak over Java doen omdat ik er echt nog nooit naar
>> gekeken heb.
>
>Ok, ga jij in C++ C zitten programmeren omdat de "basis" is?
Zo puristisch ben ik niet. C++ of C maakt me eigenlijk geen moer uit.
C++ heeft wat leukere libraries erbij zitten en classes maken is wat
eenvoudiger.
>> Ik gebruik weleens OO in C(++), maar alleen als het de oplossing echt
>> makkelijker maakt.
>
>Maar hoe moet dat dan met die andere programmeurs die niks van C++, OO
>en zo snappen (maar wel heel "goedkoop" zijn, dat wel)
Die hebben dan wat meer werk te doen om dat uit te zoeken.
>> OO blijkt voor velen nog een lastig te visualiseren
>> concept
>
>Nee, de visualisatie is kinderlijk eenvoudig. Het probleem is dat de
Voor jou en voor mij wel, maar je moet daar niet zomaar vanuit gaan.
Goed leren programmeren kost je ongeveer 8 tot 12 jaar. Met een
opleiding alleen red je het niet. Als je in teamverband werkt heb je
dus te maken met junior en senior programmeurs en het is de bedoeling
om het nivo van met name de junior programmeurs steeds een stapje
hoger te tillen.
>> en dus lastig onderhoudbaar (vergt ook meer documentatie).
>
>Omdat?
Als je procedureel programmeert, dan ontstaat er automatisch een
bepaalde 'flow' in je programma. Bij een klasse is dat minder en heb
je bovendien te maken met een hierarchie. Je zult dus minimaal op
schrift moeten stellen hoe e.e.a. in elkaar steekt en hoe de gegevens
door het programma vloeien.
>> Ik heb genoeg programma's van anderen gezien waarbij je een object
>> maar 1 keer kan instantieren omdat anders de globale variabelen dubbel
>> worden gebruikt of dat de instanties niet meer netjes op te ruimen
>> zijn.
>
>Je bedoelt wellicht dat een object 1 resource beheert, een singleton.
>Niks mis mee, ook zonder OO zal je dat op een soortgelijke manier op
>moeten lossen, en heeft dus niks met OO op zich van doen.
Nee, maar het illustreert wel dat OO een lastiger concept is.
>> Bovendien is het gebruik van OO geen Haarlemmer olie waarmee je alle
>> problemen oplost.
>
>Oh, dat beweer ik ook niet, maar het is een beetje krom om het *nooit*
>te gebruiken omdat je programmeurs allemaal op hetzelfde nivo moeten
>werken, dat van de programmeur met de minste kennis.
Misschien is het krom, maar het is wel praktisch. Als je achter een
vrachtwagen rijdt, dan kun je ook niet harder dan 90.
>> Nee, heb ik nooit gezegd. Mijn manier: voorbeelden (op internet)
>> opzoeken die lijken op hetgeen je wilt doen (voor een deelprobleem) en
>> dat gebruiken. Zie/leer je ook meteen de gebruikelijke idioom voor de
>> betreffende taal en welke elementen de taal biedt om bepaalde dingen
>> efficient op te lossen.
>
>Als je de taal niet beheerst heb je totaal geen idee of iets een idioom
>is of niet. En ook heb je totaal geen idee of het dingen efficient
>oplost. De stukken Perl en PHP die je hier en daar kan bekijken
>bevestigen mijn verhaal. Kijk eens naar de PHP documentatie *met*
>bezoekersbijdragen zou ik zeggen.
Daarmee bevestig je mijn standpunt dat je code vooral eenvoudig moet
houden omdat het voor velen toch lastig is.
De PHP documentatie met bezoekersbijdragen bekijk ik ook liever niet
:-). Ik ben met je eens dat er veel rotzooi te vinden is. Ook bij
API's waar dik voor betaald moet worden vind je voorbeelden die niet
kloppen of nodeloos ingewikkeld zijn. Maar als je een aantal
voorbeelden naast elkaar legt, dan ontstaat daar meestal wel idee uit
van wat het zou moeten zijn.
>> De discussie ging echter over PHP en ik ben nog steeds van mening dat
>> iemand die een redelijke kennis van C of Perl heeft makkelijk met PHP
>> overweg zou moeten kunnen.
>
>En ik bezit meer dan redelijke kennis van Perl en C, en ik beweer nu dat
>PHP leren door stukjes code van het net te plukken en een beetje
>ombuigen de meest foute manier is om het te leren :-D
Misschien werkt mijn methode voor mij heel goed en voor jou juist
niet...
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
Johan Wevers
26/03/05, 11:25
Nico Coesel wrote:
> Pertinente onzin. Je kunt een Access database prima met meerdere
> gebruikers delen. Alleen krijg je boven een bepaald aantal gebruikers
> (10 of zo) en een bepaald aantal records (100000 dacht ik) performance
> problemen.
De opdrachtgever heeft gezegd dat het daar wel onder blijft. Maar goed,
dat verhaal heb ik vaker gehoord...
Maar ik kan het altijd nog zonder veel werk porten naar Interbase, dat
is een stuk steviger.
--
ir. J.C.A. Wevers // Physics and science fiction site:
johanw@vulcan.xs4all.nl // http://www.xs4all.nl/~johanw/index.html
PGP/GPG public keys at http://www.xs4all.nl/~johanw/pgpkeys.html