Click here to Skip to main content
15,867,141 members
Articles / Desktop Programming / Win32

BASIC, Why? The Answer Might Surprise You ! (Part 1)

Rate me:
Please Sign up or sign in to vote.
5.00/5 (18 votes)
23 Aug 2018CPOL7 min read 14K   6   10
Why some prefer the BASIC language over others

BASIC is dead !

BASIC is for beginners!

BASIC is not a professional language!

Do you feel this way ? Have you heard this before ? You might be surprised at why some prefer the BASIC language over others. I can’t speak for others, but I can speak for myself having done programming since the late 1980s and the answer may surprise you.

One’s opinion has little meaning if you have never written a complete application from scratch which was actually used in the real world.

Confused ? Don’t be. No matter what computer language you use, what really matters is the end result. Can you build a complete application which runs well in real world use? True, many work as part of a team today and may not write the complete application by themselves, but at some point in a programmer's life, they really need to have the experience of writing a complete application from beginning to end. Why?

The lessons learned are invaluable! Let’s consider some.

Time Matters!

Yes, the old saying that “time is money” means that if one can’t develop a fully working application within a reasonable amount of time, the cost will be too high and the project is likely doomed to failure. Who cares how “great” your favorite programming language is or even whether it is the latest technology, if one can’t finish a project on time or even sooner. The faster one can code and code well, the better. Guess what? That is one of the reasons BASIC programmers love their programming language. BASIC code is notorious for being easy to code quickly. The reason is that “ease of use” and a “natural syntax” have always been a primary goal of BASIC. In the old says, BASIC programmers like myself didn’t have visual designers or intellisense code editors. The easier it was to code naturally, the quicker it was to write an application. It is just that simple. BASIC programmers use BASIC because it is fast and easier to code quickly.

If a programmer is simply “on the clock” and gets paid by the hour no matter what they produce, then they have little incentive to code quickly. Many a BASIC programmer though has done contract or custom work, writing a complete application for a fixed price or a fixed budget (meaning they may get paid by the hour, but the client will only pay so much). Time matters in such a situation.

That is why I have always used BASIC. On a good day, some BASIC programmers can output 50 to 100 lines of code an hour, rather than in a day. The ease of coding in BASIC is partly because of its more natural language syntax. Unlike C where the syntax appears to have been more for the sake of the compiler rather than the programmer (be honest here, who came up with the idea of curly brackets surrounding everything?), BASIC’s syntax was designed for the programmer, even if the compiler had to work harder.

The Only Good Code is Bug Free Code!

If there is one thing programmers often don’t like to do, it is to debug code. Debugging is a waste of time, some may say. Leave it to end users to find the bugs, they may think. BASIC though is a language designed for debugging, for writing good code. Just think about it. In the old days, compile time took forever (remember feeding punch cards into the computer and waiting forever for it to compile) so when time sharing BASIC came along, while it lacked performance, it excelled in quality. You could enter code and immediately run and test it, find your errors, fix it quickly and then run it again. The end result was more code written which worked better. BASIC was a paradise compared to the compilers of the time.

Over the years, one of the biggest criticisms of BASIC was that it was an interpreter and oh so slow. The interpreter made BASIC better back then when computers were slow. It produced better code faster. Amazingly, I still hear this criticism of BASIC today and it shows how little most programmers understand what BASIC is all about. Strangely, some of the most popular languages today are scripting languages, so the argument tends to fall short now. But BASIC took a different route over time and while it kept its fast development, it also caught up in performance in one of two ways.

Some BASICs (i.e., Quick Basic, Visual Basic) took the route of combining the feel of an interpreter using PCode compilers (compile on the fly) for development, but adding a secondary full compile stage where one could compile a finished program to full blown machine language (now you have performance too). Other BASICs took the path of compiler only, but the compilers were optimized for high speed so compile time was so fast one did not need a pcode interpreter. BASICs such as Borlands Turbo Basic and today it’s great grand child Powerbasic took that route. And believe me, when I say such compilers can compile lightning fast. For example, on a typical Walmart style mass market computer (not your typical core I7 high end programmers PC), the Powerbasic compiler can compile 50,000 lines of code per second. The Powerbasic compiler was written in assembler so it compiles at amazing speeds.

Reliable Code is BASIC’s Advantage

This may surprise some too, but it is true. BASIC’s natural coding style makes code more readable. The more readable code is, the easier it is to find errors and to understand what the code does even years later. Having been a WIN32 programmer for a good 2 decades, I can vouch for how much easier it is to read WIN32 code written in BASIC than it is in C.

Especially with Windows, being able to follow code flow is critical for writing good code and debugging code. If you can’t read the code quickly, then trying to find errors will be a nightmare, simply put. I don’t think one can pawn off the debugging to others. The best programmers are likely ones who debug their own code and who work hard to write good code from the start.

I should point out that BASIC is no longer like its early versions with things like line numbers and lack of modular syntaxes. Early BASIC interpreters were actually state of the art for the time. They solved the problem with slow computers by using every trick in the book to get performance out of being an interpreter. They used PCode (or tokens) for faster speed. Syntax was for the sake of faster execution (i.e., line numbers) internally. But once computers caught up and had decent speeds, BASIC no longer had to be limited and so it quickly shed much of its past limited syntax (i.e., line numbers) and began to borrow as many useful features as possible from other languages (like Pascal) while maintaining the goal of ease of use and natural syntax. In time BASIC, while keeping ease of use, added many low level features normally found in languages like C, such as things like inline assembler, pointers, etc. Simply put, there is not much than a modern BASIC can’t do.

Summary

So far, we have discussed the following reasons BASIC is a value language. First, BASIC coding is fast because of its natural syntax and design for ease of use. Second, readability helps produce better code and makes debugging easier. Its ease of use also tends to produce better code up front with less need to debug afterwards. Third, BASIC is modern and has many of the core features a modern language requires. Last, BASIC can perform.

There are many other reasons BASIC programmers prefer this powerful language. If you are a BASIC programmer, what are the reasons you prefer to use it?

This article was originally posted at http://cwsof.com/blog?p=1002

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer Computer Workshop
United States United States
Chris Boss is the owner (and programmer) of a small software development business in rural Virginia, called the Computer Workshop. For the last ten years or so he has been developing tools for use by Powerbasic programmers (see: http://powerbasic.com ). His main product called EZGUI (Easy GUI) is a high level GUI engine with Visual Designer and code generator. It is in its fifth generation now. He is an experienced Windows API programmer (more low level) and has experience in writing GUI engines (forms/controls), drag and drop Visual Designers, Graphics engines (printing and to the screen) and one of his favorites is a Sprite engine (2D animated movable images). His current project is version 5.0 of his main product EZGUI, adding such features as multi-monitor support, component engine, custom control engine, superclass engine and the latest project a 3D OpenGL based custom control. One of the goals he has is to push the limits of Windows software development, while making it easy, fast execution speed, small footprint (size of executables) and code reusability while providing a more graphic experience in user interfaces, while still being able to write software which can fit on a floppy disk (small footprint), use minimal amount of memory and able to run on multiple versions of Windows from 95 to Win8.

Comments and Discussions

 
PraiseThere exists a paradox Interpretive languages how can they be dead when nearly all of us use them? Pin
Craig P Williams Sr5-Aug-21 9:22
professionalCraig P Williams Sr5-Aug-21 9:22 
QuestionAgree! Pin
PSU Steve28-Aug-18 10:28
professionalPSU Steve28-Aug-18 10:28 
I'm the lead on an enterprise application that's written nearly entirely in VB.NET targeting Framework 4.6.2. The app supports a mission essential military function. The VB.NET solution is comprised of 86 individual projects (two EXEs and 85 DLLs) with over 680,000 lines of code. The app has been in use for 13 years now and we continue to enhance it all the time. I doubt there's much I can't do in VB.NET that I could if we re-wrote in C#. Vice versa, there are things we leverage in VB.NET that we can't in C#, such as optional parameters and ByRef parameters of extension methods.
QuestionCool Kids use it? Pin
glennPattonWork327-Aug-18 2:21
professionalglennPattonWork327-Aug-18 2:21 
GeneralLoss of BASIC Pin
Vittadini25-Aug-18 9:22
Vittadini25-Aug-18 9:22 
Questionstill trying to use it commercially Pin
Member 1285234924-Aug-18 23:33
Member 1285234924-Aug-18 23:33 
GeneralMy vote of 5 Pin
Member 1285234924-Aug-18 23:03
Member 1285234924-Aug-18 23:03 
QuestionAbout time... Pin
marsman_CA24-Aug-18 13:32
professionalmarsman_CA24-Aug-18 13:32 
QuestionBasic to Basic Pin
Francis J Silva24-Aug-18 8:03
Francis J Silva24-Aug-18 8:03 
QuestionJust "true" PinPopular
Frederic GIRARDIN23-Aug-18 21:47
Frederic GIRARDIN23-Aug-18 21:47 
AnswerRe: Just "true" Pin
Carsten V2.023-Aug-18 23:11
Carsten V2.023-Aug-18 23:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.