Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Is Visual Basic a Good Beginner's Language?

Cliff posted more than 8 years ago | from the would-you-write-"hello-world"-in-it dept.

1100

Austin Milbarge asks: "Ever since the .NET framework came along a few years ago, Microsoft had promised VB developers that their language would finally be taken seriously. To be honest, I never understood why some non-VB developers thought of VB as a 'toy' language, but that is for another article. Anyways, Microsoft made good on their promise and transformed VB from an easy to learn language into an object oriented power house, with lots of OOP functionality thrown in. The old VB has been discontinued, and the new VB is no longer a simple language. With all the fancy changes, is VB still the great beginner's language it once was? Would you recommend it to a beginner over C#?"

Sorry! There are no comments related to the filter you selected.

Why not both? (2, Insightful)

Anonymous Coward | more than 8 years ago | (#14869894)

Writing managed code in VS.NET using either VB or C# is mostly a matter of different syntax and control structures - most code looks almost identitical. This makes learning both a good idea.

And for those of you C++/Java snobs that think VB/C# are for morons, I just got done reading two articles on strategies for high-performance multi-threading of applications and sockets programming. Say what you want, but VB has come a long way from being a beginner language.

Re:Why not both? (-1, Flamebait)

Anonymous Coward | more than 8 years ago | (#14869938)

And for those of you C++/Java snobs that think VB/C# are for morons, I just got done reading
I'm really hoping that was intentional. Or else that you're from Arkansas or something. Otherwise, you merely proved the thoughts of the aforementioned C++/Java snobs to be correct.

Re:Why not both? (0, Offtopic)

77Punker (673758) | more than 8 years ago | (#14870047)

If you're going to put him down, put him down for being a mongoloid CIS guy instead of a real computer scientist. These are comments on a forum, not dissertations. Minor grammatical errors are to be expected.

Re:Why not both? (1)

ROBOKATZ (211768) | more than 8 years ago | (#14870130)

VB was never a beginner language, it is used to do database reports, not teach programming.

No. (2, Insightful)

neoform (551705) | more than 8 years ago | (#14869895)

It is a completely unstructured language that promotes very bad coding practices and allows for poorly writen applications to run anyway.

Re:No. (3, Insightful)

hexghost (444585) | more than 8 years ago | (#14869905)

I agree. I'd personally recommend Java, as most colleges and classes are using it, plus it lets learners go straight into OO and learn good practices.

Re:No. (2, Funny)

ObsessiveMathsFreak (773371) | more than 8 years ago | (#14869923)

....plus it lets learners go straight into OO and learn good practices.

Or run, screaming in mental agony from the building as their virgin eyes behold the Java "Hello World" app.

Re:No. (2, Insightful)

RetroGeek (206522) | more than 8 years ago | (#14870108)

It is like the difference between a sedan and a sports car.

The sedan is easy to drive, has power everything, automatic transmission. The sports car has manual rack&pinion steering and a manual transmission.

Both will get you from here to there, but with the sports car you need to pay attention. The upside is that with the sports car you have much better control over what you are doing.

Yes it does take several objects to read and write a file, but then you have complete control over HOW the file is being read and written, including inserting your own filter classes.

With power comes complexity.

Re:No. (3, Insightful)

AKAImBatman (238306) | more than 8 years ago | (#14870126)

Never, ever, ever, ever start a beginner programmer with Java. The OOP features are guaranteed to confuse the poor soul and turn him/her off to programming forever. The best option is to start a new programmer off with a traditional BASIC variant such as SmallBASIC [sourceforge.net] . Such BASICs can be used to teach a new programmer about how software executes one line after another (don't laugh, this is a big problem for new coders), control structures, and how the computer stores/interprets numbers and strings.

I only wish we still had command line interpreters around. It was so nice when beginners could execute their instructions directly OR add them to a program. It made playing around and learning so much quicker.

Once they graduate to more complex programming, something like C is a good choice to introduce concepts like functions, data structures, pointers, libaries, compilers, and linkers. Once they get to the point where they start prefixing every function with a module name, then its time to introduce them to OOP and Java. The Java stuff should make a lot of sense at that point. ("You mean I can group these functions... err... methods together, then store the data inside that grouping so that I don't have to pass a STRUCT around? Sold!")

The result of this education is that you'll have a well-rounded programmer who's ready to run out and attack any problem. New languages should be easy for him/her to grasp, and they should be looking to learn more computer science beyond just language constructs.

Re:No. (1)

LordKazan (558383) | more than 8 years ago | (#14870176)

I knew there was a reason i marked you as friend :D You just described my evolution of programming knowledge :D

Re:No. (2, Interesting)

walt-sjc (145127) | more than 8 years ago | (#14870182)

Basic? E-gads, man! No, the proper language to start all newbies on is Forth.

Re:No. (0)

Anonymous Coward | more than 8 years ago | (#14869922)

Well said.

It's important to learn a proper language first, something like C or Assembler, at least from there learning any other language isn't to hard since you know all the fundamentals.

Re:No. (2, Interesting)

bateleur (814657) | more than 8 years ago | (#14869940)

The implication being that the primary need a beginner has is to be forced to write good code. Whilst Edsger Dijkstra would probably have agreed with you, I don't. Beginners need things to be easy and quick and to do roughly what they want with a minimum of fuss. (I don't know if VB achieves this either mind you, since I don't know it well myself.) One of the great successes of HTML in my view is that it ignores errors and you can then run a validator once you reach the point where you care.

Re:No. (2, Insightful)

neoform (551705) | more than 8 years ago | (#14870049)

Do you teach someone to speak english by teaching them ebonics first? No, you teach them proper english with proper grammar.

Re:No. (2, Insightful)

bateleur (814657) | more than 8 years ago | (#14870106)

Actually I do have two small children and I most definitely do neither of those things. I taught them first to communicate in whatever ways they found easiest and most effective - it certainly wasn't correct English. Your analogy isn't bad at all!

Re:No. (1)

neoform (551705) | more than 8 years ago | (#14870162)

I actually wasn't talking about teaching children since this example was about teaching an adult how to program..

Re:No. (1)

ampathee (682788) | more than 8 years ago | (#14870021)

I'd somewhat agree with you. My feeling is that VB is good for quick hacks, or for people who just want to dabble in programming. I'd recommend it to people who just want to learn to write excel macros, or assemble simpleish point-n-click utilities.

I'd probably recommend java for people who actually want to learn to code - it's a relatively easy-in, but pretty powerful and structured, and also introduces you to c-style syntax (so much cleaner than VB's clunky verbosity).

On the other hand.... (1, Interesting)

Anonymous Coward | more than 8 years ago | (#14870029)

It is a completely unstructured language that promotes very bad coding practices and allows for poorly writen applications to run anyway.

Structured programming is only one paradigm; and almost no-one says it's the best. Just because VB isn't structured doesn't mean it's bad.

If someone wants a language to get practical things done quickly, I currently recommend python on unix-like systems and VB on windows-like systems. Sure, neither are structures, neither are good OO languages, neither are functional languages --- but so what.

If someone wants to learn CS theory, then of course lisp (for concepts) and assembly or C (for understanding how CPUs work) and smalltalk or ruby (for OO stuff) and ML and haskell (for functional programming) are better.

Certainly Java and C# are an even worse choice than VB; since they're mediocre compromises of c-like languages with a subset of OO layered on top (but not as much as ruby/lisp/smalltalk); and are far more cumbersome than VB or Python.

But overall, VB's not as bad as it's reputation suggests.

Re:On the other hand.... (1)

RetroGeek (206522) | more than 8 years ago | (#14870154)

But overall, VB's not as bad as it's reputation suggests.

Hmm, maybe, but it requires such a LARGE number of key words:

if/then/else/end if
while/wend
for/next
select case/end select
sub vs function vs property

and so on. The C like languages at least have a consistent block syntax.

OK I'll Bite (2, Interesting)

GQUEUE (878787) | more than 8 years ago | (#14870044)

Seems to me that any language can allow for poorly written applications to run...that's like saying that you shouldn't teach a beginner about photography using a point & shoot camera because it allows you to take crappy pictures. I used LOGO and VB to teach my nephew (he was a about 7 years old at the time) about programming. He really enjoyed it. Things that are good about it: its visual, its dead simple, the syntax is easy, the language is verbose (so its a little easier to explain and remember for a kid), there are relatively few nuances (like ending lines with ; or case sensitivity). Could you do it with Java, C#, Javascript, or Pascal? Sure, but that doesn't make VB bad for a beginner. Now, if by beginner, you mean someone who is intending to becoming a programmer and earning a living doing so, maybe VB wouldn't be my first choice. But if I had to teach a bunch of 10 year olds how to program, I would rather use VB than C# or Java (although LOGO is pretty fun).

Re:No. (2, Insightful)

chasingporsches (659844) | more than 8 years ago | (#14870060)

have you USED VB.NET? or C#? i can do anything in vb.net that i can do in C#, and it makes my head ache less. i can do C++ programming all day long, mind you... but in terms of getting things done quickly and powerfully... i'd much rather write VB.NET code than anything else. especially if i'm getting paid to do it. you must be talking about VB 6, in which case i'd agree with you. VB.NET is an OO, structured, efficient, powerful language. and i'm a microsoft hater as much as the next guy.

Re:No. Well, Yes (1)

AngelofDeath-02 (550129) | more than 8 years ago | (#14870076)

It depends on your teacher. Honest! In highschool I learned qbasic. It was taught as an introduction to concepts like variables and loops. That was the whole point ..

You could learn some of the basic but crucial programming concepts required before getting so frustrated with syntaxial errors that you gave up the class all together.

Of course, if your teacher is bad you will not take much out of the class, as with any other course.

Re:No. (2, Insightful)

in10se (472253) | more than 8 years ago | (#14870107)

While I certainly don't agree that VB (specifically VB.NET) is a good choice for beginner programmers, I would have to disagree that VB is not a structured language. As the original article states, it is now a fully developed OO language which means you can teach all the appropriate theory on classes, objects, methods, properties, inheritance, etc. However, as a first language, there are too many nuances in VB that could easily confuse a beginner. One of the major strengths of VB is that you can quickly create applications with little work - while great for an advanced programmer, this exactly what you don't want for a beginner.

I am not a Microsoft hater like much of the Slashdot community, but I do personally hate VB and VB.NET because of its syntax. If you want to go with .NET, C# is definately the answer. If VB is your only background, it is much harder to pick up the more tried-and-true languages such as C, C++, and Java.

There is also the issue of platform independence. While the Mono project is well on its way to supporting the .NET languages on Linux, the only true support for .NET is Windows-based. To limit a new programmer to Windows might hold them back.

Bad idea (2, Insightful)

77Punker (673758) | more than 8 years ago | (#14869900)

Clicking on a wizard isn't the same thing as programming. To really understand what's going on and get used to writing programs, it's essential to type every letter of the code yourself. My first CS class taught me Java, which I'd say is a better idea than VB. I go so far as to say that it's a better idea to learn assembler first so that you know what's REALLY going on inside that computer.

Try COBOL (2, Insightful)

Chapter80 (926879) | more than 8 years ago | (#14870023)

For that natural language approach, try COBOL. With skills in COBOL, I guarantee you won't be looking for a job in the IT industry very long.

Re:Try COBOL (2, Interesting)

77Punker (673758) | more than 8 years ago | (#14870150)

I'll have to look into that. From what I've been told by my professors, though, assembler is still better because it's a human readable form of EXACTLY what the computer is doing. Looking at C, C++, and Java I don't know what the instructions REALLY do. I can go ask one of my absolutely brilliant CS professor what a specific line of code really does and he's basically forced to tell me that he'd need all day to explain it or that he's not sure. That kind of lack of control really irks me. Also, being exposed to assembler and one or two high level languages has made it very very easy for me to learn other languages without much difficulty.

Re:Bad idea (1, Interesting)

Anonymous Coward | more than 8 years ago | (#14870078)

Clicking on a wizard isn't the same thing as programming.

The same can be said for any modern IDE. VB, PERL and some of the other more forgiving languages are probably poor choices since they don't reinforce strong typing and syntax.

Re:Bad idea (-1)

Anonymous Coward | more than 8 years ago | (#14870116)

Right, because there aren't any Java IDEs like Visual Studio that let you design forms with a GUI interface.

Ugh. Parent is being obnoxious; if a developer understands what an IDE autogenerates and is able to freely tinker with it (be it in source or in the IDE itself), what's the harm of saving some time off the same repetitive tasks?

Re:Bad idea (2, Insightful)

77Punker (673758) | more than 8 years ago | (#14870174)

Well, I suppose it'll make you lazy. This particular article, however, is not about programmers. It's about people who are wanting to become programmers. Someone with little to no low-level experience has absolutely no idea what the IDE really creates.

Re:Bad idea- compilers (2, Interesting)

Marxist Hacker 42 (638312) | more than 8 years ago | (#14870124)

From that point of view- compilers are a bad idea for a first language. The student needs to learn the first rule of programming- the computer does just what you ask, never what you want. That lesson comes quickest in an intepreter, not in a compiler.

Oh yeah, and completely agreed. I'm a professional programmer who learned VB after college- and I can always tell the difference in code between a real programmer and Visual Studio Wizards.

Re:Bad idea- compilers (4, Funny)

wizbit (122290) | more than 8 years ago | (#14870200)

and I can always tell the difference in code between a real programmer and Visual Studio Wizards

So can I. The #Region " Windows Form Designer generated code " seems to be a bit of a giveaway, no?

Re:Bad idea (0, Troll)

RetroGeek (206522) | more than 8 years ago | (#14870191)

learn assembler first so that you know what's REALLY going on inside that computer.

Try machine language! And entering it directly into RAM using paddle switches. Then setting the CPU bootstrap address to the beginning of your code. And the RAM LED addressses to where you placed you results.

(Did this in the advanced digital class)

eww... (1)

chills42 (750137) | more than 8 years ago | (#14869903)

yes... it is easier to read... but.... NO! it doesn't force you to learn how anything works...

No (-1, Redundant)

Anonymous Coward | more than 8 years ago | (#14869906)

No

No. (-1, Troll)

cryptomancer (158526) | more than 8 years ago | (#14869907)

Let's stop referring to it as a programming language too, please.

Next question.

Re:No. (3, Insightful)

ObsessiveMathsFreak (773371) | more than 8 years ago | (#14869963)

Let's stop referring to it as a programming language too, please.

I sympathise with your sentiments, but VB is a turing machine just like all the rest of them [sourceforge.net]

No! (1)

In Fraudem Legis (937585) | more than 8 years ago | (#14869918)

For Christ's sake, stay away from that crap. I recommend you start with Python or C++, they're both extremely impressive languages.

Re:No! (2, Insightful)

Locke2005 (849178) | more than 8 years ago | (#14869935)

Python or Ruby, yes. Not C++; you'd be much better off with Java than C++.

why? (1)

everphilski (877346) | more than 8 years ago | (#14870012)

why? I understand not starting people off with C++, I wouldn't suggest starting someone off with C++, but other than religous zealotry why java over C++?

Re:No! (1)

ObsessiveMathsFreak (773371) | more than 8 years ago | (#14870016)

Not C++; you'd be much better off with Java than C++.

Because? What makes Java a better language for beginners?

Re:No! (2, Insightful)

LWATCDR (28044) | more than 8 years ago | (#14870072)

"Because? What makes Java a better language for beginners?"
A consistent object model with a real base object.
No pointer/reference weirdness.
Java has range checking on arrays.
C++ is a good production language when you need the speed. Java is a "safer" language. STL really helps c++ a lot but it still isn't safe or friendly. However a person that does learn to program well in c++ will probably be a very good programmer.

Re:No! (4, Insightful)

AuMatar (183847) | more than 8 years ago | (#14870075)

I'd go the other way- don't start with any language that has manual garbage collection. If you don't learn and understand pointers early, you never quite get them. And if you don't get them, you have no idea how your code actually works under the hood. Without that, you end up writing inefficient buggy code that those who do understand computers need to fix for you.

The only language a beginner should be using is C, C++, or assembly.

still a toy (2, Insightful)

dunkelfalke (91624) | more than 8 years ago | (#14869919)

no matter how much you modify it.
anyway, i don't see a point in vb. c# is very easy and if you really must take language for learing, why not chose delphi? pascal was always better than basic as a language for beginners and modern pascal dialects (like delphi) are as powerful as any other programming languages.

Re:still a toy (1)

Tester (591) | more than 8 years ago | (#14870009)

Although Pascal is fine language. It has been mostly superceded by the C-syntax languages. Its an evolutionary dead end. Only Ada and Delphi are still being somehow developed. They dont have nearly the same level of tools are C-syntax languages (C, C++, Java, C#, etc)

Visual Basic (2, Interesting)

webmistressrachel (903577) | more than 8 years ago | (#14869925)

The question arises - do you want to program for any computer or device? If you do, you might want to avoid VB because you're likely to get too dependant on the admittedly great Windows ("forms") design software. However, if all you ever intend to do is stick with Windows, and all the people who are likely to use what you write use Windows, then VB is an excellent and easy to learn development environment. Just my two pence.

C# (1, Interesting)

gcnaddict (841664) | more than 8 years ago | (#14869927)

I have always recommended C# as a beginner language simply because it is very organized. VB (during the old days) was easier to learn because alot of it was behind the scenes, but now that everything is put out in the open with VB, C# is a better option because it's less confusing. It just has this "orgamizedly arranged" feel to it.

still C (3, Interesting)

engagebot (941678) | more than 8 years ago | (#14869928)

For a true beginner, I still say regular old C is the way to go. Learn how variables work, function calls, passing arguments, pointers... There's something to be said with starting out compiling a single .c source file with gcc.

Re:still C (5, Funny)

beavis88 (25983) | more than 8 years ago | (#14870142)

*sniff* brings back memories of my first C program

% ./a.out
Segmentation Fault
%

No. (0, Redundant)

Vorx (876) | more than 8 years ago | (#14869931)

No. That was easy. Nothing to see here, move along, move along

Visual Basic is horrible; use Python (4, Insightful)

Anonymous Coward | more than 8 years ago | (#14869936)

Python is a great starter language.

10 PRINT "FIRST POST!" (0, Funny)

Anonymous Coward | more than 8 years ago | (#14869937)

20 GOTO 10

And in other questions... (5, Funny)

edremy (36408) | more than 8 years ago | (#14869941)

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?

No. Next question. (n/t) (-1, Redundant)

toby (759) | more than 8 years ago | (#14869942)

N/T

VB vs. Java (1)

genbitter (928451) | more than 8 years ago | (#14869948)

Building a form in NetBeans is just as easy as VB, plus Java will work on non-windows boxes. So I would say Java is a good beginners language.

Not really. (4, Insightful)

c0l0 (826165) | more than 8 years ago | (#14869949)

While Visual Basic leads to quick and early (limited) success, your coding style and habits, and your perception of how to solve problems when programming in general, will be badly spoiled for a LOOONG time. I advise you to stay the fuck away from it. Go learn an interpreted, really well-designed language, such as Ruby. -> http://www.ruby-lang.org/ [ruby-lang.org]

Re:Not really. (4, Insightful)

digidave (259925) | more than 8 years ago | (#14870202)

I was corrupted by VB in my youth. It really does teach you bad programming practices.

Go with Ruby. It's such a lovely language.

My experience (1, Informative)

Anonymous Coward | more than 8 years ago | (#14869950)

In my experience, no it is absolutely not. In my experience with freshman-level college programming courses, I actually find that the people with Visual Basic experience actually experience greater difficulty than the people with no programming experience at all. Persons who have used some language other than the one the course is targeted at essentially understand how to program, and simply must learn the new language. Persons who have used no language do not know how to program, and must learn. But persons who have used visual basic have a wrong idea of how to program, and must un-learn it, then learn what is right.

To be honest (1, Flamebait)

jswalter9 (695759) | more than 8 years ago | (#14869951)

I counsel all newcomers to avoid anything Microsoft specific.

Good Beginner's Language (4, Insightful)

joekampf (715059) | more than 8 years ago | (#14869954)

I think it depends on what kind of a beginner it is. It is some hobbiest, or is it someone who is going to code for a living? If the answer is, someone who is going to code for a living then I think your first language should be a language that does not have a lot of bell and whistles. It should be a language that doesn't have a built in string class. One that makes you create arrays of characters. A language that doesn't provide you data structures right out of the box. A good language would be C or Pascal. Unfortunatly, new programers are learning Java, VB, etc right away. They have no concept as to what goes on under the covers. What it means when I go and create 1000's of strings. Or what it means to have a Hash Table vs a Stack, etc. Thanks, Joe

Re:Good Beginner's Language (4, Insightful)

ObsessiveMathsFreak (773371) | more than 8 years ago | (#14870119)

They have no concept as to what goes on under the covers. What it means when I go and create 1000's of strings. Or what it means to have a Hash Table vs a Stack, etc.

An important point to note here, is that most programmers nowadays don't need to be aware of this. At least not to the extent they used to.

More and more, business and industry needs software to simply automate simple tasks. As processing power increases, as memory space grows, it's not necessarily the case that the basic tasks people need done will grow to match them. Thus it becomes less important for a programmer to optimise or worry about optimisation.

In addition, although more programmers will be required to create software, they will not be required to delve into programmings basic complexities. It's not required you know about opcodes and memory addresses to write HTML, and soon it will be th ecase that you won't need to know when coding business apps. At all.

In short, the future legions of greasemonkey coders will be using Ruby on Rails, not C and FORTRAN. When the job gets too big, complex and nasty for them or a hardware upgrade to handle, they'll call in the high priced consultants who can still code in low level procedural languages.

I'd go with C# (4, Insightful)

hal2814 (725639) | more than 8 years ago | (#14869956)

Well Mr. Millbarge, I was going to set up the Disney Channel for you for free but now I'm not going to. If you're looking to learn .NET programming, I'd go with C#. It has a C-style syntax which is makes it easier to pick up other C-style syntax languages like C, C++, Java, etc. VB's OO aspects feel to me like they were bolted onto the language as an afterthought. You can experiment with both on Visual Studio. If you want, it might be a good idea to build a few sample projects each way to see which one you feel more comfortable with. You'll learn programming with either one, but you'll learn more you can use elsewhere from C#.

If I may make a suggestion... (5, Insightful)

martinultima (832468) | more than 8 years ago | (#14869957)

I'd personally like to suggest trying out Python [python.org] . Not only is it more powerful than, and just as easy to code as – in fact, often considerably easier than – Visual Basic, it also has the advantage of running on many other operating systems such as Linux and Mac OS X. It can take a little while to get the hang of, but once you know what you're doing it's effortless (take a look [sf.net] for yourself [sf.net] at a couple things I hacked together, for example).

And yes, despite being a Linux hacker now I once did use Visual Basic, and I have to say it took way longer to learn VB than it did Python.

Why? (1)

RobinH (124750) | more than 8 years ago | (#14869960)

I don't think that anything .NET, or VB6, is really a good beginner's language, just like I don't think Perl is a good beginner's language. I think you should start with a very general language that enforces good behavior, like Java.

You move from Java to .NET, VB6, or Perl basically for the added features and simplicities that each one brings to the table. .NET if you want to write a quick windows application, VB6 if you need a rapidly developed windows application that is mostly GUI, and Perl if you need to write a text parser. You take what you learned from Java and you can apply it anywhere else, and you know what pitfalls to avoid. If you start with a language for a specific application, you will always see all your programming through that lense.

Troll! (1)

ZxCv (6138) | more than 8 years ago | (#14870201)

Your post smells strongly of a troll, but I had to respond just in case you're serious.


I don't think that anything .NET, or VB6, is really a good beginner's language, just like I don't think Perl is a good beginner's language. I think you should start with a very general language that enforces good behavior, like Java.

Do tell, what exactly makes Java a good beginner's language, but not C#? In fact, I'd be willing to bet that most developers that know both well would side with C# as being the easier of the 2 to get your head around.


... .NET if you want to write a quick windows application, ...

If you want to write a quick windows application? How about if you want to write a high-volume tcp-based server daemon to run on Linux? Because, thats exactly what I'm doing with .NET, and it's been running without a single hiccup for going on 8 months now. Only being able to do "quick windows applications" is a rather limited view of .NET's capabilities, and like the rest of your post, hints at a certain lack of experience with nearly everything you're talking about.

Is Visual Basic a good beginner's language (0, Offtopic)

johnw (3725) | more than 8 years ago | (#14869964)

Q: Is Visual Basic a good beginner's programming language.

A: No.

Next!

Re:Is Visual Basic a good beginner's language (4, Funny)

The_Wilschon (782534) | more than 8 years ago | (#14870014)

I hate when people make statements sound like questions and vice versa?

Visual Studio and Visual Basic (1)

biocute (936687) | more than 8 years ago | (#14869965)

In my opinion, any language is good for beginner, the idea is to get you started and hooked, and as you progress, you will find out what are good and bad habits, and you will develop your own discipline.

On the other hand, I would not recommend a beginner to use Visual Studio or any of the IDE where you drag-and-drop to program.

I'm a fan of Java (3, Insightful)

egomaniac (105476) | more than 8 years ago | (#14869973)

I know I'm going to get bashed for this, but I really think Java is a great first language. It has far more regularity, all of its behaviors (even error conditions) are rigorously defined, which makes debugging easier, and it has a great user interface library in the form of Swing.

sort of. (2, Insightful)

Captain_Stupendous (473242) | more than 8 years ago | (#14869976)

VB.NET is a lot closer to C# than, say, VB6 is to C or C++. In that respect, it is a valuable learning tool, since it eases the transition to a so-called "real" language (C#). Ultimately, though, VB.NET code compiles to the same PE format that C# does, so the "real language" vs "toy language" debates largely no longer apply. To those who say that VB "promotes" bad coding habits, I say "not anymore". VB.NET and C# are at least as well structured as Java...

Re:sort of. (0)

Tyger (126248) | more than 8 years ago | (#14870169)

Just because it compiles to the same thing doesn't mean the languages can be compared. The toy language thing is not about the language interpreter, but how the language is structured. That goes doubly so for the coding habbits it promotes.

Why are you trying to compare apples to oranges? The fact that VB is now translated to CIL does not change the structure of the language significantly.

Good ... for what? (4, Insightful)

rongage (237813) | more than 8 years ago | (#14869982)

I guess this depends on what you qualify as "good"...

  • VB is good if you want to write apps for Windows
  • VB is good if you don't care about other platforms
  • VB is good if you don't care much about stability
  • VB is good if you want to learn the "wrong way" to code (who needs type enforcement)
  • VB is good if you want code that you can read but not understand

I'm sure there are other reasons to consider VB to be a "good" language. Since I don't do VB anymore (thank God), I have lost track of those reasons. I think I'll stick with C and PHP, this way when I get a customer that wants something that'll work on Solaris or QNX or AIX or HP/UX, I have half a chance of success!

Many of us started on things like Applesoft BASIC (1)

Richard Steiner (1585) | more than 8 years ago | (#14869983)

Many of us started by using things like Applesoft BASIC, and we survived.

I am not familiar with VB beyond glancing through some code, but it could be worse. :-)

Bad idea (4, Interesting)

AKAImBatman (238306) | more than 8 years ago | (#14869985)

Really Short Answer: No.

Short Answer: Are you out of your bleeding mind?

Long Answer: Visual Basic is riddled with problems for those who are new to programming. The first problem that hits someone looking to learn programming is that he/she sees a pretty layout manager, but no code. It's quite possible to build an interface without ever writing a single line of code. When the entire point of the exercise is to learn coding, this is NOT a good thing.

The second problem is that Visual Basic doesn't clearly introduce the "programmer" to concepts like functions, interpreters, and compilers. Most of the functions in VB are automatically generated, giving the impression that these are magic incantations that shouldn't be touched by a "programmer". VB Studio has an interpreter, but it isn't interactive in the same way as BASIC interpreters. This makes it useless as a learning tool. The compiler is mostly a matter of setting a file name and hitting a button to produce an EXE. So the new programmer gains no understanding of how code gets translated into an executable. Concepts like linking, for example, are completely glossed over.

One of my personal beefs with the older versions of VB (which have been corrected in .NET, for no other reason than because C# requires it) is that VB passes off this idiotic idea of grouped functions as "Object Oriented Programming". The fact that these "objects" can't be instantiated, nor can they be used as Abstract Data Types [wikipedia.org] , makes them utterly useless for OOP development. I would even go as far as to say that VB's previous implemenation of OOP was misleading and dangerous.

VB also loses major points for failing to include typed variables. The automatic conversions between numbers, strings, and other types only serves to confuse a new programmer, especially when the auto-cast does the wrong thing. A new programmer should be taught to understand how data is represented by computers, not abstracted away so far that they can't understand how to fix problems.

Beyond that, VB tends to do a lot of confusing things that are not easily explainable. The lack of useful documentation and/or a good documentation browser only serves to increase confusion.

To be honest, I never understood why some non-VB developers thought of VB as a 'toy' language,

VB had/has its uses, but it's still just a RAD tool. As soon as you run into situations that the RAD tool can't handle, you should be using a real language rather than trying to hack it.

Re:Bad idea (1)

FishWithAHammer (957772) | more than 8 years ago | (#14870184)

You don't have a clue about what you're talking about.

As of VB5, VB objects could be instantiated, given constructors, etc., just like any other language you'd mention. The syntax was a bit different, but the concept was the same.

Also as of VB5 (though it may well have been sooner), it was possible (and in most versions of VB6 I've used, the default) to have "Option Explicit" active, aka typesafety that required explicit conversions and declarations.

Mod parent -1, clueless.

~Ed

dont learn vb (3, Insightful)

Tester (591) | more than 8 years ago | (#14869990)

It has never been a good beginner's language.. I truly really recommend a C-family language. Why? Because most of today's popular languages are in the family (C, C++, Java, C#, etc). C++ is way over complicated for a first language. I would really recommend that you start with old fashioned C. Yes, its not object oriented, but it forces you to focus on the basic thing, OO is just a way to pack code together, its not a defining property of the language.. Then you can easily learn C++, Java, C#..

If you really want to start with a OO language, pick Java or C#.. But be warned, those are dynamic languages (Java, C#, Perl, PHP, Python, Javascript, etc) and they have some differences compared to "hard-compiled" languages like C. C forces you to understand how the computer works, and it will always help afterwards to know that. Python is also a good beginner's language, its clear, clean, easy to learn, easy to use. Stay away from Perl and PHP, they are very easy to use.. but they teach bad habits.

And VB is badly considered not because the language sucks (and it did suck last time I used it.. but that was many years ago), but because most VB programmers suck and are not very good. Often not formally trained and they dont really understand many important concepts. Its fine if you want to cook for you familly, but that's not how you cook for a large restaurant. A good formally trained programmer should be able to pick up any not-to-weird language in very little time (since they all have basicly the same concepts)... VB programmers most often can't. Where I work, I have to handle C, C++, Java, Perl, PHP, having a good base is important. The concepts are important, the syntax is just a tool. Get a good tool, dump VB.

VB.net == C# They are the same language (1)

JumpSuit Boy (29166) | more than 8 years ago | (#14869992)

TSIA
They are the same languaqe just different syntax and spelling. SharpDevelop among other dev tools has a menu item to translate between the two. That C# looks alot like Java so it get's you two frog with one stone.

Not that I like writting anything in either language anymore, give ruby any day.

Headache (1)

NitsujTPU (19263) | more than 8 years ago | (#14869993)

VB gives me a headache just to look at. I can't imagine anybody's learning anything valuable.

Yes. (2, Interesting)

sglider (648795) | more than 8 years ago | (#14869999)

VB is a good beginner's language.

I should know.

I started out with Java, and wasn't too impressed. After all, what could I do with it? Spend hours building widgets to do things didn't capture my interest, so about 60 hours into the language, I backed out.

So then I went to C++, in hopes of doing more, and was overwhelmed with the amount of possibilities. (The STL is huge, to say the least). I still have those books on my shelf, and while I'd love to take the time to learn more about the language, I don't have the time to spend to devote the next year to becoming even moderately proficient in that language.

Enter Perl. God I love perl. Such a neat little language, and you can do things quickly with it. Want to parse all of the instances of 'anonymous coward' from your daily slashdot discussions? Done. In 10 lines or less. Problem is, making the widgets and stuff still do not interest me, I hate to spend time coding that.

Enter VB. Sure, you pay for an IDE, and you also have to use Windows, but Microsoft has made it easy for the budding programmer to do something. I'm not a programmer because I love to program, I program to do a function, to make some part of my job easier. That's what VB (in all of it's flavors) does for me. VBA? Great for automating the small tasks (and already installed on my work machines) of doing office stuff, like automatically generating and emailing reports. VB.NET? Great for the time constraints of building an application for work.

I tell you all of this to say that VB is an excellent beginning programmers language, and for your non-programmer IT guy, it solves most of the problems that crop up. That's its' function.

Re:Yes. (2, Funny)

edmicman (830206) | more than 8 years ago | (#14870156)

Wow, I would have to agree. Your comment reminds me of going through 4 years of school, learning C, java, some assembly, etc. Sure, I could do the educational tasks with it, but I wanted something I could *show* people. "Look at how I can parse this string" or "watching me simulate a computer chip - look at the flashing lights!" just doesn't have an appeal. Enter the MS tools. I think VB would be a decent starting language just because you are able to *do something* that is neat fairly easily. C# would probably be just as easy to dive right into, too, and probably has more potential to do advanced things down the road. Or, in a different vein, start off with a scripting language like ASP or PHP. You can get your feet wet in actually writing *something*, and see results immediately, too. And a personal web server is simple to set up. Good luck!

Re:Yes. (0)

Anonymous Coward | more than 8 years ago | (#14870179)

Oh, remind me never to hire you.

Re:Yes. (3, Insightful)

egomaniac (105476) | more than 8 years ago | (#14870217)

I started out with Java, and wasn't too impressed. After all, what could I do with it? Spend hours building widgets to do things didn't capture my interest, so about 60 hours into the language, I backed out.

This doesn't even make sense. Java is a general-purpose programming language -- you can write absolutely anything in it. Client software, server software, command-line tools, graphical tools, compilers, games, anything. What do widgets have to do with things?

But.. (0)

Anonymous Coward | more than 8 years ago | (#14870005)

I like making hundreds of small buttons flash on an off. It gives people seizures. If a program can't give me a seizure, it probably isn't that good anyways...

In the next episode of Ask Slashdot... (5, Insightful)

Bogtha (906264) | more than 8 years ago | (#14870015)

With all the fancy changes, is VB still the great beginner's language it once was? Would you recommend it to a beginner over C#?"

"Is kicking puppies still a great way of attracting women, or do you recommend kittens these days?"

VB was never a great beginner's language. It's wrong all over. The only thing that got it a reputation for being a "great beginner's language" was that you could draw the GUI in later versions * before you actually learnt how to write code, so you could get visually pleasing results immediately, whereas the competition at the time meant you actually had to learn how to use a GUI API (and consequently, how to write code) first.

You want a good beginners language, look at Python. It's been used successfully in teaching environments for a while now. It enforces good practices like indentation and prohibits easy sources of bugs, like if foo = bar: O'Reilly have an article [oreilly.com] about Python for teaching programming that you might be interested in.

* Yeah, the first versions of Visual Basic ran on DOS and didn't have the GUI builders that later versions did. I'm not quite sure what qualified them as basic of the "visual" variety, it's not like you had to type your code in with your eyes shut in other basics.

Definately (1)

FST (766202) | more than 8 years ago | (#14870020)

I personally began to code with VB4, and I believe that that was the perfect place to start. Everything is simplified, there are no pointers to deal with, and you can get "purty" programs done in a matter of minutes. The best thing is, while it is a lot like English, the actual coding is so similar to that of the major languages (C, CPP, Java, PHP, etc.) for every type of developement that once you are able to code in VB, you can code in anything. It is similar to learning to ride a bicycle: first you use training wheels, but after you finish using training wheels you can quickly learn the real thing, after only a small amount of bumps and bruises (pointers).

D'oh! (4, Insightful)

stuffduff (681819) | more than 8 years ago | (#14870026)

Microsoft's language offerings are the result of some other people's way of deciding how things should work. While Microsoft is not alone in this practice, they are the topic of this article. I can't even count the times that I have seen the following: A programmer sits at an IDE, and on the screen is something like this:

Private Sub Command1_Click()

End Sub

What they will do in the process is to go out and grab a bunch of someone else's code, paste it in there, and change the names of a few things. It really bothers me that the product of this process is even called software. At best shouldn't it be called 'macro-gramming?' Sorry to be such a stickler, but does that programmer have any idea what really goes on when that button is pushed? When the end users need a change that is not an exposed property or method of the pre-packaged object, what can they do? They probably have more creative skills when it comes to making excuses than they do at actually programming. Hell, we've all done it. It seemed like a good idea at the time to just slap together a few goodies, make it look pretty and ship it out the door. But what you end up doing is letting someone else make all the really important decisions for you. If you're lucky enough to be able to satisfy all the demands you encounter that way then more power to you.

In order to learn the principles of computer programming, less is more in my book. The more computer science you know, the less dependent on any particular set of tools you become. When code is dear and time consuming to write debug test and maintain, you will be absolutely amazed on how little of it you can get by on. Take the same algorithm and implement it in a couple different formats, languages, compilers, etc. See how many instructions it actually becomes when it gets run. See where different efficiencies of speed or size become important. Try some Python to see what can really be done in an interpreted environment. Try a C compiler. Try looking for a couple of algorithms and see which one performs better and be able to describe why. Then, no matter what tools you end up using, you will have a much better idea of what is going on, how to make it both secure and efficient from the start.

NO! (1)

panic911 (224370) | more than 8 years ago | (#14870045)

Use C#. VB won't teach you anything except how to write ugly code. C# is a very easy language to use and almost seems more intuitive, to me, than VB. It will also teach you how to maintain a C/C++ style structure to your code and C/C++ style syntax. C# also resembles java pretty closely. You will have a much easier time learning those other languages (C/C++/Java) if you learn C#, rather than VB (which doesn't resemble any standard language, at all, except MAYBE delphi/pascal... two other proprietary programming languages). VB will just confuse the hell out of you when you decide to learn a new language.

It was once a great beginner's language (1)

Gavin Scott (15916) | more than 8 years ago | (#14870056)

VB was a great beginner's language (when it was version 1.0 and was clean and simple and fully documented in a couple of relatively thin manuals that came in the box). But now the beginner may be overwhelmed by the available functionality and the documentation is now hundreds of megabytes of text available electronically.

Of course the same thing can be said about Java 1.0, and early versions of pretty much every similar language. As people demand to be able to do everything in a programming system it will eventually be come almost unusably complex no matter how simple and clean the original design and the first version were.

If someone wants to be a Windows programmer, or especially a professional VB programmer, then they have to start somewhere and VB is probably a fine starting place for someone moving into the world of Windows programming.

If you're interested in programming in general with less of a "Windows GUI Apps" concentration then there are lots of (probably better) options.

One I like to recommend for kids to get them into the basics of programming is POV-Ray for Windows which provides a very nice little IDE for writing programs that produce beautiful pictures when run. You can give a kid a program that draws a shiny sphere floating over a checkered landscape and then show them how to code a loop to make it 100 randomly positioned spheres, etc. and leave them to experiment with making changes to the program and seeing how that affects the output. Way more interesting than your average "Hello World!" in a window.

It's free too [povray.org]

G.

bad place to ask that question (2, Interesting)

JeanBaptiste (537955) | more than 8 years ago | (#14870062)

You're going to get everyone throwing in their personal favorite reasons why C# is better or Java is better or haskell is better or whatever.

I reason it like this: What kind of beginner are you?

If you're a beginning CS student, no, VB is not the direction you want to go. There's many other languages that may have a steeper learning curve, but will reward you further in the long run.

If you're a forklift operator at a small company that gets forced into writing a small app to do this or that, simply because you're the most computer literate out of those of you working there, then yes, VB is designed for you.

I know many cases of programmers that never really intended to be, they got forced into it one way or another. If you don't have a full CS background, if you have no interest in computers outside of accomplishing the task at hand, if you just need to get something done quickly and don't have the background to do it properly..... then VB is the best choice.

I know there are plenty of advantages to doing things the 'right way', but out in the real world sometimes you just need to get things done yesterday and don't have the time or resources to do it the way a university professor would approve of. I'm not talking about writing shrink-wrapped retail software, but more things like internal apps and data transformation.

And, just to sound like a paid astroturfer (which I'm not), I must say that I have not seen anything anywhere ever that comes remotely close to the programming environment that Visual Studio provides. I'm usually on the anti-Microsoft side of the fence, but when it comes to the programming environment, again I haven't seen any other product OSS or otherwise that is even playing in the same ballpark.

burn karma burn!

Free Pascal (3, Informative)

ROBOKATZ (211768) | more than 8 years ago | (#14870064)

I'd recommend checking out Free Pascal [freepascal.org] and the Lazarus IDE [freepascal.org] . These are based on Borland Delphi, of which I believe you can also download a free version, but these are open source and available on many platforms. The Borland products run only on Windows or Linux with KDE (using QT), the Free Pascal libraries use GTK+.

Object Pascal is a good language for beginners. It has strong typing and object-oriented features, but the typing isn't strict to the point of being obnoxious like in Java. It is lower level, so you will deal some with pointers and memory management but it is harder to make a mess with than C/C++. You can also visually design the UI of your application, but the language isn't a disaster like VB (and doesn't run in a VM like C# or Java, so it's quick).

Yes ... and all the others too. (2, Insightful)

Spectre (1685) | more than 8 years ago | (#14870071)

I use Visual BASIC (I choose to honor BASIC by capitalizing VB as I did), SQL, Fortran, C, Python, and Perl every week. I've written assembler for various CPUs, JCL, Smalltalk, various shell scripts, Pascal, Modula-2, MUMPS, and probably several others I'm forgetting in the past.

Every language I've learned has been useful on the various projects I've worked on and provided a perspective for evaluating what methods to use for new development.

Learn every language you can. You'll probably be surprised to find that you don't just get broad shallow experience, but each language actually gives you more in-depth knowledge of the others (and what they may do behind the scenes).

VB(A) is the scripting language built into many Microsoft products. Whether or not you harbor loathing for Microsoft, knowing VB(A) will be very helpful for many tasks and may be necessary to get a paycheck from many places.

No. (1)

rain9441 (959621) | more than 8 years ago | (#14870092)

I created a tool in VB to learn VB, the only thing I learned from VB is if you use VB, you regret that you did and wish you used Java.

It's decent. (5, Insightful)

FishWithAHammer (957772) | more than 8 years ago | (#14870120)

VB4 was my first "real" programming language (I used QBASIC for years, but that doesn't really count). Since then I've used VB5, VB6, and VB.NET; I am also fluent with C/C++, Java, PHP, and a few other languages.

The long and the short of it is this: VB ain't bad.

People will say that Visual Basic is "unstructured," and they're clueless. People will say that Visual Basic is slow, and they're one step up from clueless (VB5 and VB6 compiled to native code and could, when used correctly, rival Win32 C++ applications for speed; VB.NET compiles to the same CLR the rest of the .NET crap does).

My personal view of the Win32 API is that the inventor didn't like people. Window creation is needlessly masochistic. VB takes that hassle away. I've written applications where the entire backend of the program is in C++ and used the VB interface just to call C++ DLL functions. It's doable. It works pretty well.

Basically--VB is a viable language if you want to get something done *now* and don't care all that much about whether it's pretty. Would I use it for game programming? No (once was enough, a 2D RPG for a school project in sophomore year of high school). Would I use it to write something quick and dirty that I need immediately? Sure, and I'll be done before a C++ coder even has a window up and running.

VB also has some pretty nice features that YFTL lacks. You can run the program without compiling it, in interpreted mode--very useful for bug-ferreting. Its class system pre VB.NET was baroque at best, but its built-in garbage collection/memory allocation on-the-fly and the fact that all arrays could be dynamic without external references made it fun to mess with.

~Ed

It doesn't matter (1)

C.Batt (715986) | more than 8 years ago | (#14870131)

:sigh:

This question is like the common cold. Just when you think it's gone, it comes around again.

Folks, LANGUAGE DOESN'T MATTER. It's irrelevant ESEPCIALLY at the beginner stage.

More important is to just find something that provides quick feedback so that they can work on something, then turn around and quickly see the results. Something that encourages exploration.

Far more important than that is a grounding in basic analytical thinking processes, logic, etc... The ability to think in abstracts, to model a concept, and to conceive of a solution. The language then just becomes the means of expression and the developer will be better equipped to choose the right tools for the job, rather than getting bogged down with ideology.

Ultimately it all depends on the end goal of the individual in question. Do they:

a) want to be a good software developer, or

b) hack out an application every so often?

If a then follow my advice above, otherwise sure, VB, VBA, or VB.NET is as good as anything else.

I don't think (1)

Giometrix (932993) | more than 8 years ago | (#14870132)

that object oriented languages are good for beginners. In the end, hardware is procedural, not object oriented. Beginners should work the way hardware does before they learn to think in more abstract ways (OO, functional, etc). VB6 might be a good choice, as it has a friendly syntax; however, there are lots of things about it that can really mess up a beginner - type safelessness being one of them (you can turn this off, however). C/C++ is how I learned. The nice thing about c++ is that it is procedural AND object oriented; so essentially you can learn the same language to learn both methodologies. Of course, you lose the coolness factor of having a RAD tool (unless there is one for unmanaged c++ now...I haven't been keeping track), which might drive some people away from programming. VB6, love it or hate it, captured lots of people's imaginations because you could make a professional looking app without much effort. Most people in c++ land were stuck with cli apps, which are significantly less cool for most student programmers.

Yes. Just to be different. (3, Insightful)

RingDev (879105) | more than 8 years ago | (#14870137)

For starters, you just asked about a VB based syntax on /., you will recieve for the most part nothing but FUD and miss information and the pundits launch into tirades about how VB.Net is a toy compared to C# (which are both the same CLR language), Java, Ruby, PHP, Perl, and some whack job will likely even recommend Python.

Next up. Right tool for the job. If you're interested in embedded applications, coding on linux, or high performance apps, going .Net is not going to be your tool of choice.

And finally, to refute some pundits. VB.Net is a syntax option for coding in CLR, the same as C#, J#, PHP.Net and all the other screwy variations of *.Net. Vb.Net is every bit as Object Oriented as C# or Java. VB.Net by default has explicit and strict options off, turning those two options on makes its compiler just as strict as the C# compiler. VB.Net also has almost all of the functionality from C# (I have heard that there are some obscure pointer functions that are not in VB.Net's syntax, but I have never run into them, or the lack there of). Another one of those "What were they thinking?" items though, VB.Net has a "Hide Advanced Methods" option on by default that hides a lot of methods from the autocomplete lists, turning it off allows you to see all of the same functionality as in C#.

The only substantial differences from VB.Net to C# is syntax Things like:
VB.Net: Private VarName as String
C#: Private String VarName

VB.Net:
If Var1 = Var2 Then
    'Code here
End If

C#:
If Var1 == Var2
{ //Code here
}

-Rick

Edsgar Dijkstra (1, Informative)

26reverse (305980) | more than 8 years ago | (#14870139)

"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration". -- Edsgar Dijkstra (and if you don't know who that is.... stop calling yourself a programmer)

For other possibilites: I'll suggest Ruby. Not because it's a great language (all have their own issues) but specifically because of this "Poignant Guide"
http://poignantguide.net/ruby/ [poignantguide.net] . I found it a wonderful way of approaching programming from a very NON-technical manner... not just that it's amusing (the author has the same off-beat humor as myself), but because it relates common Object Oriented concepts to real world examples better than I've ever seen before (specifically the whole section on English grammer: verbs, nouns, adjectives becoming methods, objects and attributes).

Don't think of the anti-VB sentiment as "throwing the baby out with the bathwater" think of it as "no matter how pretty the architecture... if the foundation is crap, the building will fall".

Re:Edsgar Dijkstra (1)

Darkseer (63318) | more than 8 years ago | (#14870160)

you posted it seconds before I was about to. Thanks...

Where do you want to go with it? (1)

dslauson (914147) | more than 8 years ago | (#14870178)

The OOP tools you need to write good, maintainable applications (inheritance, polymorphism, etc...) were not there in version of VB before .net. That is why it was considered a toy language. It really is much better now.

That said, I still wouldn't recommend it as a first language. I think C++ is a really good learning language. Failing that, maybe go with C# or Java.

The way I look at it is like this, though. If you learn to drive on a stick shift, when you get the hang of it you'll be able to drive any stick shift vehicle in the world with a little practice. If you learn on an automatic, you'll have a more difficult time making that transition.

C# and Java (and VB.net) are like an automatic. You don't have to think about important things like memory allocation and stuff like that, and it's much too easy to rely on code generated by visual studio, which is not a good programming practice.

Not on your life (1)

RexDevious (321791) | more than 8 years ago | (#14870185)

My second programming language was VB 2.0 (on the heels of 2 months of QBasic). It was a great way for a self-taught and over-worked beginner programmer to knock out quick windows solutions. I stayed true to it, and developed amazing robust and stable applications, all the way until VB.net. VB.net is IMHO, nothing more than a copy of C#.net, that had it's syntax mangled in order for it to bare a passing resemblence to the VB of old. A beginner who uses it is not only going to wind up discouraged by it's complexity and rigidity; but led further away from other programming languages by it's pointless tributes to the once simple RAD. If you're going to start on the .net platform, start with C#.net. There a few minor IDE features missing that you'd get in VB.net; but at least you'll be able to read articles featuring C, C++, or even PHP and understand what you're looking at. VB was a great way let people get a taste of programming before they've committed to it as a career. If people want to get their feet wet like that these days; they're much better off playing around with VBA or something.

POV-Ray (1)

cab15625 (710956) | more than 8 years ago | (#14870208)

The POV-Ray [povray.org] scene description language is a better language than VB.

Grain of salt: I haven't touched VB in about 5 years and use a mix of C, Perl, and Python for my programming needs.

Someone above mentioned assembly ... there's a good book [nongnu.org] called "Programming from the Ground Up" by Jonathan Bartlett out there for people who want to go that route. Start with assember (i86) and work your way up through c and perl, all in one book.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?