987 karma · joined March 2, 2013
I think you're in the wrong place. Reddit is this way.
CS-wise (and design-wise), it's very much a failure. It's a market success, though - just like VHS was, many years ago. ;-)
I've heard someone call PHP "the C web framework". I thought it was fitting, and in addition, it seemed that even as a C web framework, it was a failure.
If you never fail, you're not trying hard enough to do stuff that's appropriately difficult for you.
Unless you have something like goroutines - or Erlang-style processes - and perhaps employ a moderately disciplined coding style. Retrying those is just a matter of relaunching them, isn't it?
Also, Common Lisp got exceptions mostly right. Many other languages...not so much, I guess.
I assume the technician was coincidentally also a salesman. ;-) "Tough to remove"? What a load of crap.
-- Jára da Cimrman
Also, "Android only uses dynamic loading" - given the existence of NDK, how is that true? As far as I know, you can link statically whatever you want.
But nobody prevents the Gccgo people from implementing their implementation differently. (It's just that for Google, this is really not a pressing issue.)
...while in Norway, you typically only get the maximum 21 years of imprisonment for multiple murders. And even that is apparently with the possibility of an early release after 14 years and unsupervised weekend parole after 7 years. And even with murder on your hands, they just might send you off to Bastøy to rehabilitate yourself properly. And somehow, the crime rate in Norway is still much lower, as are the reoffending rates.
I just wonder, what comes next in the US, two years for littering, perhaps?
(I wonder if the Internet connection makes it an iPod. ;-))
I believe that the GreenArrays people, setting aside the $450 dev board, also had some notes on making cheap breadboards with their chips or something like that. I don't have a link handy, though. ;/
There have always been fully deterministic CPUs around for that purpose. The simpler the system, the better; just hook a Forth chip to a memory without caches and you're set.
First of all, it's not my line, it's Rob Pike's line. Second, upon seeing how the C++ people intend to fix deficiencies of C++ by throwing even more features at it, it's very difficult to see it in any other way. Third, the only "anti-intellectualism" I see here is named C++: It's actually symptomatic of certain organizations that instead of trying to see the big picture and really fix things in a systematic way, they "anti-intellectually" hack and tweak and tinker and micro-optimize. For example, IBM has been doing that in the 1960s with their HW architectures before they got their shit mostly together, which is why the ACS project failed, only for it to be rediscovered forty years later, with modern CPUs finally (!) utilizing these ancient but very well working techniques, such as superscalar out-of-order design that will celebrate its fiftieth birthday in a few years. Now, the same breed of people who ditched ACS in the 1960s are apparently in charge of design of mainstream languages. I wonder if we'll survive the next decades in good mental health before enough people realize the same thing again, ditch that crap and start all over again.
I think you're quite mistaken here. These languages solve concurrency at the language semantics level, and then, some of them implement the semantics in a VM, but the VM (in case of Erlang, no Go implementation in use has one) is a tangential issue. To say that these language "solve concurrency problem in the VM" simply doesn't make sense. Languages are languages, they are not implementations.
C++ is just a language in which you are free to build those abstractions into in any form you choose.
Well, there's Turing completeness, and then, there's actual usability. Consider transactional extensions, for example. Haskell gives you a type system for that. In Lisp, you could achieve the same using a code-walking macro library. C++ gives you...what, pattern-matching based template metaprogramming? Ugh! The "language" for that, while Turing-complete, isn't even identical to the one used for run-time code. I've seen a factorial written that way. I don't want to imagine how more complex code like that must look like in C++. Even D is better at that!
If that wasn't possible, then our SQL server installation (all c++) wouldn't quite happily run a single process on each of our 48-core nodes with 128Gb of RAM, nor would it cluster and replicate amongst all 8 of them and deliver 10,000 queries a second whilst yawning.
I didn't say it's impossible in C++. It's just that it's masochistic, that's all. You could easily argue along the same lines that COBOL is a well-designed language because millions of applications have been written in it that power the reliable day-to-day operation of banks you've invested your money into. Yes, they have been written, but at what human cost?
Rob Pike is pretty cool but has blinkers on as he's a captive research executive rather than someone with dirty hands on the ground in some enterprise outfit.
"Captive research executive?" What does that even mean? He certainly has more than enough of his share of dirty hand, while continuing doing so even today, and I won't even comment on that "enterprise outfit" nonsense.
That sounds like a red herring. Can C++ be easily compiled for heterogeneous architectures and distributed systems? Does it support massive concurrency in the Erlang/Go style? Is it easily and efficiently vectorizable the way that APL was once? Somehow I've always felt that C++ can do "anything" at the cost of "being equally bad at everything". Regarding C++11, I really like Rob Pike's comment on how the creators of C++ seem to think that the problem of pre-C++11-C++ was that "it apparently didn't have enough features".
It's the basic principle in real-world science that for stuff, people get credited who didn't invent/discover it. That's the reason why your submission wasn't noticed; you simply would have had to wait for the Nth time around.
And I bet you haven't seen Datalog yet. ;-)