Once in a while a comment passes by here that Basic sucks. It's supposed to be slow, unstructured and what more. There once was a Dutchman (unfortunately, couldn't he have been from some odd country instead?) who even stated that Basic mamed your brain! Fortunately he was an idiot else we would have a serious shortage in programmers worldwide...
I could not disagree more, so I will debunk some of the "cons" basic apparently has.
Basic is slow: No it isn't! And even if you need extra speed, use inline assembly, pointers or whatever! Inline assembly and pointers in Basic? Of course it has! Basic did evolve, the time of line numbers is a relic of the past, just as the computer you used to program in basic. Unless you still use that same computer of course.
Basic is unstructured: Basic is as unstructured or structured as you want it to be. Some call it flexibility, some see it as a nuisance. Personally I find structured programming overhyped. Reading others code sucks! Unless, you work at a company in which every programmer uses the same methods and in that case Basic is as structured as other languages.
Basic is outdated: It's a 3GL so in a way yes, but so is C for example. But, newer isn't always better, especially in execution speed. During my education I had to learn a 4GL and the teacher was boasting about it's speed and let us write some incremental program as proof of that. Little did the teacher know that I also wrote the exact same program in GWBasic (the oldschool interpreter) which executed the program about a thousand times faster! The teacher wasn't very happy with me.
Basic lacks support: Unfortunately that one is true. Basic didn't adapt as it should be to the now very popular ARM platforms for example, they missed the boat. People are working hard to get ARM Basic versions up and running, but it's too little too late and Python as a beginners language reigns supreme. But who knows, maybe Basic will catch up again.
My favorite Basic version is FreeBasic. It's free, it's fast, powerful and more importantly (for me) development time is fast. And it's almost compatible with Quick Basic, call it nostalgia.
So, the next time you're programming in C, assemby or whatever and moan about how lame Basic is, know then that I can have the same program up and running before you can even start thinking about debugging! Ok, that's a bit exaggerating, but you get the point by now... I guess.
Never heard about BASIC being slow to execute. So far i’m loving more the IDE than the language; an IDE like eclipse or netbeans can use templates, auto formatting, syntax highlighting with colors, API docs, hints, auto completation, console debugging, unit testing, git, automatic library import, new application wizard, error checking even before compiling, virtual device emulation, visual GUI programming, and i can go on.
I’ve never tried BASIC, but if it supported like Java or Python on eclipse or netbeans and it’s needed i would use it.
I have met a lot of people over the years that get excessively emotional about favoring one thing over some other things. Usually I find that the people that are like this have not tried many of the other options, but choose to get more and more vocal about their monogamous relationship with their coding language, their phone, their wife, whatever.
I learned basic when I was 12, followed by assembly language at 14, I’m now 45. I did visual basic in many versions professionally for over a decade. I will say visual basic was not bad, I have seen some huge projects done well with it. I also did C, C++, COBOL, C#, Java, and various scripting languages. I’ve see good and bad things done with all of them.
All of this leads to my opinions, which I believe I have earned the right to have by trying a number of things.
Basic is better than some, and worse than others. I think the term is mediocre.
People believe their iPhones are good, but they are mistaken on almost any objective measure that is important. Their crap not only stinks, it stinks worse than anything else. This means iPhones are sub-mediocre.
Some people believe python is good, I believe they are mistaken. I think basic is a big step up over python. In my opinion, they both objectively suck, just one sucks more. Having said that, I’m diving into learning Python anyway.
I think the guy that made the point about basic lobotomizing developers has a valid point. I experienced that. I wish I had learned C as a teenager, I would have been better for it.
Lastly, with new coding languages, as with potential wives/husbands, it pays to do a little “Hello World” before diving into the deep end.
I enjoyed my time with basic, but I could not recommend it to anyone starting out today. However, if you like doing basic, like your wife, or like your iPhone, stick with the first 2 and throw out your iPhone. That’s my 2 cents.
I learned BASIC in high I learned BASIC in high school, with line numbers and everything. It wasn’t all bad. My next languages were APL and Forth, both notoriously known as write-only languages.
After that there was C, and various assembly languages, BLISS, Java, then C++.
Of all of them I want to improve C++, but I still like Java better.
As for my stance on “goto”, I prefer to avoid it, but have seen cases where it is the best alternative. My wife worked for Penn State’s Digital Library Services where she was adding services to PSU’s home brew library program. There was a main loop with a monster of an if statement there. The best way she could do this without rewriting the entire thing (something she was forbidden to do) was to use a “goto” statement (yes, C has one).
I definitely prefer languages that don’t get in my way when I try to use structured programming. I like OOP when possible, which it isn’t for most embedded programming.
And yes, I thought the original post was an April Fools joke; it was very well done.
BASIC was the first programming language I ever learned, over 20 years ago, back in high school. My first robot was ran in P Basic on a stamp editor. Visual Basic wasn’t terrible either, had a low learning curve for most people.