Re: introduction to programming
- From: fox <fox@xxxxxxxxxxxxx>
- Date: Thu, 17 Jan 2008 05:38:55 -0600
Randy Webb wrote:
There have to be at least 100 languages better suited for what you want.
Please! Entertain us!! If there are *at least* 100 -- then just list 100 for us!!! Please! Oh please! I beg you to!!!
In fact, as a programmer, I really want to see that list.
I personally would be interested to see a short annotation with each as to *why* you think each language is better than JavaScript. Use line numbers -- that would be "like BASIC" :)
BASIC. Simplest language to teach concepts with.
Hmmm... BASIC -- that is a specific language. It's not "Basic" and it's not any other brand of someCuteNameBasic like REALbasic or Visual Basic. All of the "Basics" that came after BASIC are derivatives... So, you have to be really careful waving THAT RED FLAG so cavalierly!
10 REM YOU HAVE NO IDEA WHAT YOU ARE TALKING ABOUT
20 REM
30 LET X=1
40 LET Y=2
50 GOSUB 2000
60 PRINT Z
100 END
1999 REM :: ADD X and Y
2000 LET Z = X + Y
2010 RETURN
3000 REM ----------THIS IS BASIC!!!-----------
3010 REM ANY OTHER FORM IS A ***DERIVATIVE!***
3020 REM BE SURE YOU KNOW WHAT THE **** YOU'RE TALKING ABOUT
3030 REM BEFORE YOU MAKE SUCH AN IDIOTIC STATEMENT AGAIN!
THE SINGLE WORST PROGRAMMING HABIT I **EVER** HAD TO BREAK...and LOOK! I STILL remember how it goes... after 24 years of NOT writing a single line of BASIC.
BASIC was a NIGHTMARE!
ON WHAT PLANET is this a good thing to teach? Explain the arbitrary line numbering. Why is END in the middle? Explain branching; and where the devil are the functions? Explain why every variable is a global variable. Explain why everything is one long unbroken listing -- if you need a "break" for your eyes, it must be a series of blank REM statements. Why is END in the middle, again? Explain how BASIC is NOT the most difficult language to debug (an impossibility!) Explain how *BASIC* ISN'T CRAP! (Do you even recognize this??? Have you *ever* seen anything like it before??? It's the real deal: BASIC. In the flesh, so to speak.)
If you don't know this -- then you don't even know what you have now! You just haven't been around long enough. You're just a "punk" -- a *self-appointed* "know-it-all." BASIC is better than JavaScript? Really!
If you *meant* something else (one of its more modern decendents, then you really should be more specific! [REALbasic, Visual Basic, some other derivative, etc... also notice the use of lowercase in Basic/basic.]) Whatever you *think* you know what BASIC is -- it isn't! Even "assembler" was easier and better to use than BASIC. I seriously doubt that most Basic programmers today under the age of 50 even know what true BASIC was (and I don't mean TrueBasic, which is yet another derivative.) BASIC was SO BAD, once I had something else to go to, I never even considered using it or ANY of its derivatives again; ever!
You bitch and complain about "bad JavaScript"? You haven't EVER seen bad code until you've read through the source code of "relatively" major applications written in BASIC (anything more than about 100 lines.) There's no explaining it -- you'd have to see it for yourself. Even BASIC that was considered good coding in its day was really BAD, and I don't mean in that hip/cool kind of way.
BASIC, which stands for "beginner's all-purpose symbolic instruction code" was neither for beginners (although many tried), nor was it all-purpose (it was patterned closely after Fortran); and too symbolic (not terribly useful for *anything* specific). "Beginner's All-Purpose?" Dream on! If it were perfect for beginners and teaching, it would still be in use and dozens of magazines explaining how to use it and publishing source code to be copied because very few were "getting it" never would have come into existence (and which rapidly disappeared as quickly as BASIC did.) It didn't help anyone trying to learn the language that BASIC for the Commodore 64 would not run on an Apple II or an IBM PC or an Atari or a Sinclair or a "Trash80" (<- know what that really is? I do!). Pick any computer from those days, the same was true for all of them -- *every* platform had their own implementation of BASIC and most of what was written for one would not run on any other without serious modifications -- and you had to know where in the code to make those mods -- good luck with that, by the way. So much for those magazine source code listings.
Niklaus Wirth created Pascal to be a "teaching" language, and it excelled at that in its day (considering what was available at the time), a quantum leap forward! [Too bad though, it was not "all-purpose" enough (too "high-level") for "serious" (commercial) use.] It has, unfortunately, "passed" from favor. And even at that, many who used Pascal after BASIC never truly embraced what Dr. Wirth taught, and used the language as sort of a retro-BASIC environment [one-letter variables, long non-procedural code, etc... exactly what Pascal WAS NOT about -- I've seen some really nasty looking Pascal code from former BASIC programmers (and some of it was mine, in the beginning)...and from those that copied BASIC algorithms into Pascal, meaning two things: 1) they didn't understand the BASIC they copied, and 2) they didn't understand Pascal (which is understandable because BASIC created a lot of "baggage" in the way people thought about programming)]. You people think "eval" is bad...heh! You have no clue. No inkling of the luxuries at your command. And no appreciation of any of it.
JavaScript is an EXCELLENT choice with which to teach CONCEPTS.
1. It is exceptionally flexible
students can get "it" wrong a number of different ways
and still make it work before they get "it" "right"
(right - in quotes - a conditional statement as in:
there are usually a number of DIFFERENT ways to
accomplish tasks in any programming language, and the
concept of a "right way" is highly dependent on other
aspects of the "problem" usually predicated on
"the most efficient" way to solve the problem, not
necessarily on whether any given way "works," i.e.,
"solves the problem" any less well than another.)
2. It will not break the system and/or the environment in which it runs
[Who here remembers rebooting after every accidental infinite loop;
or accidently wiping out system globals; or -- and this happened
to me once -- accidently wiping everything off a hard drive???
Who here has endured the many other types of frustrations that
can occur with the write-compile-test-debug cycle of compiled
languages?]
[for those idiots who claim there is no built in debugging:
USE FIREFOX -- Tools>Error Console
it's quite useful; and if that's not useful enough -- check out the addons available:
https://addons.mozilla.org/en-US/firefox/browse/type:1/cat:4
]
3. It is (for all intents and purposes) freely accessible to everyone
[with access to a computer]. HOW GREAT IS THAT!
I spent a small fortune on compiler applications way way back.
NOT TO MENTION, that after a few years, the companies (SYMANTEC,
in particular) would stop supporting the software and you had to
a) look for a new vendor, and b) relearn an entirely new way of
working with the environment -- yeah: THAT'S convenient. OH,
then there was the aspect of each vendor's "compliance" with a
"standard" that never really existed with any language back then;
e.g.: Borland's implementation of Pascal for Macintosh -- what
a ****ing waste of money that was.]
4. It can be used in multiple hosts,
no restriction to a particular "brand" (host), or platform
[students can learn on mac, windows, or linux; with
numerous different brands of browser even IE (although it
is not now, nor has it ever been "JavaScript")]
it is also rather widely used in other non-browser hosts
(Adobe products, there is even an AppleScript replacement
engine using JavaScript for Macintosh computers)
5. It can be used to target every level of programming learning ,
from elementary inline instructions to the creation of functions,
etc. (proceedural programming) to concepts of encapsulation,
modularity, and inheritance (objects/oop).
6. It bears enough syntactic resemblance to numerous other languages
to make "branching" out an easier process [aside from the learning
curve required to move to a more strictly "typed" language.]
7. Scripts can be run "locally" from users' hard drives
it is not necessary to have them "served" as is the case of
PHP/Perl/ASP/JSP/etc. Nor is it necessary to install compilers
and huge libraries of support code.
And I'm sure much more can be added to this list. Any *GOOD* teacher/educator could turn JavaScript into the Holy Grail of programming education.
> The language is so screwed up
WHAA_????
If that's the way you feel about it, why on earth do you use it? And, why on earth are you "here"???!!!
> that it makes it a difficult language to try to teach with.
Well then, I suppose that it really depends on who is doing the teaching, now, doesn't it? Obviously, nobody would want you for the job. Negative attitudes are never beneficial to a learning environment. [Ever hear: it's a poor workman who blames his tools?]
There are those that could teach programming without *any* specific language, or host/OS, well enough for their students to be able to use almost any language with very little effort. Even that would be better than BASIC...
.
- Follow-Ups:
- Re: introduction to programming
- From: Randy Webb
- Re: introduction to programming
- References:
- Re: introduction to programming
- From: Randy Webb
- Re: introduction to programming
- Prev by Date: Re: 0 == false == ""
- Next by Date: Re: 0 == false == ""
- Previous by thread: Re: introduction to programming
- Next by thread: Re: introduction to programming
- Index(es):
Relevant Pages
|