Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Posted Sep 1, 2014 21:22 UTC (Mon) by roskegg (subscriber, #105)In reply to: Poettering: Revisiting how we put together Linux systems by roskegg
Parent article: Poettering: Revisiting how we put together Linux systems
Posted Sep 2, 2014 1:48 UTC (Tue)
by mathstuf (subscriber, #69389)
[Link] (26 responses)
Posted Sep 2, 2014 2:41 UTC (Tue)
by roskegg (subscriber, #105)
[Link] (25 responses)
Imagine if every new operating system had to implement PL/I and COBOL and FORTRAN to be usable. It's kind of like that.
The pcc compiler was a valiant effort, but network effects defeated it. Network effects are so strong that the top coders, even those who invent the technology, can't make much headway. Backward compatibility is a corker.
How hard is it to write an html5 renderer anyway? I mean, parsing HTML5 is easy. Parsing CSS is easy. But rendering... really, how much C code would it take? Seriously, why is C++ creeping into and infecting everything.
Posted Sep 2, 2014 7:44 UTC (Tue)
by ncm (guest, #165)
[Link]
C++ exists and grows because it *uniquely* meets a real need. It's far from a perfect solution to that need, but it persists because hardly else seems to be trying. Rust seems to be trying, but it's a decade or two away from sufficient maturity. Worse, it could make some fatal mistake any day, not recognize it for a little too long, and then never get there. (Might have done already, I haven't kept up.)
Posted Sep 2, 2014 10:49 UTC (Tue)
by mathstuf (subscriber, #69389)
[Link]
You say this, forgetting that both specify what happens when the syntax is broken (e.g., <i><b><p>text</i></b>) and that CSS is such a mess in the semantics department. Take a dive into the WebKit codebase sometime and tell me how C would have been simpler, easier to read, and shorter. I'm sure the world would be thrilled to get that monstrosity simplified.
Posted Sep 2, 2014 10:51 UTC (Tue)
by ibukanov (subscriber, #3942)
[Link]
10 man-years is a minimum if you want to render substantial portion of the web...
Posted Sep 2, 2014 13:04 UTC (Tue)
by jwakely (subscriber, #60262)
[Link]
Maybe developers choose to use it. You know, the people who are actually doing the work not just complaining and criticising.
But no, probably not that, it's probably some kind of fungal infection like ophiocordyceps unilateralis that corrupts them away from your idea of purity.
Posted Sep 2, 2014 13:53 UTC (Tue)
by mpr22 (subscriber, #60784)
[Link]
An assortment of reasons, frequently involving one or more of the features that your tone suggests you think should be set on fire, indented six feet down, and covered with dirt.
Posted Sep 2, 2014 15:28 UTC (Tue)
by JGR (subscriber, #93631)
[Link] (18 responses)
Because it enables developers to get more done for less effort than C, with minimal performance penalties, better type safety/compile-time checking and less bugs (or at least, different bugs).
Posted Sep 2, 2014 22:05 UTC (Tue)
by zlynx (guest, #2285)
[Link] (8 responses)
Anyone who has ever seen shared_ptr implemented in pure C will run to C++ and grab it with open arms.
Sure it is done in Python and Perl runtime interpreters. And it sucks. Macros, macros everywhere, and so very easy to make mistakes. So very easy to forget an increment or decrement at some important point or use the wrong macro.
And GObject. Come on. GObject is an argument in favor of C++ if I've ever seen one!
Posted Sep 3, 2014 9:50 UTC (Wed)
by dgm (subscriber, #49227)
[Link] (7 responses)
I would be interested in seeing some example of this. Really. I'm tempted to say it's simply impossible, because C lacks destructors.
Unless... you mean plain old reference counting, which is rather trivial and easy to understand. Much easier than, for instance, the subtle differences between all the smart pointer templates in the STL. And you can add BOOST and/or Qt or Microsoft's for extra fun. Easy-peasy.
Posted Sep 3, 2014 18:26 UTC (Wed)
by Trelane (subscriber, #56877)
[Link]
Posted Sep 3, 2014 18:52 UTC (Wed)
by zlynx (guest, #2285)
[Link] (2 responses)
Posted Sep 5, 2014 8:56 UTC (Fri)
by quotemstr (subscriber, #45331)
[Link] (1 responses)
I don't agree that manual reference counting is particularly hard. Practically the entire world does it, and it works fine.
I've read my share of interpreters. Reference counting isn't particularly hard, although you want to use tracing GC if you don't want your users ripping their hair out over cycles.
I've seen far more problems with shared_ptr.
Posted Sep 5, 2014 18:13 UTC (Fri)
by zlynx (guest, #2285)
[Link]
Posted Sep 4, 2014 5:25 UTC (Thu)
by jra (subscriber, #55261)
[Link] (2 responses)
Posted Sep 23, 2014 13:05 UTC (Tue)
by dgm (subscriber, #49227)
[Link] (1 responses)
Thanks for the pointer (pun intended).
Posted Sep 23, 2014 16:56 UTC (Tue)
by rahulsundaram (subscriber, #21946)
[Link]
http://sgallagh.wordpress.com/2010/03/17/why-you-should-u...
Posted Sep 3, 2014 10:47 UTC (Wed)
by jb.1234abcd (guest, #95827)
[Link] (8 responses)
@jwakely
@mpr22
@JGR
Why do you spread misinformation ?
Now, to support your claims:
jb
Posted Sep 3, 2014 11:29 UTC (Wed)
by jb.1234abcd (guest, #95827)
[Link] (4 responses)
Well, the market has spoken thanks to minority of people in the know.
Now be nice, and please the last one turn off the light -:)
jb
Posted Sep 3, 2014 23:22 UTC (Wed)
by nix (subscriber, #2304)
[Link] (3 responses)
(Given that you clearly have no idea even how long the committee has been in existence -- hint, it's more than twice as long as you suggested -- the likelihood of this seems low.)
Posted Sep 4, 2014 10:14 UTC (Thu)
by jb.1234abcd (guest, #95827)
[Link] (2 responses)
Firstly, a C++ Standards Committee is a technical, but also a political body.
Secondly, you have to understand what C++ is, and its history.
Thirdly, there is an interesting inverse relationship between an expansion of semantics and syntax of C++ (C++11, soon C++14), called "featurism" by some, and a rapid decline in C++ acceptance as shown on chart I quoted. The OOP part of "a new paradigm" contributed to it as well.
jb
Posted Sep 4, 2014 14:29 UTC (Thu)
by nix (subscriber, #2304)
[Link]
Parrotting bits of D&E at me would be more impressive if there were any sign you'd understood it -- Stroustrup doesn't exactly display any signs there of wanting to cover any parts of C with dirt (other than decrying the use of the C preprocessor in C++ programs, which is pretty justified, I'd say).
btw, C *has* evolved since C++ was created: you even mention one example. Nobody much likes having the languages drift into incompatibility, but not because of some nefarious plot on the part of either committee: rather because nobody wants 'extern "C"' and link-compatibility to break.
If the C++ committee wanted to cover C with dirt, would the two committees really have spent so much time and effort making sure their newly-formalized memory models were to some degree compatible? And yes, though C11 did incorporate the model from C++11 rather than the other way round there was definitely attention paid on the part of the people defining the C++11 memory model to make sure they weren't specifying something that made no sense for C.
Posted Sep 5, 2014 14:03 UTC (Fri)
by jwakely (subscriber, #60262)
[Link]
Posted Sep 3, 2014 11:32 UTC (Wed)
by niner (subscriber, #26151)
[Link] (1 responses)
Posted Sep 3, 2014 11:59 UTC (Wed)
by jb.1234abcd (guest, #95827)
[Link]
Now please spread the knowledge instead of misinformation.
jb
Posted Sep 4, 2014 7:04 UTC (Thu)
by Wol (subscriber, #4433)
[Link]
Is that because of all the new web script kiddies that have appeared? Really, I don't know. But a shrinkage in %age can easily hide a rise in absolute numbers. And if the target audience hasn't grown, then those stats are lying.
"Statistics tell you how to get from A to B. What they don't tell you is that you're all at C."
Cheers,
Posted Sep 2, 2014 18:38 UTC (Tue)
by daniels (subscriber, #16193)
[Link]
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Seriously, why is C++ creeping into and infecting everything.
Poettering: Revisiting how we put together Linux systems
In particular, memory management and string handling are fairly key activities in a browser engine, and in C these are labour-intensive and therefore error-prone. (Not that C++ is some language of perfection, but it is better in this regard).
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
"C++ exists and grows because it *uniquely* meets a real need."
"Maybe developers choose to use it. You know, the people who are actually doing the work not just complaining and criticising."
"An assortment of reasons, frequently involving one or more of the features that your tone suggests you think should be set on fire, indented six feet down, and covered with dirt."
This LWN.net site has some ambition to become a source of good technical
knowledge about Linux, UNIX, and Computer Science in general.
http://imagebin.org/318679
C++ popularity as a language of choice has declined from 18% in 2004 to
4.7% as of today.
If anything, this is a disaster !
Poettering: Revisiting how we put together Linux systems
apologists who for more than 10 years tried to cover C with dirt (C++, misinformation, and politics) in order to deny it improvements where needed and make it ready for a graveyard.
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
domain, but obviously require some mental effort to do it ?
Otherwise you will not understand what people are talking about and react like a cat whose tail was stepped on.
You should understand the origin of the term "designed by committee".
C++ was built on C; Stroustrup originally called it "C with Classes".
What it means is that majority of C became a "subset" and a hostage of C++.
So, it is clear that C++, thru its governing body C++ Standards Committee,
suffers from a split personality disorder - letting C evolve would shake C++ boat. It would create C and C++ incompatibilities (C99 anybody ?) that are not desired. This works both ways.
According to Stroustrup, there is another language trying to emerge from C++. The question is: with or without C "subset" hostage of C++ ?
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
Poettering: Revisiting how we put together Linux systems
http://www.tiobe.com/index.php/content/paperinfo/tpci/ind...
Poettering: Revisiting how we put together Linux systems
4.7% as of today.
> If anything, this is a disaster !
Wol
Poettering: Revisiting how we put together Linux systems