basicprogramming.org


Welcome, Guest. Please login or register.
Did you miss your activation email?
Forum time; Jul 31. 2010, 04:48
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 878 times)
menn
Hero Member
*****
Offline Offline

Posts: 571


« Reply #15 on: Jan 27. 2010, 23:55 » Reply with quote

Why can't basic have modern features?

no reason it can't have modern features. however if you look at the numerous dialects out there, especially failed ones, there's a terrible habit of trying to convert it from an easy language to one that fits some kind of numinous ideal, that "makes you a better coder" by forcing you to follow rules that have more to do with more "serious" languages. that's not modernization, it's a failure to understand why basic exists, what it is, and why people like it.

Quote
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"

exactly. "modernization" is misleading. this is really about making it more serious and less of an easy, freestyle language. which i'm against. look at the arguments for removing goto, gosub, and so on. people don't want to keep them "just for old times' sake." although that's as good a reason to keep them as any reason to remove them. adding is fine. taking away is vastly and frequently overrated. i don't understand it any more than you do.

at the risk of even more off topic, this is why i like python- it's a lot like basic. it has more rules, they're not strictly enforced and it can be taught to 3rd graders. (pippy is for 3rd and up.) historically i think basic's more like basic than python- but it seems almost no one knows what "basic" is at this point. python is- just slightly- less basic, but almost everyone knows what it is. in 10 years "python" will probably still be "python" (though who knows what print "what print(\"will be like?\")") and any dialect of basic you like today? no idea. few devs know. they're too busy "modernizing" (code for: making it a more "serious" language) to even plan it out.
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.
syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #16 on: Jan 28. 2010, 03:44 » Reply with quote

I beg to differ.

IMHO goto/gosub is a useless artefact from the early days when interpreters simply weren't sophisticated enough for procedures and the like.

Nowadays, goto/gosub serves no purpose anymore. Don't underestimate the intelligence of beginners; if one comprehends the concept of a gosub, he can understand the concept of a procedure just the same. But with gosub he's stuck where he is, while with procedures and structured programming he can actually go on and continue to learn modern programming practices, which will allow him to produce software as complex and powerful as he likes, rather than sinking deeper and deeper in a frustrating quagmire of spaghetti code.

I opt for removing goto/gosub, because it's a programmer's dead end.

Cheers,

syzygy
Report to moderator   Logged
E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #17 on: Jan 28. 2010, 06:51 » Reply with quote

I highly disagree, though that propably is not suprise for anyone  Grin
Sorry if i sound harsh, that is for sure not the purpose, im just freaking deadtired here.

IMHO goto/gosub is a useless artefact from the early days when interpreters simply weren't sophisticated enough for procedures and the like.

Nowadays, goto/gosub serves no purpose anymore.

Goto/gosub does still have a great part at fun-factor.  Do not underestimate that point of view. One of the most promising dialects suffered badly few years ago because there were peoples using it who wanted it to be "modern". Today it is nothing more than yet another dialect, and no one ain't sure where it is heading, or where it was suppose to go.

Quote
Don't underestimate the intelligence of beginners; if one comprehends the concept of a gosub, he can understand the concept of a procedure just the same.

I dont, but ill let that beginner choose himself. It is not job me, you or dialect developer should do.

Quote
But with gosub he's stuck where he is, while with procedures and structured programming he can actually go on and continue to learn modern programming practices, which will allow him to produce software as complex and powerful as he likes, rather than sinking deeper and deeper in a frustrating quagmire of spaghetti code.

80% of basic programmers who i know(and many of them are regulars at here too), has started with goto/gosub and such. Any of them ain't stuck. Or you think peoples like rdc, Garret, MystikShadows, Roy Scott, Derek and gp1682  are stuck? Most talented and skilled BASIC programmers here, and they all have gone through goto/gosub era, the one where you think peoples get's stuck.

Quote
I opt for removing goto/gosub, because it's a programmer's dead end.

Busted.
Report to moderator   Logged

E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #18 on: Jan 28. 2010, 06:56 » Reply with quote

Sorry Thomas. As you can see, yab3 does really wake emotions  Cheesy
Report to moderator   Logged

syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #19 on: Jan 28. 2010, 07:25 » Reply with quote

OTOH, of the programming languages which rose to prominence during the last 20 years, I know only of Perl which features goto. Neither does Python, PHP, Java, Ruby, ... There might be a reason for that.

The "fun factor" is somehow mysterious to me. I don't know why it should be "fun" to have a command which serves no real purpose. I think it's fun to have a simple and powerful feature like procedures with parameters which let me accomplish the same effect quicker and less error-prone.

The argument of "letting the student decide" is of course dangerous, because the student can't competently decide -- the "teacher" or developer is supposed to guide him and show him the better way.

I'll be happy to change my opinion if you can give me an example where the use of goto/gosub has distinct advantages over the commands of structured programming.

Cheers,

syzygy

P.S.: Don't worry, EK, no offense taken!
Report to moderator   Logged
Cybermonkey
Global Moderator
Hero Member
*****
Offline Offline

Posts: 931



WWW
« Reply #20 on: Jan 28. 2010, 07:40 » Reply with quote

Well, syzyhy's arguments are good, I think. I would like to see GOSUB (and maybe GOTO) purely for nostalgia reasons ...  Wink

But please no
Code:
SYS 64738
Grin
Report to moderator   Logged

Best wishes,
Cybermonkey
gp1628
Staff Member
Full Member
*
Offline Offline

Posts: 184



« Reply #21 on: Jan 28. 2010, 08:25 » Reply with quote

If the maintainers of YaBasic want to move it into a modern proper language then more power to them. They would then be headed toward gaining their own following, and their own documentation, and their own tutorials and demos and sites. All specific to the new variant. Personally, if thats the direction they want to go I would rather they just chose a new name and branched off. I dont think that MOVING to a better structure is going to MOVE anyone. They will just move to another basic. I know I would. (come to think of it hasnt that already been done many times by other developers?)

BASIC has been around a long time. It has its own following, its own documentation, lots of programs and tutorials and demos. If this is a BASIC then it doesnt need to do all of that for itself. I dont see why there is a problem with leaving anything in. Add things if you want but dont force the direction by removing anything so people are forced to learn it the way other languages do it. I just dont think thats going to acomplish anything.
Report to moderator   Logged
menn
Hero Member
*****
Offline Offline

Posts: 571


« Reply #22 on: Jan 28. 2010, 08:34 » Reply with quote

with the exception of the guy that started this "structured programming" crusade against basic programming, it seems to usually be a younger crowd (not always "young," but younger) arguing to take the "relics" out of basic languages. that way no one will have to teach them the better way. like there's any shortage of people crusading against things like "goto."

the "fun factor" is pretty simple to explain, when you're writing a "serious" program, (of course having gosub in a language doesn't stop you from writing "serious" programs, just use something else, or don't even worry about it) you probably do it in a "serious" way. but when you're just playing around with code, it doesn't matter if your programming is structured or not. you can explore good and bad programming methods, and people do. they invent whole languages for fun, ones you'd never use to do work.

there's no reason to remove a couple options from a "fun" language. gosub can be explained pretty easily to a 7 or 8 year old. goto is easily grasped by a 5 year old. when i was 5, i was still trying to figure out the point of gosub. i started using it when i was 12 or 13, by then i was simulating it with careful use of goto, and no one had to tell me it was better.

i see no reason to remove something that works like "jmp" in assembly. obviously the reason that people don't use more structured programming in assembly is that you don't have a choice. but until then, people learning basic first can be taught "jmp in assembly works just like goto in basic." so there's a serious reason- not that you need a reason. it can be fun, for most people, to do things that aren't a good idea.

goto isn't "dangerous." it won't hurt anyone. i think pointers are dangerous- they teach people to overuse them, which is a terrible and common practice that produces inferior, less stable code. so keep pointers out until people learn how to use them only when they're necessary, and until then leave goto alone. in fact, i vow here and now to never use a dialect with "basic" in the name- for any purpose- that doesn't have goto. call me an old relic, like gp, but this is a stupid crusade against basic. it starts with goto, and the language gets closer to ruined the more "serious" and "structured" it gets. we "old relics" aren't impressed by the drums of war beaten against "fun," they never saved the world.
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.
aurelB
Hero Member
*****
Online Online

Posts: 663



WWW
« Reply #23 on: Jan 28. 2010, 08:48 » Reply with quote

I dont have GOTO in ABasic becose i dont need them but i have GOSUB.
Many modern basic dialects have GOTO/GOSUB but of course people dont use them to
much.Heh procedure , function is just declered SUB-s with returned result nothing
special .
GOTO is used in past when is no timers.

PS.I forget to tell i have one command in ABasic which is programed with GOTO
- CLOSEWIN - and work ok. Smiley
« Last Edit: Jan 28. 2010, 08:53 by aurelB » Report to moderator   Logged

menn
Hero Member
*****
Offline Offline

Posts: 571


« Reply #24 on: Jan 28. 2010, 08:56 » Reply with quote

I dont have GOTO in ABasic becose i dont need them but i have GOSUB.
Many modern basic dialects have GOTO/GOSUB but of course people dont use them to
much.Heh procedure , function is just declered SUB-s with returned result nothing
special .

gosub is nice, especially when it's just structured goto. then people don't have to learn about scope. but when people are collectively against goto, globally scoped subs would usually be the next thing to go. yabasic has globally scoped subs, but they matter a lot more to writing small, easy programs (after a certain number of subs it's easier to do them with local scope) than goto matters. when you're making a fun easy language into a serious one, there's really no stopping until you've painted lots of corners in. it's a whole mindset, usually, and like gp says, one for a different group of coders who expect people to code their way, no matter how simple or trivial the program being developed.
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.
syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #25 on: Jan 28. 2010, 09:05 » Reply with quote


menn, please stop calling it a "crusade against BASIC". We simply have different opinions what constitutes a "good" BASIC, and I'm not calling you the inquisition either.

I'm still waiting for one good programming example where it makes sense to use goto/gosub, if alternatives are available, or a rational explanation what the point of keeping a useless feature is.

Cheers,

syzygy
Report to moderator   Logged
E.K.Virtanen
Blah
Hero Member
*****
Offline Offline

Posts: 2441



WWW
« Reply #26 on: Jan 28. 2010, 09:24 » Reply with quote

I'm still waiting for one good programming example where it makes sense to use goto/gosub, if alternatives are available, or a rational explanation what the point of keeping a useless feature is.

Because beside of me, there is numerous peoples all over the internet who likes them, and thinks those are part of BASIC programming. Basic is not just a syntax or line numbers. It is it's own way to do, create, think and learn.

If i would want to create only a efficient and powerfull programs, i would use C, C++ or such. I would not need basic for aything, and from my point of view, yab3 could be renamed as yai (YetAnotherInterpreter).
Report to moderator   Logged

menn
Hero Member
*****
Offline Offline

Posts: 571


« Reply #27 on: Jan 28. 2010, 09:25 » Reply with quote

ok, maybe that's unfair. as is most certainly my (temporary) sig. but i'm a veteran of that crusade, and defender of noobs. at least i used to be (noobs are still pretty awesome.)

i hate statements like "goto is dangerous." that's just silly. but underneath that silliness is something i find really dark and ignorant. something totally unnecessary. "we just have different opinions" OK, i'm fine with that. so make a basic that allows those different opinions, rather than one that enforces yours. that's all i'm calling for- and that's more fair than you're being, trying to make basic in the image of what you consider good practices. i call that a crusade. that's silly too, but no more than demonizing goto.

when something is not a real problem, when it's not really responsible for the problems in the world, and you try to eliminate all of it, the word is not so unfitting.

i'll be waiting for yabasic to have goto again, just on principle. that way people can really choose if they want to do things the way they were always done in basic, or your way. then they have a real choice. and if we go your way and remove that choice, i'll just use something else. it may not have goto, and that's ok so long as it doesn't have the word "basic" in the name. then it's fine- as i've said for years.
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.
syzygy
Full Member
***
Offline Offline

Posts: 205



« Reply #28 on: Jan 28. 2010, 09:39 » Reply with quote

"we just have different opinions" OK, i'm fine with that. so make a basic that allows those different opinions, rather than one that enforces yours.

You've got a point there.

Quote
that's all i'm calling for- and that's more fair than you're being, trying to make basic in the image of what you consider good practices. i call that a crusade. that's silly too, but no more than demonizing goto.

We were asked for advice, and I suggested eliminating a feature which I consider mostly a source of trouble and difficulties without any benefits. "Unfair"...? "Crusade"...? "Demonizing"...?

syzygy
Report to moderator   Logged
menn
Hero Member
*****
Offline Offline

Posts: 571


« Reply #29 on: Jan 28. 2010, 10:03 » Reply with quote

i don't want to call you a liar- none of my points rest on your dishonesty. so if you're really just throwing in "two cents" then it really is unfair to project the arguments i've seen SO MANY times onto you personally.

when i say "this is how it all starts" i'm not speaking hypothetically. well, not entirely- this is an argument, a debate that has been had countless times, and it can get uglier than this. so perhaps i'm not fair to you personally, but i'm not just making it about you specifically. i'm also addressing all the points i've heard against goto in the past. if your posts put me in that frame of mind, it's not necessarily what you said, but that conversations and debates in the past started the same way.

you may not be on a crusade, but dijkstra certainly was.

and his ideas helped make good languages, better coders. but attacking the basic language really became mainstream with him. the "crusade" against the goto statement has been ongoing for decades, since dartmouth basic, and clearly my 'opponents' who are against goto have not grown any more tired of trying to eliminate the goto statement than i have calling for its preservation. it never starts with "let's add goto because you need it," always "let's remove goto so people won't be able to use it." and removing it is at least as unnecessary as using it, so nevermind what it's good for- there's no good reason to remove it from the language- except exaggerations which i see and then raise.

dijkstra is dead, but people still carry on his mission. the funny thing is, most of us have added to basic (and started using) his suggestions. basic is now a structured language. but for some reason that's not good enough. we have to eliminate the option of goto from hll's, while compilers actually put it back in when they reach the assembly stage. nah... and as i said, you may stop there, but "it" never stops there. next up is removing globally scoped subroutines. those i care even more about in basic.
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.
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!