basicprogramming.org


Welcome, Guest. Please login or register.
Did you miss your activation email?
Forum time; Jul 31. 2010, 01:18
Home Help Search Calendar Login Register
News: Have you got suggestions for BasicProgramming.org? Let's hear them!
Interested in creating your own programming language? Check out the QDepartment group!

+  BASIC programming forum
|-+  Interpreter Development
| |-+  yaBasic development forum. (Moderator: Thomas Larsen)
| | |-+  What would you like to see re-added to Yabasic 3?
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] 2 3 4 Go Down Reply Print
Author Topic: What would you like to see re-added to Yabasic 3?  (Read 877 times)
Thomas Larsen
Administrator
Sr. Member
*****
Offline Offline

Posts: 255



WWW
« on: Jan 26. 2010, 22:29 » Reply with quote

Hi,

what features would you like to see re-added to the Yabasic core? As you know, I removed a number of features that were present in versions like 2.763 in the process of working on Yabasic 3. Here's a partial list:

* The "goto", "gosub", and "label" commands.

* The statement "print using" and the function "str$ (value, format$)". ("str$ (value)" still exists, but currently it cannot take a format string.)

* The commands "data" and "restore".

* The "peek ()", "peek$ ()", and "poke ()" functions for accessing and changing Yabasic internals. (Note that some of these functions have been replaced by special variables/functions beginning with __.)

* The functions "execute ()", "execute$ ()", and "compile ()".

I am almost sure to implement the first two items (and I will re-add "peek$ ()" and "poke ()" for file access), but I would like to know what other features--if any--you'd like to see reinstated in the Yabasic 3 release.

Also, do you have any suggestions for making Yabasic more newbie-friendly? (I know the modules system is a bit clunky at present--that's my fault. It'll change, though.)

Cheers,
Thomas.
Report to moderator   Logged

aurelB
Hero Member
*****
Offline Offline

Posts: 663



WWW
« Reply #1 on: Jan 27. 2010, 02:28 » Reply with quote

Command GOSUB is not bad especialy for new programers,i think.
Report to moderator   Logged

menn
Hero Member
*****
Offline Offline

Posts: 571


« Reply #2 on: Jan 27. 2010, 02:42 » Reply with quote

compile is an extremely awesome feature. it's not totally unique, but removing it diminishes the coolness of the dialect considerably.

also:

Quote
/usr/bin$ /usr/bin/yabasic --version ; /usr/bin/yabasic -e "print : print \"don't forget to put -e back\""
yabasic 2.763, built on i486-pc-linux-gnu
Copyright 1995-2005 by Marc-Oliver Ihm

don't forget to put -e back

(running 2.763 and 2.9.9 from different folders)
Report to moderator   Logged

an "all purpose" language calls for- as much as can possibly be reasonable- an "all purpose" forum. the worst thing happening to modern basic? too many pointless rules and painting everything into corners. most modern basic forums are like that too.
gp1628
Staff Member
Full Member
*
Offline Offline

Posts: 184



« Reply #3 on: Jan 27. 2010, 07:49 » Reply with quote

I would like to see them all returned.
I always thought of YaBasic as a language that I used because I knew basic and had lots of basic code, not a language to be learned.
Report to moderator   Logged
gersen
Sr. Member
****
Offline Offline

Posts: 348


« Reply #4 on: Jan 27. 2010, 08:23 » Reply with quote

All of them would be nice, but if restricted then goto, label, data, and restore.

Regards.
Report to moderator   Logged
menn
Hero Member
*****
Offline Offline

Posts: 571


« Reply #5 on: Jan 27. 2010, 08:51 » Reply with quote

I always thought of YaBasic as a language that I used because I knew basic and had lots of basic code, not a language to be learned.

putting everything back in that you took out, if possible, would not be the most terrible idea. i am enjoying yabasic 2.9.9 -considerably- but to be honest i'm generally of the impression that if you can just write your own dialect, if you're good enough to do that, you're probably capable of building it on top of an existing one- especially an existing one that only took up a 200k compiled. though no one ever seems to manage to do it.
Report to moderator   Logged

an "all purpose" language calls for- as much as can possibly be reasonable- an "all purpose" forum. the worst thing happening to modern basic? too many pointless rules and painting everything into corners. most modern basic forums are like that too.
E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #6 on: Jan 27. 2010, 09:29 » Reply with quote

goto, gosub, label, data, restore and peek's/poke's.

Would help me to create old-school stuff with new yabasic, though i promise not to die incase those are not re-added. I will just be your nightmare at nights  Cheesy
Report to moderator   Logged

Jacob
Sr. Member
****
Offline Offline

Posts: 414


« Reply #7 on: Jan 27. 2010, 10:15 » Reply with quote

Peek/poke: depends on if you're able to perform binary read/write operations on files without them in 3.0.
Goto/Gosub/Label: I don't personally use them, but if data/restore returns, then so should these.
Data/restore: Would be nice for compatibility with older programs, but personally I don't use it much.
Print using/str$: I would definitely like this back in some form with a format string.
Compile/Execute: I would definitely like this functionality back.

So to sum up what I would definitely like to see back in some form: Compile/Execute and Print using/str$.
Report to moderator   Logged

"The truth is rarely pure and never simple."  - Oscar Wilde
psnake
Sr. Member
****
Offline Offline

Posts: 438



« Reply #8 on: Jan 27. 2010, 10:39 » Reply with quote

I would like:

* compile/execute
* a way to access the internals of yabasic (it would be specially helpful in building a debugger):
    * get the names of defined variables
    * get the value of a variable having its name in a string
    * get the name of defined functions and their arguments

The first is more realistic than the second but if you like the ideas in the second I'll have pleasure in helping out.

PSnake
Report to moderator   Logged

twitter: @PSnake89
aurelB
Hero Member
*****
Offline Offline

Posts: 663



WWW
« Reply #9 on: Jan 27. 2010, 10:47 » Reply with quote

I agree with Pedro  Grin
Report to moderator   Logged

syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #10 on: Jan 27. 2010, 11:09 » Reply with quote

Twocents:

* The "goto", "gosub", and "label" commands.

Assuming Yabasic is meant as a useful programming tool rather than a history lesson, my vote is strong drop.

The goto/gosub/label mechanism is a poor replacement for subs/break/cont etc., so IMHO their only use would be to teach people how not to program...

* "print using" and the function "str$ (value, format$)"
* The commands "data" and "restore".

Strong keep. They're very useful and part of BASIC tradition.
(Actually, data is something I always missed in C.)

* The "peek ()", "peek$ ()", and "poke ()" functions

Moderate keep. I know there are alternative ways to implement access to system variables, but I found this solution pretty elegant, and something which makes Yabasic unique.

OTOH, it seems a bad idea that they double also as file access functions, with a completely different purpose. For file access, I'd recommend something like the C-functions in/out.

* The functions "execute ()", "execute$ ()", and "compile ()".

Strong keep. The idea of having self-modifying code is something which has always appealed to me (though this is of course a two-edged sword...), and is one of the outstanding features of Yabasic. (I have no idea how difficult it is to implement, but as long as it's not too much of a hassle, please keep!)

Tallyho,

syzygy
Report to moderator   Logged
Cybermonkey
Global Moderator
Hero Member
*****
Offline Offline

Posts: 930



WWW
« Reply #11 on: Jan 27. 2010, 11:27 » Reply with quote

  • GOSUB
  • DATA
  • RESTORE
not mentioned but wanted:
  • BIND - of course on the command line
Report to moderator   Logged

Best wishes,
Cybermonkey
aurelB
Hero Member
*****
Offline Offline

Posts: 663



WWW
« Reply #12 on: Jan 27. 2010, 12:28 » Reply with quote

Yes BIND- i forgot that...
Report to moderator   Logged

menn
Hero Member
*****
Offline Offline

Posts: 571


« Reply #13 on: Jan 27. 2010, 17:13 » Reply with quote

* The "goto", "gosub", and "label" commands.

Assuming Yabasic is meant as a useful programming tool rather than a history lesson, my vote is strong drop.

i'm sorry, i'm really sorry, but why does everyone think the best thing to do with a language like basic (when almost everyone WANTS basic, or they'd write another language) that the best thing to do is remove the commands that have always been in basic and put in ones that belong in some other language INSTEAD?

basic is basic because it's basic. it's not basic because it's modern, and the idea that it's "historical" is just as stupid as the idea that c is. they're both still useful, albeit not as much as they used to be. want to modernize basic? start with basic- and build on it.

if you want a totally different language, try one. there's lots of them. it never ceases to amaze me how the obvious can be so thoroughly overlooked. people who don't even "get" what basic is- just make fad languages that everyone forgets how they work in a few years- yet they still know basic. learn something from history, or become part of it more quickly, like all the other fad languages no one knows anything about- even though they made them so much more "relevant" or whatever. and that's the last thing i have to say about this thread.
Report to moderator   Logged

an "all purpose" language calls for- as much as can possibly be reasonable- an "all purpose" forum. the worst thing happening to modern basic? too many pointless rules and painting everything into corners. most modern basic forums are like that too.
OneHitWonder
Jr. Member
**
Offline Offline

Posts: 81



« Reply #14 on: Jan 27. 2010, 19:19 » Reply with quote

I dont see why basic is looked at as historic and not modern, why shouldn't basic be modern? Why can't basic have modern features? It's not called BASIC because it is old its called BASIC because its exacly that, BASIC, easy to understand, easy to write, easy to read with its "english like language"

At the end of the day BASIC isn't called BASIC because its old, or should have old features. I know people may disagree but I'm not out for a argument, it's just my opinion, but what do I know... I'm new to all this.

OneHitWonder
Report to moderator   Logged

I need a girl whose name doesn't end in .JPG Smiley
Pages: [1] 2 3 4 Go Up Reply Print 
« previous next »
Jump to:  
Atom RDF RSS 0.91 RSS 2.0


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!