Live data from Hacker News

The Birth of Visual Basic (2006)

forestmoon.com

41–50 of 61 posts

Re: The Birth of Visual Basic (2006)

#41
post #36
post #25

Earlier quoted context omitted.

> Visual Basic v1.0 hit that perfect sweet spot for a bunch of refugees from the DOS text mode 4GL languages to write Windows programs. They didn't have to learn the low-level C language or mess around for months with the Petzold book. Visual Basic had this ingenious abstraction called "forms" that hid the WndProc() monster and its messy switch case statements VB also hit that sweet spot with me. I had no prior advan…

>I struggle to find a recent language that he can pick up and start having a rewarding experience, like I did with VB. For kids, I recommend Javascript in the web browser. My friend is showing it to his 10-year old son and it's working out great. Javascript benefits include free development tool (notepad or textmate) and cross-platform (Win/Mac/Linux). Javascript will be around for the next 50 years. In my opinion, a…

FWIW, here's a fairly recent discussion of several options for deploying JS as a self-contained exe - things are getting better!

Turn Node Applications into Executables https://news.ycombinator.com/item?id=8221233

Re: The Birth of Visual Basic (2006)

#42
post #13

I'm a high school teacher, and I'd love to hear from some people who know Visual Basic well. I teach an intro programming class each year, and I currently use Python. I occasionally get students who have had a previous class in Visual Basic at another school. These students tend to think they already "know programming", but after two or three weeks in Python they start to tell me they're learning all kinds of concept…

Are we talking VB6 or VB.NET? VB6 is... old, and feels old. It barely allows object oriented programming and doesn't have first-class functions, so you're pretty limited to a procedural sort of paradigm. The IDE is clunky. For example: error handling is done with explicit GOTOs (ugh) and "On Error Resume Next" lets you simply skip past errors(!!!). VB.NET is basically a friendlier-looking version of C# and is therefo…

"On Error Resume Next" lets you simply skip past errors

Is that very differently from "except: pass" in Python, though? Most languages allow you to skip past errors, the problem with VB was the culture of the users who didn't treat that as a red flag, not the language feature itself.

Re: The Birth of Visual Basic (2006)

#43
post #13

I'm a high school teacher, and I'd love to hear from some people who know Visual Basic well. I teach an intro programming class each year, and I currently use Python. I occasionally get students who have had a previous class in Visual Basic at another school. These students tend to think they already "know programming", but after two or three weeks in Python they start to tell me they're learning all kinds of concept…

This comment turned into an essay that I have no time to edit. So I'll repost it later as an essay. :)

Re: The Birth of Visual Basic (2006)

#44

Earlier quoted context omitted.

From my experience VBAs used a lot in the corporate world. Learning VB in high school can be of great use in the future if you're not looking for a tech career. Front-end MS Access, Excel Macros, screen-scraping, vb script to call SQL queries can all give you a leg up in a non programming career path.

I have an older relative who is still cashing in nicely on his VBA skills. There was a "demand vs pay" graph for tech skills going around awhile. VBA is low demand, but among the highest paid of the technologies.

From a cost perspective it's easy to see this. I've made plenty of trivial VB scripts in large/bureaucratic companies to automate tasks that a customer service person(or a whole department) had been doing for an hour a day for the last decade.

Re: The Birth of Visual Basic (2006)

#45

Earlier quoted context omitted.

Are we talking VB6 or VB.NET? VB6 is... old, and feels old. It barely allows object oriented programming and doesn't have first-class functions, so you're pretty limited to a procedural sort of paradigm. The IDE is clunky. For example: error handling is done with explicit GOTOs (ugh) and "On Error Resume Next" lets you simply skip past errors(!!!). VB.NET is basically a friendlier-looking version of C# and is therefo…

"On Error Resume Next" lets you simply skip past errors Is that very differently from "except: pass" in Python, though? Most languages allow you to skip past errors, the problem with VB was the culture of the users who didn't treat that as a red flag, not the language feature itself.

On Error Resume Next is actually weirder than an empty error handler. If Python errors halfway through a try/except block, it will skip the rest of the block. If you On Error Resume Next, VB will literally just proceed to the next line and keep executing.

And since you don't need to indent the block that comes after On Error, it's easy to miss that line...

Re: The Birth of Visual Basic (2006)

#47
post #9

It's an interesting story but it's told as a "person A did this, Person B did that, and Person C had this idea, etc." Maybe it's a consequence how my brain works but any time I read that type of recap, I forget everyone's name and the other trivia 5 minutes after I'm done reading it. When revisiting technology history, what tends to stick in my mind is the context and industry forces prevalent at the time and the sto…

In 1990, the Win32 API thing seemed to be simply prohibitive for me to approach. In Microsoft's defense, my impression of the Apple Mac was even worse, but my Mac had HyperCard.

The introduction of VB is what tipped the scales for me, in favor of Windows, as it was apparent that Apple's interest in HC was waning.

Naturally, it's a horses-for-courses thing, but I agree that VB was huge.

Re: The Birth of Visual Basic (2006)

#48
post #13

I'm a high school teacher, and I'd love to hear from some people who know Visual Basic well. I teach an intro programming class each year, and I currently use Python. I occasionally get students who have had a previous class in Visual Basic at another school. These students tend to think they already "know programming", but after two or three weeks in Python they start to tell me they're learning all kinds of concept…

I learned programming in BASIC, in 1981, then spent some years with Turbo Pascal, HyperCard, and eventually VB. I spent upwards of a decade with VB before switching to Python.

I'd have a couple problems with VB as a teaching language. First, there's the business of building GUI's and navigating the project structure. These are not the basics of programming, and are layers of abstraction that obscure the underlying code.

Second, even if there's a free version, it's an enormous bloated download, and only runs on Windows. Python can run on any reasonably modern computer, including the Raspberry Pi and its ilk.

Third, Python is more "cool" right now, meaning that there is a lot more interesting code and projects being shared and discussed online. I actually consider this to be an advantage for my own use of Python at my day job.

Now I think both groups of students will come away with a decent grounding. Those who get into programming will learn more than one language, and I'll bet that there's little correlation between who's a good programmer and what language they started with.

Re: The Birth of Visual Basic (2006)

#49
post #46

For all the vb.net detractors, I'd suggest you this blog post "in defense of vb.net" http://bugsquash.blogspot.com.ar/2013/02/in-defense-of-vbnet...

Even though I'm a C#/F# programmer, I'll offer a better defense of VB.Net:

* Method resolution (I actually prefer C#'s but I can see the advantages of VB)

* XML Literals

* Many more query comprehension operators than C#

* Don't have to put `Select` at the end of a query comprehension expression

* Filtered Exceptions (coming in C# 6)

* Ability to call module functions without fully qualifying the name

* The `WithEvents` and `Handles` keywords

Post reply on HN