GNU Grep and Sed Maintainer Quits: RMS and FSF Harming GNU Project
In a scathing rant posted to a GNU project mailing list, the maintainer of grep and sed announced that he was quitting the GNU project over technical and administrative disagreements. Chief among them: He believes RMS is detrimental to the project by slowing down technical innovation (the example used was RMS's distaste for C++, not exactly a strong point against RMS). Additionally, he noted that the FSF is not doing enough to help GNU "Projects such as gnash are bound to have constant funding problems despite being (and having been for years) in the FSF's list of high priority projects.". Finally: "Attaching the GNU label to one's program has absolutely no
attractiveness anymore. People expect GNU to be as slow as an elephant,
rather than as slick as a gazelle, and perhaps they are right. Projects
such as LLVM achieve a great momentum by building on the slowness of
GNU's decision processes, and companies such as Apple get praise even
if they are only embracing these projects to avoid problems with GPLv3."
The author is quick to note that he has no philosophical disagreements with GNU or the FSF.
I knew about Linus Torvalds's distaste of C++, but not Richard Stallman's. What is it with open-source leaders and their irrational hate of C++?
C++ is crap, but when the alternatives are a tasteful subset of C++ and a half-arsed reimplementation of a horrible subset of C++ in C macros, I'd rather take C++ and bitch about it than suffer in C. There are very few places where C++ is the right tool for the job, but C is often not the right tool for these either.
I am TheRaven on Soylent News
When using RAII sensibly, C++ does offer excellent support for babysitting your memory usage. In fact, it offers superb support for managing any sort of a resource that needs to be allocated and later deallocated. There is no good equivalent in C.
These days, C++'s modern smart pointer classes make memory management a complete non-issue. You get very predictable and effortless freeing of memory, all without having the performance of your app destroyed by garbage collection like you do when using a language like Java, C# or Ruby.
This is just the power of C++ in action. It lets you easily build minimal-cost abstractions upon C.
That's why all of the leading DBMS's and most Triple-A video games are primarily written in C++, as well as the guts of Google's search engine, Amazon's order and fulfillment system, Microsoft Office and Exchange server, etc.
Because these people don't realize that C++ sucks that's why!
That isn't quite what he said.
He said that GNU isn't attractive because the leadership isn't effective. It takes too long to make decisions. Sounds to me like "analysis paralysis", or at least typical management where people are too busy playing politics instead of trying to create something awesome.
Love sees no species.
He didn't master the tool called "C++", so he got himself a toy called "C#". Now he bitches about the tool when in reality his own conceptual and practical incompetence is to blame.
It's like I just got out of a hot tub time machine and it's 1995.
Glacially slow development in GNU projects? That's not new.
Linux would not exist without the annoying aspects of GNU and the FSF. They would have made their own kernel in a timely fashion and Linus may never have been motivated to make his own.
In other news: water is wet and apples fall out of trees.
A Pirate and a Puritan look the same on a balance sheet.
True, but those few people who use C++ correctly seem to have learned their lessons with C.
That may be, at least in part, because many of the less than ideal aspects of C++ come from its C heritage.
I don’t understand some of the arguments made against C++ by certain “elder statesmen” of the OSS world. It seems they don’t like some of the extra functionality available in C++, seeing it as overcomplicated or too readily able to hide behaviour. In itself, that’s a reasonable concern. But then they use C, and reinvent the same wheels using crude text substitution macros that could be doing or interacting with anything.
On another forum discussion a few days ago, I saw someone argue that the Linux kernel is very readable, citing this C file as an example. I’m still not sure whether their comment was meant to be sarcasm.
No, that would be Thompson and Ritchie. Stallman's neckbeard has spread horizontally to try and compete, but it's still no match for the epic reach into the neck Thompson's has in that shot.
It is not hard to find examples of why C++ is bad. C++ is statically typed, but fails to deliver the sort of type system power that ML gives programmers. C++ is object oriented, but provides no metaobject protocol and forces programmers to resort to its clumsy templates system to do things that are not hard in languages with MOPs. C++ programmers are expected to figure out whether or not they should use a shared_ptr, weak_ptr, or unique_ptr, or if they should just give up on smart pointers and try to manage memory deallocation on their own (and, of course, there is no garbage collector, not even an optional one). The fact that "move semantics" and "r-value references" are considered to be highlights of C++11 speaks volumes about C++.
For me, the major issues in C++ are not even the lack of features, although most people start there; I point to the difficulty with writing reliable code in C++ as the most important problem. C++ exceptions are only useful in cases where there is no possible way to recover from an error. There are situations in C++ where exceptions are the only way to signal an error; thus there are situations in C++ where recoverable errors become unrecoverable for no reason other than deficiencies in the language. Worse still, the very situations where exceptions are the only way to signal an error also happen to be the situations where throwing an exception is dangerous: constructors and destructors. Beyond handling errors, there is the lengthy list of undefined behavior in C++, much of which could have been defined without any ill effects. The C++ standard even fails to rule out programs that could not possibly make any sense; for example, having a non-void function without any return statements (yes, most compilers will warn you about that -- but warnings are not part of the standard, and if most compilers can detect this there is really no excuse for the standard not explicitly forbidding it).
It is not hard to understand why "C++ is horrible" has become the go-to response to any comment about C++. It is a horrible language, and it is likely a culprit in the billions of dollars wasted on software bugs each year (buffer overflows, dangling pointers, etc.). It is a horrible language because it is inflexible, it lacks expressive power, and it makes things that are simple in other high-level languages needlessly difficult (how do you give the user a macro system that allows them to extend any feature of your program in C++? In some languages, that is as simple as giving the user access to a REPL, from which they can override or extend any behavior.). We are, unfortunately, stuck with this language, and will likely be stuck with it for a while (though I am hopeful that the need for reliable healthcare software will ultimately kill C++, MUMPS, and other awful languages).
Palm trees and 8
As an IBM employee, I am equally without words.
Yeah, and here are some applications that run in demanding environments, that were not written in C++, and that you would probably be hard-pressed to write in C++ (at least with the same results):
Example 1: a DSL. Nice, but for demanding environments, go check ADA - full blown OOP - and generally slower than C++.
Example 2: A FTT routine, how nice. Having worked with assembly implementations on several architectures, hardly a good example - except if you look at all that "demanding" software that also uses FFT in C++. And its not like C++ is a black container unable to use 3rd party libraries.
Example 3: A fringe functional language. Don't get me wrong, I actually like some of the concepts of Haskell, but it is not a mainstream language, nor is an "industry standard" (except some specific companies), And Haskel is actually SLOWER than C++. A lot.
Why are you bitching about "demanding environments"? Can you enumerate which companies RMS has worked for? Because what I see is a guy completely out of touch with reality. And you may like him a lot, thats your problem, but if he had his way, you'd be compiling your ghc with EGCS today. If you think C++ is so broken, tell me - what is the size (bytes) of an unsigned int in C? Why promote so shamelessly such a defect-prone language - specially after a decade of vunlerabilities related to the poor implementation of the standard library? Why don't you bitch about that?
And you have *tons* of demanding environment examples done with C++, Python, PHP, Java, Ruby, C#/.NET, etc. and only a few done in pure assembly. Even most operating systems try to use as little assembly as possible. So your point is?
Disclaimer: I don't even like C++. It has most of the atrocities of C coupled with a half-assed OO support.
He needn't have said squat about re-distribution rights.
Except that redistribution rights are important today. Why should a company be able to restrict me giving away copies of programs?
Open-source, as defined by OSI, has some of the same issues by insisting on the freedom of re-distribution. Since they are not leftist fanatics like Stallman, one would hope that at least they would see it this way, and allow for a total non-free software to get open source endorsements as long as source code accompanied the binaries. That would achieve all the OSI goals of promoting better software, while also earning it the broad based support of the software industry.
As far as Stallman is concerned, it's the philosophy that comes first, not "industry support" of whatever the current fad is.
Stallman screwed a fantastic opportunity here - maybe deliberately, given his Marxist world views.
Your political dog-whistling really doesn't have any bearing on the merits of Free software.
As someone who administers AIX but am historically from the Linux side of things, I have seen quite a few oddities on this supposedly-stable OS of IBM's, AIX.
I have seen the kernel get clobbered by authentication systems and PAM, repeatedly. It doesn't handle OOM conditions nearly as well as Linux does (though you can tune it to a similar degree, if only because Linux borrowed a lot from their implementation). I've seen a great deal more erratic behavior (eg. daemons crashing, lack of responsiveness, etc.) on AIX when approaching OOM conditions (with or without swap - just whenever the slab space is almost all used) than I ever have on Linux.
If it were so stable, it wouldn't need patching primarily for stability as regularly as it does from IBM. Sorry, but from where I'm sitting, AIX has a lot more patches being released for a great deal more things than RHEL does, for very basic things. IMO, the biggest reason AIX is even used specifically is due to legacy, and institutional knowledge - AIX knowledge doesn't go as stale as quickly as Linux distro-specific knowledge does, because nothing ever changes - ever - on AIX, they just add more stuff.
And, of course, the hardware AIX runs on is pretty much just pure awesomeness. That's the biggest reason AIX should even be considered.
(Funny enough, the VIO and/or HMC on most "AIX" equipment appears to be some neutered and highly customized version of SuSE, so technically, AIX can only really be as stable as Linux is.)
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
Microsoft LOVES BSD, they can take code from it and never contribute anything back. But it is Linux that got popular not BSD.
BSD has its supporters, like MS, who don't actually do anything to support it. Linux has supporters, like IBM, who do massive contributions.
The GPL has won, the only ones who hate is who want stuff totally free and not contribute anything back. Well, for those people there is BSD. Enjoy.
The fact that Linux is on its way to become the biggest OS, the most used and the most installs (thanks to Android) says enough that the GPL works a LOT better then BSD in encouraging industry AND consumer adoption.
And still kiddies who never will amount to anything claim that all the Linux users and contributors are wrong. OPEN YOUR EYES!
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.