I'd say something on my own behalf, but I remembered a (somewhat) fitting quote from the Jargon File:
Contrary to stereotype, hackers are not usually intellectually narrow; they tend to be interested in any subject that can provide mental stimulation, and can often discourse knowledgeably and even interestingly on any number of obscure subjects -- if you can get them to talk at all, as opposed to, say, going back to their hacking.
The last part of that quote is key. Why doesn't anyone really bother? It's a waste of time. Eventually the media will get it (maybe), but certainly not any time soon. Remember, some newspapers still think that HTML is a programming language..
As far as references to Slashdotters go.. A lot of Slashdotters have objected to the proper use of the term hacker, and often tell everyone to "just shut up about it".. I'd imagine that most actual hackers don't have any interest in it, most crackers call themselves hackers anyway so they probably think that the media is correct, script kiddies would certainly rather be called crackers or hackers, and most people who actually know the differences between all of these terms don't really find much interest in it either.
If anyone is that excited about it, register a domain name (that makes sense for this purpose) and write all sorts of "hacker != cracker" propaganda, then feed the links to as many "media types" and "geek sites" (like Slashdot), and maybe something will happen. I kind of doubt it, and I for one have other, more productive ways to waste my time (at least AFAIC =P).
Installation and configuration of computer systems for Joe Public are the job of computer manufacturers (sp?) like Dell, etc. Distros do not need to be "point-and-drool" right out of the box. Honestly, when's the last time you saw Joe Public buy a computer and Windows separately, then try to install Windows? All the free software community has to do is put together all of the different tools. It's up to computer companies to sell preinstalled, preconfigured systems (which would include setting defaults.. wow, look ma, I don't have to think anymore..! possibly setting up aliases so if Joe Clueless Newbie really does have to use a Unix shell he might not get so scared.. or maybe he'll actually like the original commands.. who knows?). Other than that, I doubt that the community as a whole particularly cares all that much about slamming down the gauntlet in front of M$ with regards to the desktop. Hackers tend to make things they feel to be particularly useful to them, or else things they feel the community at large could benefit from, whatever. That said, I don't think anything you said is anything that hasn't been mentioned a few million times or so now, and I rather doubt a call for "making GNU/Linux point-and-drool!" on Slashdot is going to have any kind of positive effect whatsoever.
How precisely do you reconcile points 1 and 3? Joe Public won't use a CLI if a GUI can save him from it. Moreover, suggestions that one should "dumb down" a Unix-type shell are inflammatory and absurd. Do you honestly think I want to type in "remove" rather than "rm"? Besides, have you ever heard of aliases? If they really wanted to, computer makers could preconfigure your system to allow for these magical things, aliases.
Not only that, but are you trying to insinuate that MacOS has a CLI? Isn't one of the main knocks against MacOS the notion that all it has is a GUI? Maybe I just haven't played with Macs enough.. And who in the hell do you think really uses the CLI on a Windows system? Joe Public? Suure.. By the way, there are already major inroads into making Linux "pretty" with graphical "point-and-click", or do you not keep up with current trends?
What the article actually says is that Linux is taking its market share from the nasty old dinosaurs like SCO and building new share in the home geek market.
I can't help but wonder.. are you insinuating that many (most?) geeks who now use Linux at home used to use SCO stuff at home..? What, no one who uses Linux on their boxen at home today ever used Windows there in its stead? Or was this just an incredibly badly worded assertation? (yes, I'm honestly confused) =P
Expect hordes of knee-jerking Slashdot readers flaming this article without even reading it. The Sacred Penguin is insulted and so its acolytes must rush to its defence.
I also found it interesting that you chose to preempt any inflammatory comments with an offensive remark of your own. Perhaps you should consider being, more, ah, polite?
I really should stop trying to do anything useful when I first wake up. I think it's kind of obvious that I clicked on the wrong checkbox.;) Blah. Time for.. more.. caf.. feine..
Several years ago I was hired with a group of people to train C programmers in objective-c and later java. The degree of resistance was extraordinary. Every day it seemed we fought the same battles. The same people would say the same things over and over: "but without pointers...", "java is too slow, what about high-performace graphics?", etc. It's like, but we're not DOING high performance graphics. We're doing BASIC business applications.
Perhaps I'm just dense, but what in the hell does this have to do with C++ advocates? Since you never mentioned once that these people knew C++, instead saying they knew C and you were trying to "advance" them into Objective C or Java, I don't see how this is even mildly on topic.
And as you said, I will concede to the goodness of C/C++. I used both of them long before java, and still do. There are pros and cons to both, times to use one, times to use the other. Seems to me the smart builder doesn't use just one tool, but knows which tool is the right one for the job. But they will generally not concede that there is any use to Java.
I would like to assert that while an intelligent programmer will have more than one language of choice, he will not, I repeat not program in every language imaginable.. Thus, maybe he will never use Java throughout his entire life. Big.. deall..! By the way, did you really mean to say that "they" would assert that Java is useless, as you have, or were you trying to say that "they" would not assert that Java is useless?
But I had the same difficulty in teaching objective-c, which DOES have pointers, and imho is a WAY nicer oo language than c++ any day. So I thinks it's not that java is java, it's that these people are resistant to any sort of change. They are either lazy or scared or both. Harsh, yes, but how else can you explain the one-sided (and borsderline irrational) arguments that you see by these people.
So, again, I have to wonder if you are still talking about C programmers (which is off topic) or are now talking about C++ programmers (in which case your arguements make even less sense)..
Just because you think Obj-C and Java are totally badass and just flat-out wipe the floor with C++ doesn't mean that a C (or C++) programmer trying to learn either is going to agree with you. And since there is a third choice, C++, to "migrate" to, it seems like a biggoted statement to assert that C programmers who don't want to learn Obj-C or Java are "resistant to any sort of change" or "lazy or scared or both".. I myself managed to migrate from C to C++, which is a drastic change in philosophy and style, or had you not noticed that? Just because I don't want to go to your languages of choice, that makes me lazy, scared, resistant to change? Or are you trying to tell me that C++ isn't that much of a change? Well, surprise, it is. Obj-C, however, isn't much of a change. I'd rather use Java than Obj-C (which is practically worthless AFAIC).
BTW, the aforementioned migration to java failed on all counts. A failure of java? of me? of them? hmm..
Probably because they just didn't like the way it was designed? I'd imagine even many C programmers (those who haven't evolved into something else yet) would enjoy a good range of flexibility and not want to give it up so easily. I wouldn't know, because I learned Java after C++, not directly after C.
At any rate, how can you even talk about others having "borderline irrational" arguements when the topic of this particular subthread is C++ programmers, which by their very nature do not fit into the mold you ascribe to them (given that they were once C programmers to begin with, of course), and you're just talking about how a bunch of C programmers didn't want to learn Obj-C or Java. Maybe you should tell us if any of these "clueless idiots" ever managed to learn C++, hmm?
Since this was spun off from a comment I made, I find myself highly offended and directly insulted, as I do not like myself being referred to in such a manner. Or are you just completely abstracting the topic at this point to where it doesn't even apply to me anymore? That would make sense, since you're not even on the right topic. If not, then see this post, which is the culmination of this subthread, which you really should have let me spawn off from the comment you replied to before spouting off with your biggoted nonsense, as I believe it was a call for rational discussion, not your lopsided assertations. Again I have to wonder what makes you so holier-than-thou that you accuse others of borderline irrational arguements. Stay.. on.. the.. ball..!
..you're wasting my time. Why don't you go see what Merriam-Webster has to say? Actually, I'll save you the 2 - 10 second search:
usable on many computers without modification *portable software*
You'll note the subjectiveness of the word "many". I could consider anything greater-than or equal to 1 to be "many", although for the purpose of this definition, I'd be considered rather stupid for equating "many" with "1" (as I probably would be in general, anyway), but certainly there is little room for debate that any number greater-than one could be considered to be "many" (remember, this is subjective, not objective).
Okay, let's get some idea of what you mean by "portable" then. To a lot of people (I suspect), portable means "write once, compile and run anywhere" - and that's the goal of using ANSI C wherever possible, I would imagine.
Well, I guess "a lot of people" would be, um, dead wrong.. The definition clearly states "many" not "all". Big difference, a la what I already said:
You should also note a distinct difference between the usage of the terms "portable", "extremely portable", and "100% portable". C is "extremely portable", not "100% portable".
Hopefully you can figure out what that sentence means at this point, because I'm not going to bother explaining it further.
That's what Java does particularly well (in terms of language - the implementation of applet viewers is another matter, of course). That's using "portable" in the sense of "mobile" (a portable object being one that can be moved around at will).
What does Merriam have to say about this?
capable of being carried or moved about *a portable TV*
So basically you're trying to tell me that Java is a physical manifestation that I can move about as will, sort of like a book on Java? Umm..?
What do you mean by portable? Do you mean you can change the code to make it run on another box (ie it's "able" to be "ported")?
I mean it the way the dictionary defines it, perhaps? Unlike some people, I don't attempt to refute the true definition of a word at every turn. Are you somehow trying to argue that you can't write portable C code? Sure, you can make modifications to make it even more portable, but that doesn't mean that it wasn't portable in the first place. The preprocessor is your friend.
As I've said before, C is good for portability when you want to do mostly processing, but when you start doing a lot of IO (particularly network and/or user IO) it loses out.
While you are certainly entitled to your opinion, I'm still not interested, and repeating yourself ad nauseam isn't likely to change my mind, but rather to cause me to begin simply ignoring you. That said, this is not an RFC. Don't expect further responses.
not trying to add fuel to the flame, but you didn't really articulate your biases against Java, besides admitting it is somewhat "personal" in nature.
To explain this, let's go back to where this whole "C++ advocates hating Java" scenario actually came from..
From the original AC (troller =P):
Even with Java deficiencies, I'd rather Sun do the work of converting operating system depending things so I can spend my time making my code do something useful.
My response:
This quote, like the one before it, adds nothing useful to the conversation. If you'd rather "play it safe", that's your decision. Many of us, myself included, prefer the added speed, power, and flexibility inherent in, say, C++. I'm not frightened of pointers, thanks.
I never intended to get into any kind of Java vs. C/C++ discussion. I was simply annoyed at the insinuation that coding in C/C++ is a "waste of time" because it doesn't "do everything for you". Maybe I don't want to "play it safe" and have certain things like portability, etc. done for me. If I did, I'd be using another language, probably Java. =P This is why I didn't go into any technical merits. I never went about attacking Java, just the original AC poster.;)
You also acknowledge that Java is good at what it's designed to do. What exactly is that?
Well, it was originally designed as a programming language to run on all sorts of different small devices (yes, I know, I've forgotten all the important details.. Java fans leave me alone.. I'm not a history textbook, ok? =P). Something that could run on damn near anything. I don't believe it was originally intended for personal computing per se, IIRC, but I'd certainly say that it has lived up to its dream of cross-platform compatibility (and I'd rather have it running on my PC than my toaster any day).
That said, what it was designed to do and what Sun "meant" it to do are not necessarily the same thing. I also never said that it was good at everything it was designed to do (especially since it was designed to do different things throughout different parts of its life.. its certainly come a long way from when it was called "Oak", however.. =P).
The point is Java has been over-marketed by Sun, but it is a fairly versatile platform nevertheless.
Precisely.
Syntactically, Java borrows heavily from C/C++, so I wouldn't argue it's dumbed-down in any respect.
Actually I've heard it argued that Java borrows more from Objective C than C++. I've never really followed Obj-C, however, so I'm not precisely qualified to substantiate or refute that claim. It's an interesting assertation, nonetheless. Personally, I must have multiple inheritance!
That said, Java was indeed meant to be an easy-to-use language. It shies away from the more complex aspects of C++, like multiple inheritance or pointers, and does everything in its power to take care of complex tasks itself so the coder doesn't have to (memory management, portability). Therefore, it's a little more difficult for your programs to lose, as you're denied the ability to make some of the more common programming errors (most of which revolves around incorrect usage of pointers.. honestly, how much learning of C or C++ involves having all of the aspects of pointers imprinted upon your mind?).
Anyway, as I haven't had anything to do with Java since 1.2, I don't think I'm particularly qualified to expound upon its current merits. Besides which, I don't really want to weigh C++ against Java right now, due to a lack of interest and time.:) I'm sure someone more well-versed in both languages could give a more objective comparison of the two, anyway. All I can really say is that Java is a good language, it's just not for me.
Why is it that some C++ advocates hate Java so much?
I'd assume this is directed to me in particular.;) I don't hate Java. Do I dislike it? Yes. Do I use it? No, because I dislike it. Why do I dislike it? It's just not my cup of joe. I also don't trust anything that comes from Sun just on basic principle. This is not to say that Java is a horrible language. It's good at what it was designed for, just as any good programming language should be. The kinds of applications I like to write, however, are better written in C/C++ or Perl. I don't use Java because I don't have a need to use Java. If I needed to use Java, I would.
Maybe I just haven't read enough comments, Usenet postings, etc, but I haven't seen Java advocates laying into C++ ever.
I'd say a lot of posts on this thread are dedicated to just that.;) I myself had heard of but never actually seen any BSD users acting like elitist snobs spitting on Linux and using FUD tactics to get more "mind share".. Well, not until recently. =P Point is, there are zealots in all camps, and objective people in all camps. Just judge each OS, language, or whatever on their own technical merits and not what J. Random Holier-Than-Thou (insert OS, or language, or whatever) User claims as the Gospel Truth.
Look at that last line - "I'm not frightened of pointers, thanks." Well I'm not frightened of pointers either, but I don't feel like an idiot for advocating Java, which seems to be the suggestion.
You should take that in the context of the post I was replying to, and the fact that I found much of it quite offensive. Given that, I think I kept my relative cool. =P I have no problem with people advocating Java. Java programmers aren't necessarily idiots, just as people in general aren't necessarily idiots (even AOL users aren't necessarily idiots, contrary to popular belief). I'm not slamming Java, I was simply pointing out that just because C/C++ is a little more difficult to master, that doesn't make me an idiot for wanting to use it instead of Java, which takes care of a lot of things for me. Sometimes playing it safe is good. What language you use depends entirely on what you're trying to do. I prefer the added flexibility. It's just an opinion.
I use and like C++ too, but the removal of pointers from Java does so much more than make it easier on a superficial level to learn. I'm sure you know this already, but it doesn't make your point for you.
Perhaps I'm just too lazy to scan this thread at this point, but what point of mine doesn't it make for me? And yes, I already knew that.
Do C++ advocates feel under some kind of threat from Java? Some of them certainly react to it as though it has them cornered (which I'm sure it doesn't).
No, not really, on both counts, although I could certainly care less how popular Java is. If people want to use it, that's fine. Just like Perl isn't for everyone, neither is C/C++ or anything else. People just use what suits their needs the best.
Or do C++ advocates feel that Java is a dumbing-down language, like VB? I hope this isn't taken as inflamatory, I really would like to know.
I'm sure some do. I don't. It is complex, in it's own way. I just don't like how it was designed. Trying to learn it effectively after learning C++ first probably contributed to this a little. It hurts my mind, not because I don't understand it, but because I don't like it. Again, it's just a matter of opinion. It's not like I wish I could block off downloads of Java development tools akin to how people like to protest in front of abortion clinics, not allowing people to go in.;)
And no, there's nothing inflammatory about that post at all. *shrug*
..for someone who isn't a C trainer on the clock to explain in full detail. Most decent books on C should teach you all about most of this stuff.
The only thing I'd ask you to keep in mind is that when a person talks about how portable a language is, they're usually talking about how portable software written in that language is rather than the language itself. Notable exceptions (sort of) include Perl, which is itself a C application. You should also note a distinct difference between the usage of the terms "portable", "extremely portable", and "100% portable". C is "extremely portable", not "100% portable".
No, C does not do the porting for you. C doesn't do a lot of things for you. Languages are written with certain concerns in mind. None of them are a silver bullet. If there was a silver bullet language, we wouldn't have so many. C focuses on performance, power, flexibility, portability, etc. If C did the porting for you, you'd likely take a performance hit. It's a constant trade-off. Saying C isn't portable is an incorrect statement. Saying you'd rather have a language that made your software portable for you is an opinion, and one anyone is welcome to, like all opinions. Just don't confuse the issue.
..I would have to say that if you hadn't mentioned C++ I wouldn't have been unable to maintain my relative calm.;) However, I think that many are missing the entire point. The person who submitted this query doesn't want to stick to a single language. Therefore, I doubt they found the original post on this thread to be of much value. It did, however, seem to spawn off a number of subthreads, many of the posts in which could be accurately assessed as a part of a holy war, something else the person who submitted this query didn't want. A la:
I would like to program distributed systems using the same code base on multiple platforms and multiple languages therefore I am asking around...
I just have a wishlist and I am looking for answers and opinions, not a holy war.
Let's stay on the ball, here, people. A Java vs. C holy war is completely missing the point of this entire discussion.
C/C++ is 100% portable? Sure, a for loop works the same on all platforms. Or does it? Better make sure you have ANSI compatible compilers. Better turn off any non-ANSI features.
If you're not using ANSI, you're not really using portable C. C is highly portable if you comply with ANSI. And you know, if you don't know how to force your compiler to compile under strict compliance with ANSI, you really don't have any business coding in C/C++. Besides, practically every C compiler in existence supports the ANSI C standard (in that it allows you to compile ANSI C either by default or by conscious choice). Those C compilers which do not provide ANSI support are not in very widespread use.
What about things that ANSI does not specify?
Like graphics programming? =P Yes, the original poster was incorrect in their assertion that C is 100% portable (as an entire language). ANSI C is extremely portable, however. One might even go so far to say that except for those parts of your program which go beyond the scope of what ANSI covers, if you're not using ANSI C, you're not really using C at all.
Actually Java pushes the limits even further with support for threading and graphical interfaces. Give me a C/C++ program that has threading. Next get that to even pretend to work cross platform. It ain't gonna happen. Give credit where credit is due!
Are you trying to tell me either a) that the Linux kernel doesn't support threading or b) that the Linux kernel is written in Java?
I haven't looked at Apache but I would really be surprised if it did not contain plentiful #ifdef's and tons of platform specific Makefile foo. Same with GIMP. Having personally done cross-platform porting for a commercial product, I can tell you C/C++ code porting is NOT a trivial task.
This in no way refutes the original poster's assertations. No one said that portability in C was easy.. Obviously portable C code is going to include #ifdef's.. They're what helps make C so portable. Indeed, by using them and ANSI C, you can make your C programs 100% portable to every platform you so desire. Or are you in some way trying to suggest that taking advantage of every resource C makes available to you in order to make your code portable is stupid? That's about as "sound" a theory as PC Week saying that no one would apply 21 security patches to Red Hat Linux.
Even with Java deficiencies, I'd rather Sun do the work of converting operating system depending things so I can spend my time making my code do something useful.
This quote, like the one before it, adds nothing useful to the conversation. If you'd rather "play it safe", that's your decision. Many of us, myself included, prefer the added speed, power, and flexibility inherent in, say, C++. I'm not frightened of pointers, thanks.
Would you rather get your security patches the day after they are available, or would you rather wait for Microsoft to bundle several security patches up into a Service Pack CD?
..which of course come a) without source b) with additional 'features' (like more bugs) c) without the ability to test each 'fix' individually to see if it's actually worth applying and d) far too late to be worth the trouble (your system has already been compromised.. sorry).
Personally, I wish ZD would get a clue. The choice is rather obvious. Patches that include only (wow!) the one patch you need to fix the one problem seem almost.. useful.. to me. Especially since you can look at the source, etc. How much more careful can you possibly be? =P
Just think.. If all these people are so worried about and getting easily screwed over by crackers and script kiddies, just imagine if more actual hackers were lame enough to devote most of their time cracking.. Of course, knowing the media, upon the arrival of people with actual intelligence on the 'hacking' scene, the 'lesser' 'hackers' would still be called hackers, and the 'elite' 'hackers' would probably finally be called crackers.. and thus, completely reverse the meanings of the two words in their own minds. =P
No need for apologies. I kind of figured the problem was something along those lines. Unfortunately, most typos aren't that confusing.;) Thanks for the clarification.
..that it's not doing the same for the "yeah, more firepower to crush the Evil Empire with!!!!" madness amongst the Slashdot readership. Perhaps it would be best to judge each distro and think about how you (in the broad sense) feel about their popularity (or lack thereof) based on their particular merits, and not based on how likely they are to help topple Microsoft? After all, you should support something you like, not just anything that isn't MS.. Or else you might as well support an OS that's been around a while, like MacOS, and forget all about these silly "Linux", "BSD", and "BeOS" thingies..
At any rate, I think it would be funny if Intel suddenly lost its mind (ok, that's subject to debate, especially in light of the recent rechristening of the "Merced" chip.. ugh) and invested heavily in every distro maker.. only to see most of the distros get sucked under.. along with their money.;)
A lot of people have trouble understanding that beta-tests are distribution. But when you transfer a copyrighted work between two different legal entities, that's distribution.
I think you've spent a little too much time making your mark on this discussion, Bruce.. (not that I mind seeing some actually intelligent, factual posts, but the above seems a little confusing at first glance..) Using the word "but" in and of itself would seem to indicate to me that the current sentence was an exception to the preceding one.. which would mean that you would have meant to say that "people have trouble understanding that beta-tests are [not] distribution", and I rather doubt that, given the context.. unless, of course, you also meant to say that "that [internal company employee only] beta-tests are [not] distribution", which again, given the context, seems to be the most accurate assertation.
Care to clarify, or have I pretty much nailed it on the head? I can't be entirely sure due to the confusing nature of the wording involved. Perhaps it's just because I don't take too well to subtlety. Who knows..?
P.S. The first sentence is a reference to the notion that once you take it upon yourself to reply to a large number of posts within a single discussion, being forced to repeat yourself often, you're likely to slip up somewhere, however slight.;)
I don't believe I stated that *BSD was a derivative because it included any of the original Unix code. I said that it evolved from the original Unix code. This does not mean that the original Unix code will remain inside of it. By your reasoning, a clean-room implementation of a JVM like Japhar is a 'derivative'. If you would like to think so, that's fine, I guess. However, I would call it a clone. Why? Because it did not evolve from the original code.
When you clone an animal you take a single cell and grow it into a full animal (or whatever). When you clone a piece of software, you take the idea (or specifications) and 'grow' the code from there. Will the implementations look the same, source-wide? Probably not. Will they act, do, and be very much the same end-user wise? Well, if the 'cloning' hacker is not in serious need of a clue-by-four upside the head, yes.
Saying that GNU/Linux was derived from Unix/POSIX/whatever specifications would be a more accurate statement, although a cumbersome one to make. Saying it is a Unix clone would be the preferred statement in terms of brevity and clarity.
I'm happy for that you Mr/Ms Sushi, that the world is so black and white, so clear cut, that the only reason GNU/Linux is not derived from Unix is something as simple as sourcecode.
Oh, well, I'm convinced. I'll go back to playing around on my MacOS derivative (Windows) now, seeing as it is derived from the idea of a graphical point-and-click hell. =P
Seriously, and more technically accurate, I would have to say that I'm about the last person to say the world is completely black and white. It's interesting that you have decided to enlighten me of your rather narrow and short-sighted view, however.
One day someone will actually read my posts and ponder what I said before replying. I'm rather offended that someone would think that I thought NetBSD, etc. was chalk full of the original Unix code. Gah. I think it's funny that everyone reads between the lines of what I say when there's almost nothing there to read.;)
As I have mentioned previously, I do not attempt the impossible and highly paradoxical task of disproving an opinion. And since I don't design my comments to entertain (but rather to make my thoughts known and occasionally troll - even I get bored), I'm not particularly concerned. Be bored. I'm not forcing you to read my commentary.
Actually, I've found a distinct increase in noise lately. Most of the articles are pretty boring (AFAIC), and I often find myself equally disinterested in those articles which accumulate a modest 50 or so posts and those which acquire well over a couple hundred or so.
I have noticed a few comments to the effect that this "Roblimo" person has been posting an incredibly large amount of articles the past few days, but I'm not sure if that causes this paragraph to correlate to the first.. (and I wonder why the moderators don't appreciate my more-than-slightly off sense of humor..)
And strangely enough, I haven't really noticed any marked increase in posts. In fact, I've gotten quite bored the past few days waiting for an interesting topic, or even a topic I feel is worth talking about to come up.. usually becoming rather.. disappointed.. Maybe I'm just bitter because all of my story ideas get shot down (not that I don't understand why with most of them.. hee hee..).;)
Oh, um, wait.. "the past few weeks"? Ah, sorry.. My attention span isn't generally that long. I thought we were talking about the past few hours or something. =L
That sort of depends on where you live. AFAIC, you've got the third article of the day.. Well, second or third depending on whether or not you consider day to be as in "I see sunlight" or "hey, look, it's past midnight".. Then again, since the story before it was posted in the same hour, yours would still be the second story of the day.;)
I will note, however, that it is interesting indeed to see a post marked as #1 that is actually intelligent commentary rather than "AW YEA 1ST POST I ROOLZ UZ BITCHEZ, DOODZ!!" =P
The last time I checked NPL gave way too much control over to Netscape/AOL to be a seriously considered as a non-profit, volunteer based effort (and I sure wouldn't contribute to any other kind,) now I see that they have an MPL in response to the criticism they received.
Yes, the NPL is indeed another one of those sneaky bastard "open source" licenses.. However, it was finalized sometime in 1998, and I don't believe AOL bought Netscape until 1999, IIRC (I don't know, do I? =P). I'm not too excited about the MPL either, however, although it is better than the NPL.. Being somewhat of a die-hard GPL'er, I'm annoyed with the MPL's incompatibility with it..
Could anyone more proficient in legalese comment on MPL, and the differences between it and L/GPL?
You may want to read On the Netscape Public License by Richard Stallman. It covers the differences between the NPL, MPL, and GPL. The GNU Project Web site is also an excellent source of information with regards to free software in general, the GNU philosophy, and the history of the movement.;) Ok, so, enough shameless plugs..
And whatever the answer, could someone just please start a GPL browser project? Or is that being worked on already?
There are a couple well-known ones.. And a few others that I can't think of right now.. The first, and most obvious, would be Lynx, but I rather doubt that is what you are looking for.. On the other hand, there is Emacs/W3, which you may find to be of a little more interest.
I'd say something on my own behalf, but I remembered a (somewhat) fitting quote from the Jargon File:
The last part of that quote is key. Why doesn't anyone really bother? It's a waste of time. Eventually the media will get it (maybe), but certainly not any time soon. Remember, some newspapers still think that HTML is a programming language..
As far as references to Slashdotters go.. A lot of Slashdotters have objected to the proper use of the term hacker, and often tell everyone to "just shut up about it".. I'd imagine that most actual hackers don't have any interest in it, most crackers call themselves hackers anyway so they probably think that the media is correct, script kiddies would certainly rather be called crackers or hackers, and most people who actually know the differences between all of these terms don't really find much interest in it either.
If anyone is that excited about it, register a domain name (that makes sense for this purpose) and write all sorts of "hacker != cracker" propaganda, then feed the links to as many "media types" and "geek sites" (like Slashdot), and maybe something will happen. I kind of doubt it, and I for one have other, more productive ways to waste my time (at least AFAIC =P).
Installation and configuration of computer systems for Joe Public are the job of computer manufacturers (sp?) like Dell, etc. Distros do not need to be "point-and-drool" right out of the box. Honestly, when's the last time you saw Joe Public buy a computer and Windows separately, then try to install Windows? All the free software community has to do is put together all of the different tools. It's up to computer companies to sell preinstalled, preconfigured systems (which would include setting defaults.. wow, look ma, I don't have to think anymore..! possibly setting up aliases so if Joe Clueless Newbie really does have to use a Unix shell he might not get so scared.. or maybe he'll actually like the original commands.. who knows?). Other than that, I doubt that the community as a whole particularly cares all that much about slamming down the gauntlet in front of M$ with regards to the desktop. Hackers tend to make things they feel to be particularly useful to them, or else things they feel the community at large could benefit from, whatever. That said, I don't think anything you said is anything that hasn't been mentioned a few million times or so now, and I rather doubt a call for "making GNU/Linux point-and-drool!" on Slashdot is going to have any kind of positive effect whatsoever.
By the way, with regards to your complaints about X: refer yourself to this site.
I had a 64-processor Solaris setup at home for months until someone finally clued me in on this `Linux' thing..! ;)
How do you see that, precisely..? I guess I have to turn on my television for once for this one..
How precisely do you reconcile points 1 and 3? Joe Public won't use a CLI if a GUI can save him from it. Moreover, suggestions that one should "dumb down" a Unix-type shell are inflammatory and absurd. Do you honestly think I want to type in "remove" rather than "rm"? Besides, have you ever heard of aliases? If they really wanted to, computer makers could preconfigure your system to allow for these magical things, aliases.
Not only that, but are you trying to insinuate that MacOS has a CLI? Isn't one of the main knocks against MacOS the notion that all it has is a GUI? Maybe I just haven't played with Macs enough.. And who in the hell do you think really uses the CLI on a Windows system? Joe Public? Suure.. By the way, there are already major inroads into making Linux "pretty" with graphical "point-and-click", or do you not keep up with current trends?
I can't help but wonder.. are you insinuating that many (most?) geeks who now use Linux at home used to use SCO stuff at home..? What, no one who uses Linux on their boxen at home today ever used Windows there in its stead? Or was this just an incredibly badly worded assertation? (yes, I'm honestly confused) =P
I also found it interesting that you chose to preempt any inflammatory comments with an offensive remark of your own. Perhaps you should consider being, more, ah, polite?
I really should stop trying to do anything useful when I first wake up. I think it's kind of obvious that I clicked on the wrong checkbox. ;) Blah. Time for.. more.. caf.. feine..
Perhaps I'm just dense, but what in the hell does this have to do with C++ advocates? Since you never mentioned once that these people knew C++, instead saying they knew C and you were trying to "advance" them into Objective C or Java, I don't see how this is even mildly on topic.
I would like to assert that while an intelligent programmer will have more than one language of choice, he will not , I repeat not program in every language imaginable .. Thus, maybe he will never use Java throughout his entire life. Big.. deall..! By the way, did you really mean to say that "they" would assert that Java is useless, as you have, or were you trying to say that "they" would not assert that Java is useless?
So, again, I have to wonder if you are still talking about C programmers (which is off topic) or are now talking about C++ programmers (in which case your arguements make even less sense)..
Just because you think Obj-C and Java are totally badass and just flat-out wipe the floor with C++ doesn't mean that a C (or C++) programmer trying to learn either is going to agree with you. And since there is a third choice, C++, to "migrate" to, it seems like a biggoted statement to assert that C programmers who don't want to learn Obj-C or Java are "resistant to any sort of change" or "lazy or scared or both".. I myself managed to migrate from C to C++, which is a drastic change in philosophy and style, or had you not noticed that? Just because I don't want to go to your languages of choice, that makes me lazy, scared, resistant to change? Or are you trying to tell me that C++ isn't that much of a change? Well, surprise, it is. Obj-C, however, isn't much of a change. I'd rather use Java than Obj-C (which is practically worthless AFAIC).
Probably because they just didn't like the way it was designed? I'd imagine even many C programmers (those who haven't evolved into something else yet) would enjoy a good range of flexibility and not want to give it up so easily. I wouldn't know, because I learned Java after C++, not directly after C.
At any rate, how can you even talk about others having "borderline irrational" arguements when the topic of this particular subthread is C++ programmers, which by their very nature do not fit into the mold you ascribe to them (given that they were once C programmers to begin with, of course), and you're just talking about how a bunch of C programmers didn't want to learn Obj-C or Java. Maybe you should tell us if any of these "clueless idiots" ever managed to learn C++, hmm?
Since this was spun off from a comment I made, I find myself highly offended and directly insulted, as I do not like myself being referred to in such a manner. Or are you just completely abstracting the topic at this point to where it doesn't even apply to me anymore? That would make sense, since you're not even on the right topic. If not, then see this post, which is the culmination of this subthread, which you really should have let me spawn off from the comment you replied to before spouting off with your biggoted nonsense, as I believe it was a call for rational discussion, not your lopsided assertations. Again I have to wonder what makes you so holier-than-thou that you accuse others of borderline irrational arguements. Stay.. on.. the.. ball..!
..you're wasting my time. Why don't you go see what Merriam-Webster has to say? Actually, I'll save you the 2 - 10 second search:
You'll note the subjectiveness of the word "many". I could consider anything greater-than or equal to 1 to be "many", although for the purpose of this definition, I'd be considered rather stupid for equating "many" with "1" (as I probably would be in general, anyway), but certainly there is little room for debate that any number greater-than one could be considered to be "many" (remember, this is subjective, not objective).
Well, I guess "a lot of people" would be, um, dead wrong .. The definition clearly states "many" not "all". Big difference, a la what I already said:
Hopefully you can figure out what that sentence means at this point, because I'm not going to bother explaining it further.
What does Merriam have to say about this?
So basically you're trying to tell me that Java is a physical manifestation that I can move about as will, sort of like a book on Java? Umm..?
I mean it the way the dictionary defines it, perhaps? Unlike some people, I don't attempt to refute the true definition of a word at every turn. Are you somehow trying to argue that you can't write portable C code? Sure, you can make modifications to make it even more portable, but that doesn't mean that it wasn't portable in the first place. The preprocessor is your friend.
While you are certainly entitled to your opinion, I'm still not interested, and repeating yourself ad nauseam isn't likely to change my mind, but rather to cause me to begin simply ignoring you. That said, this is not an RFC. Don't expect further responses.
To explain this, let's go back to where this whole "C++ advocates hating Java" scenario actually came from..
From the original AC (troller =P):
My response:
I never intended to get into any kind of Java vs. C/C++ discussion. I was simply annoyed at the insinuation that coding in C/C++ is a "waste of time" because it doesn't "do everything for you". Maybe I don't want to "play it safe" and have certain things like portability, etc. done for me. If I did, I'd be using another language, probably Java. =P This is why I didn't go into any technical merits. I never went about attacking Java, just the original AC poster. ;)
Well, it was originally designed as a programming language to run on all sorts of different small devices (yes, I know, I've forgotten all the important details.. Java fans leave me alone.. I'm not a history textbook, ok? =P). Something that could run on damn near anything. I don't believe it was originally intended for personal computing per se, IIRC, but I'd certainly say that it has lived up to its dream of cross-platform compatibility (and I'd rather have it running on my PC than my toaster any day).
That said, what it was designed to do and what Sun "meant" it to do are not necessarily the same thing. I also never said that it was good at everything it was designed to do (especially since it was designed to do different things throughout different parts of its life.. its certainly come a long way from when it was called "Oak", however.. =P).
Precisely.
Actually I've heard it argued that Java borrows more from Objective C than C++. I've never really followed Obj-C, however, so I'm not precisely qualified to substantiate or refute that claim. It's an interesting assertation, nonetheless. Personally, I must have multiple inheritance!
That said, Java was indeed meant to be an easy-to-use language. It shies away from the more complex aspects of C++, like multiple inheritance or pointers, and does everything in its power to take care of complex tasks itself so the coder doesn't have to (memory management, portability). Therefore, it's a little more difficult for your programs to lose, as you're denied the ability to make some of the more common programming errors (most of which revolves around incorrect usage of pointers.. honestly, how much learning of C or C++ involves having all of the aspects of pointers imprinted upon your mind?).
Anyway, as I haven't had anything to do with Java since 1.2, I don't think I'm particularly qualified to expound upon its current merits. Besides which, I don't really want to weigh C++ against Java right now, due to a lack of interest and time. :) I'm sure someone more well-versed in both languages could give a more objective comparison of the two, anyway. All I can really say is that Java is a good language, it's just not for me.
I'd assume this is directed to me in particular. ;) I don't hate Java. Do I dislike it? Yes. Do I use it? No, because I dislike it. Why do I dislike it? It's just not my cup of joe. I also don't trust anything that comes from Sun just on basic principle. This is not to say that Java is a horrible language. It's good at what it was designed for, just as any good programming language should be. The kinds of applications I like to write, however, are better written in C/C++ or Perl. I don't use Java because I don't have a need to use Java. If I needed to use Java, I would.
I'd say a lot of posts on this thread are dedicated to just that. ;) I myself had heard of but never actually seen any BSD users acting like elitist snobs spitting on Linux and using FUD tactics to get more "mind share".. Well, not until recently. =P Point is, there are zealots in all camps, and objective people in all camps. Just judge each OS, language, or whatever on their own technical merits and not what J. Random Holier-Than-Thou (insert OS, or language, or whatever) User claims as the Gospel Truth.
You should take that in the context of the post I was replying to, and the fact that I found much of it quite offensive. Given that, I think I kept my relative cool. =P I have no problem with people advocating Java. Java programmers aren't necessarily idiots, just as people in general aren't necessarily idiots (even AOL users aren't necessarily idiots, contrary to popular belief). I'm not slamming Java, I was simply pointing out that just because C/C++ is a little more difficult to master, that doesn't make me an idiot for wanting to use it instead of Java, which takes care of a lot of things for me. Sometimes playing it safe is good. What language you use depends entirely on what you're trying to do. I prefer the added flexibility. It's just an opinion.
Perhaps I'm just too lazy to scan this thread at this point, but what point of mine doesn't it make for me? And yes, I already knew that.
No, not really, on both counts, although I could certainly care less how popular Java is. If people want to use it, that's fine. Just like Perl isn't for everyone, neither is C/C++ or anything else. People just use what suits their needs the best.
I'm sure some do. I don't. It is complex, in it's own way. I just don't like how it was designed. Trying to learn it effectively after learning C++ first probably contributed to this a little. It hurts my mind, not because I don't understand it, but because I don't like it. Again, it's just a matter of opinion. It's not like I wish I could block off downloads of Java development tools akin to how people like to protest in front of abortion clinics, not allowing people to go in. ;)
And no, there's nothing inflammatory about that post at all. *shrug*
(yet more sleep-deprived posting)
..for someone who isn't a C trainer on the clock to explain in full detail. Most decent books on C should teach you all about most of this stuff.
The only thing I'd ask you to keep in mind is that when a person talks about how portable a language is, they're usually talking about how portable software written in that language is rather than the language itself. Notable exceptions (sort of) include Perl, which is itself a C application. You should also note a distinct difference between the usage of the terms "portable", "extremely portable", and "100% portable". C is "extremely portable", not "100% portable".
No, C does not do the porting for you. C doesn't do a lot of things for you. Languages are written with certain concerns in mind. None of them are a silver bullet. If there was a silver bullet language, we wouldn't have so many. C focuses on performance, power, flexibility, portability, etc. If C did the porting for you, you'd likely take a performance hit. It's a constant trade-off. Saying C isn't portable is an incorrect statement. Saying you'd rather have a language that made your software portable for you is an opinion, and one anyone is welcome to, like all opinions. Just don't confuse the issue.
..I would have to say that if you hadn't mentioned C++ I wouldn't have been unable to maintain my relative calm. ;) However, I think that many are missing the entire point. The person who submitted this query doesn't want to stick to a single language. Therefore, I doubt they found the original post on this thread to be of much value. It did, however, seem to spawn off a number of subthreads, many of the posts in which could be accurately assessed as a part of a holy war, something else the person who submitted this query didn't want. A la:
Let's stay on the ball, here, people. A Java vs. C holy war is completely missing the point of this entire discussion.
(more sleep-deprived posting from yours truly)
If you're not using ANSI, you're not really using portable C. C is highly portable if you comply with ANSI. And you know, if you don't know how to force your compiler to compile under strict compliance with ANSI, you really don't have any business coding in C/C++. Besides, practically every C compiler in existence supports the ANSI C standard (in that it allows you to compile ANSI C either by default or by conscious choice). Those C compilers which do not provide ANSI support are not in very widespread use.
Like graphics programming? =P Yes, the original poster was incorrect in their assertion that C is 100% portable (as an entire language). ANSI C is extremely portable, however. One might even go so far to say that except for those parts of your program which go beyond the scope of what ANSI covers, if you're not using ANSI C, you're not really using C at all.
Are you trying to tell me either a) that the Linux kernel doesn't support threading or b) that the Linux kernel is written in Java?
This in no way refutes the original poster's assertations. No one said that portability in C was easy .. Obviously portable C code is going to include #ifdef's.. They're what helps make C so portable. Indeed, by using them and ANSI C, you can make your C programs 100% portable to every platform you so desire. Or are you in some way trying to suggest that taking advantage of every resource C makes available to you in order to make your code portable is stupid? That's about as "sound" a theory as PC Week saying that no one would apply 21 security patches to Red Hat Linux.
This quote, like the one before it, adds nothing useful to the conversation. If you'd rather "play it safe", that's your decision. Many of us, myself included, prefer the added speed, power, and flexibility inherent in, say, C++. I'm not frightened of pointers, thanks.
..which of course come a) without source b) with additional 'features' (like more bugs) c) without the ability to test each 'fix' individually to see if it's actually worth applying and d) far too late to be worth the trouble (your system has already been compromised.. sorry).
Personally, I wish ZD would get a clue. The choice is rather obvious. Patches that include only (wow!) the one patch you need to fix the one problem seem almost.. useful.. to me. Especially since you can look at the source, etc. How much more careful can you possibly be? =P
..what in the hell are you babbling about?
Just think.. If all these people are so worried about and getting easily screwed over by crackers and script kiddies , just imagine if more actual hackers were lame enough to devote most of their time cracking .. Of course, knowing the media, upon the arrival of people with actual intelligence on the 'hacking' scene, the 'lesser' 'hackers' would still be called hackers, and the 'elite' 'hackers' would probably finally be called crackers.. and thus, completely reverse the meanings of the two words in their own minds. =P
No need for apologies. I kind of figured the problem was something along those lines. Unfortunately, most typos aren't that confusing. ;) Thanks for the clarification.
And congratulations. =)
..that it's not doing the same for the "yeah, more firepower to crush the Evil Empire with!!!!" madness amongst the Slashdot readership. Perhaps it would be best to judge each distro and think about how you (in the broad sense) feel about their popularity (or lack thereof) based on their particular merits, and not based on how likely they are to help topple Microsoft? After all, you should support something you like, not just anything that isn't MS.. Or else you might as well support an OS that's been around a while, like MacOS, and forget all about these silly "Linux", "BSD", and "BeOS" thingies..
At any rate, I think it would be funny if Intel suddenly lost its mind (ok, that's subject to debate, especially in light of the recent rechristening of the "Merced" chip.. ugh) and invested heavily in every distro maker.. only to see most of the distros get sucked under.. along with their money. ;)
I think you've spent a little too much time making your mark on this discussion, Bruce.. (not that I mind seeing some actually intelligent, factual posts, but the above seems a little confusing at first glance..) Using the word "but" in and of itself would seem to indicate to me that the current sentence was an exception to the preceding one.. which would mean that you would have meant to say that "people have trouble understanding that beta-tests are [not] distribution", and I rather doubt that, given the context.. unless, of course, you also meant to say that "that [internal company employee only] beta-tests are [not] distribution", which again, given the context, seems to be the most accurate assertation.
Care to clarify, or have I pretty much nailed it on the head? I can't be entirely sure due to the confusing nature of the wording involved. Perhaps it's just because I don't take too well to subtlety. Who knows..?
P.S. The first sentence is a reference to the notion that once you take it upon yourself to reply to a large number of posts within a single discussion, being forced to repeat yourself often, you're likely to slip up somewhere, however slight. ;)
I don't believe I stated that *BSD was a derivative because it included any of the original Unix code. I said that it evolved from the original Unix code. This does not mean that the original Unix code will remain inside of it. By your reasoning, a clean-room implementation of a JVM like Japhar is a 'derivative'. If you would like to think so, that's fine, I guess. However, I would call it a clone. Why? Because it did not evolve from the original code.
When you clone an animal you take a single cell and grow it into a full animal (or whatever). When you clone a piece of software, you take the idea (or specifications) and 'grow' the code from there. Will the implementations look the same, source-wide? Probably not. Will they act, do, and be very much the same end-user wise? Well, if the 'cloning' hacker is not in serious need of a clue-by-four upside the head, yes.
Saying that GNU/Linux was derived from Unix/POSIX/whatever specifications would be a more accurate statement, although a cumbersome one to make. Saying it is a Unix clone would be the preferred statement in terms of brevity and clarity.
Oh, well, I'm convinced. I'll go back to playing around on my MacOS derivative (Windows) now, seeing as it is derived from the idea of a graphical point-and-click hell. =P
Seriously, and more technically accurate, I would have to say that I'm about the last person to say the world is completely black and white. It's interesting that you have decided to enlighten me of your rather narrow and short-sighted view, however.
One day someone will actually read my posts and ponder what I said before replying. I'm rather offended that someone would think that I thought NetBSD, etc. was chalk full of the original Unix code. Gah. I think it's funny that everyone reads between the lines of what I say when there's almost nothing there to read. ;)
As I have mentioned previously, I do not attempt the impossible and highly paradoxical task of disproving an opinion. And since I don't design my comments to entertain (but rather to make my thoughts known and occasionally troll - even I get bored), I'm not particularly concerned. Be bored. I'm not forcing you to read my commentary.
Actually, I've found a distinct increase in noise lately. Most of the articles are pretty boring (AFAIC), and I often find myself equally disinterested in those articles which accumulate a modest 50 or so posts and those which acquire well over a couple hundred or so.
I have noticed a few comments to the effect that this "Roblimo" person has been posting an incredibly large amount of articles the past few days, but I'm not sure if that causes this paragraph to correlate to the first.. (and I wonder why the moderators don't appreciate my more-than-slightly off sense of humor..)
And strangely enough, I haven't really noticed any marked increase in posts. In fact, I've gotten quite bored the past few days waiting for an interesting topic, or even a topic I feel is worth talking about to come up.. usually becoming rather.. disappointed.. Maybe I'm just bitter because all of my story ideas get shot down (not that I don't understand why with most of them.. hee hee..). ;)
Oh, um, wait.. "the past few weeks"? Ah, sorry.. My attention span isn't generally that long. I thought we were talking about the past few hours or something. =L
That sort of depends on where you live. AFAIC, you've got the third article of the day.. Well, second or third depending on whether or not you consider day to be as in "I see sunlight" or "hey, look, it's past midnight".. Then again, since the story before it was posted in the same hour, yours would still be the second story of the day. ;)
I will note, however, that it is interesting indeed to see a post marked as #1 that is actually intelligent commentary rather than "AW YEA 1ST POST I ROOLZ UZ BITCHEZ, DOODZ!!" =P
Yes, the NPL is indeed another one of those sneaky bastard "open source" licenses.. However, it was finalized sometime in 1998, and I don't believe AOL bought Netscape until 1999, IIRC (I don't know, do I? =P). I'm not too excited about the MPL either, however, although it is better than the NPL.. Being somewhat of a die-hard GPL'er, I'm annoyed with the MPL's incompatibility with it..
You may want to read On the Netscape Public License by Richard Stallman. It covers the differences between the NPL, MPL, and GPL. The GNU Project Web site is also an excellent source of information with regards to free software in general, the GNU philosophy, and the history of the movement. ;) Ok, so, enough shameless plugs..
There are a couple well-known ones.. And a few others that I can't think of right now.. The first, and most obvious, would be Lynx, but I rather doubt that is what you are looking for.. On the other hand, there is Emacs/W3, which you may find to be of a little more interest.