cjs wrote:
BigEd wrote:
It's an odd choice, to use an EhBasic forum to declare that Basic is a poor language in one or another respect. It's off topic in a very strong way.
Well, if discussing infelicities of "standard" BASIC is off-topic, complain about the post to which I was replying. I was merely indicating why people might walk out when someone suggested BASIC could be made better by not needing line numbers, which is also clearly off topic for this entire forum, according to your definition.
What Ed was apparently saying is the EhBASIC forum is about a specific implementation of BASIC, not the language itself. Whether or not BASIC is a "poor language" is really a somewhat-unrelated topic, as well as a matter of opinion.
Quote:
As for the other arguments, they range from just as off-topic for this thread to irrelevant. (Yes, disorganized programmers can produce bad code in any language. That doesn't mean that having a language designed to make good programming easy is unimportant. It mystifies me how someone would use that argument to justify bad language features.)
I think you are manufacturing a controversy where one doesn't exist. No one was justifying bad language features—indeed, every known computer programming language has them, some worse than others. What was being said is incompetent programmers are the problem in many cases, not the language itself.
Quote:
The only thing I'll suggest here is that if you can't produce a list of serious problems for any language you know reasonably well, you're not a good programmer.
A programmer's valuable time is better spent writing good code than grousing about language deficiencies. If you don't like, say, BASIC, don't use it. There are many other languages available about which one can complain. I personally find C++ to be a cumbersome hack—a design-by-committee language, but don't sit around beefing about it.
Quote:
If you really don't know where BASIC stands as a language, one good place to start your understanding would be to go and write something like a unit test framework for BASIC and compare that to the ones you could write even for other microcomputer languages of the day, such as Pascal, Logo or LISP.
You are pinning your argument on a microcomputer implementation of BASIC. I agree that such an implementation is lacking compared to some other languages. However, BASIC was originally designed for use on timesharing systems, an application that was very widespread during the heyday of proprietary minicomputers, such as MAI Basic 4, Point Four, NCR, etc. (plus, timesharing BASIC was ported to UNIX and Linux). Despite perceived limitations of BASIC (e.g., no structure, which is mostly a limitation of microcomputer implementations), hundreds of thousands of business applications have been written using Business BASIC (as it is called, to contrast it with the less capable microcomputer implementations). Contrary to what you may be thinking, Business BASIC remains in widespread use, especially in the financial sector. I, in fact, still do some development in it.
Any interpreted language will run into limitations when implemented on any 6502-based machine. Incorporating the full scope of a modern timesharing BASIC would overwhelm the machine's resources, so the programmer has to be realistic about what can or can't be provided. The late Lee Davison, the author of EhBASIC, was confronted with that reality and, I think, did an admirable job of dealing with it. It could be a more powerful BASIC could be implemented on a 65C816 system with extended memory, but no one to date that I know of has undertaken such an endeavor.