Author Topic: Why do you care that much about BASIC part in the name of a language?  (Read 14556 times)

Richey

  • Full Member
  • ***
  • Posts: 208
  • Oh, Zippy!
    • View Profile
So you can have a basic language that is not BASIC, or a BASIC that is not basic or a BASIC that is basic :)

For me BASIC should offer:

- simplicity
- common set of key words derived from Dartmouth, 80s BASICs and second generation structured BASICs
- option of using line numbers
- GOTO and GOSUB
- structured programming and related key words

Anything else would be an extension to BASIC and could be offered as a separate library / tool.

Tomaaz

  • Guest
So you can have a basic language that is not BASIC, or a BASIC that is not basic or a BASIC that is basic :)

You can also have BASIC that is based on BASIC that is BASIC based on BASIC, but doesn't have "BASIC" in its name anymore (it has only reference to the historical name). ;D But only Aurel is able to understand all the nuances between different categories of BASIC.  ;)

jj2007

  • Full Member
  • ***
  • Posts: 152
  • MasmBasic rocks
    • View Profile
    • MasmBasic - faster than C
Using these 20,000 functions directly from BASIC would be insane. So, the question is - is it better to go for specific wrappers written for particular BASIC dialects or go for something like IUP, which in fact, to some extent, is probably a WinAPI wrapper?

I have written "wrappers" for about 200 of them. That is 1% of the WinAPI. Take Recall() - it loads a textfile into a string array, for me it's a Frequently Used FunctionTM. But why should I write a wrapper for, say, SetupRemoveInstallSectionFromDiskSpaceList? That is a well-documented function, why should I invent a new syntax for it, and write new documentation? Just because it's fun to do everything through a wrapper?

There is an optimum somewhere. For me, it's around 200 functions that deserve a dedicated BASIC command, like Print, Open, Input$, Recall, Left$, Mid$, Right$, Replace$, etc - Frequently Used Functions. Rarely used functions do NOT deserve a wrapper, on the contrary, it would be truely insane to write wrappers for all rarely used 19,800 Windows functions. That is why I won't touch IUP. My experience with QT is sufficient. These "wrap-it-all" packages are the desperate attempt to write truely portable code. The result is bloated, slow and inefficient code on Windows, Linux and MacOS.

Tomaaz

  • Guest
. Rarely used functions do NOT deserve a wrapper, on the contrary, it would be truely insane to write wrappers for all rarely used 19,800 Windows functions. That is why I won't touch IUP. My experience with QT is sufficient.

IUP is very small and simple (about 100 functions)
(I think that's the reason why it was brought as an example of something opposite to WinAPI ). It's not a "wrap-it-all" package, it's not QT. It's the same argument like "I'm not gonna touch Lua or Julia. BASIC is easier and faster to write". Sorry, but both are based on ignorance.
« Last Edit: 27. August 2016, 18:57:49 by Tomaaz »

jj2007

  • Full Member
  • ***
  • Posts: 152
  • MasmBasic rocks
    • View Profile
    • MasmBasic - faster than C
IUP is very small and simple (about 100 functions)[/b]

Excuse my ignorance, Tomaaz. Could you post the Lua or C equivalent (source & exe) to my code above (the simple menu & messagebox example, not the FileRead$() stuff), so that we have something to compare?

ZXDunny

  • Full Member
  • ***
  • Posts: 232
    • View Profile
I'm not sure what the problem is, tbh. I've already answered my thoughts on the actual question asked in the OP, but for completeness' sake I'll just add that I don't care what the language is called so long as it adheres to my specifications for a BASIC.

John likes ScriptBASIC, he's invested a lot of time and energy in it, he has a tool that's uniquely suited to his needs and he sees that as his BASIC.

I don't.

Tomaaz likes to code in many languages, they fascinate him and he enjoys their nuances and celebrates their differences. A toolkit of many languages that do the tasks he uses them for is his BASIC.

None of them, individally or collectively are my BASIC.

Mike lovingly crafts a veritable swiss-army knife of a language that offers everything from hobbyist to professional level codegen, achieving speeds that other interpreters can only dream of. This is his BASIC.

Again, it's certainly not mine.

Aurel likes to mess with the internals of interpretation and bytecode, he's learning as he goes and each iteration of his languages gets a bit better each time. They don't do much, but they do what he needs them to and when he needs them to do more he adds more and learns a bit more. This is his BASIC.

And yet again, it's not mine.

Mine is the one that I play with when I'm not coding for a living. I make the interpreter for fun, I use it for kicks to see if it can do what the others do or if it can maybe do it better. It sticks to my idea of a BASIC.

And that most certainly is my idea of what a BASIC is.

And you know what? Nobody else thinks it is. And you know what else? I don't give a toss. Not one. And what I love about BASIC forums is that nobody else does either.

Each to our own.

Tomaaz

  • Guest
Excuse my ignorance, Tomaaz. Could you post the Lua or C equivalent (source & exe) to my code above (the simple menu & messagebox example, not the FileRead$() stuff), so that we have something to compare?

Well, you know that my comment was about something else, don't you? ;)  So, I couldn't. The code would be much more elegant and clear, but I'm pretty sure you will focus on something else to proof your point, so I'm not gonna waste my time (I don't know C and, at the moment, don't have Lua installed on my machine). But here is an example how shockingly difficult and bloated IUP is:

Code: [Select]
res, name = iup.GetParam("Title", nil,  "Give your name: %s\n","")
iup.Message("Hello!",name)

But you know that this is off-topic and there is no point to continue this discussion here. BTW The GUI toolkit I know the most is Tk. I've used it with Tcl, Python, Ruby, Perl, Julia and, if I remember correctly, with Newlisp.
« Last Edit: 27. August 2016, 20:00:51 by Tomaaz »

ScriptBasic

  • Guest
Quote
John likes ScriptBASIC, he's invested a lot of time and energy in it, he has a tool that's uniquely suited to his needs and he sees that as his BASIC.

What rock are you living under?

Script BASIC is an open source BASIC written by Peter Verhas that I took over managing the project back in 2005. I feel Script BASIC is the only true traditional cross platform BASIC's still left.

n00b

  • Jr. Member
  • **
  • Posts: 53
    • View Profile
Script BASIC is an open source BASIC written by Peter Verhas that I took over managing the project back in 2005. I feel Script BASIC is the only true traditional cross platform BASIC's still left.

This idea of traditional BASIC is kind of silly. BASIC like many other programming languages has evolved with the times. The original BASIC didn't even have INPUT. I agree ZXDunny on how everyone has there preferred dialect. I personally love graphics programming but don't really care about gui programming. That is why I migrated from freeBASIC to sdlBasic to begin with. But for 3d programming freeBasic, pureBasic, or masmBasic with openGL would probably be the way to go. What many consider traditional BASIC was not only influenced by the goal of keeping it simple, but also by the technology they had available.

Aurel

  • Regular Member
  • Sr. Member
  • *
  • Posts: 415
    • View Profile
...and
« Last Edit: 24. September 2018, 00:35:28 by Aurel »

ScriptBasic

  • Guest
Traditional BASIC is the foundation of most more advanced languages being used.


B+

  • Hero Member
  • *****
  • Posts: 734
    • View Profile
Traditional BASIC is the foundation of most more advanced languages being used.

Yes, every genius exposed to it feels the need to fix it!  ;D

Easy sound and graphics was not in the original BASIC but it sure was in all the adaptations to different systems.

Those who now find graphics boring, might not remember that aspect of the second wave of BASIC's tradition.
« Last Edit: 27. August 2016, 22:30:24 by B+ »

ZXDunny

  • Full Member
  • ***
  • Posts: 232
    • View Profile
Quote
John likes ScriptBASIC, he's invested a lot of time and energy in it, he has a tool that's uniquely suited to his needs and he sees that as his BASIC.

What rock are you living under?

Script BASIC is an open source BASIC written by Peter Verhas that I took over managing the project back in 2005. I feel Script BASIC is the only true traditional cross platform BASIC's still left.

Yes, I know all that but it's just your opinion - and that's fine, you can believe whatever you want to believe about how your chosen language is traditional or the best there is. I personally disagree - it doesn't meet very many of my requirements for a traditional BASIC, and I regard it as being amongst the same category of languages that contains VB and others. But that's my opinion and therefore only applicable to me.

Can ScriptBASIC perform a calculated GOTO? If not then it's not BASIC as far as I am concerned - but everyone else is free to decide what they believe it to be.

ScriptBasic

  • Guest
Quote
Can ScriptBASIC perform a calculated GOTO?

Better. It can embed itself into itself as a process or a thread.

Should a real BASIC ...

  • be able to use variables without predefining their type or range including arrays? (index/associative)
  • be restricted to line numbers or labels to execute code?
  • imply limitations to array indices's or structure, string length or the ability to extend the language in any direction?
  • be restricted to an OS platform or require more than one code base?

Cybermonkey

  • Administrator
  • Hero Member
  • *****
  • Posts: 611
    • View Profile
    • Home of EGSL
So, this was a real BASIC:



I used this, which was really great (I even coded my own GUI for it):



But most people used this (although it was limited and one had to use POKEs for graphics):



And, heck, they all were from Microsoft ...  ;)

Anyway, I wish there were a BASIC like one of those nowadays. I miss the distraction free coding.
« Last Edit: 27. August 2016, 23:39:18 by Cybermonkey »
Best regards,
Cybermonkey