VOGONS


First post, by tinybc

User metadata
Rank Newbie
Rank
Newbie

Hi, i don't want to spam, but there has to be some way to let you know. Tiny BASIC for Curses now works in DOSBox.

Tiny BASIC is the minimal possible programming language which was used on early microcumputers, and it takes almost no time to learn. There is almost nothing to forget when one once would not use it any more. It is for Curses, a character screen handling library, which is a POSIX standard, and is in fact the only standard for anything which resembles "graphics". That BASIC also enables to execute external commands, thus it enables both file i/o and enables to do some scripting, including communicating with the Internet. And Tiny BASIC is not so restricted as one may think, it is tiny as a programming language and interpreter, but has a huge array which can be used for storing both numbers and texts.

Why do i think that anyone should be interested. I fully agree with the idea of DOSBox, it is only for games and thus DOS should be minimal. There are no proper tools, no Qt, there is some web browser, but even no word processor. So it makes no sense to use it for anything advanced. But a minimal programming language makes sense in DOSBox, for these who learn programming, or just don't want to vex their brains with yet another programming language, but still want to do some programming. So one may also consider it as yet another game, and DOSBox is for games. Yet one may also use DOSBox as the most minimal operating system, one which is not too complex for most people. DOS is the only widely used operating system which was also used in older microcomputers, some of which were older than pc. Yes people want simplicity, this is not yet comprehended enough.

I played with DOSBox a bit, and from ibiblio http://www.ibiblio.org/pub/micro/pc-stuff/freedos (especially gnuish there) i got quite a decent set of command line utilities, the ones which can be executed as external commands in Tiny BASIC. I even got a small unix sh shell, so now there is a name completion instead of typing in all the names, which used to be a nuisance in DOS, and there are also pipes. The things were not so good what concerns programming languages though. I couldn't install python, because the version there uses some long file names which DOSBox doesn't support. There was a small perl, but perl is quite a mess of a programming language. None of these are really easy to learn for beginners. There were also quite small ruby and lua interpreters, if one wants to use ruby or lua, i don't use them and am not going to learn them.

There were also a few BASICs, yet all of them quite complex. I see the only reason why one should use BASIC, is that it is easy to learn. So one can use it to learn programming or do programming with not much effort. I see no reason in using the BASICs which are almost as complex as perl or python. What concerns old BASIC games, there are also ports of some classic BASIC games included in tinybc. Want to play startrek? Well...

Tiny BASIC for Curses is an open source cross-platform interpreter, which means that it works in all widely used operating systems. I also made a package with binaries (executables) for DOS, but i don't want to add binaries for different platforms in SourceForge file mirrors. So i need a place to upload it. But the folks in FreeDOS are now rather interested in decreasing the number of programs in FreeDOS and not adding any new software. Or maybe some of them are willing. So if someone here can suggest a place where i can upload a DOS binary package of Tiny BASIC for Curses, then it would be great of course.

By now you can download tinybc binary package for DOS from SourceForge here http://tinybc.sourceforge.net/tinybc08.zip .

9352e78f223cfc52a92e4c4d027fee17_thumb.png

http://freecode.com/projects/tinybc

Reply 1 of 6, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
tinybc wrote:

So it makes no sense to use it for anything advanced. But a minimal programming language makes sense in DOSBox, for these who learn programming, or just don't want to vex their brains with yet another programming language, but still want to do some programming.

There are much better programming languages than BASIC out there for those who want to learn programming or hoping to not "vex their brains".

"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." --Edsger W. Dijkstra

Yet one may also use DOSBox as the most minimal operating system

What? No, I cannot comprehend any sense in which that may be the case.

one which is not too complex for most people. DOS is the only widely used operating system which was also used in older microcomputers, some of which were older than pc. Yes people want simplicity, this is not yet comprehended enough.

Whatever DOS may have in simplicity it utterly and completely lacks in utility and user-friendliness.

Reply 2 of 6, by SquallStrife

User metadata
Rank l33t
Rank
l33t
Jorpho wrote:

"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." --Edsger W. Dijkstra

Bull. Shit.

Edit: I get where the guy is coming from, when "Learn BASIC" books used to make liberal use of GOTO, but that's hardly the case these days. Even the most noob-oriented Visual Basic tutorials will have you use While...Wend, For...Next, Do...Loop Until, Try...Catch...Finally, etc.

I don't know about this curses BASIC thing, but hopefully it's a more modern, mature dialect of BASIC, as opposed to the BASICs found on 80s home computers.

VogonsDrivers.com | Link | News Thread

Reply 3 of 6, by tinybc

User metadata
Rank Newbie
Rank
Newbie

Thank you for your replies.

Hope you have read some papers, not only "Go To Statement Considered Harmful" by Edsger Dijkstra, but also "Structured Programming with Go To Statements" by Donald E. Knuth. If you read the manual, it shows how to do structured programming with goto statements.

It is not a BASIC found on 1980's home computers, but the first free BASIC which run on the first microcomputers in 1970's.

Name me a programming language which is simpler, corresponds to some published specification, and enables to use character screen and external commands, it would be interesting.

Reply 4 of 6, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

I would say Python, but then "simplicity" is a very slippery concept to handle. Fifteen years ago ungrad computer science students had to use Modula-3 because it was supposedly "simple" or something. You could probably call brainf*ck simple for certain values of "simple".

Character screens I think provide an interesting aesthetic useful from an artistic standpoint, but I'm not sure they're particularly relevant these days.

I'll shut up now.

Reply 5 of 6, by tinybc

User metadata
Rank Newbie
Rank
Newbie

Thank you for your reply.

Brainf*ck is simple, but not simple to understand. But Python, there is too much to remember. What concerns character screen, there are still command line programs today, and i think there will be forever. Why something that is useful for some purpose, should disappear.

Why character screen, there was no language as simple as Tiny BASIC, made for character screen. So i saw that there was a hole, and i filled that hole. This was the simple reason why i made this interpreter.

My personal opinion is that BASIC only makes sense as such very simple language. I tried to use FreeBASIC just to find out, tried to port a QBasic program. FreeBASIC enables to do some really nice graphics, but i didn't find it to be a simple language at all. After quite a lot of work, input still behaved weirdly, and i don't know even now why.

Some say, beginners all want to start from graphics. This is not what i saw, once in dev-c++ forum. I was one of the authors of the conio there. Yes it was a simple thing, but again something which was not done. And i'm sure that many used that when they were beginners, now maybe saying how could they ever do something so primitive 😉

Reply 6 of 6, by tinybc

User metadata
Rank Newbie
Rank
Newbie

There is a new release now, 0.8.6 . Makes the output faster, adds reading colors and 3D rendering example. 3D rendering example is very slow though in DOSBox.

I wrote some code and was convinced again that neither for nor while makes the programming significantly faster. So who wrote the Tiny BASIC specification really knew what the minimal is.

The file to download is the same as before http://tinybc.sourceforge.net/tinybc08.zip .

trident.jpg

http://freecode.com/projects/tinybc