Saturday, July 02, 2005

On Modernizing BASIC

dave b. responded to my previous post with this (amongst other things):
I hope this nostalgia over the old BASIC command set and the "small is beautiful” fallacy won't hold LB back from evolving into something really useful (which is what programming languages should be).


Really useful for what, Dave? Go and ask the Liberty BASIC community if Liberty BASIC is useful and they will answer with a resounding yes. It is useful for getting a quick program together, useful for learning to program, useful for having fun with a computer, and more too. To make a comparison, Java is also a useful programming language, but it isn't necessarily useful for the same things. There is no universally useful programming language.

I agree with a lot of your ideas, and if you read all of my posts, I think you'll agree that I don't have the simplistic mindset that you seem to imply that I have. I understand abstraction in software better than you apparently think I do.

Nostalgia has nothing to do with Liberty BASIC's faithfulness to classic BASIC syntax, at least not on my part. This is a matter of marketing. You welcome the C-style of doing things with functions. A lot of other people do not. They want an old-style BASIC. I am marketing to these other people. Your advocacy of mutating BASIC syntax into something that is more "modern" does create a new language that is not BASIC, IMHO. Eliminating old BASIC commands and replacing them with functions turns a lot of people off.

I am working on a new BASIC in part to break the backwards compatibility chain with Liberty BASIC. That doesn't mean of course that my new language will necessarily take the direction that you advocate. OPEN "filename.ext" for INPUT as #1 will still be there. I agree with your point that the syntax for controlling widgets in Liberty BASIC is bad, and it will be replaced in the new BASIC. I will do things differently and in an unexpected way, and not to be deliberately contrary but for a reason. I intend to lead with this new language, not follow.

BTW, a lot of people like Liberty BASIC the way it is and don't seem to need anything else. You have decided to move on to another tool that meets your needs better and that's great.

Don't expect Liberty BASIC to become anything but what it is. This is beginning to feel like you're beating a dead horse. :-/

8 comments:

Dave B. said...
This comment has been removed by a blog administrator.
Dave B. said...

Carl,

I tried to change that last line but couldn't. What I meant to say was that it would be "even more" useful (that's what I meant by "really"). I have found LB to be very useful and I'm greatful that it has been there for me.

My comment was in response to the blog (which seemed to be directed at comments I made on the LB forum). In it I tried to show how the old BASIC isn't simple or elegant anymore. That change was needed. If small is beautiful in programming languages, then we should all be working in Assembly.

I'm sorry for how the comment ended, I tried to change it but was unable to once it was posted. I'm sorry you wasted your time answering my comments. I'm not sure who's beating this horse (you or me).

Libery BASIC is a fine product and a great asset to the programming community. Good Luck with your new venture.

Dave B. said...

Carl,

I tried to change that last line but couldn't. What I meant to say was that it would be "even more" useful (that's what I meant by "really"). I have found LB to be very useful and I'm greatful that it has been there for me.

My comment was in response to the blog (which seemed to be directed at comments I made on the LB forum). In it I tried to show how the old BASIC isn't simple or elegant anymore. That change was needed. If small is beautiful in programming languages, then we should all be working in Assembly.

I'm sorry for how the comment ended, I tried to change it but was unable to once it was posted. I'm sorry you wasted your time answering my comments. I'm not sure who's beating this horse (you or me).

Libery BASIC is a fine product and a great asset to the programming community. Good Luck with your new venture.

Carl Gundel said...

Hi Dave,

I'm glad that you like Liberty BASIC, and I'm certainly alway fortunate to have feedback from my users. I guess we've got our lines of communication crossed, and we probably agree about more than we disagree.

I am going to go on trying to keep Liberty BASIC small. Every other tool just keeps getting bigger, so someone needs to resist that trend. How will there be tools good for different things if everyone is always trying to imitate each other? ;-)

Thanks for the reply.

-Carl

Dave B. said...

I don't want LB to imitate anyone else, but in tool development, often the most efficient and useful tool form emerges and then it is hard to make improvements on it. Look at the automobile, it is in essentially the same form it has been since the model T. Tools naturally distill down into the most useful forms when market forces are applied. In my opinion, in software languages, that form is: result = function(arguments). I’ve seen it in my own programming experience (first hand). With this form you can almost do away with variables. Liberty BASIC forces me to use at least twice as many. You call this form C, I call it BASIC because there are many BASICS out there that use it (with variable success). Even in LB the ability to add your own function in this form has made it a very useful tool (there just need to be more [i]native[/i] ones).

You said it’s great that I’ve found a tool that works better for me. I don’t agree. I think it a shame. I didn’t want to move on to another tool. I like LB and the community and resources behind it. Worst of all, I can’t use LB Workshop anymore! So that is why I have been “beating a dead horse” in this case. Cause the very useful workhorse I used to use doesn’t want to go where I needed to go! Thanks for all the support and understanding. The transition has not be easy for me.

Noble D. Bell said...

As a LB user and a programmer for the past 20+ years of my life I would like to say that Liberty BASIC is excellent. I just recently started using LB but man, I wish I would have found it sooner than later.

Kudos Carl!!

Isaac Raway said...

Sorry to leave out of order comments that are going to sort of over lap, but I'm just commenting as I read your posts.

I see that you note you're going to change the syntax for controlling widgets in the new basic you're working on. Awesome! This may actually make me want to switch to LB as my main platform--maybe.

However I'm a bit concerned. I've seen this sort of "redevelopment" happen before, and often times it comes with a higher price tag. One of the strong points of LB I think is that it is truly useful but very inexpensive. I think you're the kind of person who realizes that though, so I have faith you'll keep it affordable.

Affordable Luxurious Wedding Dress Blog said...

cheap wedding gowns,
discount bridal gowns,
China wedding dresses,
discount designer wedding dresses,
China wedding online store,
plus size wedding dresses,
cheap informal wedding dresses,
junior bridesmaid dresses,
cheap bridesmaid dresses,
maternity bridesmaid dresses,
discount flower girl gowns,
cheap prom dresses,
party dresses,
evening dresses,
mother of the bride dresses,
special occasion dresses,
cheap quinceanera dresses,
hot red wedding dresses