* Harlan Messinger wrote: > So, in other words, if good practices in a given field are already known to > many of the experienced practitioners in the field, nobody should bother > writing a book describing them for the benefit of those newcomers who don't > already know them? Books should only be written about revolutionary new > ideas that no one ever thought of before?
Did I say that? What I actually meant was that it was annoying not to have written such a book, not that it was annoying that such a book had been written. I thought that was fairly clear, but evidently not, sigh.
On Wed, 18 Sep 2002, Espen Vestre wrote: >"Jens Axel Søgaard" <use...@soegaard.net> writes:
>> Their three weapons are fear, surprise, and ruthless efficiency >> and an almost fanatical devotion to the Pope.
>and nice red uniforms!
Damn! I can't say it! You'll have to say it!
-- Jeff "japhy" Pinyan RPI Acacia Brother #734 2002 Acacia Senior Dean "And I vos head of Gestapo for ten | Michael Palin (as Heinrich Bimmler) years. Ah! Five years! Nein! No! | in: The North Minehead Bye-Election Oh. Was NOT head of Gestapo AT ALL!" | (Monty Python's Flying Circus)
>> This is how I would write it (and it looks mildly Lisp-ish); it might not >> be the most efficient way, but I like it:
>My CL version is a macro which builds nested loops, so there is no >need for it to call any functions at run time, recursive or not. I'm >curious to know if Perl has macros, or if it makes sense for a Perl >program to rewrite Perl code in some situations.
Perl does have eval(), which allows you to (compile and) execute Perl code at run-time. You can construct a SPECIFIC chunk of code (such as a function) with values hard-coded, instead of a function which relies on several variables. But you can also...
>I also wonder if that "print" block of code in your Perl code is a >closure. If outside of the call to combinations, you were to define a >number of local variables, and in the block, you were to add code >which used those, would it work, even though it would be executed by >combinations rather than in line?
... use closures.
>i.e. > combinations { print "(@_)\n" } 2, (1..5); > ^ block of code ^ > (add other code inside the same block, and use variables defined >outside)
Yeah, it can be a closure. In this case, the @_ is not interpolated until the code block is executed, because each execution of the code block sets @_ to a list of (in this case, 2) values.
sub gt_maker { my ($n) = @_; return sub { $_[0] > $n }; }
my $five = gt_maker(5); if ($five->(8)) { print "8 > 5\n" }
>I also wonder why the 2 has a comma after it, when the other arguments >to combinations don't.
That's a by-product of Perl's weird syntax rules regarding the '&' prototype the function has.
sub foo (&@) { (definition) }
foo { code } 1, 2, 3, 4, 5;
is how the code has to be written when using the "code block as the first argument". Built-in functions that can do that look the same:
-- Jeff "japhy" Pinyan RPI Acacia Brother #734 2002 Acacia Senior Dean "And I vos head of Gestapo for ten | Michael Palin (as Heinrich Bimmler) years. Ah! Five years! Nein! No! | in: The North Minehead Bye-Election Oh. Was NOT head of Gestapo AT ALL!" | (Monty Python's Flying Circus)
* synthespian | There's one thing that I definitely think is a basic flaw with ontologies, | at least the way they're set up (I may have a very limited understanding on | the topic, however): the ontology is defined by the "definer".
That is, it is a flaw in the system that it is designed by humans for humans. This is an age-old philosophical problem which I personally consider totally nuts. We /are/ humans. This is /not/ a flaw. We take what we have and deal with it. Wishful thinking and dreaming about changing the human condition may be fun, but it is not productive.
| For example, the person who defines the ontology has motives for indexing | something in the ontology. Why does he/she do it? What are the "economics" | or "psychology" behind it? This is relevant, as anyone who works with | narketing will tell you.
So you have at least discovered that all human knowledge is contextual. This is a good step up from the desire that human knowledge should be acontextual or absolute, a desire which has frustrated people for ages when they do not think things through. Coupled with a "magical" weltanschauung where things become what we think about them, there can only be chaos. But there is a different fundamental outlook on this: The world out there is the same for all people, and no matter which contorted approach you take to grasp it, you will, eventually, end up with the same knowledge as everybody else. The real question is whether there you can find ways to approach this whole knowledge thing that would result in fewer blind alleys and false starts, and there is. This is what philosophy is all about, or at least the branch of it called epistemology -- or the study of how we know what we know. I know of no serious effort to study epistemology that has ended up with the same kind of "magical" weltanschauung that people who have not studied it, but have sort of adopted the pre-scientific model of religions, tend to hold.
| Another thing is the very meaning of a word. How then, does he/she | understand the meaning of the word? Words change meaning over time, a fact | any linguist will tell you...And, if that wasn't enough, they mean different | things to different people. I'm not talking about you defining that <zp> | means <zip code>, but the very concept of zip code (ok, my example isn't so | good. But let me give you a *real* example: a sociologist here in Brazil | set out to discover what percentage of the population understood the correct | meaning of the concepts of "right" and "left" in politics...A total | disaster...An amazing amount had no clue, and actually exchanged meaning. | Now imagine a candidate for the the congress asking for votes...you get the | picture...)
No, on the contrary: I think you show a massive lack of insight into these issues, and thus react with fear, uncertainty, and doubt about issues that are not only taken well care of by professionals who know their business, but never actually arise in practice when the system is used by skilled users. And believe me, if you are observant and wish to understand, instead of approaching a system with preconceived notions that how you have done things up until now is flawless and perfect and anything that deviates from it is bunk, it takes very little time to understand Dewey or the Universal decimal classification well enough to predict where you will find things. For the fine-grained classification of new works, however, it takes serious investment in studying it and discussing with other classifiers. This is, after all, social engineering. I think most of the problems you allude to actually come from the desire to see a system usable in a vacuum by one person with no prior exposure to the system. I believe that novices should be willing to learn something rather than be willing to judge something they do not know. I realize that I am in the minority in this modern world where many people think that not knowing something is superior to knowing it, at least morally, and that the only people you cannot ask if you want to know something are experts in the field. This anti-rational, anti-intellectual, anti-knowledge stance is not usually conscious, however, and most people will deny that they have such attitudes, but still act on them and feel much "safer" if they ask some fellow ignorant than if they ask an expert. It has puzzled me greatly for as far back as I can remember. None of the experts I have asked have been able to give a good answer. [Pause for effect...] The people who tend to feel this way, however, are usually unable to argue for it, because as soon as they start to think, they move into the rational world where their attitudes are very different from their default non-thinking ones.
-- Erik Naggum, Oslo, Norway
Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.
Erik Naggum <e...@naggum.no> writes: > a book about Indiana high-school women's basketball would be classified > under sports, basketball, pre-college, in Indiana, for women.
> Yes, the books would be in one place, but you would obviously have multiple > index cards for them if they were cross-classified.
Thanks for pointing out the "cross-classification", which indeed was my main concern.
> It is useful to find > related items grouped in the bookshelves, but this is a consequence of the > nature of bookshelves, not of the classification.
I believe you were suggesting that (something like) the Dewey system be used for online materials as well, so I was wondering how this works in practice for non-physical items.
I would imagine that "cross-classification" is relatively rare. Even for your example, is "for women" a section underneath the sports/basketball hierarchy? How natural would it be to allow me to look at an index of all "for women" books, whether they fall under sports or not?
The alternative I was thinking of (which may actually be compatible with a Dewey system) is just a long list of feature/value pairs, perhaps where the features and/or values may be hierarchical. So then your book example might be Category sports Category basketball Level pre-college Geography Indiana For women Pages 138 Published 1975 Edition 3 etc.
I would like a user to be able to query for all books with less than 200 pages that are intended for women in an area of the United States and then to be shown a custom index that includes your sample book. Note how Indiana automatically matches "part of the United States", which probably means that "Category sports" doesn't need to be explicit, since it is implied by "category basketball".
This scenario seems to me the way online material should be indexed, with very flexible metadata. It isn't obvious to me that existing classifications like the Dewey Decimal System are intended for this kind of application. You were recommending them, though, so I assume you think much (all?) of the value transfers directly to the new application?
-- Don ___________________________________________________________________________ ____ Don Geddis http://don.geddis.org d...@geddis.org
* Don Geddis | I believe you were suggesting that (something like) the Dewey system be used | for online materials as well, so I was wondering how this works in practice | for non-physical items.
My vision, if that is what it is, is that you would navigate the Dewey space more or less visually and locate things according as you believe they would be classified. Multiple classifications would never be a problem online.
| I would imagine that "cross-classification" is relatively rare.
Yes, but not because of the clasisfication, but because most publishers try to limit the scope of their published material. It is considered bad from to publish a book about programming languages and spend half of it on the psychological aspects of temporal reasoning.
| Even for your example, is "for women" a section underneath the | sports/basketball hierarchy?
No, it is a secondary table of "tags". You can search for these tags in almost all electronic library systems. E.g., there are geographical codes that make it possible to search for anything that is published about some small place, if it has been suitably classified.
| How natural would it be to allow me to look at an index of all "for women" | books, whether they fall under sports or not?
How natural? On a scale from 0 through 9, probably around 7. :)
| It isn't obvious to me that existing classifications like the Dewey Decimal | System are intended for this kind of application.
I believe something very much like Dewey would be an essential part of a better web, but I sense somehow that you think I want to get rid of all other approaches and classifications. Why is this? I have not given you any conscious indication of such a desire, which is in fact contrary to what I would want to see.
-- Erik Naggum, Oslo, Norway
Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.
> On Mon, 16 Sep 2002 07:59:07 -0300, Erik Naggum wrote:
> > I envision a future where people are sufficiently encouraged by > > computers to learn the skills of rhetoric, argumentation, and logic to > > actually achieve what education cannot achieve when there is no clear > > benefit to learning either of these skills. I also believe that > > something like Dewey's or the Universal decimal classification system > > needs to be taught as the optimal means of searching for information > > with computers. (The actual numbers is not the point -- the > > hierarchical structuring of human knowledge that is embodied in the > > coding into numbers is an unparallelled achievement. The silly > > re-invention of "ontologies" in the Semantic Web context is pathetic > > in comparison.) All of this actually means that philosophy, > > epistemology, the nature of concepts, etc, will have to become > > fundamental in people's approach to information. Today, we are > > hampered by many false starts in these areas and much muddled thinking > > and expression thereof.
> There's one thing that I definitely think is a basic flaw with > ontologies, at least the way they're set up (I may have a very limited > understanding on the topic, however): the ontology is defined by the > "definer". > For example, the person who defines the ontology has motives > for indexing something in the ontology. Why does he/she do it? What are the > "economics" or "psychology" behind it? This is relevant, as anyone who > works with narketing will tell you. > Another thing is the very meaning > of a word.How then, does he/she understand the meaning of the word?
I'm in agreement with Erik that most of the people working on the semantic web have a fairly pathetic notion of "ontologies", at least from the point of view of someone who thinks they need to be more than just a database schema. The one point you make that I do agree with you on is that ontologies do need to have some mechanism for representing temporal relations, but probably not for the reasons you have cited.
However you seem to be somewhat confused by what an ontology (or more accurately an ontograph to coin a word - ontology is "the study of being" and we're really talking about a "representation of being"; so where I use the word "ontology" in what follows, I mean "ontograph") is intended to capture, and to be fair, the blame can probably rest on those who have mistaken the concept for "data dictionary" and promulgated the usage of the term as equivalent to a dictionary. Natural langauge words have more than one sense, or meaning. The sense is the semantics of the word on an occasion, but you may use other pragmatic information to decide which sense is meant (or if indeed, the expression is intended metaphorically, etc.).
Words, however, are not "defined" in an ontograph, only symbols are. I cannot define the english word "right" to mean "conservative", I can only define some symbol, say XYZZY to mean what we usually mean by conservative (to the extent the representational power of the ontograph allows me to do this), and then say that there is some sense of the word "right" that is XYZZY, as there is some sense of the word "conservative". Typically lexicons are used to map word tokens to their possible senses (concepts); this is not the job of the ontograph. (That I happen to choose the symbol RIGHT instead of XYZZY still has nothing to do with the use of the english word "right" on any particular occasion, although as a matter of good practice, generally one should choose symbols in one's ontograph that are at least somewhat intuitive to the user(s). But since any entry will by necessity only capture some particular sense (and perhaps even concepts that are not natural senses of any particular word at all, but some other concept either a priori or a posteriori, or even ad hoc).
Now that this ontograph is (in part) a dictionary of symbols (as opposed to a dictionary of words) is part of the answer to your confusion . The other part of an ontograph which is missed by many in the semantic web community who come from a database background, is that the ontograph also must contain all of the relationships between these concepts, in a way that corresponds to that part of "existance" that is to be described. Symbol grounding, or how we get from a particular symbol to some entity in the world (the problem of mapping intension to extension) is not directly addressed by ontography, but the ease by which such mechanisms can be created is one way to rate the effectiveness of a particular representation (when such a mechanism is needed, e.g. for reasoning systems attached to robots or other "embodied agents". (Of course the ontograph itself consists of type or class information and relationships, not of individuals. For information about individuals, we consult a world model. For instance, we might have the concept of "person" in the ontograph, but "George Bush Jr." would be in the world model. Similarly, a particular description of language used by people on an occasion (your concern with the change of preferred word senses over time) would be part of the world model. That words can change their sense might be represented in the ontograph, but not any particular mapping.
Literally the ontology is a representation of existance. Of necessity, that representation will have errors of various sorts, and this is something that has been a problem in the field of Knowledge Representation from the start; the real question is if your application will care about those errors, what kinds of inferences your representation encourages (makes easy), and how well that matches the problem(s) at hand. The concepts represented in an ontograph do not change over time, though a lexicon that is meant to correspond to the language usage of a particular time and place may well do so. Think of it this way: the length denoted by a meter will never change, it is eternal. However, the meaning of the word "meter" may change, and come to denote a different length. Or as some old saw once said, "I don't know what langauge they'll be using for AI in the next century, but I do know it will be called 'Lisp'."
If you want a nice short introduction to KR, may I recommend (best of the papers available online that I've seen, I'd welcome better citations from other practitioners): Randall Davis, Howard Shrobe, and Peter Szolowits "What is a Knowledge Representation?", AI Magazine 14:1 17--33, 1993.
> Words change meaning over time, a fact any linguist will tell you...And, > if that wasn't enough, they mean different things to different people. I'm > not talking about you defining that <zp> means <zip code>, but the very > concept of zip code (ok, my example isn't so good. But let me give you a > *real* example: a sociologist here in Brazil set out to discover what > percentage of the population understood the correct meaning of the > concepts of "right" and "left" in politics...A total disaster...An amazing > amount had no clue, and actually exchanged meaning. Now imagine a > candidate for the the congress asking for votes...you get the picture...) > So, at some point, words cease to mean what they initially meant. This, > from the point of view of a database of ontologies introduces quite a lot of noise. > So maybe you end up eventually with inference rules that are really > bogus.When you have the emergence of new meanings as in language you need > software that a software that is intelligent enough to sort out the new > meanings, perhaps even in a temporal way which, AFAIK is totally out > of the design of the ontologies as they are being proposed for the > Semantic Web. You end up with a huge amount of entropy.
> Tom Beer wrote: > > Donald Fisk wrote in message <3D868533.65A4F...@enterprise.net>...
> >> As for the mess of ifs and conds, could you explain this? All > >> programming languages have conditional statements or expressions.
> > Perhaps you mean "all procedural programming languages". There are > > variants of Prolog that do not have conditional statements or > > expressions.
> I think Donald meant "All programming languages have conditions or other > means of control flow control"
All the ones I'm aware of. But I never set out to make such a general point -- merely that Lisp's baggage of conditional expressions is no bigger than C++'s baggage of conditional statements and expressions.
Prolog was introduced by someone else. But arguing that it lacks conditionals when every top level expression is one, is on a par with arguing that Snobol4 lacks a goto.
> jue
Le Hibou -- Dalinian: Lisp. Java. Which one sounds sexier? RevAaron: Definitely Lisp. Lisp conjures up images of hippy coders, drugs, sex, and rock & roll. Late nights at Berkeley, coding in Lisp fueled by LSD. Java evokes a vision of a stereotypical nerd, with no life or social skills.
> > So, in other words, if good practices in a given field are already known to > > many of the experienced practitioners in the field, nobody should bother > > writing a book describing them for the benefit of those newcomers who don't > > already know them? Books should only be written about revolutionary new > > ideas that no one ever thought of before?
> Did I say that? What I actually meant was that it was annoying not to > have written such a book, not that it was annoying that such a book > had been written. I thought that was fairly clear, but evidently not, > sigh.
I've decided recently this is a great beginner's language. You'll learn about Object-Orientation and structured programming. You'll learn a lot that is useful in C and C++. It has graphics, so you'll get instant gratification. It's not too hard to learn. It's free.
Programmer Dude <cjsonn...@mmm.com> writes: > One word: Java
> I've decided recently this is a great beginner's language. > You'll learn about Object-Orientation and structured programming. > You'll learn a lot that is useful in C and C++. > It has graphics, so you'll get instant gratification. > It's not too hard to learn. > It's free.
Best of all, it leaves a lot of room to improve yourself by learning better languages after you are done with it. Yay Java!
> I've decided recently this is a great beginner's language. > You'll learn about Object-Orientation and structured programming.
You'll learn about one form of Object-Orientation, namely the Java way. This is by no means the only way. In a sense, it is even quite limited with some arbitrary limitations that sooner or later start to become a nuisance (of course only to those knowing the OO of other languages).
> You'll learn a lot that is useful in C and C++.
What, except for the similar syntax? Especially between C and Java I see no similarity at all. One obvious example: Where the process model is quite essential in C (at least for systems supporting it such as unices), Java is rather going for threads which is a whole different way of thinking.
> It has graphics, so you'll get instant gratification.
Java has graphics? You must be referring to Java's Swing toolkit. I very much doubt that a beginner to programming will get instant gratification from that.
> It's not too hard to learn.
Debatable. While the language core itself appears to be rather simple it is not enough to be productive. You need to know a good deal about the huge API that comes with it. I don't think this is very beginner-friendly.
> > > As someone correctly mentioned you should certainly stay from hype > > > languages like Java, Perl, etc.
> > Excuse me, I don't want to start a flame war but, under what definition > > of hype are you using to define Perl?
> > John
> When I say "hype" languages, I am not merely referring to languages > that are popular, but those that are at the same time mediocre or bad. > For them, popularity comes from aggressive marketing, etc. In case of > Java, it was Sun's desire to take a bite of Microsoft's market, and in > case of Perl, it was a bunch of things, not the least of which was > OReilly of course. If it were up to them, they would be feeding us new > revolutionary "tech" every month.
You might want to read "Java's Cover" on www.paulgraham.com, which states the reasons why its author has avoided Java. An interesting point not mentioned by Paul Graham but which adds weight to his argument, is that Java was originally designed to run in embedded devices, then in web browsers, and now on servers. I don't know of any widespread use of devices with embedded Java, most people browse the web with Java switched off (to be fair, there are some interesting applets out there, but they are few and far between), and you can write server software in any language so there's no reason to use Java. I was expecting until very recently that it would gradually become extinct over the next five years, but it seems to have an even worse fate in store -- as a replacement for Cobol. So there's still money to be made out of it, but a career in accountancy seems the more interesting option.
Perl I don't know enough about to decide whether it has merits, but its designer seems to think a complex syntax is a good thing for a language (as a Lisper I couldn't disagree more), and I've been warned off it by people who do know it well, but have now switched to Python.
Le Hibou -- Dalinian: Lisp. Java. Which one sounds sexier? RevAaron: Definitely Lisp. Lisp conjures up images of hippy coders, drugs, sex, and rock & roll. Late nights at Berkeley, coding in Lisp fueled by LSD. Java evokes a vision of a stereotypical nerd, with no life or social skills.
Donald Fisk <hibou00000nos...@enterprise.net> writes: > You might want to read "Java's Cover" on www.paulgraham.com, which > states the reasons why its author has avoided Java. > An interesting point not mentioned by Paul Graham but which adds > weight to his argument, is that Java was originally designed to > run in embedded devices, then in web browsers, and now on servers. > I don't know of any widespread use of devices with embedded Java, > most people browse the web with Java switched off (to be fair, > there are some interesting applets out there, but they are few and > far between), and you can write server software in any language > so there's no reason to use Java. I was expecting until very > recently that it would gradually become extinct over the next five > years, but it seems to have an even worse fate in store -- as a > replacement for Cobol. So there's still money to be made out > of it, but a career in accountancy seems the more interesting > option.
You're absolutely wrong that most people browse the web with Java turned off. All indications I've seen from server logs indicate that the vast majority of web users use IE with Javascript and Java on. Common sense would confirm that: because IE (the #1 browser) and Netscape (a distant second) both ship with JS and Java on, of *course* most users have them on -- how many people would (know to) / (know how to) / (want to) turn them off? I'm sure *you* have Java off, and probably most people you know (or have discussed this with) do too. I know I do, and I only turn it on when I need to and am willing to trust the site. Many people I know do the same thing. But I'm not typical, and the people I've asked about this aren't either.
And I'm actually kind of glad. I can assume that all the people who use a site *can* use Java, which means I can use it to deliver small applications. This is a godsend for me, because I use Solaris, Linux, and Mac OS X -- which isn't very useful if I want to develop an application for J. Random Webuser. I suppose I could do it in Lisp or Smalltalk, but then I need the user to install the runtime support. Sure, the JVMs in the browsers stink, but they're already there, and don't require me to hunt down a Windows box to develop on.
And while it's true that I can generally use whatever language I want on a server, I sometimes use Java because it can be easier to use the same language on both the front and back ends. When I don't get any particular benefit from that homogeneity, I don't hesitate to write the backend in Lisp, but there can be a definate benefit to using Java on the server -- entirely because all web browsers have JVMs built in.
> Perl I don't know enough about to decide whether it has merits, > but its designer seems to think a complex syntax is a good thing > for a language (as a Lisper I couldn't disagree more), and I've > been warned off it by people who do know it well, but have now > switched to Python.
Why do you use Python instead of Lisp? I don't particularly like Perl, but I can live with it, and I use it when it's practical -- and it's often practical because it's a widely-accepted Unix scripting/small-app language. I wouldn't consider Python, because it's not reasonable to assume that it's on a typical Unix server, or that another developer knows it. With those benefits gone, I'll choose Lisp 6.5 days of the week (the other 12 hours, I'll use Smalltalk ;)
-- /|_ .-----------------------. ,' .\ / | No to Imperialist war | ,--' _,' | Wage class war! | / / `-----------------------' ( -. | | ) | (`-. '--.) `. )----'
> Donald Fisk <hibou00000nos...@enterprise.net> writes:
> > You might want to read "Java's Cover" on www.paulgraham.com, which > > states the reasons why its author has avoided Java. > > An interesting point not mentioned by Paul Graham but which adds > > weight to his argument, is that Java was originally designed to > > run in embedded devices, then in web browsers, and now on servers. > > I don't know of any widespread use of devices with embedded Java, > > most people browse the web with Java switched off (to be fair, > > there are some interesting applets out there, but they are few and > > far between), and you can write server software in any language > > so there's no reason to use Java. I was expecting until very > > recently that it would gradually become extinct over the next five > > years, but it seems to have an even worse fate in store -- as a > > replacement for Cobol. So there's still money to be made out > > of it, but a career in accountancy seems the more interesting > > option.
> You're absolutely wrong that most people browse the web with Java > turned off. All indications I've seen from server logs indicate that > the vast majority of web users use IE with Javascript and Java on. > Common sense would confirm that: because IE (the #1 browser) and > Netscape (a distant second) both ship with JS and Java on, of *course* > most users have them on -- how many people would (know to) / (know how to) > / (want to) turn them off? I'm sure *you* have Java off, and probably > most people you know (or have discussed this with) do too. I know I > do, and I only turn it on when I need to and am willing to trust the > site. Many people I know do the same thing. But I'm not typical, and > the people I've asked about this aren't either.
And he is also wrong about widespread use of Java in embedded systems. Java is widely used in cell phones. -- Dale King
>> I've decided recently this is a great beginner's language.
>introducing java at a beginners level may make the beginners course >a course in library-shopping instead of real programming...
"Real programmers type octal into the debugger at the command line", eh?
Java the language is simple but limited. Java plus a library or two is capable of expressing a wide range of solutions. For esoteric applications, there are esoteric libraries. As is the case with C++.
> > > > As someone correctly mentioned you should certainly stay from hype > > > > languages like Java, Perl, etc.
> > > Excuse me, I don't want to start a flame war but, under what definition > > > of hype are you using to define Perl?
> > When I say "hype" languages, I am not merely referring to languages > > that are popular, but those that are at the same time mediocre or bad. > > For them, popularity comes from aggressive marketing, etc. In case of > > Java, it was Sun's desire to take a bite of Microsoft's market
The idea that Sun's wanting to gain market share from Microsoft makes Java technically flawed does not follow logically.
> You might want to read "Java's Cover" on www.paulgraham.com, which > states the reasons why its author has avoided Java.
Indeed. I found this part of his analysis particularly telling: "I've never written a Java program, never more than glanced over reference books about it, but I have a hunch that it won't be a very successful language." The fact that, measured by the height and steepness of its adoption curve, Java is the most successful programming language in the history of computation makes even more ironic what would otherwise be an uninformed opinion piece by an elitist who admittedly never even wrote anything in the language in question.
> An interesting point not mentioned by Paul Graham but which adds > weight to his argument, is that Java was originally designed to > run in embedded devices, then in web browsers, and now on servers.
By that line of thought, we should consider C as useless because it was designed to run on the PDP-11. I shudder to think what that kind of thinking would lead us to say about Lisp. But I again consider that this does not follow logically.
> I don't know of any widespread use of devices with embedded Java, > most people browse the web with Java switched off
Well, wrong and wrong, as others have pointed out.
> (to be fair, > there are some interesting applets out there, but they are few and > far between),
Applets represent approximately 0% of what is interesting about Java. It is true that back in 1996, people talked about Java applets a lot, but they really didn't go anywhere. I've been working as a professional Java programmer for ~6 years now, and no one's ever asked me to write an applet.
> and you can write server software in any language > so there's no reason to use Java.
Except for the fact that it makes a great language for writing server code in.
> I was expecting until very > recently that it would gradually become extinct over the next five > years, but it seems to have an even worse fate in store -- as a > replacement for Cobol.
I too predicted Java's swift demise, until I started working with it a lot.
> So there's still money to be made out > of it, but a career in accountancy seems the more interesting > option.
It's a free country.
> RevAaron: Definitely Lisp. Lisp conjures up images of hippy coders, > drugs, > sex, and rock & roll. Late nights at Berkeley, coding in Lisp fueled by > LSD.
With all respect due Lisp (which is a lot,) I went to Berkeley back when, and it was all C and Fortran. And again with respect to Lisp, but it has a *terrible* name. Imagine naming a language after a speech impediment!
> Java evokes a vision of a stereotypical nerd, with no life or social > skills.
* Marshall Spight | And again with respect to Lisp, but it has a *terrible* name. Imagine | naming a language after a speech impediment!
It may not be as good as naming it after an island or a coffee brand, but seriously, if you would react negatively to (Common) Lisp because of its name, or if you have heard about others who have rejected it before looking at it because of its name, or have ignored it because it did not look like a programming language, I would be very interested to hear about actual cases.
-- Erik Naggum, Oslo, Norway
Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.
Bruce Hoult <br...@hoult.org> scribbled the following on comp.lang.java.programmer:
> Can you show me how to translate the following into HTML? > 10 input "What is you name? ", n$ > 20 print "Hello ", n$, ", how are you?" > Thanks.
<html> <body> <form target="/greet.cgi" action="greet"> What is your name? <input type="text" name="n"> <input type="submit" value="Submit"> </form> </body> </html>
Erm, how do I translate line 20 then?
OK, just joking. Of course I realise HTML is not a programming language. Doesn't everyone?
-- /-- Joona Palaste (pala...@cc.helsinki.fi) ---------------------------\ | Kingpriest of "The Flying Lemon Tree" G++ FR FW+ M- #108 D+ ADA N+++| | http://www.helsinki.fi/~palaste W++ B OP+ | \----------------------------------------- Finland rules! ------------/ "Normal is what everyone else is, and you're not." - Dr. Tolian Soran
> According to ilias <at_n...@pontos.net>: >> Simon Harvey wrote: >> >>"I recommend starting with C, not because its the king of languages"
>> > Apologies - I took this as the expression of an opinion. The language you >> > used is ambiguous, not that it matters. I still happen to disagree with you >> > though:
>> I don't think his language is ambiguous.
>> I think you 'exraction process' is 'ambiguous'.
>> Could you please show me, how you extract the essence "C++ its the king >> of all languages" out of the above text? > Easy: "s/I recommend starting with C, not because it/C++ i/" > Slightly more, but still not entirely, serious: > "I'll stay home, not because it rains, but because I'm tired" means, "It > is, in fact, raining, but that is not the reason I stay home, but...". > Similarly, the sentence above translates to "C++ is the king of languages, > but that's not the reason I recommend it, but...".
And how does it magically change C into C++?
-- /-- Joona Palaste (pala...@cc.helsinki.fi) ---------------------------\ | Kingpriest of "The Flying Lemon Tree" G++ FR FW+ M- #108 D+ ADA N+++| | http://www.helsinki.fi/~palaste W++ B OP+ | \----------------------------------------- Finland rules! ------------/ "Insanity is to be shared." - Tailgunner
> Anno Siegel <anno4...@lublin.zrz.tu-berlin.de> scribbled the following > on comp.lang.java.programmer: >> Easy: "s/I recommend starting with C, not because it/C++ i/"
[...]
> And how does it magically change C into C++?
Well, should be obvious:
($_ = <<EOM) =~ s/I recommend starting with C, not because it/C++ i/; I recommend starting with C, not because its the king of languages EOM print; __END__ C++ is the king of languages