News:

Pretty crazy that we're closer to 2030, than we are 2005. Where did the time go!

Main Menu

Is Visual Basic a good beginner's language?

Started by iago, March 07, 2006, 04:46:54 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

iago

My personal opinion is no.  I think that my opinion counts because Basic and Visual Basic were my first languages, and I used and loved them for years before I started doing other stuff. 

In my opinion, VB creates bad habits and makes it harder to use a powerful language.  Moving from VB to another language is painful as hell, so beginners get stuck using just VB and they are never really good programmers.  But that's just a personal opinion. 

In any case, it was discussed on Slashdot today, so have a look:
http://ask.slashdot.org/askslashdot/06/03/07/2046258.shtml


<edit> I just read the first few responses, and an overwhelming majority seem to agree with me. :)

Best response:
QuoteAnd in other questions....
Dear Republican National Committee: Would Hillary be a good president?
Dear Osama Bin Laden: Would you like to come to my bar mitzvah?
Dear Eagles fans: Would you be willing to sign Terrell Owens again?

MyndFyre

Quote from: Joe on January 23, 2011, 11:47:54 PM
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Quote from: Rule on May 26, 2009, 02:02:12 PMOur species really annoys me.

Sidoh

As long as you keep an open mind and you understand that other programming languages might be significantly different, I don't think it matters too much which one you start out with.  The first language I learned (or started to learn) was C++ about 5 years ago.  I didn't do much with it, but it's basically how I learned to actually program (I'd done quite a bit of webdev stuff before that).

Since the general opinion I have of people that learn to program is somewhat low (the people I've met other than friends I have here are pretty dull/dim when it comes to programming minds), it probably would be best to learn something a bit less "unique" (not saying that's a good thing) before "taking on" VB.

Newby

It's a great language. For what it's designed to do. Compared to other languages, it isn't very useful.
- Newby
http://www.x86labs.org

Quote[17:32:45] * xar sets mode: -oooooooooo algorithm ban chris cipher newby stdio TehUser tnarongi|away vursed warz
[17:32:54] * xar sets mode: +o newby
[17:32:58] <xar> new rule
[17:33:02] <xar> me and newby rule all

Quote from: Rule on June 30, 2008, 01:13:20 PM
Quote from: CrAz3D on June 30, 2008, 10:38:22 AM
I'd bet that you're currently bloated like a water ballon on a hot summer's day.

That analogy doesn't even make sense.  Why would a water balloon be especially bloated on a hot summer's day? For your sake, I hope there wasn't too much logic testing on your LSAT. 

zorm

I'd say yes because as the name states its a basic language. Being really easy to use is a huge plus for beginning programmers as they can get results fast. Also a person who understands programming and the general concept will quickly realize the limits of VB and move on to other languages if they need more control and power. Where as people who generally can't handle VB are unlikely to move on and unlikely to succeed with any other language.

The whole "bad habits" is rather silly. People will develop new habits when they move to a new programming language. I don't believe habits carry over between languages except in the case where a user tries to replicate the behavior of one language in another instead of taking advantage of said languages native abilities.
"Frustra fit per plura quod potest fieri per pauciora"
- William of Ockham

igimo1

They're not even bad habits, necessarily; just things that have been done for you. If you moved on to other languages, it wouldn't be breaking a habit by learning how to do that previous operation (that the compiler originally did for you), would it?

Sidoh

Quote from: zorm on March 07, 2006, 08:10:29 PM
The whole "bad habits" is rather silly. People will develop new habits when they move to a new programming language. I don't believe habits carry over between languages except in the case where a user tries to replicate the behavior of one language in another instead of taking advantage of said languages native abilities.

They do develop, but in a different sense.  "Habits" doesn't necessarily summarize the property quite as well as other explanations.  If someone gets used to Visual Basic and they try a new language, they'll probably find it quite a bit harder to begin with.  While it's obvious that learning other languages takes more time (Visual Basic is the "bottom" of the totem pole it terms of learning complications), it's also important to realize that some people are just fine sticking with Visual Basic.  They'll form biased opinions saying "Visual Basic is so much easier!"  Obviously, it is to begin with.  As you learn a new language, difficult details turn into the intuitively obvious.  Syntax complications become second nature.

Until a few years ago, when I was presented with the fact there was a more efficient (but initially more complicated) way to solve a given problem, I would be only slightly interested.  I'd look at it, and then be scared away from the initial confusion it caused me.  A few years ago (especially this year -- if you haven't guessed, I'm talking about Math), I started to realize that if I gave the given solution more of my attention, I would be able to understand it (this holds true for every problem I've been confronted with in which I hold sufficient knowledge to solve in the first place).  I may have to practice it for a while, but after it's all said and done, I will appreciate the efficiency provided by the new found algorithm.

Quote from: Topaz on March 07, 2006, 08:20:05 PM
They're not even bad habits, necessarily; just things that have been done for you. If you moved on to other languages, it wouldn't be breaking a habit by learning how to do that previous operation (that the compiler originally did for you), would it?

See the above. :)

When you're prested with a problem that requires the parsing of a string, you might think to utilize Visual Basic's Split() function.  If you're using C to solve the same problem, you're obviously not going to be using a pre-coded function to split/iterate through the string.  If a new-comer to the C language is presented with this problem, they might logically conclude that it would be much easier for them to solve the problem using Visual Basic instead of C.  Initially, they'd rather not learn a new solution to the problem.

Joe

I personally have mixed feelings. Sure, it has a cruddy syntax. Yes, it's forgiving of even the stupidest things.

But, I programmed in VB until "the very end", pretty much. I used DLLs, wrote my own, wrote binary chat clients, and learned the concepts behind real programming. From there on, all I had to do to advance to a new language was apply those concepts in a different language, which was amazingly easy. I've learned Java with next to no effort.
Quote from: Camel on June 09, 2009, 04:12:23 PMI'd personally do as Joe suggests

Quote from: AntiVirus on October 19, 2010, 02:36:52 PM
You might be right about that, Joe.


Sidoh

Quote from: Joe on March 07, 2006, 09:14:18 PM
I personally have mixed feelings. Sure, it has a cruddy syntax. Yes, it's forgiving of even the stupidest things.

But, I programmed in VB until "the very end", pretty much. I used DLLs, wrote my own, wrote binary chat clients, and learned the concepts behind real programming. From there on, all I had to do to advance to a new language was apply those concepts in a different language, which was amazingly easy. I've learned Java with next to no effort.

Anyone that's willing to change what they're used to can move from one language to the next with little non-enjoyable effort (assuming you like programming, which is pretty safe to say in case of everyone participating in this discussion).

Blaze

I'd say no, because it allows you to get away with way too much.  My grade 10 Comp Sci teacher said it was a great beginners language, he didn't even know the damn language.

What it IS good for is VERY quickly piecing something together.
And like a fool I believed myself, and thought I was somebody else...

Sidoh

#10
Quote from: Blaze on March 07, 2006, 10:31:06 PM
I'd say no, because it allows you to get away with way too much.  My grade 10 Comp Sci teacher said it was a great beginners language, he didn't even know the damn language.

What's wrong with "getting away" with too much?  As long as people are willing to accept other languages are less lenient with sloppy/bad code, they'll be fine.  In fact, I think it's better to start with a more lenient programming language.  If you try programming for two hours and get nothing but errors (not uncommon if you're starting with a language like C), you're likely to become frustrated.  If you start with Visual Basic, chances are you'll run into far fewer problems.  I think its leniency is a definite plus, as far as a beginners language goes.

Quote from: Blaze on March 07, 2006, 10:31:06 PM
What it IS good for is VERY quickly piecing something together.

It's not too bad for larger scale projects (the attendance/grade system my school uses is made in VB -- lmao, I have stories about it.  The install instructions actually say "Don't worry about the next few error messages.  those are okay" and things to that affect.  My boss and I had a good laugh of that...), but other languages have undeniable advantages over VB.

iago

There are several bad habits that people pick up. 

The major one I see is total lack of error handling.  A VB programmer will use "on error resume" on everything, then move to C and do nothing.  I admit that Java has the same issue (.... throws Exception), but at least the program generally ends and the programmer realizes that he's an idiot. 

Quote from: zorm on March 07, 2006, 08:10:29 PM
except in the case where a user tries to replicate the behavior of one language in another instead of taking advantage of said languages native abilities.
I see that very frequently.  Especially with string handling. 

Sidoh

Quote from: iago on March 07, 2006, 10:40:01 PM
There are several bad habits that people pick up. 

The major one I see is total lack of error handling.  A VB programmer will use "on error resume" on everything, then move to C and do nothing.  I admit that Java has the same issue (.... throws Exception), but at least the program generally ends and the programmer realizes that he's an idiot. 

I definitely agree that bad habits can be formed.  But again, if the programmer plans on transcending his general knowledge of programming beyond that of Visual Basic (or any starting language, for that matter), they are going to realize that the next language of choice is going to be largely different than the initial language they learned.  If they're not willing to learn the new ways of the language, chances are they're going to fail as a programmer anyway.

In short, if the programmer is any good, he/she will break those habits quickly. :)

Quote from: iago on March 07, 2006, 10:40:01 PM
I see that very frequently.  Especially with string handling. 

Hehe, I've done it before. :(  See: my example --

Quote from: Sidoh on March 07, 2006, 08:24:43 PM
When you're presented with a problem that requires the parsing of a string, you might think to utilize Visual Basic's Split() function.  If you're using C to solve the same problem, you're obviously not going to be using a pre-coded function to split/iterate through the string.  If a new-comer to the C language is presented with this problem, they might logically conclude that it would be much easier for them to solve the problem using Visual Basic instead of C.  Initially, they'd rather not learn a new solution to the problem.

iago

Quote from: Sidoh on March 07, 2006, 10:43:49 PM
I definitely agree that bad habits can be formed.  But again, if the programmer plans on transcending his general knowledge of programming beyond that of Visual Basic (or any starting language, for that matter), they are going to realize that the next language of choice is going to be largely different than the initial language they learned.  If they're not willing to learn the new ways of the language, chances are they're going to fail as a programmer anyway.

True, but most languages lead more or less smoothly into each other.  Going back and forth to or from Java and C is a snap.  Many other languages are also very similar to them.  But making the jump from VB to C or VB to Java is difficult, to say the least. 

VB is just barely a language, in some sense.  It's just a collection of macros tha happen when you click laid out controls :)

Sidoh

Quote from: iago on March 07, 2006, 10:54:42 PM
True, but most languages lead more or less smoothly into each other.  Going back and forth to or from Java and C is a snap.  Many other languages are also very similar to them.  But making the jump from VB to C or VB to Java is difficult, to say the least. 

I fully agree.  Maybe it helps separate the sucky programmers from the good programmers! :)  If someone has been working with nothing but Visual Basic for 6 years, chances are they're a sucky programmer. :)

Quote from: iago on March 07, 2006, 10:54:42 PM
VB is just barely a language, in some sense.  It's just a collection of macros tha happen when you click laid out controls :)

Hahah, yeah.