I just read this fascinating article in Salon on how nigh on impossible it is to use BASIC on modern computers. Apparently school textbooks still give "try it in BASIC" tips, though, to illustrate mathematical principles, only any curious student who might want to give it a go is pretty much screwed unless they have ancient hardware lying around.
Whenever the writer brings this up to software muckety-mucks, the response is always "They still have BASIC in textbooks? Don't worry. The newer textbooks won't." which is hardly a consolation, needless to say.
Anyway, the article is far more riveting than my lame summary of it, so y'all check it out, especially you programming types. It's a perfect opportunity for a little action.
If kids want to start with BASIC, then FreeBASIC is available (free, like its name says) for Windows and Linux. It will run the classic type of BASIC program (complete with line numbers, etc.) but you can also use a more modern style of Basic, more like VB, if you so wish.
I don't think "use VB" is a solution to the concerns raised in the article. The author seems to be arguing that languages like VB do too much of the work for you, and don't give kids the kind of fundamental understanding of programming processes that a simple line language does.
Well to be honest I didn't read the article, but I do see the point now that you explain it. I learned on Pascal and QuickBasic though so I guess it doesn't bother me so much. I got plenty of understanding of programming processes when writing assembly code.
Have you read much of Steve Gibson's stuff? That dude writes complex windows applications in assembly.
He also has the coolest play-by-play of computer counter-espionage I've ever read, about how he intercepted a Trojan and reverse-engineered it to track down the guy who wrote it and confront him. Freakin' awe-inspiring.
I never learned BASIC or similar languages. I just know (intermediate) C++ and Java. I may be missing something here, but it's pretty easy to write a program in either of those that will calculate answers from an algorithm you put in, and display them on the screen. Isn't that the same thing? Or is it too hard to learn basic programming syntax, and that's what they're bitching about?
I tried to, but to read the article, Salon seemed to be one of those, 'Not already a member? Click here to sign up' things - and I don't like having to do that.
I never learned BASIC or similar languages. I just know (intermediate) C++ and Java. I may be missing something here, but it's pretty easy to write a program in either of those that will calculate answers from an algorithm you put in, and display them on the screen. Isn't that the same thing? Or is it too hard to learn basic programming syntax, and that's what they're bitching about?
This kind of response is what the writer is bitching about.
Quote:
Originally Posted by ceptimus
I tried to, but to read the article, Salon seemed to be one of those, 'Not already a member? Click here to sign up' things - and I don't like having to do that.
You can get a "day pass" by sitting through a single ad, iirc.
I'm trying to understand what the article is saying. Obviously they have some kind of void regarding BASIC. What can you do with BASIC that you can't do with something else? Honestly.
Is it that you can't just type in the equation and have it pop out an answer? That's true enough, but the amount of work that goes into writing such a program is only marginally greater.
I'm trying to understand what the article is saying. Obviously they have some kind of void regarding BASIC. What can you do with BASIC that you can't do with something else? Honestly.
It's what you can do with the others that you can't do in BASIC, I believe. Using line number and conditional gotos to control your program flow.
Thanks for doing the leg work, bey. But it seems like any language taught without the frills could accomplish the same task. (except Perl...) VB Script is simple enough... Maybe I'll read the article later.
The point y'all seem to be missing (if I understand the article) is that kids can't teach themselves with tools already on hand. Of course they can't do that without a computer, either, but once upon a time any kid with access to a computer had ready access to a very simple, straightforward programming language - with no need to download and install software - with which they could learn basic programming concepts (not necessarily skills, since nowadays OOP skills are probably more useful than BASIC skills).
He also has the coolest play-by-play of computer counter-espionage I've ever read, about how he intercepted a Trojan and reverse-engineered it to track down the guy who wrote it and confront him. Freakin' awe-inspiring.
That was pretty cool. Made me feel like a complete moron, but cool anyway.
__________________
The deepest sin against the human mind is to believe things without evidence. Science is simply common sense at its best -- that is, rigidly accurate in observation, and merciless to fallacy in logic. --Thomas Henry Huxley
I learned BASIC on an old ATARI computer. I used to have an old MS DOS computer that I used to write nifty little programs with it. I can still remember some of it, but most of what I learned has been pushed aside replaced with newer stuff. I remember thinking that it was cool beans, though, and I actually understood it! I don't understand today's code much. I just write the thing that I know will do the function that I want it to.
Oh man. I'm all over this topic. The problem comes down to a fundamental conflict of interest, I think.
In the early days, it was to their advantage to have an easy programming language bundled with the computers they sold, because there sure as hell wasn't much off-the-shelf software for them. They wanted people to program, to build a market for them. People bought these computers and learned to program, and did; things snowballed, and so the PC was successful.
But now there's a conundrum. The hardware is commonplace and cheap and the originators of it don't even own the rights to it. All that's left is the software market; the marketers think you're supposed to buy software, not write it. Why on earth would you expend time and money to give your customers a powerful weapon against you?
Recent programming fads have also made beginner programming more difficult. (By recent, I mean, early 90's.) Objects have their place but they've really overdone it; what they call 'object oriented' and 'event model' I call 'spaghetti code'! Even worse, it's spaghetti code where the crazy jumps happen invisibly according to rules that fill telephone books. You're not even supposed to see where the program begins and ends anymore. It just pops into existence fully-formed and reacts in different ways when you poke it with sticks.
Finally, the bar has been arbitrarily raised. For small homebrew programs a full-featured GUI is overkill by miles, and small programs scarcely need one; you can still use even DOS applications in Windows XP, and the commandline shell has finally been improved after two decades of feature rot. But for the vast majority of users, the thought of typing text in a black window instead of a white one is terrifying.
This is bad. Small programs are extremely useful in a DOS window because you can use them quickly and easily, even tie them together into things totally new -- remember batch files? If someone insists on a GUI interface, that can be built on top. But it's a lot more hassle to use a GUI program even if it's easier. You also can't attach GUI programs to each other unless they're specifically designed for it, and even then, it's a different way for every program, and they're still seperate. Imagine your word processor in one window, and your spellchecker in another!
To summarize, small programs are nigh useless in a purely GUI environment. And what else but small programs are beginning programmers supposed to make?
To summarize the summary of the summary, people are a problem.