Just want to get ideas on which modern language could replace good old Basic, so the learning curve isn't too galling.

I am partial to Python. The reasons:

1. It is an interpreted language, but can be compiled.
2. It has a very efficient memory manager built-in.
3. Lots of info and code libraries on the NET.
4. It is free (#1 for some folks!).
5. It has a very readable code.
6. No need to declare variable types.
7. Very modern handling strings, lists, sets etc.
8. Some rather nice and free IDEs available.
9. Also some very helpful forum sites.
10. Works on Windows, Linux and some other OSs.

I guess the modern QB would either be DarkBasic or BlitzBasic, both geared towards game development.
Here's a brief overview of DarkBasic Professional
http://darkbasicpro.thegamecreators.com/?f=features
If I remember correctly, it's not an interpreted language, however DB classic (early version) was.

If you have other questions about it, post on the forums and either the mods or myself can answer them.

Blitz I don't really have experience with, so I can't say much in their defense other than its language structure looks a little more c++ like.

The group at BCX-basic is still quite active. They even developed a VB like IDE for their version of basic. BCX basic now translates to either C or C++. Best of all is the price, nada! The package is also legal, something I can not say about all those mostly illegal ripoffs of Qbasic 7.1

I'm kinda partial to Ada myself. For those familiar with Qbasic, Ada isn't much of a stretch. It's more than another dialect of BASIC, but you have the ease of use of BASIC plus the benefits of a well-designed language. The GNAT compiler is free, and in fact part of the GNU compiler collection. Some distros of linux give you the option of installing it.

Example code:
with Ada.Text_IO; -- You must include IO packages like this so the compiler doesn't include unnecessary code.

unknown: boolean;

begin --Main Program
unknown := true;
FOR Count in 1..20
IF unknown = true then
Ada.Text_IO.put("You don't know, do you?");
unknown := false;
else
Ada.Text_IO.put("You know, don't you?");
end if;
end loop;
end progname;

This is longer than the typical "Hello world" because I wanted to show readers a few of the structures used.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.