The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
TechInterview.org
CityDesk
FogBugz
Fog Creek Copilot


The Old Forum


Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Learning to Appreciate Visual Basic

I've been supporting both Java and VB codebases for a couple of years ago.

In that time I've learnt to dislike the absuses of Java, especially:
  * exception handling
  * psychadelic patterns
  * unneccessary reflection
  * having to install a huge application server and 20 different frameworks just to debug a bit of code

Dear old VB, the code is so simple, so naive, so innocent.  Its intentions transparent.  Code just did what it said, and said what it did.

Then again, when it comes to deployment ActiveX controls are still a nightmare.

I'm not saying that Java is a bad language.  It makes simple straightforward coding nice a simple.  Sometimes it seems that programmers go to heroic lengths to make their code obscure.
Ged Byrne Send private email
Wednesday, August 17, 2005
 
 
Not again. Yet another thread ripe for Delphi hijack...
HS Send private email
Wednesday, August 17, 2005
 
 
Not trying to troll.  Just letting of steam. 

I remember being so glad to hear that we were switching to Java development.  I loved Java.  I was so looking forward to supporting decent OO applications rather than the old muddle of VB application.

When the first Java app arrived, it was a nightmare.  Working with it was so horrible.  The experience has left me a little jaded.

Now I love Ruby, but I begin to wonder what would happen if Ruby gained mainstream acceptance.  If corporate development teams started to produce applications using Ruby, what abominations would the produce?

Looking at VB code, it did do a good job of limiting the harm they could do.
Ged Byrne Send private email
Wednesday, August 17, 2005
 
 
Yeah, sorry about the snide remark.

It's just that your requirements pretty much nailed Delphi spot on.

1. The language is powerful yet very approachable.

2. Everything is as you described for VB6. Transparent, productive, straightforward etc.

And:

3. Delphi really excels with statically linked components, removing most external dependencies.
HS Send private email
Wednesday, August 17, 2005
 
 
Delphi was great, wasn't it.

Eiffel is another langauge that fits well.

The thing that gets me is the difference between a languages potential and what happens to a language once it has been put into the hands of the coconut herds ( http://www.joelonsoftware.com/articles/fog0000000072.html ).

Is is possible for a language to become the defacto for business while remaining good for the developer?

Imagine if things had worked out differently.  If Borland had got the marketing right, and Delphi had become the most widely used language, then would it still be held in such high regard?
Ged Byrne Send private email
Wednesday, August 17, 2005
 
 
Really, who needs the hassle when VB.net is right there for ya.  Have you tried VB.net out, yet, for comparison's sake?

I mean, scaring MS with OSS and Linux was fun, wasn't it?  Is it time we just got back to using VB.net?
LinuxOrBust
Wednesday, August 17, 2005
 
 
I think the simple answer to Borland's atrophy is that language products & development environments aren't really a huge industry in itself anymore.

Back in the old days language products were at the centre of the IT industry.

Databases, business systems, consultancy, middleware, n-tier, web technology, scalable systems etc. That's where the money is these days.

In a way the era of the great language wars is long over at least in any meaningful form.
HS Send private email
Wednesday, August 17, 2005
 
 
I mean, I almost took a C++.net course and then thought "Good heavens, what is the point?"  I'm not a shrink-wrap SWE, just an everyman programmer.
LinuxOrBust
Wednesday, August 17, 2005
 
 
LinuxOrBust,

I haven't tired VB.Net, since were using C#.  First C# applications are coming online and they are showing similar abuses as the Java code.  Thankfully, there are no checked exceptions.

Also, for programmers working within a financial company there time is more productively spent studying financial theory then getting to grips with RAII. 

Some also find that spending time with family and friends quite enjoyable.
Ged Byrne Send private email
Wednesday, August 17, 2005
 
 
Don't know if you Delphi-ites know Marc Hoffman et al. at RemObjects, but you may want to look at Chrome ( http://www.chromesville.com/ ) - Object Pascal for .NET, and it integrates into Visual Studio (I think)

Psuedo warning: I *was* once affiliated with RemObjects, but haven't been in a long time... I purely admire the work they do.
Michael Johnson Send private email
Wednesday, August 17, 2005
 
 
HS > I think the simple answer to Borland's atrophy is that language products & development environments aren't really a huge industry in itself anymore.

That's why some people have advocated that Borland spins off Delphi, and make this a private company, so Borland could concentrate on the higher-margin business of corporate tools, and Delphi wouldn't be as pressured by shareholders.

I don't know how successful that strategy could be when confronted with the huge amount of money MS can spend on developement tools (heck, it could just give them away were it not for the FTC), but it's obvious that Borland is going to have to make decisions soon. Either it does, or it's Chapter 11.
Fred
Wednesday, August 17, 2005
 
 
Way back to the OP, let me agree with him.  I used to have a lot of very biased opinions about VB and VBScript ..but you know what changed it?  Ruby.

Ruby is very similar to VB in many ways, and there is a certain simple elegance there.

Just reading a dynamically typed language without brackets seems to be easier for me.  Sometimes it is very easy to get lost in large chunks of Java and C#.
Larry
Wednesday, August 17, 2005
 
 
We're talking about good old VB6 in this thread, right?  I agree it can be fine when used by competent programmers.  But my god it didn't feel like a language that held together very well.  Bits and pieces got added on from early versions as it matured and it never really felt like a coherent whole. 

And regarding the death of Delphi, surely use of VB6 has declined more than Delphi (on a percentage basis) since  the advent of .NET?  I mean, VB as it used to be doesn't even exist anymore; VB.NET is for all intents and purposes an entirely different language.

Classic VB stands to me as proof that good programmers can do amazing things with a mediocre language.  The VB IDE environment, runtime, integration with MS Office apps,  made it productive and actually a good choice.  But that doesn't change the fact that the language itself is still an ugly agglomeration.
Herbert Sitz Send private email
Wednesday, August 17, 2005
 
 
The big difference between Delphi and Classic Visual Basic is that Borland are trying to keep Delphi alive while Microsoft are desparately trying to kill VB6.

The most frustrating thing at the moment is VB6 licensing.  We have to support applications written in VB6 for years to come, but if we get additional developers we have no way of getting a legal license.
Ged Byrne Send private email
Wednesday, August 17, 2005
 
 
"Ruby is very similar to VB in many ways, and there is a certain simple elegance there.

Just reading a dynamically typed language without brackets seems to be easier for me. "

The problem is that VB isn't that similar to Ruby.  Variables in VB are by default dynamically typed, but weakly.  Ruby variables are dynamically typed, but the typing is strong.  Big difference. 
http://en.wikipedia.org/wiki/Dynamic_type#Static_and_dynamic_typing
Herbert Sitz Send private email
Wednesday, August 17, 2005
 
 
A major problem with writing Java applications for application servers is the lack of immediacy when building software. You build it and wait, deploy it and wait and then finally get to test it. This lack of immediacy compared to VB and other languages like Ruby is painful and makes developers feel less productive then other environments. It is probably one of the major reasons why Java feels "heavy" in comparison to some other environments.
Gerald Send private email
Wednesday, August 17, 2005
 
 
Delphi was a great tool, but anyone who thinks it isn't headed for irrelevancy these days is sticking their head in the sand. The writing had been on the wall for a number of years now.
Gerald Send private email
Wednesday, August 17, 2005
 
 
"The big difference between Delphi and Classic Visual Basic is that Borland are trying to keep Delphi alive while Microsoft are desparately trying to kill VB6."

I disagree. Borland has stopped developing Delphi for native Windows and focuses exclusively on .net.
Joel Spolksy is spot-on with his opinion that software company's CEOs have to understand software development (64-bit capability is a "boring technical detail" to Borland's CEOs - a misunderstanding that has stopped Delphi dead in its tracks because they appear to think nobody will ever need it - neither do they think we need Unicode, or Windows CE).

Some thoughts on the matter:
http://www.zenhacker.com/TheSkyIsFalling.htm

Delphi is dead. Long live FreePascal!
Frank de Groot Send private email
Wednesday, August 17, 2005
 
 
I think much of the issue centers around does the language do the job for the given task?

VB, and VBA (which I use a LOT) gives you a decent IDE, gives you the ability to explicitly define vars, and gives you a decent way to traverse code (shift-f2 to follow subs/functions, and then ctrl-shift-f2 to un-cork you way back). If you can set break points, and step through code with ease, then that just about does it for me.

For the most part, if the IDE has the above and you throw in a nice RAD screen/forms builder, what more do you need?

In the old pc days, products like dbaseIII, FoxPro etc were looked down upon, but I bet MORE business applications were written in those database products then in c, or Pascal, or whatever was the language of the day.

I never been able to understand the distaste that so many developers have for VB.  I wrote a payroll system in Pascal. I then re-wrote it in data-BASIC for Pick (IBM’s U2, and Ultimate also shared this same language). This was a plain Jane BASIC, but rich in database table manipulations.

 I also converted a reservation system from pick to ms-access (you can read about that experience of mine in detail here).

http://www.members.shaw.ca/AlbertKallal/Articles/fog0000000003.html


I don’t see why less of a professional approach would be taken if I can converting some Pascal software to run on a mini-frame system like Universe, or converting from Pick to ms-access? Why should this change my skill levels, and professional approach here?

At the end of the day, VB became popular like dbaseIII did in the dos days.

The simple answer is that VB is a decent language, and gets the job done…..

Albert D. Kallal
Edmonton, Alberta Canada
Kallal@ msn.com
http://www.members.shaw.ca/AlbertKallal
Albert D. Kallal Send private email
Wednesday, August 17, 2005
 
 
> what abominations would the produce?

It's the programmer that does it, not so much the language.

I've seen some very average people do some cool things in VB, but the language still bites :-)
son of parnas
Wednesday, August 17, 2005
 
 
Ged, good call on the Cocoanut Herds article.

Another related issue is the fact that new languages are always more productive than older languages... until the new languages are widely adopted. Analysis of this phenomenon has revealed that early adopters are more likely to be among the top developers, and so the early productivity gains are nothing more than a reflection of the caliber of developers working with new technology.
Rich Rogers
Wednesday, August 17, 2005
 
 
Also related is Joel's confession that he writes applications in VB, and hires C++ programmers only to do so since VB is a better language, but VB developers are not so bright. Don't recall which article that was or if it was only on the blog. Was back in the CityDesk days.
Rich Rogers
Wednesday, August 17, 2005
 
 
It was probably the article on leaky abstractions. Here Joel claims that "when you need to hire a programmer to do mostly VB programming, it's not good enough to hire a VB programmer, because they will get completely stuck in tar every time the VB abstraction leaks."

http://www.joelonsoftware.com/articles/LeakyAbstractions.html
General Protection Fault
Thursday, August 18, 2005
 
 
"Also related is Joel's confession that he writes applications in VB, and hires C++ programmers only to do so since VB is a better language, but VB developers are not so bright. "

This is a very interesting take.  I've never quite understood what was so horrible about VB - although I have seen that many bad programmers don't know other languages. 

Of the people here that cringe when they hear VB, does this view work for you?

Mike
Bankstrong Send private email
Thursday, August 18, 2005
 
 
Rich,

That is exactly what I was trying to express, thanks for putting is so succinctly.
Ged Byrne Send private email
Thursday, August 18, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz