Jump to content

Photo

50 Years of BASIC - TIME

BASIC

78 replies to this topic

#1 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,748 posts

Posted Fri Jun 10, 2016 12:05 AM

Ran accross this interesting article in TIME about the creation of BASIC and it's impact:

 

http://time.com/69316/basic/

 

Lots of fascinating stuff, the reaction from contemporary professionals accusing BASIC of mutilating minds is particularly interesting, equally so the response from the inventor of the language.

  

This was the BASIC Allen, Gates and Woz learned in High School in it's original form on Teletype time sharing systems; didn't seem to mutiliate their minds rather a catalyst for creativity :)



#2 Keatah OFFLINE  

Keatah

    Quadrunner

  • 18,675 posts

Posted Fri Jun 10, 2016 12:38 AM

Dijkstra was a dick.

#3 almightytodd OFFLINE  

almightytodd

    Dragonstomper

  • 783 posts
  • Infrequent Poster
  • Location:Orlando, Florida

Posted Fri Jun 10, 2016 2:01 AM

Microsoft has created a hobbyist/novice version of BASIC called, "Small Basic" that returns to the roots of BASIC as a beginner's language. It might be worth a look.



#4 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 28,233 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Fri Jun 10, 2016 3:59 AM

It's Time to give BASIC its due. Some people drink Mountain Dew while programming. Do you want to know a dirty secret? It's basically true that bad habits can cause defective doo-doo.



#5 carlsson ONLINE  

carlsson

    Quadrunner

  • 5,021 posts
  • Location:Västerås, Sweden

Posted Fri Jun 10, 2016 4:16 AM

Well, imagine how much greater Apple and Microsoft had been if it had not been for BASIC mutilation!



#6 SIO2 OFFLINE  

SIO2

    Dragonstomper

  • 877 posts
  • Location:Nebraska

Posted Fri Jun 10, 2016 4:19 AM

Microsoft has created a hobbyist/novice version of BASIC called, "Small Basic" that returns to the roots of BASIC as a beginner's language. It might be worth a look.

The name is terrible. Oh, I will have the minimal no-frills programming language please. Basic needs a name makeover. How about B++ or B* ?

I see though that small basic is targeted to children. Maybe the name makes sense to educators looking for a intro level language.

Edited by SIO2, Fri Jun 10, 2016 4:38 AM.


#7 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • Topic Starter
  • 1,748 posts

Posted Fri Jun 10, 2016 8:04 AM

Microsoft has created a hobbyist/novice version of BASIC called, "Small Basic" that returns to the roots of BASIC as a beginner's language. It might be worth a look.

 

 

The name is terrible. Oh, I will have the minimal no-frills programming language please. Basic needs a name makeover. How about B++ or B* ?

I see though that small basic is targeted to children. Maybe the name makes sense to educators looking for a intro level language.

 

Yes Small BASIC is more like classic Dartmouth BASIC, simple and intuitive. 

 

With the introduction of Visual BASIC.net, Microsoft morphed BASIC into C which cannot be used to rapidly teach concept; Dijkstra would have really liked it. I think this was initially done to equalize the development time for c# projects (Java clone) which otherwise would have not even been close.

 

Another reason for this is the mindset of Dijkstra and his colleagues who served as a very vocal platform for C programmers in the 90's who could not otherwise compete with Microsoft BASIC programmers.

 

Java really captialized on this mindset with it's "elegant structuring" designed to please academics but failing in production environments to the  tune of destroying large technology companies (Corel, Sybase, etc) with an inadequate runtime. Sun Micro faking benchmarks didn't help.

 

Ironically enough Microsoft now has a powerful C that is really a simple and intuitive BASIC, essentially a much more powerful production BASIC, than their BASIC that is C.

 

Turning C into BASIC has the effect of getting programmers to use C who would otherwise not be interested while simultaneously defeating the Dijkstra mindset; anyone who uses it knows it's BASIC, yet no one can say it's not C  :)



#8 Keatah OFFLINE  

Keatah

    Quadrunner

  • 18,675 posts

Posted Fri Jun 10, 2016 9:40 AM

/b



#9 SIO2 OFFLINE  

SIO2

    Dragonstomper

  • 877 posts
  • Location:Nebraska

Posted Fri Jun 10, 2016 3:40 PM

It will be nice when the machines can do the programming. Siri, write me a game for the Atari 2600 with sharks and a boat that hunts sharks. :)

Now that is basic.

#10 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • Topic Starter
  • 1,748 posts

Posted Wed Jun 15, 2016 3:40 PM

Awesome documentary on BASIC, the creators talk about their idea of creating a computer language that anyone could understand,
and about the programs students wrote with it.

 

Disscussion of the first BASIC games being all text based because they were written via Teletype begins at the 30 minute mark.

 

 



#11 SIO2 OFFLINE  

SIO2

    Dragonstomper

  • 877 posts
  • Location:Nebraska

Posted Fri Jun 17, 2016 6:51 PM

@MR SQL

The video mentions a language they considered but did not use called ALGOL which must be Al Gore Language what he wrote the internet in.

Edited by SIO2, Fri Jun 17, 2016 6:52 PM.


#12 DZ-Jay OFFLINE  

DZ-Jay

    Quadrunner

  • 9,923 posts
  • Triple-Stripe Mo' Bro
  • Location:NC, USA

Posted Mon Jun 20, 2016 5:23 AM

Meh.  BASIC, shmasic.  Boo.

 

I think BASIC was good because of its ubiquity at a time during the late 1970s and early 1980s, but it was indeed an atrocity.  There were always better ways in which you could learn to program a computer easily and also learn a measure of style and technique.  In many ways, I agree with Dijkstra's views, though perhaps not exactly with the way he expressed them.

 

In my experience, there are two types of people who learned to program in BASIC:  those who were damaged irrevocably by the language's laissez faire attention to proper flow control and technique; and those who were never comfortable with the lack of structure and limited expressiveness of the language, and who only used it because it was the only thing available.

 

The former group are those bashed by Dijkstra, those who never grew out of the language and who forever will remain tainted by its mark.  The latter group includes those who used BASIC merely as a stepping stone in their skills formation and bailed out of the ship as soon as they were given the chance.  They ended up picking up Assembly Language, PASCAL, ALGOL, SmallTalk, C, Java, or whatever; and went on to greater pastures.

 

It's this second set who remember BASIC fondly, as their first step into a greater world of computing.  I'd argue (as I'm sure Dijkstra would) that their encounter with BASIC was merely an accident of history, and that any language with sufficient accessibility at the time would have done the job for them.

 

All that said, I have very fond memories of dabbling with BASIC when I was younger.  I also have some very sharp memories of how it tried to wreck my brain, and how I had to actively fight against it.   :)

 

     -dZ.

 

 

P.S.  Oh yeah, and Dijkstra was a dick.


Edited by DZ-Jay, Mon Jun 20, 2016 5:25 AM.


#13 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • Topic Starter
  • 1,748 posts

Posted Mon Jun 20, 2016 7:41 AM

Meh.  BASIC, shmasic.  Boo.

 

I think BASIC was good because of its ubiquity at a time during the late 1970s and early 1980s, but it was indeed an atrocity.  There were always better ways in which you could learn to program a computer easily and also learn a measure of style and technique.  In many ways, I agree with Dijkstra's views, though perhaps not exactly with the way he expressed them.

 

In my experience, there are two types of people who learned to program in BASIC:  those who were damaged irrevocably by the language's laissez faire attention to proper flow control and technique; and those who were never comfortable with the lack of structure and limited expressiveness of the language, and who only used it because it was the only thing available.

 

The former group are those bashed by Dijkstra, those who never grew out of the language and who forever will remain tainted by its mark.  The latter group includes those who used BASIC merely as a stepping stone in their skills formation and bailed out of the ship as soon as they were given the chance.  They ended up picking up Assembly Language, PASCAL, ALGOL, SmallTalk, C, Java, or whatever; and went on to greater pastures.

 

It's this second set who remember BASIC fondly, as their first step into a greater world of computing.  I'd argue (as I'm sure Dijkstra would) that their encounter with BASIC was merely an accident of history, and that any language with sufficient accessibility at the time would have done the job for them.

 

All that said, I have very fond memories of dabbling with BASIC when I was younger.  I also have some very sharp memories of how it tried to wreck my brain, and how I had to actively fight against it.   :)

 

     -dZ.

 

 

P.S.  Oh yeah, and Dijkstra was a dick.

 

dZ,
Excellent perspective! Great to have a programmer who feels strongly about BASIC join the conversation :)

 

BASIC has changed alot over the years but it's creators envisioned a language designed to be so simple to use that anyone could start writing programs right away. What better ways were available to learn to program a computer easily in the 70's and 80's? How about Today?
 
I've met a lot of advanced programmers who expressed similar sentiment but when asked to explain the most I could ever get out of them was that GOTO somehow taught them bad form and the code wasn't indented for being all left aligned.

 

What are your specific recollections of how BASIC tried to wreck your brain and how you fought against it?



#14 SIO2 OFFLINE  

SIO2

    Dragonstomper

  • 877 posts
  • Location:Nebraska

Posted Tue Jun 21, 2016 5:35 AM

And how is GOTO different than JMP?

#15 DZ-Jay OFFLINE  

DZ-Jay

    Quadrunner

  • 9,923 posts
  • Triple-Stripe Mo' Bro
  • Location:NC, USA

Posted Tue Jun 21, 2016 6:36 AM

And how is GOTO different than JMP?

 

It's not.  However, that's not the point.  The point is to organize ideas in a cohesive manner that make sense to the human and have the compiler translate them into something the machine understands.  Humans, by nature, structure their thoughts and actions.  Machines do not.

 

You must admit that something like this:

If (x = 0) Then
  Gosub PrintError()
Else
  Gosub DoSomething()
End If

'  Continue code here...

is easier for the human to follow and validate than this:

    If (x = 0) Then GoTo PrintError

Continue:
    DoSomething()

AvoidSomething:
    ' ...
    GoTo SkipPrintError
    


PrintError:
    ' ...
    GoTo AvoidSomething

SkipPrintError:
    ' Continue code here...
    ' ...

regardless of them being equivalent to the eyes of the CPU.

 

The existence of GoTo in BASIC allows for the second option.  The problem is not the instruction itself, it's the fact that, lacking any proper guidance, GoTo is a very simple and easy -- if inelegant and error-prone -- solution to many problems; it leads to the so called "spaghetti code," which more than a machine or language limitation, is a style and ingrained learned behaviour.

 

    -dZ.



#16 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • Topic Starter
  • 1,748 posts

Posted Tue Jun 21, 2016 7:37 AM

 Spagetti code is a good argument but only applicable in the absence of sprawling code because that's already spagetti.

 

For me the first example is easier to follow because the second example sprawls accross many lines like C/modern Visual BASIC.

 

The first example sprawls too though; shortening it to classic BASIC syntax makes it more modular and thus even easier to follow:

 

if x=0 then gosub printerror else gosub dosomething

 

Sprawling gauges modularity which will always be a better measure of "spagetti code" because no matter how much we try we can't get away from code complexity; modularity lets us know if the design is more complex than it has to be.

 

BASIC is highly modular because very little code is needed, and modularity is always equal to the size of the largest module in a program:

 

Rewrite a 10 line BASIC program with many lines of C split up into 5 modules and the BASIC program is still more modular unless each of those C modules has less than 10 lines.

As far as being easier for people to understand, BASIC is designed to be similar to english sentences.

 



#17 AceHart OFFLINE  

AceHart

    Chopper Commander

  • 144 posts
  • Kaskanampo 310
  • Location:Tenn. Valley Council

Posted Wed Jun 22, 2016 9:14 AM

@MR SQL

The video mentions a language they considered but did not use called ALGOL which must be Al Gore Language what he wrote the internet in.

 

Not to be confused with ALGOR, which is an actual analysis / imulation package.

 

http://www.algor.com...alysis_replays/



#18 SIO2 OFFLINE  

SIO2

    Dragonstomper

  • 877 posts
  • Location:Nebraska

Posted Wed Jun 22, 2016 7:57 PM

I think the key is in what you expect the language to do for you. BASIC was originally intended to show people who had no clue what computers were or worse who were intimidated by the machines that anyone could use a computer. In that sense BASIC is the software equivalent of an electronic breadboard which by the way, also often produces a result that looks like spaghetti.

Back when a computer cost nearly a half million dollars, ordinary people using a computer was a radical idea indeed.

Because BASIC was not originally intended as a tool for computer experts, I doubt that it will ever be widely used by people who truly understand what the hardware is doing.

Over time, BASIC has evolved and I think it will continue to be relevant because, most people do not need to know what the hardware is doing. They are only concerned with the input and the output and very little with the process.

Even if what survives is not recognisable as BASIC, I am confident the concept of allowing humans to communicate more naturally with computers will continue.

Some day I look forward to telling my computer what I want audibly. For example, I might say, create an arcade game template. Set the screen background to black. Add an asteroid image. Smaller, smaller. Duplicate image ten times at random locations. Move the images in random directions wrapping to opposite side when they hit the edge of the screen...

I think you get the idea where this is headed. It all started because of BASIC and in the end, there will be only BASIC.

#19 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 28,233 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Wed Jun 22, 2016 8:34 PM

Some day I look forward to telling my computer what I want audibly. For example, I might say, create an arcade game template. Set the screen background to black. Add an asteroid image. Smaller, smaller. Duplicate image ten times at random locations. Move the images in random directions wrapping to opposite side when they hit the edge of the screen...


I've been wishing for that since the 1980s. This is from my Inventions Worth Inventing page under the My World section:
 

We have A.I. game design agent programs that understand speech. If you want to make a game, all you have to do is describe it to the program conversationally and it will do all of the work. It will ask you questions and you will just supervise like you're George Lucas, giving thumbs up or thumbs down on various aspects of the game. Anyone can be their own game supervisor. It's like being in charge of a group of highly talented programmers, artists, and musicians.



#20 Keatah OFFLINE  

Keatah

    Quadrunner

  • 18,675 posts

Posted Wed Jun 22, 2016 9:21 PM

How hypocritical it is of the industry to rag on BASIC users when the industry itself purposely bloats software with in-your-face online advertisements, meaningless features, layers upon layers of apis, resource hogging high level languages like java, and advertisements and layers upon layers of gobbledygook. Not to mention the ongoing failure to use the increasing parallelism built in to today's microprocessors. And buggy, ill-tested software that needs constant patching and updating.. Software that doesn't do its job properly until months after being released? No thank you.

 

You know.. For this industry to badmouth my favorite language (especially as a kid) and says we're ruined forever is just plain despicable. BASIC didn't mess me up irreparably. I understand X86 just fine thankyouverymuch!

 

As far as I'm concerned, this industry can shove itself up its own ass with a recursive algorithm..



#21 Keatah OFFLINE  

Keatah

    Quadrunner

  • 18,675 posts

Posted Wed Jun 22, 2016 9:29 PM

Over time, BASIC has evolved and I think it will continue to be relevant because, most people do not need to know what the hardware is doing. They are only concerned with the input and the output and very little with the process.

 

And most people, especially modern-day developers working on modern-day hardware know nothing of what the hardware is doing. Or how badly they themselves are coding. All the inefficiencies and all the bloat.

 

Thank god moores law has come to an end because, now, further improvements in speed will require developers to buckle down and write better software. So much for non-BASIC programmers. Ha! What a goddamned farce.



#22 Bill Loguidice OFFLINE  

Bill Loguidice

    Quadrunner

  • 5,863 posts
  • Armchair Arcade Managing Director
  • Location:Central New Jersey, USA

Posted Thu Jun 23, 2016 9:22 AM

You know.. For this industry to badmouth my favorite language (especially as a kid) and says we're ruined forever is just plain despicable. BASIC didn't mess me up irreparably. I understand X86 just fine thankyouverymuch!

 

I think the difference is not distinguishing between knowing better and accommodating more casual individuals. To my mind, if you're going to be a "real" programmer, then whether you started with BASIC or not is irrelevant. You still need to (and want to) learn a particular set of skills. Without BASIC, there are probably TONS on individuals who would have never even attempted to program, period (that might include me, although I'm not a "real" programmer). That's probably what's missing from the "high and mighty" perspective that so often targeted the BASIC language. BASIC was almost certainly a critical piece in helping early personal computers gain traction. For that alone it should be celebrated, no matter its structure.



#23 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • Topic Starter
  • 1,748 posts

Posted Fri Jun 24, 2016 10:53 AM

How hypocritical it is of the industry to rag on BASIC users when the industry itself purposely bloats software with in-your-face online advertisements, meaningless features, layers upon layers of apis, resource hogging high level languages like java, and advertisements and layers upon layers of gobbledygook. Not to mention the ongoing failure to use the increasing parallelism built in to today's microprocessors. And buggy, ill-tested software that needs constant patching and updating.. Software that doesn't do its job properly until months after being released? No thank you.

 

You know.. For this industry to badmouth my favorite language (especially as a kid) and says we're ruined forever is just plain despicable. BASIC didn't mess me up irreparably. I understand X86 just fine thankyouverymuch!

 

As far as I'm concerned, this industry can shove itself up its own ass with a recursive algorithm..

 

 

And most people, especially modern-day developers working on modern-day hardware know nothing of what the hardware is doing. Or how badly they themselves are coding. All the inefficiencies and all the bloat.

 

Thank god moores law has come to an end because, now, further improvements in speed will require developers to buckle down and write better software. So much for non-BASIC programmers. Ha! What a goddamned farce.

 

All excellent points, modern program designs make it clear that modern programmers who never had a chance to program in BASIC missed out on it's unique higher level coding concept (lots of stuff in a few lines) as well as the low level concept to understand goto.

 

This article about returning BASIC to the curriculum has a lot of related ideas.

 

DZ-Jay, you talked about some other tools having been better for learning than BASIC, curious what you had in mind; here are some of my ideas:

 

I think LOGO may have been easier to learn initially but was limited, with BASIC you could keep exploring and learning to use what you had learned in new ways.

 

LOGO was similar to and a step up from Big Trek, which was even easier to learn and a step up from Mr Coffee. I think Mr Coffee was the easiest way to learn programming, but even more limited. I think Lite-Brite was the easiest way to learn pixel graphics design.



#24 Welshworrier OFFLINE  

Welshworrier

    Chopper Commander

  • 188 posts

Posted Sun Jul 24, 2016 9:48 AM

What I always found with basic was that as a programming introduction language it was good in that you could quite quickly see the flow of the program and get a grasp on what was needed to achieve the target. However what it was bad at was teaching good coding practices e.g. leading to code reuse and the underlying structures that were needed for larger programs. It worked well when taught in conjunction with one of the other languages (think it was Pascal I learned it with) but didn't really scale up for collaborative projects.

Microsoft, in my mind, bastardised the language when they went to visual basic. It allowed people to get something on the screen quickly without understanding anything about what was going on behind the curtain. This created a series of basic programmers that lacked the nous to actually apply the skills they had to anything outside the visual environment, and in turn led to the maligned reputation.

#25 DZ-Jay OFFLINE  

DZ-Jay

    Quadrunner

  • 9,923 posts
  • Triple-Stripe Mo' Bro
  • Location:NC, USA

Posted Mon Jul 25, 2016 5:03 AM

Microsoft, in my mind, bastardised the language when they went to visual basic. It allowed people to get something on the screen quickly without understanding anything about what was going on behind the curtain. This created a series of basic programmers that lacked the nous to actually apply the skills they had to anything outside the visual environment, and in turn led to the maligned reputation.

 

It also led to countless "business applications" created by hopelessly clueless self-appointed "programmers," riddled with bugs, crazy logic, security holes, and every brain-dead code cliché ever invented.

 

I should know.  I got stuck fixing them at every employer I went.

 

Like I said before, there are mainly two kinds of BASIC (and by extension, VisualBasic) programmer:  Those who used it as a gateway into the wonderful world of computer programming, and those who view it as the best and easiest thing evah!  The former group appreciates the simplicity and accessibility of BASIC, but jumped out to a different programming language as quickly as possible in order to go deeper into the art.  While the latter group stays hopelessly on it and consider themselves "l33t c0drsz".

 

     -dZ.







Also tagged with one or more of these keywords: BASIC

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users