![]() |
|
|
|
|
1
23rd August 07:14
External User
Posts: 1
|
It seemed to me the original thread was getting a little too
deeply-nested and that this topic had split off from the rest so I'm starting a new topic. Not true. Again, you seem to ignore, to duck, to be unable to understand, or to be just too blind to see that, with keywords that are not reserved, the programmer only needs to know the keywords needed to write the program. Further, even those keywords can be used as variable or procedure names (whether or not it makes sense to do so) without ambiguity. There is NO NEED to know any of the other keywords in the language. Why do you keep ignoring this or changing the subject? When the keywords are also reserved (as in Ada, apparently), then, AND ONLY THEN, does the programmer need to know all of the keywords in the language to avoid inadvertently using them as user-defined names. Yet you keep insisting over and over and over and over and over and over and over and over and over and over again that PL/I programmers need to know ALL of the PL/I keywords in order to write any program. Why is that? I believe Shmuel also raised the issue of compatibility with extensions. If a programmer uses a sensible name for a variable, it's possible that some future language extension will introduce a reserved word that conflicts with that variable name -- thereby breaking existing programs. Thus, in a language with reserved words, a programmer either has to know all of the current and possible future reserved words or must misspell every variable and procedure name and hope to avoid potential future conflicts. Of course, with a language as perfect as Ada, no extensions will ever be needed or, indeed, have been needed since the original language spec. But you keep claiming PL/I needs all sorts of extensions, therefore it would seem to be to PL/I's advantage NOT to have reserved words in order to make it easier to add those extensions. There's a similar issue that arises with keyword abbreviations. It's not so common these days since everything seems to be converting to GUI interfaces, but some command-oriented utilities (debuggers, editors, etc.) allow abbreviation of command keywords. There are two common methods of recognizing keyword abbreviations: either there's an explicit list of abbreviations for each keyword (e.g., "decl" for "declare") or the utility recognizes any string of characters that uniquely matches the beginning of the keyword (with, perhaps, a minimum required number of characters, e.g., 3): thus, any of "dec", "decl", "decla", ... would match "declare" (sort of like automatic file name completion in Linux csh or Windows). The problem with "shortest unique beginning string" is that, while convenient for the user, later extensions to the utility that add new keywords can cause previously unique starting sequences to become ambiguous -- possibly breaking previously-written scripts. Hmm. Well, if memory serves, you originated this line of comparison by attacking PL/I as inferior because it didn't have reserved words. In your ignorance of PL/I and apparent desperation to defend your position, you disparaged or dismissed counterexamples as not realistic and even resorted to an ad hominem attack against at least one other member of this ng. adaworks@sbcglobal.net wrote: No, I don't. But they're all keywords in PL/I and the reason they aren't reserved is that PL/I doesn't reserve keywords. Did you understand that sentence? One of the reasons you don't currently use any language where those words are reserved -- or even where those words are keywords, apparently -- is that you clearly don't use PL/I. You also ignored a subsequent example using the PL/I keywords AREA and OFFSET. But it was clever of you to change the subject to music rather than addressing the issue you have been side-stepping. It has been some time since I have heard any music played using natural tuning and I have heard so much music written for and played using well-tempered tuning that natural tuning sounds strange to me. I use harmonics (which are more relevant to natural than to well-tempered tuning) to tune my violin and guitars and have wondered for some time whether it was the frets combined with the difference between the two tuning methods that made it so difficult to get all of the guitar strings to sound in tune to me at the same time. While we're on the OT subject of different instruments, I feel compelled to mention a keyboard instrument I saw at a university music department once. The "black" keys were split lengthwise so each half was independent in order to provide a way to distinguish between C# and D-flat and make other similar distinctions. It also had a lever that switched between that setting and one in which each of the "black" key pairs were locked together (as in a "normal" keyboard instrument) to provide for well-tempered tuning. Regrettably, I did not have an opportunity to hear it played. All true, but irrelevant to PL/I (where the context is unambiguously clear) and, hence, does not support the claim that Ada is superior to PL/I just because Ada reserves its keywords (or that PL/I is inferior to all other languages because it doesn't). As to your assertion that Ada programmers don't mind the keywords: it must be nice to be able to speak for all of them. There must not be too many if you know them all. I do know of PL/I programmers who don't object to reserved words in other languages and wouldn't object or be bothered if PL/I reserved its keywords. I also know of PL/I programmers who would object (several in this newsgroup, in fact). I won't pretend to speak for all of either group nor would I claim to know the percentage split between the two groups. I find reserved words annoying when they conflict with variable names I think would be especially appropriate for the application area; otherwise I generally ignore them. I also find the unnecessary misspelling of user-defined names annoying when I have to read that code. Please understand: I agree with some of your points. Although I like PL/I as it is, I can see some advantages to adding real support for extensibility and polymorphism (having used them in C++) and for some additional support for modularity. Frankly I don't trust preprocessors to provide functionality that ought to be provided in the language proper. But there are a lot of application areas where those features really aren't needed and wouldn't be missed -- in fact where their use might get in the way of a clear and efficient solution. And as soon as I find my router (I just moved and it's in one of the boxes the movers helpfully labeled "miscellaneous"), I plan to hook up my Linux box and take a closer look at the free Ada compiler that came with that distro. But so far I haven't found any other language I like as well as PL/I for condition handling and I haven't found any other language except SNOBOL / SPITBOL with as clean a syntax for character- and string-handling (although there are a few others that come close). Bob Lidral lidral at alum dot mit dot edu |
|
|
|
|
8
4th September 12:48
External User
Posts: 1
|
In <45600910.7030202@comcast.net>, on 11/18/2006
at 11:34 PM, Bob Lidral <l1dralspamba1t@comcast.net> said: He doesn't speak for this Ada programmer. Look at Icon. -- Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel> Unsolicited bulk E-mail subject to legal action. I reserve the right to publicly post or ridicule any abusive E-mail. Reply to domain Patriot dot net user shmuel+news to contact me. Do not reply to spamtrap@library.lspace.org |
|
|
9
4th September 12:48
External User
Posts: 1
|
In <he98h.17047$B31.14374@newssvr27.news.prodigy.net> , on 11/20/2006
at 03:25 AM, <adaworks@sbcglobal.net> said: The design of PL/I was not tied to punched cards. Punched cards were on their way out by the time ANSI passed a PL/I standard. -- Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel> Unsolicited bulk E-mail subject to legal action. I reserve the right to publicly post or ridicule any abusive E-mail. Reply to domain Patriot dot net user shmuel+news to contact me. Do not reply to spamtrap@library.lspace.org |
|