Linked by Thom Holwerda on Wed 30th Apr 2014 18:16 UTC, submitted by KLU9
General Development

I find the "everybody should learn to code" movement laudable. And yet it also leaves me wistful, even melancholy. Once upon a time, knowing how to use a computer was virtually synonymous with knowing how to program one. And the thing that made it possible was a programming language called BASIC.

Invented by John G. Kemeny and Thomas E. Kurtz of Dartmouth College in Hanover, New Hampshire, BASIC was first successfully used to run programs on the school's General Electric computer system 50 years ago this week - at 4 a.m. on May 1, 1964, to be precise.

It's the only programming language I was ever somewhat proficient in (when I was about six years old). I never moved beyond it, and now, I know nothing about programming. BASIC has played a huge role in the history of computing, and its birthday deserves to be a thing.

Thread beginning with comment 587802
To read all comments associated with this story, please click here.
Comment by drcouzelis
by drcouzelis on Wed 30th Apr 2014 19:23 UTC
drcouzelis
Member since:
2010-01-11

What would you consider to be a modern day equivalent of BASIC? Anything other than modern variations such as FreeBASIC?

I often considered Python as one, but it's just so... complex. BASIC had a simple charm that made me feel like I was in control of the computer. With modern programming languages I feel like a tadpole swimming in the ocean.

What do you think?

Reply Score: 6

RE: Comment by drcouzelis
by ebasconp on Wed 30th Apr 2014 19:51 in reply to "Comment by drcouzelis"
ebasconp Member since:
2006-05-09

10 The problem with BASIC's simplicity is that it does not provide higher level abstractions like structs, functions, local variables and so on. Without such tools, programming something relatively complex is a nightmare. I think all the features found in C or Pascal should be the minimum common denominator that any imperative programming language should have.

20 The first programming language I learnt was ATARI BASIC, and though I enjoyed using it a lot, I do not imagine writing something useful on it nowadays.

30 GOTO 10

Edited 2014-04-30 20:07 UTC

Reply Parent Score: 7

RE[2]: Comment by drcouzelis
by jgagnon on Wed 30th Apr 2014 20:05 in reply to "RE: Comment by drcouzelis"
jgagnon Member since:
2008-06-24

BASIC's original design was for use on low memory systems (hence the usage of byte codes for commands). In my opinion it never should have been taken seriously as a full development language. Microsoft, of course, would argue with me on that point. Then again, Visual BASIC was not at all like the early BASIC languages on personal computers.

Reply Parent Score: 4

RE: Comment by drcouzelis
by RJay75 on Wed 30th Apr 2014 20:00 in reply to "Comment by drcouzelis"
RJay75 Member since:
2010-05-18

If you don't want a basic variant then, if you are looking to just do processing and no graphics I'd say scheme (r5rs). http://www.scheme.com/petitechezscheme.html

Nice to use to experiment with algorithms.

On Windows if you did want to use a basic variant there's MS Small Basic (http://smallbasic.com/)

Reply Parent Score: 3

RE[2]: Comment by drcouzelis
by righard on Wed 30th Apr 2014 20:44 in reply to "RE: Comment by drcouzelis"
righard Member since:
2007-12-26

If you don't want a basic variant then, if you are looking to just do processing and no graphics I'd say scheme (r5rs). http://www.scheme.com/petitechezscheme.html


I agree with you on Scheme, though you can do a lot more with it than just processing. Chicken Scheme for example has a whole lot of extensions available http://wiki.call-cc.org/chicken-projects/egg-index-4.html including bindings to, for example, OpenGL, SDL, Qt etc.
If these aren't enough it is trivial to interface with C with Chicken Scheme.

Racket might also be a good choice. It is very 'batteries included'. Its IDE DrRacket is great if you miss the 'turn the computer on and get coding'-vibe of old home computers with BASIC.

Edited 2014-04-30 20:45 UTC

Reply Parent Score: 4

RE: Comment by drcouzelis
by jgagnon on Wed 30th Apr 2014 20:08 in reply to "Comment by drcouzelis"
jgagnon Member since:
2008-06-24

I would consider Python as a good choice, mostly because it can be used directly in the interpreter as well as with source files (and a mix of both). This is very similar to "the old days" of BASIC.

Reply Parent Score: 4

RE: Comment by drcouzelis
by daedalus on Wed 30th Apr 2014 20:39 in reply to "Comment by drcouzelis"
daedalus Member since:
2011-01-14

Perhaps Blitz Basic is worth a look? It's the modern evolution of Blitz Basic from the Amiga years ago (the language which games like Worms, Gloom and Skidmarks were written in), and it appears to carry on a similar philosophy. It uses primarily built-in BASIC commands you might be familiar with, but also supports the use things like structs, functions and custom datatypes to allow slightly more modern programming, and native OS calls. It also supports the addition of custom libraries for more specialised commands, or libraries you build yourself.

The "BlitzPlus" version is free to download and allows programming and creation of applications on Windows. http://www.blitzbasic.com/Products/_index_.php

Reply Parent Score: 3

RE[2]: Comment by drcouzelis
by thulfram on Thu 1st May 2014 01:08 in reply to "RE: Comment by drcouzelis"
thulfram Member since:
2013-10-11

+1 for Blitz Basic.

Reply Parent Score: 1

Modern alternative to BASIC
by Antartica_ on Wed 30th Apr 2014 20:44 in reply to "Comment by drcouzelis"
Antartica_ Member since:
2012-12-28

I would consider Scratch ( http://scratch.mit.edu ) a modern alternative to BASIC.

The only cons are (1) that is it meant for kids (2) It is really limited in regard to variables, math functions and such.

For grown-ups I'm not sure of the best one.

Okay, one that I would recommend is Tcl/Tk ( for example from http://www.activestate.com/activetcl ), as it is a lot more approachable than python... but it has its own quirks.

On the other hand, basic JavaScript is not that hard with the right book. One I love is "Eloquent JavaScript: A Modern Introduction to Programming" ( http://eloquentjavascript.net/ ).

Hope this points you in the right direction ;)

Reply Parent Score: 4

RE: Modern alternative to BASIC
by ebasconp on Wed 30th Apr 2014 22:14 in reply to "Modern alternative to BASIC"
ebasconp Member since:
2006-05-09

Actually I would consider Scratch an alternative to Logo and as you say, I am not sure if a complex software system could be written on it.

Edited 2014-04-30 22:15 UTC

Reply Parent Score: 2

thulfram Member since:
2013-10-11

+1 for Eloquent JavaScript!

Reply Parent Score: 1

RE: Comment by drcouzelis
by Dasher42 on Wed 30th Apr 2014 21:43 in reply to "Comment by drcouzelis"
Dasher42 Member since:
2007-04-05

Python, complicated? No it isn't. Everything's a dictionary of some sort - a namespace, a module, a class, an object. Whether it's object.value or object.__dict__['value'], it's all just dictionaries.

Edited 2014-04-30 21:43 UTC

Reply Parent Score: 3

RE[2]: Comment by drcouzelis
by moondevil on Thu 1st May 2014 06:35 in reply to "RE: Comment by drcouzelis"
moondevil Member since:
2005-07-08

For kids around 6 - 10 years old, yes it is complicated.

This is the age many of us started coding back in the golden BASIC days.

Reply Parent Score: 4

RE: Comment by drcouzelis
by Soulbender on Thu 1st May 2014 09:12 in reply to "Comment by drcouzelis"
Soulbender Member since:
2005-08-18

What would you consider to be a modern day equivalent of BASIC?


BASIC.
Seriously, it is very good at what it is intended to do: teach you the basics of programming.
In terms of teaching Pascal is still a nice step up from BASIC.
Beyond that? Well, there's a buttload of languages so take your pick.

Reply Parent Score: 4

RE: Comment by drcouzelis
by shmerl on Thu 1st May 2014 23:42 in reply to "Comment by drcouzelis"
shmerl Member since:
2010-06-08

I'd ask a similar question. What programming language is good to teach kids as a first one these days?

Reply Parent Score: 2