Encyclopedia > Talk:BASIC programming language

  Article Content

Talk:BASIC programming language

BASIC was at one time the world's most popular programming language,

When and reference ? --Taw


However, the Visual Basic programming language and its close relatives, which have diverged greatly from the original BASIC, are probably the most widely distributed languages in the world today due to their inclusion in every major Microsoft Office application, so BASIC's influence continues to be strong.

This sentence make no sense. First, being "the most widely distributed" is of no importance as compared to be language where actual programs are made, and second - Javascript is much more "widely distributed" than Basics thanks to webbrowsers. --Taw


Despite its popularity, BASIC has been scorned by most computer professionals since shortly after the development of the first version. The disdain comes from the misconception that BASIC is a "slow interpreted unstructured language". However the first version of BASIC, Dartmouth BASIC, was not interpreted, and not particularly slow. All versions of Dartmouth BASIC and its direct descendants have been compilers, as are many modern dialects.

This is clearly anti-antibasic and not npov. If you think that majority of computer scientists are "misconcepted" you have to prove it. Quote from Jargon, which explains some issues:

  BASIC /bay'-sic/ n. A programming language, originally designed for
     Dartmouth's experimental timesharing system in the early 1960s, which
     for many years was the leading cause of brain damage in proto-hackers.
     Edsger W. Dijkstra observed in "Selected Writings on Computing: A
     Personal Perspective" that "It is practically impossible to teach good
     programming style to students that have had prior exposure to BASIC: as
     potential programmers they are mentally mutilated beyond hope of
     regeneration." This is another case (like {Pascal}) of the cascading
     {lossage} that happens when a language deliberately designed as an
     educational toy gets taken too seriously. A novice can write short BASIC
     programs (on the order of 10-20 lines) very easily; writing anything
     longer (a) is very painful, and (b) encourages bad habits that will make
     it harder to use more powerful languages well. This wouldn't be so bad
     if historical accidents hadn't made BASIC so common on low-end micros in
     the 1980s. As it is, it probably ruined tens of thousands of potential
     wizards.
--Taw
The false reputation for BASIC's slow performance may be tied to the GE FORTRAN compiler for that hardware which placed the startup code at the beginning of the runtime tape and the shutdown code at the end resulting in an empty FORTRAN program taking a very long time to run. Dartmouth BASIC has never had this problem.1

I seriously doubt it has anything to do with some mainframes. Basics for PCs are also very slow. --Taw


Since the early days of the personal computer, BASIC compilers, some of them generating code as fast as the fastest versions of Pascal and C, have made a comeback; but despite the addition of structured programming capabilities, their reputation remains.

Really ? Which basic compiler makes code "as fast as the fastest versions of Pascal and C" ? That would be very interesting to know. --Taw

PowerBASIC makes a BASIC compiler which outputs code with speed comparable to that of code output by fast PASCAL or C++ compilers. Don't know how it would compare with the fastest versions though. -- Derek Ross


Some versions of the best-selling Visual Basic product line are also compiled, although Microsoft has altered Visual BASIC into a language minimally compatible with even early versions of Dartmouth BASIC.

"best-selling" ? That's enciclopedia, not an ad. --Taw

"Best-selling" is a fine adjective for an encyclopedia article, especially when it had at some points in history as much as 70% of the market of all implementations of the language. It should be put back, because this statement is a simple, accurate statement of historically important facts (and I'm typing this on my Linux machine, so it's not because of any pro-MS bias on my part). --LDC

Well, we can objectively state that by just giving exact figures, of course if there is such thing as "exact figures" in software, what I seriously doubt. --Taw


Re the unstructured star program...

Question: What is the origin of this program? I recognize it, and seem to recall typing it in sometime in the early 1980s from a book by TAB publishing.


Could someone please give examples of the sort of bad habits that BASIC encourages in newbie programmers?

I wonder why I do not see anything like a manual of BASIC functions here. Would a BASIC tutorial on Wikipedia violate anyone's copyright? --Juuitchan

I think that the two main problems that led Dijkstra to his famous comments were 1) BASIC did not have proper function/procedure definition facilities, fully formed IF/THEN/ELSE or WHILE structures and therefore it was easy to write malformed code since one had to use GOTO quite often and it is difficult for a newbie to decide whether its use is properly structured or not. 2) Unlike other languages of the time, BASIC had a built in IDE and was intended for use directly on the computer. This was more likely to lead to "code first, think later" behaviour or even "code, test, code, test... " behaviour (no thinking involved) compared to other languages and that type of behaviour mostly leads to poor programs.

Point 1 doesn't apply to modern versions of BASIC and point 2 applies to just about all modern programming languages, so Dijkstra's comments, although understandable at the time, no longer have the same force. In my opinion, a modern BASIC like QBASIC is no more likely to lead newbie programmers into bad habits than any other language. --Derek Ross


History paragraph 3: Does anyone have a reference stating that BASIC started out as a compiled language? I've never heard that one before. Rlee0001 08:24 Jul 25, 2002 (PDT)


I'm going to move the dialects in such a way that they are all suffixed with "programming language" for consistency as described in talk:programming language. Furthor, I propose that the acronym "BASIC" be capitalized consistently in all the dialect pages. Anyone have any objections? Rlee0001 00:12 Jul 29, 2002 (PDT)

Seems like a good idea to me. Jeronimo


The first time I read this article back in 2001, it was incomplete but reasonably accurate. Looking at it in Summer 2002, I find it larger but much less accurate. There seem to have been a lot of myths and half-truths added to it. For instance the original Dartmouth BASIC was a compiler, not an interpreter. From a fairly early stage, it included proper procedures and function based on the FORTRAN ones, not just GOSUB and RETURN. There are other examples like this. Someone has written that most languages don't differentiate between procedures and functions. Really ??? Well that certainly hasn't true for most of the last forty years that BASIC has been around and even if it has become true lately, it hardly seems to be relevant.

When adding to the article, please act as if a lot of what you know about BASIC history is actually untrue. Even if you are sure of a fact you should check it before adding to the article, particularly if it conflicts with what already exists there. That way we may end up with a collection of facts rather than a collection of nonsense. -- Derek Ross


Derek, I'm not an expert on the subject but I am one of the people who have been contributing to the article including some of the things that you are pointing out. Just as a matter of curiosity, are you sure that the original BASIC would have been a compiled language used for timesharing systems? That doesn't make sence. I've used some later (~mid-70s) time-shareing systems and the BASICs that were used were all interpreted. As you point out, IDE commands like LIST, NEW and SAVE are part of the language -- but how could a compiled language possibly have built in IDE commands? Furthor, why would you ever used a compiled language on a time-sharing machine? It seems that after you transmit the source tape into the machine, there would be a huge "compiler" overhead in terms of CPU time, before the program was ever executed. Or are you saying that the tape would have contained the binary of the compiled source? In which case the source still would need to have been compiled by the machine seperately. It just seems that timesharing and compiling doesn't mix well. I'm not saying your wrong or anything, you seem to know a lot more about it then I do. I was just curious. Also, I've read in several texts that basic is in fact the most popular language in existence.

http://www.digitalcentury.com/encyclo/update/BASIC

The above even mentions that the language was not only based on FORTRAN, but also on ALGOL. It also says that the language as it was originally created, allowed students to edit the program using an IDE, where commands could be executed immediately. That doesn't sound very compiled to me. I realize that the article in the URL above does state that the language was compiled. It just doesn't make sence. Enless only some of the commands were compiled where the IDE commands were not? I don't know. Anyways, I just wanted to let you know that I did do some research and that I had no intention of upsetting you view of history.


I know it's difficult to believe but Dartmouth BASIC was compiled. Every time the user pressed return after typing in a line that single line was checked. If it didn't have a line number it was compiled and then executed in the current environment. If it had a line number it was compiled and added to the list of compiled statements. This is known as incremental compiling and it's routine in a time sharing environment nowadays although it was pretty revolutionary in 1964. Paper tape just didn't come into it. You could use paper tape to submit a program but you didn't have to. Like you I've used mid-1970s mainframes for BASIC programming and I know that not all BASIC translators were compilers but I can assure you that the Dartmouth one was, just as it says in the article you referenced. Re the other points about "most popular" -- that's probably true --; FORTRAN plus ALGOL -- that should be added to the article.

Finally please don't think I'm getting at you. I'm glad that someone is interested enough in BASIC to want to write about it. But I'll still bring up or change things I think need correcting. Just bear in mind that I get corrected all the time too. It's just part of working on Wikipedia. :) -- Derek Ross


195.186.243.65 wrote that
Bill Gates, Paul Allen and Monte Davidoff ported BASIC from public domain sources to the MITS Altair microcomputer
This has been removed because, while it might be true, it's difficult to believe that there was a public domain 4K BASIC around that they could port from. If the sentence can be substantiated, it can be put back in -- Derek Ross 09:19 Aug 14, 2002 (PDT)
Dr Dobb´s Journal started as a journal devoted to TinyBasic, a BASIC implementation done in assembler. Somebody might check out old issues and verify if it was public domain at the time and verify the publication date.


Are there GNU BASIC compilers which directly compile to machine language?


I found the following (using Google):

-- Paul Ebermann 01:19 Sep 10, 2002 (UTC)

Thanks for the information on Dartmouth BASIC datatypes, User:24.34.212.37, it's always good to have more since it is the BASIC. -- Derek Ross



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Thomas a Kempis

... of good works and transubstantiation (iv. 2), purgatory (iv. 9), and the worship of saints (i. 13, ii. 9, iii. 6, 59). In other works, however, Thomas à Kempis exalts ...

 
 
 
This page was created in 29.3 ms