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!

50 Years of BASIC, the Language That Made Computers Personal

timothy posted about 6 months ago | from the goto-10*5 dept.

Programming 224

harrymcc (1641347) writes "On May 1, 1964 at 4 a.m. in a computer room at Dartmouth University, the first programs written in BASIC ran on the university's brand-new time-sharing system. With these two innovations, John Kemeny and Thomas Kurtz didn't just make it easier to learn how to program a computer: They offered Dartmouth students a form of interactive, personal computing years before the invention of the PC. Over at TIME.com, I chronicle BASIC's first 50 years with a feature with thoughts from Kurtz, Microsoft's Paul Allen and many others."

cancel ×

224 comments

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

Looks like a duplicated thread (0)

Anonymous Coward | about 6 months ago | (#46868595)

Some one have already created a thread on Basic with same title.

Re:Looks like a duplicated thread (4, Funny)

Opportunist (166417) | about 6 months ago | (#46869349)

That's not really a good idea, Basic is hardly thread-safe!

In 3, 2, 1... (-1, Redundant)

charlieo88 (658362) | about 6 months ago | (#46868605)

...cue the snide C/C++ programmer remarks.

Re:In 3, 2, 1... (2, Informative)

NapalmV (1934294) | about 6 months ago | (#46868779)

The truth about C:

https://www.gnu.org/fun/jokes/... [gnu.org]

Now seriously. Pascal was published some 2 years before Kernighan and Ritchie released their masterpiece. Having the opportunity to have a long look at Pascal and yet coming up with something like C shows a very strong character.

Re:In 3, 2, 1... (4, Informative)

AlecC (512609) | about 6 months ago | (#46868967)

No, it just shows habit. C was descended from B, which descended from BCPL. They just did more of the same, instead of going to someone else's syntax.

And, having programmed in Pascal for 15 years. Pascal as defined was not suitable for large projects, whereas C was. Every Pascal compiler had to have some non-standard add-ons to handle modularity. And they were all different. Obviously, the Borland model came to have the status of a de-facto standard, but that was not till some years later. You could not have written Unix in standard Pascal; it was written in standard C. Wirth acknowledged the modularity failings of Pascal in his Modula language family, but by that time he had missed the bus.

Re:In 3, 2, 1... (1)

RabidReindeer (2625839) | about 6 months ago | (#46869119)

Every Pascal compiler had to have some non-standard add-ons to handle modularity.

Actually, if I've got my Pascal-family languages straight, every compiler had to have non-standard add-ons just to handle basic I/O.

Re:In 3, 2, 1... (4, Insightful)

WillAdams (45638) | about 6 months ago | (#46869279)

``Pascal as defined was not suitable for large projects...''

Unless of course, one is Dr. Donald Knuth, then one creates a brand new programming paradigm: http://www.literateprogramming... [literateprogramming.com]

and writes programs such as TeX: http://www.ctan.org/tex-archiv... [ctan.org]

Somewhere, I have a copy of the Oberon language manual printed out --- it's quite cool, and very concise.

Re:In 3, 2, 1... (2)

AlecC (512609) | about 6 months ago | (#46869403)

I do not deny that Knuth, and Wirth, created other, very cool, programming languages later. But I stand by my statement that Pascal, as originally defined, was not suitable for large projects, a failing that Wirth himself recognised.

Re:In 3, 2, 1... (1)

phantomfive (622387) | about 6 months ago | (#46869531)

Knuth had to write a custom pre-processing system to deal with modularity and portability in Pascal when he did TeX and Web. He explicitly stated that Pascal was not his preferred language for that task, but he used it anyway because it was widespread among his target audience.

Re:In 3, 2, 1... (-1)

Peter Simpson (112887) | about 6 months ago | (#46869041)

The truth about C: https://www.gnu.org/fun/jokes/... [gnu.org] Now seriously. Pascal was published some 2 years before Kernighan and Ritchie released their masterpiece. Having the opportunity to have a long look at Pascal and yet coming up with something like C shows a very strong character.

Pascal is pretty bad at doing anything really useful. C is better for doing embedded bit-twiddling. It's been a while, but I remember trying to do something bit-intensive and finding that Pascal required far too much typing to get results. Not as much typing as COBOL, perhaps, but C was the obvious choice. I wish they'd used C as a teaching language instead of Pascal when I was in school.

Re:In 3, 2, 1... (2)

gaspyy (514539) | about 6 months ago | (#46869137)

I haven't coded in Pascal since the good old DOS days, when I was about 17, but at the time was writing TSR apps, picture viewers (GIF, PCX, BMP, TIF), some graphic-mode UI, including mouse support, even some VGA graphic demos. I can't think of anything that I couldn't do in Pascal (and some ASM, I give you that). In fact, it's the reason I never got too heavily into C...

Re:In 3, 2, 1... (-1)

NapalmV (1934294) | about 6 months ago | (#46869433)

C is better for doing embedded bit-twiddling

It isn't. Here's a textbook example of setting bit 4 on port A on an Atmel 8 bit processor, using gcc:

PORTA = PORTA | (1 << 4);

Looks atrocious? It actually is. The processor has a set bit instruction that would look like this in assembly:

SBI PORTA,4

which will set bit 4 on port A - *without* reading PORTA.

Now let's look at the gcc statement. One would think it *reads* PORTA first then it ORs the content with 0x10000 then *write* the result to PORTA, possibly having some collateral effects depending on the hardware attached to PORTA (as compared to setting bit 4 without reading the port). Right? Wrong. gcc will "optimize" it to a SBI PORTA, 4.

All this while they previously had a sbi() function to do exactly this, without any confusion. But they "deprecated" it so now you use the arcane method, praying that gcc will actually "optimize" it to SBI as promised.

Re:In 3, 2, 1... (1)

Threni (635302) | about 6 months ago | (#46868803)

Don't forget 0. Only silly languages start loops, arrays etc at 1.

Re:In 3, 2, 1... (1)

MightyYar (622222) | about 6 months ago | (#46868963)

Really fantastic languages let the user choose which base to use in combination with an ambiguous default.

Was FORTRAN really that hard? (5, Insightful)

Bill, Shooter of Bul (629286) | about 6 months ago | (#46868609)

I mean Basic isn't difficult either, but I really don't understand the perspective at the time that FORTRAN was so complex that BASIC and COBOL were really needed for their syntax changes alone. All of the explinations I've read about them, invariably have the line somewhere about FORTRAN being so difficult to understand that only scientists could master it. I understand they were all invented for different problem domains and that's kind of a good reason in and of itself, but sheesh, its not like it was brain fudge.

Re:Was FORTRAN really that hard? (5, Informative)

Brett Buck (811747) | about 6 months ago | (#46868819)

It isn't hard. I think the only issue that anyone has had with it was the column restrictions, and the important development there was interactive computing and a decent text editor, not a new language.

    Bear in mind, also, that most people haven't ever attempted to write in original FORTRAN. Most have seen nothing earlier than FORTRAN 77 and that was tremendously easier and far less irritating than FORTRAN IV. I am old enough to have written FORTRAN IV on card decks, the "good old days" sucked for the most part.

    I always found BASIC to be far more irritating to program in anything more than trivial applications.

      I don't think the language is the problem, it was all other things that where difficult and mostly solved in the 60's and 70's.

      FORTRAN is certainly still in use for Real Programming. I haven't seen a way to use BASIC- in the way it was originally conceived - in 25 years.

         

Re:Was FORTRAN really that hard? (1)

Katatsumuri (1137173) | about 6 months ago | (#46869117)

I haven't seen a way to use BASIC- in the way it was originally conceived - in 25 years.

To be fair, a lot of people were still using VB6 for Windows frontend programming as recently as 10 years ago. Now it looks like it is finally dying off, although I'm pretty sure a lot of legacy projects are still in use.

Re:Was FORTRAN really that hard? (1)

cyber-vandal (148830) | about 6 months ago | (#46869135)

VB.NET is still very much alive.

Re:Was FORTRAN really that hard? (0)

Anonymous Coward | about 6 months ago | (#46869501)

To be fair, a lot of people were still using VB6 for Windows frontend programming as recently as 10 years ago.

Or as recently as a couple of hours ago, in my case. Mind you, not that I'm proud of it...

Re:Was FORTRAN really that hard? (4, Interesting)

flyingfsck (986395) | about 6 months ago | (#46868825)

No, it is more a case that access to any computing resources was very limited. Twenty years later, universities still had old time sharing machines running Fortran and BASIC that first year students trained on and COBOL, while PL1 on Sperry-Univac machines was the new thing for the seniors. A typical university only had two to four computers in total. I also started by learning BASIC with punch cards on a mainframe, since that was the only thing that was available. The small computer population explosion only really happened in the 1980s.

Re:Was FORTRAN really that hard? (-1, Troll)

NewWorldDan (899800) | about 6 months ago | (#46868891)

A language that required certain statements to start with a certain indentation? Fortran was pointlessly stupid. As a child learning programming in the 80s, I certainly flourished with BASIC. When I was subjected to Fortran77 in college, I wondered why people were still using this archaic language.

Re:Was FORTRAN really that hard? (4, Funny)

Jahta (1141213) | about 6 months ago | (#46868895)

Ob. quote from Real Programmers [mit.edu] .

"Real programmers don't write in FORTRAN. FORTRAN is for pipe stress freaks and crystallography weenies."

Of course, it also says this about BASIC :-)

"Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12."

Re:Was FORTRAN really that hard? (1)

OakDragon (885217) | about 6 months ago | (#46869193)

I'll bet it turns out that real programmers do not program in ANY language, right? ;)

Re:Was FORTRAN really that hard? (4, Insightful)

Adam Colley (3026155) | about 6 months ago | (#46869251)

Real programmers toggle in the boot code on the front panel.

Re:Was FORTRAN really that hard? (5, Informative)

tangent (3677) | about 6 months ago | (#46868965)

FORTRAN wasn't the language in 1964 that you think of as FORTRAN today.

Most people's concept of FORTRAN is FORTRAN 77 or its descendants, which was 13 years in the future from BASIC's introduction.

At the time of BASIC's introduction, FORTRAN IV was the current version.

FORTRAN wouldn't be ANSI-fied for another two years as FORTRAN 66, so every version had machine-specific features. Also, because FORTRAN's development was largely driven by IBM until FORTRAN 66, all the non-IBM versions were "nonstandard." Imagine if, today, every computer came with a C compiler and there were no ANSI or ISO standard to constrain its behavior. The last common reference would have been K&R '78.

Another fun feature of early FORTRAN was fixed column layout [wikipedia.org] , common among languages invented in the punched card era. That is, you had to do things like start all statements in column 7 or later, because the first 6 columns had other meaning.

Early FORTRANs also had very primitive program structuring concepts, hardly raised from the level of assembly language.

Read through the Wikipedia article [wikipedia.org] . You'll probably be shocked at how primitive FORTRAN was in the early 1960s.

Re:Was FORTRAN really that hard? (1)

Bill, Shooter of Bul (629286) | about 6 months ago | (#46869145)

That's all very useful information, thank you for sharing that. It doesn't change my opinion really as I've worked with early FORTRAN, but its pretty interesting for those that were not aware of that history.

Re:Was FORTRAN really that hard? (2, Informative)

jellomizer (103300) | about 6 months ago | (#46868977)

Well there were a few key advantages.
BASIC was an interpreted language, vs FORTRAN or COBOL that required compiling. This gave beginner programmers quicker response in terms of code it run it. vs. Compile find a slew of cryptic errors try to find them and fix and try again.
Secondly BASIC was a line driven language vs. procedural.
10 print "hello"
20 goto 10
yes it created a lot of bad programming habits. But it really explained how the computer processed the stuff better then the procedure. But I am sure some of you taking CS 101 (Those without previous programming experience) often got hung up on function and procedures, loops and nested loops. The BASIC GOTO and if you get advanced use the GOSUB and RETURN makes these concepts easier.

Third BASIC handles free formatting much easier. FORTRAN you needed to follow a Particular set of formatting the first few spaces were reserved for labels or line wrap numbers, limit to 80 columns... In general nitpicking stuff that a started just doesn't want to handle.

As time went on, we really loss the simple computer programming language. BASIC turned to QBASIC then to Visual Basic then to VB.NET which made it a formatted language with all the hold ups the other professional languages has.
There isn't really a good starting language anymore.

Re:Was FORTRAN really that hard? (-1)

Anonymous Coward | about 6 months ago | (#46869019)

Wow, you think every person reading this doesn't already know that? This is Slashdot after all.

Re:Was FORTRAN really that hard? (1)

MightyMartian (840721) | about 6 months ago | (#46869177)

I can't speak to Fortran, having no direct experience with it, but every Cobol program I saw in the youth of my career was interpreted. I administered a multiuser Cobol-based accounting system on a Xenix box in the early 1990s (still probably the best accounting program I've ever seen, BTW), and it was was all i code that ran on a Cobol interpreter. I imagine that for most of Cobol's history the majority of its software has run this way.

Re:Was FORTRAN really that hard? (3, Interesting)

mwvdlee (775178) | about 6 months ago | (#46869415)

I stopped programming COBOL about 5 years ago, after having professionally used COBOL for about 13 years.
I've never even encountered a COBOL interpreter; it was all compiled.

IMHO, interpreted COBOL makes no sense at all; you use COBOL because you want raw performance.
If performance isn't top priority, you'd be better off using Java, C++ or most other languages.
Perhaps if you need backwards compatibility for obsoleted hardware running legacy code.

Re:Was FORTRAN really that hard? (2)

MightyYar (622222) | about 6 months ago | (#46869045)

It's not so much that FORTRAN was horrible, but AFAIK it did not lend itself to a simple interpreter and so the gratification was not instant. Compiling is an extra step and it is not a fun step. In addition (again relying on very faint memory), BASIC had easier string-handling functions built in until FORTRAN77 - and most of us were dealing with strings when we were learning to program.

Re:Was FORTRAN really that hard? (5, Informative)

RabidReindeer (2625839) | about 6 months ago | (#46869191)

FORTRAN isn't that complex. Originally, it only had 7 statements (or was it 10)? The only halfway complex thing about it was the expression compiler parts.

But BASIC had several advantages. It was intended for interactive use, at a time when most FORTRANs were batch-only. It originally only supported a very limited set of variable names like "A", "B", "C", and so forth, meaning that you didn't have to implement symbol table logic, and the associated storages on machines when 16K RAM space might be considered at lot - instead the variable name was the hash code to a value table. Refinements such as the rich set of built-in functions and extensive string services were also later additions.

The original BASIC was so minimalist that even the first effort from Gates &Co. exceeded it. But it introduced a lot of people to "instant gratification" programming, and thus its influence can be felt in many places to this day.

Thank you Kemeny and Kurtz. (5, Funny)

DiscountBorg(TM) (1262102) | about 6 months ago | (#46868617)

I grew up with a little TRS-80 on which you had to learn BASIC to so much as load a file. In Grade Three I was learning things like coordinate geometry and algebra, while my peers were struggling with their multiplication tables. I remember when my peers were introduced to algebra for the first time, some of them had difficulty understanding how x could be a number, while I was busy making adventure games at home.
Thanks to this head start in life, I now have a job in IT. BASIC gave me a great head start in computer literacy!

Re:Thank you Kemeny and Kurtz. (-1)

Anonymous Coward | about 6 months ago | (#46868721)

How exactly was growing up among retards a "head start in life"?

Re:Thank you Kemeny and Kurtz. (4, Insightful)

DiscountBorg(TM) (1262102) | about 6 months ago | (#46868833)

I wouldn't contend for an instant that the kids I grew up around were 'retards'. 8-year-olds can't magically know things without experience.

How many kids have the chance to sit down in front of a computer and learn that the reason a ball goes across the screen comes down to something as simple as x=x+1? Schools won't teach them that until the end of primary.

BASIC does probably teach some bad programming habits but at the same time it's accessible to an 8-year-old, and you're learning concepts that are applicable for life: file management, how to store and retrieve data, syntax, etc etc. If the goal is to introduce kids to ehmm.. basic computing concepts, it worked admirably.

Compare to someone with no knowledge of programming concepts at all whatsoever trying to grasp how to call a function for the first time in their life.

Re:Thank you Kemeny and Kurtz. (0)

Anonymous Coward | about 6 months ago | (#46868979)

> I wouldn't contend for an instant that the kids I grew up around were 'retards'. 8-year-olds can't magically know things without experience.

What about at Hogwarts?

Re:Thank you Kemeny and Kurtz. (1)

ArhcAngel (247594) | about 6 months ago | (#46869231)

BASIC does probably teach some bad programming habits

You're telling me. I nearly failed the first semester of my C++ course in college because I couldn't stop using GoTo!

Re:Thank you Kemeny and Kurtz. (2)

narcc (412956) | about 6 months ago | (#46869601)

This baffles me. If you compare BASIC to any assembly, you'll find that they're not that different, as far as how you structure your programs.

Does assembly teach "bad programming habits"?

I'm going to call this particular meme "nonsense" until such time as someone can offer up a decent argument.

 

Re:Thank you Kemeny and Kurtz. (1)

coolsnowmen (695297) | about 6 months ago | (#46868957)

I'll bite. Grading curves. Bad teachers [ or rather, bad test writters] grade on a curve so they are sure to get atleast a certain bell curve of A's, B's, and C's. So, if you are surrounded by idiots as early as middle school, you'll get better grades. Then, because of quota's, you'll get in to a magnet school, which will have better teachers, and more interesting classes, and smaller class sizes. That is a recipe for sucess [ for someone like me anyways].

Idiots (3, Insightful)

Anonymous Coward | about 6 months ago | (#46869413)

So, if you are surrounded by idiots as early as middle school, you'll get better grades.

When I was a kid, I wanted to be a machinist. I love working with my hands.

In Middle School and High School, there were these "idiots" who took shop barely passed Algebra and took jobs that gave them credit to graduate.

My parents didn't want me to be a blue collar worker and demanded I go to college. Part of it was that they wanted something more for me - blue collar jobs were being sent down South (Carolinas, GA, FL, etc ..) at the time and the "college boys" had their cushy salaried jobs and were the ones laying people off and sending jobs to the South - "those Southerners took our jobs!" (The good ole days before Globalization).

Years later, I was patting myself on the back for making 6 figures when I bumped into an "idiot" I went to school with. Well, I met him for lunch at his $5 million tool and die company - and I let my parents know about it.

Well, today he's lost a bit of business because of off-shoring but is still doing well and he's still respected for being a business owner.

I'm unemployable with savings dried up, investments gone, and people telling me that I'm no good and stupid - Maybe so.

Of course today, being a machinist is pretty much "monkey pushes the button" for these high tech CNC machines - the designers write the programs.

I digress.

tl;dr: "Stupid people" have their place and don't be surprised if they are more successful than you.

PS, think about what you are doing in IT/Software development. What do you really offer society and humanity?

Looking at the "apps" and "technology" coming out of Silicon Valley, I have to say, they offer no value. The just contribute to our mindless consumer society.

Google, Yahoo!, Apple, etc ... are just consumer products and services that exist for us to ... consume. No value.

My corner mechanic offers more to society than all of you in Silicon Valley. Same goes for the nurse at my hospital. We in software and IT like to think we offer so much but really, what do we do? Or what does you job do? All of you working at Facebook are a waste. Same goes for you Google "engineers" - you are nothing but marketing people.

Just a waste.

Re:Thank you Kemeny and Kurtz. (2, Funny)

bluefoxlucid (723572) | about 6 months ago | (#46868865)

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.

Re:Thank you Kemeny and Kurtz. (1)

NoNonAlphaCharsHere (2201864) | about 6 months ago | (#46868937)

Thanks. I was waiting for a Considered Harmful joke.

Re:Thank you Kemeny and Kurtz. (1)

jellomizer (103300) | about 6 months ago | (#46869025)

That isn't true.
The CS 101 Class should have components about following up structure. Give assignments where the students may need to build off their code, if they start doing it the BASIC Way make assignments that shows how much harder it is to maintain over time. I went into CS with a Strong knowledge in BASIC, it was actually very helpful. As the other students were struggling with Loops and getting the darn thing to work, I was focusing more on trying to follow the guidelines for style and seeing if there is way I could make it better.
Sure I got the talking to when in a lecture I brought up using a GOTO to solve a problem. However that was about it.

Re:Thank you Kemeny and Kurtz. (4, Interesting)

DiscountBorg(TM) (1262102) | about 6 months ago | (#46869093)

I agree, but this is actually an old tongue in cheek essay, in context it makes more sense perhaps:

"FORTRAN --"the infantile disorder"--, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.
PL/I --"the fatal disease"-- belongs more to the problem set than to the solution set.
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.
The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.
APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums."

http://www.cs.virginia.edu/~ev... [virginia.edu]

Re:Thank you Kemeny and Kurtz. (0)

Anonymous Coward | about 6 months ago | (#46869085)

Oh, bullshit.

Re:Thank you Kemeny and Kurtz. (2)

MightyMartian (840721) | about 6 months ago | (#46869383)

I learned to program on 8 bit computers (Tandy and Commodore), all of which were running BASIC interpreters, and I had no problem moving on structured programming like Pascal, and ultimately OOP languages like Java.

Re:Thank you Kemeny and Kurtz. (0)

Anonymous Coward | about 6 months ago | (#46868925)

You got modded funny, but there is serious truth in this.

In my case it was a Dragon 32 (a TRS-80 knockoff). I was ridiculously ahead of the game when we got to algebra in school. To a lesser extent, I also got matrices pretty quick too.

Programming actually seems an apt way to learn these concepts, because it gives you an actual valid purpose in them, rather than just trying to solve some problem because you've been asked to.

"I need to figure out where this ball is going to be on the x asis by adding 1 to it's current position"

Re:Thank you Kemeny and Kurtz. (2)

DiscountBorg(TM) (1262102) | about 6 months ago | (#46869035)

Yes, and then from there it's really easy to understand how to calculate things like velocity and gravity, and understand vectors. If I ever have a kid, I'd totally want to get them learning some form of basic coding at an early age. Nowadays it doesn't have to be BASIC, it could just as easily be LUA There's so many useful/abstract concepts you pick up naturally while figuring out these things even outside of basic computing.

Re:Thank you Kemeny and Kurtz. (2)

jeffb (2.718) (1189693) | about 6 months ago | (#46869149)

It's different when you cover algebra before you hit programming.

Algebra teacher: "X + 1 = 2X. Subtract X from both sides. X = 1."

Me: "OK"

BASIC program: "X = X + 1"

Me: "No, it isn't!"

Me, years later, in a class using Prolog: "X = X + 1"

Prolog interpreter: "No, it isn't!"

w00t (1)

slashmydots (2189826) | about 6 months ago | (#46868667)

The first programming language I ever saw was when I was like 10. It was an exact rip of BASIC but used to control AI bugs that would fight each other and negotiate a grid. You could equip scanners and weapons and stuff but then you had to code the actions in a giant decision tree based on conditions and loops. I thought it was awesome! Now I'm a software programmer professionally.

Re:w00t (0)

Anonymous Coward | about 6 months ago | (#46868997)

(Posting as AC because I modded this thread)

Robot War for the Apple II? http://en.wikipedia.org/wiki/R... [wikipedia.org]

Re:w00t (1)

slashmydots (2189826) | about 6 months ago | (#46869127)

I believe it was called "AI Bug" and it was for Windows 98 and XP :-D

Happy Birthday (5, Funny)

Captain Emerald (2882375) | about 6 months ago | (#46868687)

10 PRINT "Happy Birthday, Basic"
20 GOTO 10

Re:Happy Birthday (0)

Anonymous Coward | about 6 months ago | (#46868843)

Endless loop, bad programming! You have shamed BASIC for the last time!

Re:Happy Birthday (2)

mod prime (3597787) | about 6 months ago | (#46869129)

This is not bad programming, this is the most common Use Case.
When I was programming BASIC this was equivalent to

while Break not pressed:
  print 'whatever'
exit program

Re:Happy Birthday (1)

Anonymous Coward | about 6 months ago | (#46869443)

This is not bad programming, this is the most common Use Case.
When I was programming BASIC this was equivalent to

while Break not pressed:

  print 'whatever'
exit program

While you are correct, it was very bad programming. In my day it would have gotten you at least a stern talking to...

(Hint: don't think CRT think continuous roll of paper attached to a teletype!)

Now, Get off my lawn!

And.... (0)

Anonymous Coward | about 6 months ago | (#46868907)

...run out of shop...

Re: Happy Birthday (0)

Anonymous Coward | about 6 months ago | (#46869107)

Which, coincidentally, was also the first BASIC program :-)

Re:Happy Birthday (1)

Toad-san (64810) | about 6 months ago | (#46869371)

Throw in a counting loop (1 to 50 .. or 0 to 49 if you wish), just to show off your l33t skills.
Make it 0.0 to 49.0 if you want to test your math coprocessor at the same time :-)

Re:Happy Birthday (0)

Anonymous Coward | about 6 months ago | (#46869563)

5 REM 1337 SKILLS VERSION
10 FOR I=1 TO 50
20 PRINT TAB(INT(I/10));"HAPPY BIRTHDAY BASIC!"
30 NEXT I

Re:Happy Birthday (0)

Anonymous Coward | about 6 months ago | (#46869583)

It has to be all caps. it makes the code flow better.

basic (0)

Anonymous Coward | about 6 months ago | (#46868691)

all this time I thought Bill gates created Beginner's All-purpose Symbolic Instruction Code. Thanks for sharing the link. Wonder what the GUI/IDE was like for typing BASIC and the interface. Will need to look for some screenshots. Or maybe I am thinking of QBasic that had a GUI.

Re:basic (1)

AlecC (512609) | about 6 months ago | (#46869007)

I don't think there was a GUI, because the standard interface then was the ASR-33 teletype. That was certainly what I was using in the early 70s. I first came across CRT terminals in about 1979 - though my employer 75-78 was a bit sluggish, so they would have been around before that. But they were stil character oriented displays - 24x80 usually - and it was not until the early 80s I saw genuine pixel mapped displays on which one could have a real GUI.,

I grew up writing games in BASIC (0)

Anonymous Coward | about 6 months ago | (#46868713)

Those were the days when you didn't need much more than a text editor to make a game.

Re:I grew up writing games in BASIC (1)

RailGunner (554645) | about 6 months ago | (#46868743)

You never need more than a text editor to write code. Now get off my lawn.

Re:I grew up writing games in BASIC (1)

ArcadeMan (2766669) | about 6 months ago | (#46868773)

I write code with an hexadecimal editor. Now get off my lawn.

Re:I grew up writing games in BASIC (0)

Anonymous Coward | about 6 months ago | (#46868975)

Bah! I punch in machine code using the toggle switches on the console of my PDP-8... That's real programming!!!

Re:I grew up writing games in BASIC (0)

Anonymous Coward | about 6 months ago | (#46869075)

Got you, you fake! Real olde timers programmed in octal as hex hadn't been invented yet!

Re:I grew up writing games in BASIC (1)

RailGunner (554645) | about 6 months ago | (#46869637)

107 157 040 106 165 143 153 040 131 157 165 162 163 145 154 146 056 :)

Re:I grew up writing games in BASIC (1, Informative)

Karlt1 (231423) | about 6 months ago | (#46869079)

You never need more than a text editor to write code. Now get off my lawn.

You had a text editor? Wimp.

Real programmers didn't have editors. If we wanted to change a line in an Applesoft Basic program we either had to type it over or 'List' the line press ESC and up arrow to the line.

I liked BBC Basic. And Q(uick)Basic. (3, Funny)

serviscope_minor (664417) | about 6 months ago | (#46868725)

The BBC Model B equipped with BBC BASIC was released in 1981. As well as the usual litany of BASIC like features (i.e. goto), it had proper named procedures and functions with local variables, which allowed structured programming. It didn't have proper block structured if though.

It also had dynamic memory allocation and pointer indirection (not that wretched peek and poke stuff).

It was still tied to line numbers though, but in practive you (a) didn't need them except for computed goto and jump tables and (b) it had a proper renumbering command if you needed to insert space which corrected all the gotos, gosubs and jump tables (but not obviously computed goto).

It had a 5 byte floating point system build in too, which while slow was pretty decent.

Was quite powerful. It also had graphics and sound built in, which made it very nice to play with.

And then I graduated on to QB when I switched to a PC. Mostly QBasic then a pirated version of QuickBasic. Actually my dad was very against piracy but relented when we phoned a Microsoft sales office and they denied all knowledge of such a product and tried to hawk us an early version of Visual Basic.

QBasic was a fantastic system, especially given it was free with PCs, and I challenge anyone to claim otherwise with good justification.

Re:I liked BBC Basic. And Q(uick)Basic. (2)

Jahta (1141213) | about 6 months ago | (#46868949)

The BBC Model B equipped with BBC BASIC was released in 1981. As well as the usual litany of BASIC like features (i.e. goto), it had proper named procedures and functions with local variables, which allowed structured programming. It didn't have proper block structured if though.

Yes indeed. I initially learned to program on a BBC, and I learned a number of good habits in the process.

Re:I liked BBC Basic. And Q(uick)Basic. (2)

Adam Colley (3026155) | about 6 months ago | (#46869321)

You both forgot to mention the BBC had a built in 6502 multipass assembler.

So unlike my spectrum I didn't have to reload the assembler every time I made an error and my code stomped all over ram.

Additionally, you had direct access to OS routines from basic, OSBYTE, OSWORD, OSCLI etc.

The BBC was and still is far ahead of anything else as a teaching machine. Simple enough to understand, complex enough to be useful and enough I/O to put a pi with gertboard to shame even today.

Re:I liked BBC Basic. And Q(uick)Basic. (2)

serviscope_minor (664417) | about 6 months ago | (#46869361)

You're absoloutely correct. It did have those and it was awesome. It meant you could freely mix ASM and BASIC code. Handy so one could do inner loops in ASM and the more complex outer logic in basic without sacraficing anything. I seem to remember that the special variables A%, X% and Y% would be used to set the A, X and Y registers on entry and be set back on exit for easy communication.

DND in BASIC (3, Funny)

null etc. (524767) | about 6 months ago | (#46868751)

Richard Garriott (of Ultima fame) is running an interesting challenge to port his very first RPG computer game, written in BASIC on a teletype connected to a PDP-11, into a web-friendly or Unity version. https://www.shroudoftheavatar.... [shroudoftheavatar.com]

BASIC is where I began (1)

Neruocomp (513658) | about 6 months ago | (#46868763)

I remember my first computer, an Intel 486 Packard Bell way back in the early 90s. Windows 3.11 and DOS. I learned by pushing every button, even sometimes breaking the computer, but making sure I fixed it. Then I found BASIC buried in there and started playing with programming. I had no books to learn from, didn't even know where to begin on something like that but I learned through trial and error. It really came in handy as a calculator to check my homework against. I have fond memories with gorillas throwing nuclear bananas. I'm now a Linux sysadmin specializing in HPC clusters.

No, it wasn't. (2)

Baldrson (78598) | about 6 months ago | (#46868793)

If IBM had gone to Chuck Moore [slashdot.org] instead of Bill Gates (or rather, his mom) for their 4.77MHz 8088 PC, your title might have been "50 years of FORTH, the Language That Made Computers Personal".

But, then again, if IBM had done that, the personal computer era might have been bypassed entirely with the network computer launching the equivalent of the WWW in 1983 [slashdot.org] .

Re:No, it wasn't. (1)

westlake (615356) | about 6 months ago | (#46869209)

If IBM had gone to Chuck Moore instead of Bill Gates (or rather, his mom) for their 4.77MHz 8088 PC

Microsoft was selling microcomputer BASIC to Fortune 500 clients as early as 1976. It became the most visible --- and the most successful --- developer of programming languages for the micro in the eight bit era and well positioned to move into system software and applications.

Re:No, it wasn't. (2)

Baldrson (78598) | about 6 months ago | (#46869343)

No doubt BASIC was the path of least resistance, but if you click through my link to 1983, you'll notice that Smalltalk was positioned to execute on a FORTH stack VM which was then reduced to hardware in the Novix chop. Moreover, the technology you see in the Javascript V8 engine had already been published in relation to Smalltalk in 1983.

This was technically feasible at that time. The fact that it wasn't the path of least resistance hardly qualifies BASIC for the credit accorded it by the title of this article.

echo "I love Basic"! (0)

Anonymous Coward | about 6 months ago | (#46868809)

//basic hooray
for (i 3)
{
echo "Hooray!"
i++
}

No line numbers! (1)

Anonymous Coward | about 6 months ago | (#46868811)

Before anyone makes a lame joke along the lines of "10 GOTO 10", keep in mind that the BASIC from Dartmouth had no line numbers, and it had structured control flow (for/while loops, etc.). If you ever used "True BASIC" for the Mac, that was a modern port of Dartmouth BASIC (by a company founded by Kemeny, I believe).

Re:No line numbers! (0)

Anonymous Coward | about 6 months ago | (#46869347)

the BASIC from Dartmouth had no line numbers, and it had structured control flow (for/while loops, etc.).

You, sir, are an idiot. Your assertion is directly contradicted by the article -- and my own experience. Not that I used DTSS, but because I read books about it and programmed in BASIC long before there was a Mac.

What it was actually good for (1, Insightful)

unfortunateson (527551) | about 6 months ago | (#46868849)

Text.

Long before Lisp or Perl, Basic made things much, much easier to deal with text.
C (and its children) had pointers and allocation to deal with.
Cobol, Fortran and Pascal, by default, dealt with fixed-length strings (yes, later versions improved it).

On the Digital operating systems (RSTS, RSX, VAX/VMS -- whose technology ended up influencing WinNT), BASIC was relatively sophisticated, long before Visual Basic: explicit variable declaration, access to database routines, etc. I got a LOT of stuff done where the Pascal and C programmers were spending time just making things work. Speed? Perhaps slower, but most of what I worked on was interactive, where the bulk of the time was waiting for a human being.

Re:What it was actually good for (1)

sribe (304414) | about 6 months ago | (#46869165)

Long before Lisp or Perl, Basic made things much, much easier to deal with text.

Ahem, Lisp predates BASIC by 6 years...

handgun licensing are at all-time highs (-1)

Anonymous Coward | about 6 months ago | (#46868873)

http://www.nraila.org/news-issues/articles/2013/9/not-a-peep-from-obama-violent-crime-now-at-a-42-year-low.aspx

gun ownership, purchases and handgun licensing are at all-time highs. Crime, for some reason, is going down.

That's not a coincidence.

By the way. Conversely in places like Chicago, where only the criminals have guns, people just keep getting shot.

Vic-20 Tank vs UFO (2)

NeoNormal (594362) | about 6 months ago | (#46868877)

I bought a VIc-20 in 1982 to use in my woodworking business. I learned BASIC on it by trying to key in the Tank vs UFO game that was printed in the manual. I don't know if it was all of my typos or errors in the printed listing (both likely), but through debugging that ASCII character game, I got started in the direction that took me to working in IT.

That's weird (0)

Anonymous Coward | about 6 months ago | (#46868899)

I keep hearing that Star Trek and space was the driver behind science and technology... When was the first episode of Star Trek again? So what inspired these scientists?

Re:That's weird (1)

AlecC (512609) | about 6 months ago | (#46869057)

No - the driver behind the current generation of scientists and technologist, of whom there are far, far more than there were back in those days. Back then, you only needed the 0.001% of truly deep geeks to keep the technology bandwaggon rolling. Now we need perhaps 2-3% of the population to be fairly geeky to do all the science and technology related jobs created by the explosion those first guys triggered,

I say BS (0)

mrthoughtful (466814) | about 6 months ago | (#46868941)

(1) It wasn't a language that made computers personal, it was the advent of the microchip, and, as a consequence, the microcomputer.
(2) The first language I learned was BASIC. It was so bad that I then learned assembler.
(3) My experience of BASIC was so bad that I didn't want anything to do with it, even though using it to compose LUTs would have been very useful
(4) Then 'C' became cheap, and then free. I haven't written anything in BASIC for over 30 years.

Re:I say BS (-1)

Anonymous Coward | about 6 months ago | (#46869269)

You say BASIC was bad, have you tried beta yet?

fuck beta (1, Insightful)

Anonymous Coward | about 6 months ago | (#46868973)

fuck beta

LISP instead! (3, Insightful)

Anonymous Coward | about 6 months ago | (#46869065)

Lisp was invented in 1958. Can you imagine a world were personal computers had Lisp instead of BASIC? We would have had the singularity the year after IBM released the AT!

Re:LISP instead! (2)

istartedi (132515) | about 6 months ago | (#46869297)

I think it's more likely that only a few people would have cared for it. Of those few, an even smaller few would have written something like a BASIC interpreter in Lisp and sold it separately.

Either that, or they would have sold poorly until somebody came out with what we got, which was PCs that shipped with BASIC.

I recall reading a review of one of the less popular systems at the time. The reviewer said something like, "it comes only with assembler, which is useful only for understanding how a computer works". Of course I and a lot of other people ended up programming the C-64 mostly with assembler; but we started with BASIC.

Oh, and I'm surprised I got this far down and nobody quoted Djikstra yet. I like to count myself as one of the many programmers who proves him wrong; although it's my understanding that the BASIC to which he referred was inferior even to the line-numbered versions of the 80s. I wonder if he ever qualified or backed up even a little bit from his infamous quote.

Re:LISP instead! (0)

phantomfive (622387) | about 6 months ago | (#46869641)

Oh, and I'm surprised I got this far down and nobody quoted Djikstra yet. I like to count myself as one of the many programmers who proves him wrong; although it's my understanding that the BASIC to which he referred was inferior even to the line-numbered versions of the 80s. I wonder if he ever qualified or backed up even a little bit from his infamous quote.

How many bugs are there in your programs? If the answer is non-zero, then no, you haven't proven him wrong, because that's what he was talking about. Also, he insulted most other popular languages [virginia.edu] of the day as well, so you don't need to feel singled-out.

Re:LISP instead! (2)

Opportunist (166417) | about 6 months ago | (#46869457)

(I ((am not) so (sure (about that))), (you (may (rest assured) (that (at (some point)) (someone (would have (forgotten (a closing (or opening) bracket)) ... ) ... )? ...

oh fuck, let's start counting... one open, two open, three open, two open...

Re:LISP instead! (0)

Anonymous Coward | about 6 months ago | (#46869663)

Lisp wasn't popular on PCs, but LOGO had moderate popularity.

Basic Got Me My Career (4, Interesting)

coolmoose25 (1057210) | about 6 months ago | (#46869277)

I started working on computers in the early 80's... The first one I used was a TI 99 4a. It had tape drives and a TV set as a monitor, and a horrific keypad (note: not keyboard). Then my brother got a PC Jr. and I started hacking with that and then went off to college. As an engineering major, I learned FORTRAN on punched cards. I hated it! Swore I'd never have a job where I used computers.

Then my brother got the family to chip in and buy me a Tandy 1000a. It came with DOS, Deskmate, and Basic. I started programming in Basic using the concepts I had learned in FORTRAN. By the end, I think I had dumped about $5,000 into that computer. Printers, memory upgrades, floppy upgrades, hard drive, monitor, etc. And still was able to do amazing things with Basic and with BAT files.

My first job was with Arthur Andersen. COBOL. Batch COBOL. 2.5 years of it. Learned it in 6 weeks, and spent the rest of my career there either coding it or writing tech specs for it.

Went to work at an insurance company coding SqlWindows, a now obscure 4th gen programming language. But hey, it was Windows programming. Spent 10 years there in a variety of roles.

After that I set up my own web development shop... Wrote classic ASP which is essentially Basic for the web. And then went to work at another insurance company, writing, you guessed it, Microsoft VB.net. Granted, VB.net was a far cry from the original basic, and probably would have been better off learning C#. But that was Microsoft's strategy with .Net - recycle old VB programmers and old C programmers using the CLR. At the end of the day, not much difference between C# and VB.net. Now I don't code anymore, I'm a VP at that insurance company. But I owe a lot of my career for having a tool like Basic available to me in my formative years. Sure, it teaches you some bad coding habits. But just like anything else, you learn from that, and others, and classes (and objects for those who like puns). Those who say that you can't be a good programmer after having learned basic are either elitist snobs or idiots. Sometimes you have to do it wrong first to see how doing it right makes all the difference. So Happy Birthday Basic - I love ya' baby.

Re:Basic Got Me My Career (0)

Anonymous Coward | about 6 months ago | (#46869379)

And I would say that most of the people bashing basic, haven't tried a modern basic. The fact that C derivatives have such a hard time handling text shows how limited a language it is.

Ric Weiland (1)

Beorytis (1014777) | about 6 months ago | (#46869479)

I would have liked to hear from Ric Weiland but it's not possible since he died in 2006. He was responsible for the BASIC that I learned on: The Microsoft BASIC-in-ROM that came with my family's Ohio Scientific Challenger 4P (a 6502-based system from 1978 that had hardware similarities to Commodore systems). It also featured the first "Easter Egg" I remember: The system's boot prompt was "C/W/M?" (i.e. cold boot, warm boot, monitor). If you selected "A", it responded with "WRITTEN BY RICHARD W. WEILAND."

The best part about Basic (2)

mark-t (151149) | about 6 months ago | (#46869499)

Basic was my first programming language, and I actually spent almost 10 years using it before moving onto more structured languages like C, but it wasn't too long after I learned Basic that I found that my favorite features of the language were the ones that enabled me to extend it with my own customizations, which I would have to write in assembler. If I remember correctly, the relevant basic keywords in the implementation that I used were 'usr' and '&... practically turning it into another language with all of the extensions that I would throw in.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?