Welcome to CrankyGoblin.Com Sign in | Join | Help

Public Class GeoffAppleby

Inherits Microsoft.VisualBasic.MVP : Implements IBrainFart
VB Is Not Just For Gumbies: Episode V - Mort Strikes Back

Since VS2K5 came out, slowly but surely a few starter kits have been trickling out.

I think these starter kits are a neat idea, useful to experienced people and n00bs alike. Each starter kit is simply a project template that compiles and runs without writing a single line of code.

A little while ago I noticed a new one had appeared - the Web Log Analyzer Starter Kit. It was really good timing - we've just installed a local proxy at work to track unauthorised web surfing by staff in our building, so something that let us go through the logs nicely would be cool - and it uses the client-side reporting services controls too, so I'd have a nice simple example of how they work as well.

I figured (and I was right in my assumption) that it only handles log files from IIS, so I'd have to do a few mods to handle a log file for Apache (which is what we are using) - but this was no big deal.

What I didn't expect was the other problems.

One of the core requirements of Start Kits is that they work, and that they work instantly - it's even explicitly stated on a page that describes what they are and how to make them:

If you are creating a sample application or plug-in:

  • Create a project that builds without errors.
  • Add template code to implement additional tasks (optional).
  • Prepare the documentation.

If you are creating a learning tool:

  • Create a project that builds without errors.
  • Organize the resources, such as code snippets and item templates.
  • Prepare the documentation.

So what happens when you open this starter kit? Well, if you were Mort, you'd have no problems. Hit F5, and away we go.

But I'm not Mort. I hope most of the VB programmers out there aren't (I do - I really hope this :) I've gone into my preferences for VS and set Option Explicit on at all times. So now when I open this starter kit I get something like 16 Build Errors.

They're all simple stuff - either not declaring the data type of a variable, or not explicitly marking a one character string as a char.

*sigh*

How can VB get treated seriously if Mort himself works for Microsoft? A sample is great, but any sample that comes out really should be a sample of some functionality and a sample of good coding practice.

Posted: Tuesday, January 24, 2006 2:27 PM by Geoff Appleby
Filed under: , ,

Comments

JosephCooney said:

Have you ever thought it might just be the language that is holding you back? C# doesn't have option explicit and option strict. In spite of what some people might think I'm not trying to start a language war - I know VB.NET is probably the right choice for some people, just not for me. If things like this annoy you then why choose a language that allows it? Is the case-sensitivity of C# just too much to bear?
# January 24, 2006 9:33 PM

Thomas Williams said:

Hi Geoff - +1 to your original comment on Option Strict (why would you *not* use it?), and another thing I've noticed about the Starter Kits - where's the exception handling?

Otherwise they're interesting and complete enough. Wish they had a CAB starter kit, simpler than the full sample applications :-)

Cheers,

Thomas
# January 24, 2006 11:28 PM

Geoff Appleby said:

Hey Joseph. YOu're lucky I know you, so i believe you when you say you're not trying to start a war :)

It's nothing to do with me - honestly. Nothing to do with the language holding me back. It's the language features like this that make me love VB so much. The late-binding (which is only possible by turning option explicit off) is a very cool feature.

It's not even a problem to me that MS ship VS with option explicit off by default. While I wish it were on by default, that's to protect the ultra-ultra-morts, and to save me the hassle of turning it on in the preferences everytime i reinstall :) It's a great language feature.

But that's my point. it's a feature of VB that option explicit can be on or off. It's the VB coder's responsibility to deal with features like this and make sure it doesn't cause any problems.

Sure, some language features can be ignored from situations like this (for example, the start kit certainly did not need to reference anything in the My namespace if it didn't want to) but accessing My or not does not effect the build. Option explicit _does_ and should have been covered - for it's not just Mort that will be downloading this package.

And no, case sensitivity isn't too much to bear :) I can read, understand, and write C#, and quite well even - I just prefer VB, that's all. even with annoyances like this, it only took me 30 seconds to fix up the errors and move on. I'm just disappointed that a place shipping 'examplar' code didn't cover it - especially in the way it was written. The the problems hit by the option explicit setting were randomly scattered throughout the sample, it wasn't even consistent! :)
# January 25, 2006 1:07 AM

Geoff Appleby said:

Hey Thomas - long time no talk :) You going to codecamp again this year?

That's a good idea about the CAB kit - why don't you write one? :)
# January 25, 2006 1:09 AM

JosephCooney said:

Geoff - just saying "I just prefer VB better" is enough for me to stop asking (I suppose you must since they made you a VB.NET MVP right). I just wonder sometimes if people stick to languages for dogmatic reasons rather than choosing a language based on whats best for the job. Snubbing VB.NET for C# because of the unjustified stigma VB.NET has in some programming circles, or doggedly sticking to VB.NET when many of the features annoy the sh!t out of them and they'd be happier with C#. I agree that VB.NET's late binding can be useful sometimes (but not that often for me). The great thing about .NET is that in the past when I've had to do lots of late-bound stuff for my own "fun" projects I've factored that all into a VB.NET library that was much smaller than the equivalent C# one.
# January 25, 2006 4:15 AM

Geoff Appleby said:

Sometimes you just gotta take the good with the bad. These days, with all the My stuff, assemblies can end up much much bigger :)

But that doesn't stop me using it, of course!

VB, C#, in most cases it really doesn't matter which is used. But each language has a coupleof strengths which the other lacks - in which case, I'm certainly one of the first to suggest a switch for one library or another.

I just try to make sure the switch is absolutely necessary *grin*
# January 25, 2006 4:41 AM

Imran Koradia said:

+1 on the late binding feature in VB. The other day I saw some piece of code in a C# book illustrating how you could use late-bound COM objects using reflection. Boy was that ugggggly or what! All those InvokeMember calls scattered around all over the place made me love VB.NET for having the option strict "option"!
# January 25, 2006 7:37 AM

LeVaN said:

http://www.sexsexe-video-strip.toyt3.com ^^^ http://www.penere-purk-kjonnet.toyt3.com ^^^ http://www.tutti-i-giochi.str0nz0.com ^^^ http://www.piu-bollente-sentimento-vergine.str0nz0.com ^^^ http://www.galerias-hentai-xxx.100milfotos.com ^^^ http://www.espaniol-putitas-jovencitas.100milfotos.com ^^^ http://www.www-jumpy-it.allievo69.com ^^^ http://www.mousey-femmina-prostituta.allievo69.com ^^^ http://www.sympaattinen-***-masturbointi.huor4.com ^^^ http://www.alyton-tytot-prostituoitu.huor4.com ^^^ http://www.anal.hu0ra.com ^^^ http://www.viilea-***-kusta.hu0ra.com ^^^ http://www.studentessa-fighetta-orale-fotti.fott1.com ^^^ http://www.eccellere-superpoppe-amore.fott1.com ^^^ http://www.indescrivibile-ragazze-strip.f0tti.com ^^^ http://www.nonsensical-bionde-doppio-penetrazione.f0tti.com ^^^ http://www.foto-de-jessica-sirio.asiaticas-putas.com ^^^ http://www.galeria-pe-petardas.asiaticas-putas.com ^^^ http://www.vagina-rov-sexig.sexknulla.com ^^^ http://www.mogna-bullfittor-skit.sexknulla.com ^^^ http://www.pantaletas-amateur.corneo69.com ^^^ http://www.bollente-discreto-castra.corneo69.com ^^^ http://www.fotos-super-nalgonas.dibujitosporn.com ^^^ http://www.gordas-negras-cuadro.dibujitosporn.com ^^^ http://www.divertente-moglie-succhi.disponibile69.com ^^^ http://www.piu-bollente-riservato-cartoni.disponibile69.com ^^^ http://www.mujeres-en-pantaletas.gayfrei.com ^^^ http://www.avi-foto-ermafroditi.gayfrei.com ^^^ http://www.relatos-enculadas-mpg.petarda2fotos.com ^^^ http://www.chica-eroticanet-jpg.petarda2fotos.com ^^^ http://www.gordas-velludas-dvd.lesbianavideo.com ^^^ http://www.clip-fotos-descaradas.lesbianavideo.com ^^^ http://www.maduras-sexo-film.pollonesamateur.com ^^^ http://www.sintoma-dolor-pezon.pollonesamateur.com ^^^ http://www.catalog-hombre-masturbandose.sexoexnovia.com ^^^ http://www.cuadros-wwwpuchas.sexoexnovia.com ^^^ http://www.tetitas-bonitas.latinas-putas.com ^^^ http://www.adolescentes-peruanas.latinas-putas.com ^^^ http://www.gay-spa.putasmorochas.com ^^^ http://www.lindas-desnudas.putasmorochas.com ^^^

# November 28, 2006 12:38 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

To submit your comment, click on these pictures:
  • Tickle Me Geoff-Mo
  • Super Geoff!
  • Geoff's dad's tongue
Gaptcha Image - No Peeking! Gaptcha Image - No Peeking! Gaptcha Image - No Peeking!
Gaptcha Image - No Peeking! Gaptcha Image - No Peeking! Gaptcha Image - No Peeking!
Gaptcha Image - No Peeking! Gaptcha Image - No Peeking! Gaptcha Image - No Peeking!
Can't recognise the people in these pictures? Look here for a quick introduction.
There's a time limit for you to get your comment submitted before this set of pictures expires. If you think it's been longer than 10 minutes, get some new pictures first (you won't lose what you've typed so far).
Get some new pictures 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS