Ik overweeg om een applicatie in C# te schrijven aangezien Delphi tegenwoordig niet meer zo geweldig is en C++ niet al te productief is. Maar hoeveel mensen hebben tegenwoordig .NET geinstalleerd? Zijn er statistieken beschikbaar? Want ik wil mijn gebruikers niet vragen om eerst een 100 MB .NET runtime te downloaden voordat ze mijn programma kunnen gebruiken.
http://blogs.msdn.com/sco...ve/2005/03/09/391199.aspx
Maar wie is je doelgroep? En anders maak je twee installs, één met en één zonder het .Net Framework
Maar wie is je doelgroep? En anders maak je twee installs, één met en één zonder het .Net Framework
[ Voor 45% gewijzigd door gorgi_19 op 19-08-2006 15:18 ]
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Ik heb het iig wel standaard geinstalleerd omdat ik zelf ook aan het knutselen ben met .NET, maar daar heb je niet veel aanFooBarWidget schreef op zaterdag 19 augustus 2006 @ 15:11:
Ik overweeg om een applicatie in C# te schrijven aangezien Delphi tegenwoordig niet meer zo geweldig is en C++ niet al te productief is. Maar hoeveel mensen hebben tegenwoordig .NET geinstalleerd? Zijn er statistieken beschikbaar? Want ik wil mijn gebruikers niet vragen om eerst een 100 MB .NET runtime te downloaden voordat ze mijn programma kunnen gebruiken.
Maar hoe kom je er bij dat het 100MB is? .NET 2.0 Framework is "maar" +/- 23MB?
This posting is provided "AS IS" with no warranties, and confers no rights.
Ik gok dat hij de SDK verward met de redistributable, maar je hebt idd die laatste nodig.ironx schreef op zaterdag 19 augustus 2006 @ 15:17:
[...]
Ik heb het iig wel standaard geinstalleerd omdat ik zelf ook aan het knutselen ben met .NET, maar daar heb je niet veel aan
Maar hoe kom je er bij dat het 100MB is? .NET 2.0 Framework is "maar" +/- 23MB?
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Bedankt maar is er iets recenters? Bovendien ben ik vooral geintereseerd in het marktaandeel onder normale thuisgebruikers, niet bedrijven.
[ Voor 5% gewijzigd door FooBarWidget op 19-08-2006 15:19 ]
Vista zal .NET standaard geinstalleerd hebben (meen ik). Mensen die de officiele ATi drivers geinstalleerd hebben zullen ook .NET hebben. Misschien dat het huidige aantal gebruikers nu nog niet extreem groot is, maar het zal snel groeien.
Weet ook dat .NET applicaties mogelijk op Unix (Linux / OS X) aan de praat te krijgen zijn met Mono, daardoor kun je zo weer een grote groep erbij pakken. Ik kan je helaas geen ervaringen over Mono geven
Weet ook dat .NET applicaties mogelijk op Unix (Linux / OS X) aan de praat te krijgen zijn met Mono, daardoor kun je zo weer een grote groep erbij pakken. Ik kan je helaas geen ervaringen over Mono geven
🌞🍃
Mijn doelgroep is de huis-tuin-en-keuken gebruiker. Dus ik wil vooral weten hoeveel Windows XP-gebruikers .NET al hebben.
Windows XP SP2 heeft afaik ook al standaard .NET 1.1 aan boord, en .NET 2.0 is verspreid als update volgens mij. Dus je kan er wel vanuit gaan dat een hoop mensen het geïnstalleerd hebben.
Sole survivor of the Chicxulub asteroid impact.
wij hebben hier 4 windows XP computers staan, en ik ben denk ik de enige met .NET, omdat dat met visual studio meegeleverd werd. Ik weet het trouwens niet zeker, maar ik kan me niet voorstellen dat ze het geinstalleerd zouden hebben. 2 van de computers worden gebruikt voor games, en de derde is van mijn vader die niets meer doet dan wat sudokus and emailen
hallo
je kan het framework mee sturen met je installer of een versie compilen die het framework niet nodig heeft. Je bent er dan zeker van dat alle windows gebruikers het kunnen gebruiken.
Verwijderd
Antwoord: niet veel.FooBarWidget schreef op zaterdag 19 augustus 2006 @ 15:24:
Mijn doelgroep is de huis-tuin-en-keuken gebruiker. Dus ik wil vooral weten hoeveel Windows XP-gebruikers .NET al hebben.
.NET zit niet bij de windows updates, alleen als extra.
Maar dat is toch geen probleem ? je kunt hem gewoon mee installeren met je programma. De windows installer doet dat automagisch als je dat wil.
[edit]
En wat is 30mb nou om te downloaden, 4 extra minuten ofzo ?
[ Voor 7% gewijzigd door Verwijderd op 19-08-2006 15:32 ]
http://www.informit.com/g...?g=dotnet&seqNum=343&rl=1FooBarWidget schreef op zaterdag 19 augustus 2006 @ 15:24:
Mijn doelgroep is de huis-tuin-en-keuken gebruiker. Dus ik wil vooral weten hoeveel Windows XP-gebruikers .NET al hebben.
Maar wat is nu het probleem om er twee versies van te maken, of de .Net redistributable ook mee te leveren?
[ Voor 15% gewijzigd door gorgi_19 op 19-08-2006 15:31 ]
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Een versie compileren die het framework niet nodig heeft? Ik wist niet dat dat kan. Waar kan ik meer informatie vinden hierover?je kan het framework mee sturen met je installer of een versie compilen die het framework niet nodig heeft. Je bent er dan zeker van dat alle windows gebruikers het kunnen gebruiken.
En het framework meesturen wil ik zoveel mogelijk voorkomen. Mijn programma wordt verspreid over het Internet en het laatste wat ik wil is dat mijn gebruikers een uur langer moeten downloaden om die .Net framework binnen te krijgen. Downloadtijd is dan ook de enige reden waarom ik zo terughoudend ben. Vooral voor de modemgebruikers is elke minuut downloadttijd een minuut te veel.
[ Voor 11% gewijzigd door FooBarWidget op 19-08-2006 15:33 ]
Verwijderd
Ga je er van uit dat je gebruikers een 56k modem hebben dan ?
Minimaal zal ergens rond de 2mbit liggen denk ik. (Dat is 2 minuten extra downloaden.)
[edit]
Als je hem inbakt in je programma schiet je toch niets op ? Je programma word groter en de mensen die .NET al hebben moeten meer downloaden.
Minimaal zal ergens rond de 2mbit liggen denk ik. (Dat is 2 minuten extra downloaden.)
[edit]
Als je hem inbakt in je programma schiet je toch niets op ? Je programma word groter en de mensen die .NET al hebben moeten meer downloaden.
[ Voor 50% gewijzigd door Verwijderd op 19-08-2006 15:38 ]
http://www.thinstall.com/solutions/net_virtual.phpFooBarWidget schreef op zaterdag 19 augustus 2006 @ 15:32:
[...]
Een versie compileren die het framework niet nodig heeft? Ik wist niet dat dat kan. Waar kan ik meer informatie vinden hierover?
Maar zo ongeveer alle linkjes die ik heb gegeven zijn te vinden met Google; heb je zelf ook enige moeite gedaan om tot een oplossing te komen?
[ Voor 19% gewijzigd door gorgi_19 op 19-08-2006 15:35 ]
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Ja. Mijn programma wordt vooral via het Internet verspreid. Mijn doelgroep is niet alleen Nederlandse gebruikers, maar gebruikers wereldwijd. Vooral mensen in landen als de Filippijnen hebben geen breedband verbinding (ze moeten daar zelfs per megabyte betalen!).Ga je er van uit dat je gebruikers een 56k modem hebben dan ?
Eh ja. Als ik zoek naar alles wat ".NET" bevat dan geeft Google een waslijst resultaten terug waarin het woord "net" (dus niet ".NET") zit, dus allemaal resultaten die niets met .NET te maken hebben. Zo'n naam is helemaal niet handig.Maar zo ongeveer alle linkjes die ik heb gegeven zijn te vinden met Google; heb je zelf ook enige moeite gedaan om tot een oplossing te komen?
En alle zoekresultaten zeggen dat het niet mogelijk is.
Die .NET Virtualization is een commercieel pakket en kost $5000 per applicatie (!). Zoveel kan ik niet veroorloven, mijn programma is slechts een zeer goedkope shareware programma.
[ Voor 17% gewijzigd door FooBarWidget op 19-08-2006 15:47 ]
Dan moet je het combineren met andere zoekwoordenFooBarWidget schreef op zaterdag 19 augustus 2006 @ 15:40:
Eh ja. Als ik zoek naar alles wat ".NET" bevat dan geeft Google een waslijst resultaten terug waarin het woord "net" (dus niet ".NET") zit, dus allemaal resultaten die niets met .NET te maken hebben. Zo'n naam is helemaal niet handig.
http://www.google.nl/sear...t+without+framework&meta=
http://www.google.nl/sear...Framework+installed&hl=nl
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Zoiets had ik al geprobeerd, maar die zoekresultaten over hoeveel mensen .NET hebben zijn niet erg duidelijk. Ik zie daar maar 1 poll tussen staan, maar die poll wordt niet gehouden op een bekende site. Bovendien zijn er, volgens die poll, een grote groep mensen die weigeren om .NET te installeren. Dat is niet erg geruststellend.
Als je al Delphi kent en je niet het "risico" wilt nemen dat mensen je app. niet willen draaien omdat je gebruik maakt van .NET dan schrijf je het toch gewoon in Delphi? Dat "Delphi" niet meer "geweldig" is is natuurlijk onzin want je kan er nog steeds prima Windows applicaties (en meer) mee schrijven.
Dat Delphi "uit" is en C# "in" is duidelijk ja. Maar als je jezelf niet gerust voelt op het feit dat er mensen .NET niet willen installeren dan blijf je toch lekker bij Delphi?
Dat Delphi "uit" is en C# "in" is duidelijk ja. Maar als je jezelf niet gerust voelt op het feit dat er mensen .NET niet willen installeren dan blijf je toch lekker bij Delphi?
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Ja, totdat je een van de vele problemen tegenkomt:Als je al Delphi kent en je niet het "risico" wilt nemen dat mensen je app. niet willen draaien omdat je gebruik maakt van .NET dan schrijf je het toch gewoon in Delphi? Dat "Delphi" niet meer "geweldig" is is natuurlijk onzin want je kan er nog steeds prima Windows applicaties (en meer) mee schrijven.
- Geen garbage collection behalve voor strings.
- Excepties in Delphi zijn zeer lelijk. Om een exceptie van een bepaalde type af te vangen moet je binnen een 'except' block ook nog een 'on Blabla do' block zetten. 2 keer indenten voor niks eigenlijk.
- De Delphi editor zuigt vergeleken met bijna elke andere editor (Notepad uitgezonderd).
- Heel veel open source libraries zijn geschreven in C. Je moet handmatig Delphi bindings schrijven voor die libraries. Voor C++ is het nog erger: je moet eerst C++-naar-C bindings schrijven en dan Delphi-naar-C. De .NET runtime bevat zoveel functionaliteit dat ik die third party libraries die ik voor Delphi nodig heb, voor C# niet nodig heb.
- Pointer arithmetic zuigt, het is heel verwarrend. Ik heb genoeg met C gewerkt om pointers te snappen maar pointers in Delphi blijven me achtervolgen (en ik heb pointers nodig aangezien ik met C libraries werk).
- Bizarre stabiliteitsproblemen. StrToInt() hoort een exception te gooien als de conversie niet werkt. Maar op computers van sommige gebruikers crasht het programma gewoon ipv dat er een exception wordt gegooid. En bij heel veel problemen kan Delphi niet eens tonen bij welke regel die wordt veroorzaakt.
- En vele andere redenen, maar aangezien dit geen Delphi topic is zal ik maar stoppen.
Delphi is niet alleen uit, maar ook gewoon niet praktisch meer.
[ Voor 26% gewijzigd door FooBarWidget op 19-08-2006 16:11 ]
je zit met .NET wel heel hard aan ms vast.
waarom geen java proberen?
waarom geen java proberen?
ik wel, er zit standaard een .net ding bij visual basic 2006
Volgens mij hebben nog minder mensen een JVM geinstalleerd dan .NET. En Java heeft de reputatie langzaam (als in 'het gebruikt zoveel geheugen dat mijn computer langzaam wordt van het swappen') te zijn.je zit met .NET wel heel hard aan ms vast.
waarom geen java proberen?
Ik maak me helemaal geen zorgen om de mensen die een breedband verbinding hebben. Ik maak me juist zorgen om de mensen die dat NIET hebben, zoals mensen in Azie (die een groot deel van mijn gebruikers zijn). Door het gebrek aan breedbandverbindingen daar hebben minder mensen Azureus, dus ook minder mensen met een JVM.
En tja, hard aan MS vastzitten... het is een Windows programma, met Delphi zit ik minstens net zo hard vast aan MS. Bovendien heb je bij .NET nog Mono, dus ik durf te beweren dat je bij .NET minder hard aan MS vast zit dan bij Delphi.
[ Voor 23% gewijzigd door FooBarWidget op 19-08-2006 16:19 ]
Ow kom op. Java = traag kennen we nu wel
. Als je aan de hand daarvan wilt gaan bepalen welke taal je wilt gaan gebruiken dan kan je beter nu stoppen. Als je java prog gaat swappen ligt dat aan het geschreven programma en echt niet aan de JVM.
Daarnaast heb je ook nog zoiets als Object Pascal en Kylix (zuigt, is buggy, maar werkt wel) dus ook je punt m.b.t. aan MS vastzitten met Delphi gaat niet echt op. En de punten die je opnoemt om zowel C als Delphi niet te willen gebruiken wil ik het niet eens over gaan hebben.
Sorry hoor, maar ik vindt je meeste argumenten echt kul en ik kan me ook bijna niet voorstellen dat je een gedegen onderzoek hebt gedaan naar de verschillende ontwikkelomgevingen die je op het oog hebt.
Als mensen je programma willen gebruiken en het is geschreven in .NET dan installeren ze het .NET framework echt wel. De figuren die .NET weigeren te installeren loop je dan mis maar ik kan me niet voorstellen dat je je keuze laat afhangen van deze groep mensen.
Daarnaast heb je ook nog zoiets als Object Pascal en Kylix (zuigt, is buggy, maar werkt wel) dus ook je punt m.b.t. aan MS vastzitten met Delphi gaat niet echt op. En de punten die je opnoemt om zowel C als Delphi niet te willen gebruiken wil ik het niet eens over gaan hebben.
Sorry hoor, maar ik vindt je meeste argumenten echt kul en ik kan me ook bijna niet voorstellen dat je een gedegen onderzoek hebt gedaan naar de verschillende ontwikkelomgevingen die je op het oog hebt.
Als mensen je programma willen gebruiken en het is geschreven in .NET dan installeren ze het .NET framework echt wel. De figuren die .NET weigeren te installeren loop je dan mis maar ik kan me niet voorstellen dat je je keuze laat afhangen van deze groep mensen.
[ Voor 3% gewijzigd door Creepy op 19-08-2006 16:23 ]
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Als je echt wilt weten hoeveel mensen .NET hebben geinstalleerd, dan zal je een representatieve enquete moeten uitvoeren, en niet de vraag stellen op een forum voor mensen met een grote interesse voor computers & techniek. Zowiezo zal je hier ws een andere uitkomst krijgen dan bij jouw doelgroep.
Verder zie ik niet in wat het probleem is: als je het perse met .NET wilt doen, dan maak je toch gewoon je programma in .NET ? Je maakt ook een setup-project, en in dat setup project kan je checken of het .NET framework op de pc geinstalleerd is; is dat niet het geval, kan je ervoor zor gen dat je setup project het framework ook installeert. (Een launch condition geloof ik).
Verder ben ik het ook eens met Creepy: je reden om het niet in Delphi te schrijven, is een non-argument. Wat kan het de gebruiker van een applicatie nu schelen in welke taal die app geschreven is ?
Verder zie ik niet in wat het probleem is: als je het perse met .NET wilt doen, dan maak je toch gewoon je programma in .NET ? Je maakt ook een setup-project, en in dat setup project kan je checken of het .NET framework op de pc geinstalleerd is; is dat niet het geval, kan je ervoor zor gen dat je setup project het framework ook installeert. (Een launch condition geloof ik).
Verder ben ik het ook eens met Creepy: je reden om het niet in Delphi te schrijven, is een non-argument. Wat kan het de gebruiker van een applicatie nu schelen in welke taal die app geschreven is ?
De runtime is 22mb.100 MB .NET runtime
https://fgheysels.github.io/
Nee, dat kan niet. De runtime heb je altijd nodig.dotcode schreef op zaterdag 19 augustus 2006 @ 15:29:
je kan het framework mee sturen met je installer of een versie compilen die het framework niet nodig heeft. Je bent er dan zeker van dat alle windows gebruikers het kunnen gebruiken.
Het is wel zo dat er bepaalde tooltjes zijn, die ervoor zorgen dat de runtime in je executable zelf vervat zit, maar da's imho meer een nadeel dan een voordeel.
Zowiezo heb je de runtime nodig.
Je kan wel je .NET code direct naar native code compileren, zodanig dat je de IL stap overslaat, en de JI compiler niet nodig hebt, maar ook hier kleven er nadelen aan.
Dan zit je aan Sun vast.je zit met .NET wel heel hard aan ms vast.
waarom geen java proberen?
Is er een nadeel verbonden om aan 'MS' vast te zitten ? AFAIK is MS een redelijk stabiel bedrijf, dat niet gauw over de kop zal gaan, en die wel nog een tijdje zal investeren in .NET
Komt dit dan gewoon niet omdat je die exceptie niet opvangt ? Unhandled exceptions willen je applicatie wel eens doen crashen ja...Bizarre stabiliteitsproblemen. StrToInt() hoort een exception te gooien als de conversie niet werkt. Maar op computers van sommige gebruikers crasht het programma gewoon ipv dat er een exception
[ Voor 43% gewijzigd door whoami op 19-08-2006 16:39 ]
https://fgheysels.github.io/
Tja, vertel dat maar aan de gebruikers. Ik heb zelf al jarenlang geen last gehad meer van swappende Java programma's. Ik ken Java goed, en ik kan wel urenlang rationele redenen geven waarom ze niet bang voor Java hoeven te zijn. Maar veel gebruikers luisteren gewoon niet en blijven bij hun vooroordelen. Er zit gewoon teveel emotionele angst aan Java vast onder de normale gebruikers, die kun je niet bestrijden met logica.Als je aan de hand daarvan wilt gaan bepalen welke taal je wilt gaan gebruiken dan kan je beter nu stoppen.
Ik neem aan dat je Free Pascal bedoelt. Free Pascal implementeert de niet-grafische gedeelte van de VCL. Heel leuk en aardig maar ik heb wel degelijk een GUI nodig. En ik heb ook dingen als sockets en AES-encryptie nodig.Daarnaast heb je ook nog zoiets als Object Pascal
Ik heb Kylix een aantal jaren geprobeerd, en het is niet meer dan een lachtertje. Om maar een paar dingen op te noemen:en Kylix (zuigt, is buggy, maar werkt wel)
- Het gebruikt QT 1. Bijna geen enkele Linux gebruiker heeft QT 1 meer tegenwoordig.
- Da's nog niet het ergste. Kylix-gecompileerde programma's draaien heel vaak niet eens op andere computers! Of zelfs op je eigen computer! Als ik een Kylix programma draai vanuit Kylix dan werkt het. Vanuit de commandline komt het tijdens op opstarten in een oneindige lus terecht, tenzij ik LD_LIBRARY_PATH naar de Kylix-versie van QT zet.
- Win32 Delphi apps kun je niet eens triviaal hercompileren in Kylix. Veel teveel compatibiliteitsproblemen, zelfs als je geen Win32 API gebruikt.
Tja, als StrToInt() al tot een crash (en dan bedoel ik ook echt een crash) leidt op sommige systemen dan zet ik toch wel vraagtekens bij Delphi. (Zie ook mijn reply hieronder)En de punten die je opnoemt om zowel C als Delphi niet te willen gebruiken wil ik het niet eens over gaan hebben.
Dat is je mening en dat mag je hebben. Maar ik heb er wel degelijk onderzoek naar gedaan.Sorry hoor, maar ik vindt je meeste argumenten echt kul en ik kan me ook bijna niet voorstellen dat je een gedegen onderzoek hebt gedaan naar de verschillende ontwikkelomgevingen die je op het oog hebt.
Ik wil het niet in Delphi schrijven, is dat niet genoeg reden om geen Delphi te gebruiken? Ik snap ook niet waarom je de reden waarom ik Delphi niet leuk vind "non-argumenten" noemt. Het is toch een feit dat je een extra 'on blabla do' block moet zetten in een 'except' block om excepties van een bepaalde type op te vangen? Het is toch een feit dat Delphi geen garbage collection heeft? Het is toch een feit dat de VCL geen socket class heeft? Het is toch een feit dat je handmatig C-naar-Delphi bindings moet schrijven voor C libraries.Verder ben ik het ook eens met Creepy: je reden om het niet in Delphi te schrijven, is een non-argument. Wat kan het de gebruiker van een applicatie nu schelen in welke taal die app geschreven is ?
Omdat die figuren een significant deel van mijn gebruikers zijn en die mag ik niet negeren.De figuren die .NET weigeren te installeren loop je dan mis maar ik kan me niet voorstellen dat je je keuze laat afhangen van deze groep mensen.
Ik had dus gehoopt dat iemand een website kent waarin onderzoek is gedaan naar grote groepen thuisgebruikers....Als je echt wilt weten hoeveel mensen .NET hebben geinstalleerd, dan zal je een representatieve enquete moeten uitvoeren, en niet de vraag stellen op een forum voor mensen met een grote interesse voor computers & techniek.
Nee, ik vang ze wel degelijk op. Maar dan leidt het alsnog tot een crash. Bij mijn systeem kan het probleem echter niet reproduceren, ook niet onder dezelfde omstandigheden. Dit probleem komt voor bij zo'n 1% van mijn gebruikers, maar zelfs dat is te veel.Komt dit dan gewoon niet omdat je die exceptie niet opvangt ? Unhandled exceptions willen je applicatie wel eens doen crashen ja...
[ Voor 23% gewijzigd door FooBarWidget op 19-08-2006 17:00 ]
De Java JVM zal dan wel niet geinstalleerd hoeven te zijn, maar je kan dat ding heel mooi mee packagen met ja applicatie. Zelfde geldt voor .NET.
Als mense jou applicatie downloaden, dan kan dat beetje extra ook wel mee. Als mensen het krijgen op een CDtje, waar praten we dan nog over.
Mensen die weigeren een JVM of .NET runtime te installeren zijn er praktisch niet. Enkel diegenen die niet weten wat het is en het nog nooit nodig gehad hebben. Verder gewoon aangeven dat het meegeinstalleerd wordt. Gebeude bij VB applicaties toch ook altijd al?
Als mense jou applicatie downloaden, dan kan dat beetje extra ook wel mee. Als mensen het krijgen op een CDtje, waar praten we dan nog over.
Mensen die weigeren een JVM of .NET runtime te installeren zijn er praktisch niet. Enkel diegenen die niet weten wat het is en het nog nooit nodig gehad hebben. Verder gewoon aangeven dat het meegeinstalleerd wordt. Gebeude bij VB applicaties toch ook altijd al?
[ Voor 31% gewijzigd door The - DDD op 19-08-2006 16:49 ]
Als je zelf niet in Delphi wil ontwikkelen dan lijkt de keuze me vrij snel gemaakt. De gemiddelde huis-tuin-en-keuken gebruiker boeit de installatie van het .NET framework echt niet.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Wanneer de bezoekers op je website Internet Explorer zien kun je heel makkelijk zien aan de User-agent string of ze het .NET-framework hebben geinstalleerd, dan staat er namelijk zoiets:
Zo kun je dus je bezoekers automatisch de meest voor de hand liggende download voorschotelen.
code:
1
| Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET |
Zo kun je dus je bezoekers automatisch de meest voor de hand liggende download voorschotelen.
Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.
Verwijderd
Tja, net als een paar honderd andere compilers werkt Delphi niet met een VM en een garbage collector. Maar wat is er mis met zelf je rommel opruimen wanneer je 't niet meer nodig hebt? Ik moest er heel erg aan wennen dat ik in C# de boel niet eens kon free-en...FooBarWidget schreef op zaterdag 19 augustus 2006 @ 16:06:
Ja, totdat je een van de vele problemen tegenkomt:
- Geen garbage collection behalve voor strings.
Idem in C#, ik zie geen verschil wat dat betreft.- Excepties in Delphi zijn zeer lelijk. Om een exceptie van een bepaalde type af te vangen moet je binnen een 'except' block ook nog een 'on Blabla do' block zetten. 2 keer indenten voor niks eigenlijk.
De editor is op sommige punten minder dan die van Visual Studio, maar daar zijn prima add-ins voor te krijgen (GExperts, CodeRush, etc.). En op sommige punten is 'ie doodgewoon beter: bookmarks, block edit functies, etc.- De Delphi editor zuigt vergeleken met bijna elke andere editor (Notepad uitgezonderd).
Maar ik kan er met de beste wil van de wereld niet bij wat de kwaliteit van een editor te maken heeft met de kwaliteit van een compiler.
Ook in C# zul je bindings naar 3rd party C/C++ libraries zelf moeten schrijven. Dat het .NET framework veel van die libraries overbodig maakt is mooi meegenomen, maar alweer: geen verschil.- Heel veel open source libraries zijn geschreven in C. Je moet handmatig Delphi bindings schrijven voor die libraries. Voor C++ is het nog erger: je moet eerst C++-naar-C bindings schrijven en dan Delphi-naar-C. De .NET runtime bevat zoveel functionaliteit dat ik die third party libraries die ik voor Delphi nodig heb, voor C# niet nodig heb.
In C# zijn pointers binnen managed code uit den boze, dus van dat probleem ben je meteen af. Nu nog zien of je die C libraries aan de praat krijgt in 'unsafe' mode, maar dan kom je in hetzelfde pointer-wespennest als onder Delphi.- Pointer arithmetic zuigt, het is heel verwarrend. Ik heb genoeg met C gewerkt om pointers te snappen maar pointers in Delphi blijven me achtervolgen (en ik heb pointers nodig aangezien ik met C libraries werk).
Nog nooit meegemaakt in de afgelopen 8 jaar dat ik met Delphi werk, maar dan gebruik je toch gewoon StrToIntDef? Wel zo handig...- Bizarre stabiliteitsproblemen. StrToInt() hoort een exception te gooien als de conversie niet werkt. Maar op computers van sommige gebruikers crasht het programma gewoon ipv dat er een exception wordt gegooid.
Compileer je C# project maar 's in release mode, dan heb je hetzelfde probleem.En bij heel veel problemen kan Delphi niet eens tonen bij welke regel die wordt veroorzaakt.
Ik verdien m'n brood met het schrijven van programma's in zowel Delphi als C#, en ik zie niet zo bar veel verschillen. OK, op .NET gebied blijft Delphi 2006' IDE nog hangen op 't 1.1 framework, maar de compiler kan goed overweg met 2.0. En op native niveau doet Delphi m.i. ook niet onder voor MS's C++ compiler.- En vele andere redenen, maar aangezien dit geen Delphi topic is zal ik maar stoppen.
Delphi is niet alleen uit, maar ook gewoon niet praktisch meer.
Je hebt niet per se een VM nodig voor garbage collection. Perl, Python en Ruby hebben ook geen VM. En er bestaan garbage collectors voor C++.Tja, net als een paar honderd andere compilers werkt Delphi niet met een VM en een garbage collector.
Goeie tip, bedankt.maar daar zijn prima add-ins voor te krijgen (GExperts, CodeRush, etc.).
Omdat alles bij Delphi zo strak bij elkaar gebundeld is. Het is erg moeilijk om een andere editor te gebruiken, je krijgt dan allerlei integratieproblemen. Ik heb bijvoorbeeld liever dat de editor een harde tab invoert als ik op tab druk, op dit moment probeert hij op een rare manier te indenten die nooit is wat ik wil (en ik heb al geprobeerd om dit te veranderen).Maar ik kan er met de beste wil van de wereld niet bij wat de kwaliteit van een editor te maken heeft met de kwaliteit van een compiler.
In mijn geval wel een verschil. Het programma wat ik wil gaan schrijven is een soort rewrite van een bestaande programma. Alle functionaliteit die ik op dit moment nodig heb in third party libraries zitten al in de .NET runtime.Ook in C# zul je bindings naar 3rd party C/C++ libraries zelf moeten schrijven. Dat het .NET framework veel van die libraries overbodig maakt is mooi meegenomen, maar alweer: geen verschil.
Ook al geprobeerd. Zelfs dat geeft problemen. Bij een klein aantal gebruikers zorgt StrToIntDef() ervoor dat het programma crasht. Ik heb nooit uit kunnen vinden waarom het gebeurt, maar het is een feit dat het gebeurt bij die mensen. Ik heb zelfs een eigen MyStrToInt() moeten schrijven die eerst controleert of str een lege string is, als workaround.Nog nooit meegemaakt in de afgelopen 8 jaar dat ik met Delphi werk, maar dan gebruik je toch gewoon StrToIntDef? Wel zo handig...
Mijn Delphi programma was dus gecompileerd met debugging aan.Compileer je C# project maar 's in release mode, dan heb je hetzelfde probleem.
Overigens gebruik ik Delphi 6. Ik heb ooit eens Delphi 2006 geprobeerd maar die deed 1 minuut over om op te starten, en crasht tijdens afsluiten.
Verwijderd
Wat jij wilt kan niet. Je wilt namelijk dat mensen niets downloaden of hoeven te installeren maar het moet wel lekker snel en gemakkelijk ontwikkelen zijn als in C#. Of te wel: Je wilt de simpele deployment van C++ waarbij je genoeg hebt aan een executable maar je wilt tevens het gehele .NET framework omdat daar alles al in zit en het veel minder tijd kost om je applicatie te ontwikkelen.
Tevens snap ik net als Afterlife niet goed waarom je tegen delphi bent.
1. Je kan al delphi dus het ontwikkelen moet je snel af gaan.
2. De problemen die je hebt zie ik zelf niet als problemen (geen garbage collectie, mindere IDE, etc).
Daarnaast zit iedereen over 2+ jaar op .NET. Zowiezo alle mensen met SP2 hebben .NET 1.1. Als Vista eenmaal ingeburgerd is heeft iedereen .NET. Anders moet je er voor kiezen om je programma in .NET 1.1 te schrijven. Dan weet je in iedergeval dat meer mensen over het framework beschikken dan met .NET 2.0 het geval is.
Tevens snap ik net als Afterlife niet goed waarom je tegen delphi bent.
1. Je kan al delphi dus het ontwikkelen moet je snel af gaan.
2. De problemen die je hebt zie ik zelf niet als problemen (geen garbage collectie, mindere IDE, etc).
Daarnaast zit iedereen over 2+ jaar op .NET. Zowiezo alle mensen met SP2 hebben .NET 1.1. Als Vista eenmaal ingeburgerd is heeft iedereen .NET. Anders moet je er voor kiezen om je programma in .NET 1.1 te schrijven. Dan weet je in iedergeval dat meer mensen over het framework beschikken dan met .NET 2.0 het geval is.
Verwijderd
Perl, Python en Ruby zijn interpreters, en wanneer je voor C++ een GC nodig hebt, ben je wel heel erg beroerd aan het programmeren...FooBarWidget schreef op zaterdag 19 augustus 2006 @ 17:45:
Je hebt niet per se een VM nodig voor garbage collection. Perl, Python en Ruby hebben ook geen VM. En er bestaan garbage collectors voor C++.
Tools -> Editor options, 'Use tab character' aanzetten, en 'Smart tab' uitzetten. Precies het tegenovergestelde van wat ik prettig vind.Omdat alles bij Delphi zo strak bij elkaar gebundeld is. Het is erg moeilijk om een andere editor te gebruiken, je krijgt dan allerlei integratieproblemen. Ik heb bijvoorbeeld liever dat de editor een harde tab invoert als ik op tab druk, op dit moment probeert hij op een rare manier te indenten die nooit is wat ik wil (en ik heb al geprobeerd om dit te veranderen).
D6 is niet de meest geniale Delphi versie die er is. Probeer 's te downgraden naar D5 (als je die webservices dingen niet nodig hebt) of te upgraden naar D7. D2006 duurt inderdaad even voor 'ie opgestart is (vergelijkbaar met VS2005), maar bij mij crasht 'ie niet bij het afsluiten.Overigens gebruik ik Delphi 6. Ik heb ooit eens Delphi 2006 geprobeerd maar die deed 1 minuut over om op te starten, en crasht tijdens afsluiten.
Hoe gaat dat dan in z'n werk, garbage collection zonder VM ?FooBarWidget schreef op zaterdag 19 augustus 2006 @ 17:45:
[...]
Je hebt niet per se een VM nodig voor garbage collection. Perl, Python en Ruby hebben ook geen VM. En er bestaan garbage collectors voor C++.
Doet het OS het dan voor jou ?
https://fgheysels.github.io/
Nog een kleine Delphi tip: als je altijd precies wilt weten waar je programma crasht, gebruik dan bijv. MadExcept. Die vangt elke crash en niet gevangen exceptie af en laat direct de complete call stack (inclusief units, methods en regelnummers) zien.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Dat klopt. Ik weet dat het niet kan, daarom ook de vraag: hoeveel normale thuisgebruikers hebben het al geinstalleerd? Of ik daadwerkelijk C# ga gebruiken hangt daarvan af.Wat jij wilt kan niet. Je wilt namelijk dat mensen niets downloaden of hoeven te installeren maar het moet wel lekker snel en gemakkelijk ontwikkelen zijn als in C#. Of te wel: Je wilt de simpele deployment van C++ waarbij je genoeg hebt aan een executable maar je wilt tevens het gehele .NET framework omdat daar alles al in zit en het veel minder tijd kost om je applicatie te ontwikkelen.
Oh ja? Download maar eens Inkscape en vertel me dat dat een beroerd programma is.en wanneer je voor C++ een GC nodig hebt, ben je wel heel erg beroerd aan het programmeren...
Geen idee hoe het werkt, maar kijk maar eens naar libgc, wat gebruikt wordt door Inkscape.Hoe gaat dat dan in z'n werk, garbage collection zonder VM ?
Doet het OS het dan voor jou ?
Ik pleur even wat commentaar achter je opmerkingen!FooBarWidget schreef op zaterdag 19 augustus 2006 @ 16:06:
[...]
Ja, totdat je een van de vele problemen tegenkomt:
- Geen garbage collection behalve voor strings.
- Excepties in Delphi zijn zeer lelijk. Om een exceptie van een bepaalde type af te vangen moet je binnen een 'except' block ook nog een 'on Blabla do' block zetten. 2 keer indenten voor niks eigenlijk.
- De Delphi editor zuigt vergeleken met bijna elke andere editor (Notepad uitgezonderd).Eigen mening!
- Heel veel open source libraries zijn geschreven in C. Je moet handmatig Delphi bindings schrijven voor die libraries. Voor C++ is het nog erger: je moet eerst C++-naar-C bindings schrijven en dan Delphi-naar-C. De .NET runtime bevat zoveel functionaliteit dat ik die third party libraries die ik voor Delphi nodig heb, voor C# niet nodig heb.Leuk toch, delphi 7 kan daar in veel gevallen me overweg. En anders zoek je niet goed genoeg, ik vind er genoeg!
- Pointer arithmetic zuigt, het is heel verwarrend. Ik heb genoeg met C gewerkt om pointers te snappen maar pointers in Delphi blijven me achtervolgen (en ik heb pointers nodig aangezien ik met C libraries werk).Anders, kwestie van leren en er tijd in steken.
- Bizarre stabiliteitsproblemen. StrToInt() hoort een exception te gooien als de conversie niet werkt. Maar op computers van sommige gebruikers crasht het programma gewoon ipv dat er een exception wordt gegooid. En bij heel veel problemen kan Delphi niet eens tonen bij welke regel die wordt veroorzaakt.Dat hoeft niet, dat het in andere talen zo is ok. Delphi heeft daar TryIntToStr() voor.
- En vele andere redenen, maar aangezien dit geen Delphi topic is zal ik maar stoppen.
Delphi is niet alleen uit, maar ook gewoon niet praktisch meer.
Ja het is inderdaad een eigen mening. Maakt dat wat uit?- De Delphi editor zuigt vergeleken met bijna elke andere editor (Notepad uitgezonderd).Eigen mening!
Ik zou het heel leuk vinden als je een YAML parser voor Delphi kan vinden.Leuk toch, delphi 7 kan daar in veel gevallen me overweg. En anders zoek je niet goed genoeg, ik vind er genoeg!
Verwijderd
Niet eens naar gekeken, maar als C++ of Delphi programmeur weet je gewoon dat je de objecten die je zelf hebt gemaakt ook weer moet opruimen. Daar zullen vast wel vuilnismannen voor uitgevonden zijn die dat voor je doen, maar dan blijft 't nog steeds jouw veratwoordelijkheid dat 't opgeruimd wordt.Oh ja? Download maar eens Inkscape en vertel me dat dat een beroerd programma is.
Dan gooi ik ze liever zelf weg.
Verwijderd
Net even op http://www.yaml.org gekeken, maar dat lijkt me een project dat gedoemd is te mislukken. Ze willen XML opnieuw uitvinden, maar dan "human readable". Met als gevolg dat 't slechter "computer parsable" is. En laten computers nou 's heel goed zijn in het "human readable" maken van dingen die ze goed kunnen parsen.Ik zou het heel leuk vinden als je een YAML parser voor Delphi kan vinden.
Ik zie er zo gauw geen voordeel in t.o.v. XML met een duidelijke XSD of schema, en een leuk XSL transformation scriptje om de boel "human readable" te maken.
Maar niks staat je in de weg om zelf een YAML parser te maken, toch?
Garbage collection kan de productiviteit verhogen en redundancy schelen. Neem een voorbeeld als dit:
Zie je het probleem ook? "CloseFile(F);List.Free;" komt maar liefst 3 keer voor, dikke redundancy. (Ja, dit zou je ook op een andere manier kunnen oplossen maar het is maar 1 voorbeeld.) Met garbage collection zal dat automatisch voor je gedaan worden.
Bovendien wordt handmatig vrijmaken lastiger wanneer je te maken hebt met een shared resource die wordt gebruikt door meerdere threads. Dan moet je je eigen reference count code schrijven. Het zou toch handig zijn als je dat niet hoeft?
"Gedoemd om te mislukken" is een groot woord. Definieer eerst "mislukken". Het wordt intensief gebruikt in Ruby on Rails.
of:
Ik heb mijn keuze snel gemaakt. XML bevat tonnen redundancy. Leuk voor complexe documenten of markup, maar overkill voor simpele object serialization.
Maar, zoals ik al zei: vliegenmepper vs atoombom. Ze zijn allebei ontworpen voor andere dingen, klaar.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| List := TStringList.Create;
AssignFile(F, "foo.txt");
// Ervan uitgaande dat we I/O exceptions gebruiken
try
Reset(F);
Readln(Line);
List.Add(Line);
DoeIetsMet(List); // Dit kan een DoeIetsError gooien
except
on E: DoeIetsError do
CloseFile(F);
List.Free;
raise EenAndereException.Create("Kan niets doen met foo.txt.");
end;
on E: Exception do
CloseFile(F);
List.Free;
raise EenAndereException.Create("Onbekende fout: " + E.Message);
end;
end;
Close(F);
List.Free; |
Zie je het probleem ook? "CloseFile(F);List.Free;" komt maar liefst 3 keer voor, dikke redundancy. (Ja, dit zou je ook op een andere manier kunnen oplossen maar het is maar 1 voorbeeld.) Met garbage collection zal dat automatisch voor je gedaan worden.
Bovendien wordt handmatig vrijmaken lastiger wanneer je te maken hebt met een shared resource die wordt gebruikt door meerdere threads. Dan moet je je eigen reference count code schrijven. Het zou toch handig zijn als je dat niet hoeft?
Je denkt dat het gedoemd is om te mislukken omdat je denkt dat ze XML opnieuw uitvinden. Dat is een zeer veelgemaakte vooroordeel, en is niet het geval. YAML is geen "human readable XML". YAML is een object serialization taal, geen markup taal. YAML is een keukenmes en XML is een zwitserse legermes. YAML is een vliegenmepper en XML is een atoombom. Je kan een vlieg doden met een atoombom, een atoombom is immers een alleskiller, net als XML een soort 'alles-markup' is. Maar ja, misschien is het handiger om een vliegenmepper te gebruiken als je alleen maar een vlieg wilt doden.Net even op http://www.yaml.org gekeken, maar dat lijkt me een project dat gedoemd is te mislukken. Ze willen XML opnieuw uitvinden, maar dan "human readable". Met als gevolg dat 't slechter "computer parsable" is. En laten computers nou 's heel goed zijn in het "human readable" maken van dingen die ze goed kunnen parsen.
"Gedoemd om te mislukken" is een groot woord. Definieer eerst "mislukken". Het wordt intensief gebruikt in Ruby on Rails.
Het voordeel is dat de boel korter is. Wat type je liever:Ik zie er zo gauw geen voordeel in t.o.v. XML met een duidelijke XSD of schema, en een leuk XSL transformation scriptje om de boel "human readable" te maken.
code:
1
2
3
4
| menu: - aardappel - kokosnoot - tomaat |
of:
code:
1
2
3
4
5
6
7
8
| <?xml version="1.0" encoding="utf8"?>
<root>
<menu>
<item>aardappel</item>
<item>kokosnoot</item>
<item>tomaat</item>
</menu>
</root> |
Ik heb mijn keuze snel gemaakt. XML bevat tonnen redundancy. Leuk voor complexe documenten of markup, maar overkill voor simpele object serialization.
Maar, zoals ik al zei: vliegenmepper vs atoombom. Ze zijn allebei ontworpen voor andere dingen, klaar.
Behalve het feit dat ik wat beters te doen heb.Maar niks staat je in de weg om zelf een YAML parser te maken, toch?
[ Voor 48% gewijzigd door FooBarWidget op 19-08-2006 23:03 ]
Verwijderd
Zet die 2 dingen 's in het 'finally' blok van een try finally? Die wordt nl. ook uitgevoerd wanneer er een exception optreedt.Zie je het probleem ook? "CloseFile(F);List.Free;" komt maar liefst 3 keer voor
En wat betreft YAML:
Als in niet ondersteund door de grote spelers (Microsoft, Sun, IBM, Oracle, etc.)."Gedoemd om te mislukken" is een groot woord. Definieer eerst "mislukken".
Natuurlijk weet ik dat XML stijf staat van de overhead, maar 't is wel de de facto standaard voor serialization en het uitwisselen van (de data binnen) objecten.
Ik had al eens laten vallen dat ik het idee had je nog niet het 1 en ander onderzocht te hebben, waarbij je vervolgens verteld dat dat wel het geval is maar hier vervolgens niks daarvan post. Dat verwachten we eigenlijk wel van je. Zie ook Programming Beleid en dan met name Programming Beleid - De Quickstart
Het feit dat google met "yaml parser delphi" meer dan 1 bruikbaar resultaat oplevert spreekt ook niet in je voordeel (http://hp.vector.co.jp/authors/VA028375/junkbox/dyayaml.zip nog geen 3 minuten zoeken).
De links doe gorgi_19 al aanhaalde zijn ook vrij simpel zelf te vinden en met wat meer zoekwerk zijn er verschillende zaken te vinden die over het wel of niet installeren van of geinstalleerd hebben van .NET gaan.
Ik denk ook dat het meeste nu wel gezegd is hierover en doe dan ook dit topic op slot.
Het feit dat google met "yaml parser delphi" meer dan 1 bruikbaar resultaat oplevert spreekt ook niet in je voordeel (http://hp.vector.co.jp/authors/VA028375/junkbox/dyayaml.zip nog geen 3 minuten zoeken).
De links doe gorgi_19 al aanhaalde zijn ook vrij simpel zelf te vinden en met wat meer zoekwerk zijn er verschillende zaken te vinden die over het wel of niet installeren van of geinstalleerd hebben van .NET gaan.
Ik denk ook dat het meeste nu wel gezegd is hierover en doe dan ook dit topic op slot.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Pagina: 1
Dit topic is gesloten.
![]()