Domain: yosefk.com
Stories and comments across the archive that link to yosefk.com.
Comments · 72
-
Re:Choices, choices
If you want to link to any FAQ, don't forget the FQA about C++ http://yosefk.com/c++fqa/
Reading it will give you an inside on the many issues you can have with C++. I don't oppose C++, but You Have To Know What You Are Doing (TM). Or else all hell breaks lose. Fixing bad C is doable, fixing bad C++ is the 7th circle of hell.
-
Re:Alternatives to C++
You must be new here.
-
Re:You think that's bad?
Honestly, I wouldn't blame him.
-
Re:Correlation != Causation
I smell the beginnings of a Slashdot FQA...
-
Re:Methodology fads
They even seem to come with the weird religious rhetoric, too, promising that if only you embrace $Methodology, your life will change. Well, except the ultra-oppressive ones like CMMI: it demands that you accept CMMI or be destroyed.
It seems to be a fact of life that these things are going to float around, so I guess what makes sense is figuring out which ones are relatively better or worse, and what ideas from them are relatively useful or not. As (excellent tech blogger) YosefK put it in a review of an Extreme Programming book:
This quote is right from the book cover. "Extreme Programming Explained. EMBRACE CHANGE." Does it freak you out the way it freaks me out? Maybe it's because of the cultural gap created by my Russian origins? Nay, I know plenty of English slogans I can relate to. Say, "Trust a condom". Beats "Embrace change" hands-down. Changes come in two flavors, good and bad. Should I "embrace" both kinds?
[...]
"The key to XP is integrity, acting in harmony with my true values The past five years have been a journey of changing my actual values into those I wanted to hold."
"Journey". Talking about being good. Do you like hippies? I like hippies more than nazis. I like XP more than CMM. But IMO the hippie world view and general style is suboptimal.
-
Re:Scala seems to be Java+/-
I tend to think of D as C++ done right, although I like Scala more, for mostly different reasons. I agree that C++ is fairly fundamentally flawed, mostly because the things that were bolted onto C and then independently developed interact very badly. There are all sorts of edge cases and special-case rules for typename resolution, implicit conversions, method dispatch, how that all interacts with templates, etc.
One of the better explications of specific issues, IMO, is the C++ FQA, which point-by-point dismantles the C++ FAQ Lite.
-
too much Java ...Summary is wrong. There is nothing from BS about "too much Java" in TFA.
Yet while Stroustrop agrees that Java has been used to dumb down CS programs, ultimately, âoethe problem is one of attitude, more than an issue of programming language.â
He is not dumb enough to claim C++ superior to Java. After all it is an C++ is so aweful "designed" that if you are not completely sunk in C++-think, you spend more time fighting the language and its warts than actually do useful stuff (like thinking about algorithms and what the machine does like Don Knuth taught us). While Java is very high level it at least got rid of some of the ugliest and worst mistakes that C++ made. Everyone is way better off with C (for systems stuff), Java (for "enterprisy" stuff), Python (for frontends) and sh (for quick and dirty hacks) than with any C++(*).
http://yosefk.com/c++fqa/ /End Rant
(*) And dont tell me its because of the age of C++. Objective-C and Lisp are way older and way better designed than C++ for example. -
Re:I was denied from even using OSS
Or is C++ just as stupid as we Java developers think?
Short answer: Yes!
Long answer: http://yosefk.com/c++fqa/
-
C++ FQA Lite
Anyone who says they learned C++ in a fortnight is lying.
A fun read: http://yosefk.com/c++fqa/index.html. Mentioned are points (some subtle, some not) which illustrate dark corners of the language and some of its complexities.
-
Re:Some counterpoints.
I think the poster's point was that Python (and other languages which matured *after* C++, and so thus could learn from its mistakes) managed to get those implementations done better than C++; in most cases, simpler, if not always (but often) as fast or faster than C++, while also reducing/eliminating the most common errors inherent in unmanaged languages. C++, for all its bluster, still manages to allow memory leaks, out-of-bounds accesses and all those ugly things people associate with C/asm.
I used to think I wanted to learn C++ someday, being a veteran C coder.. until I read this page. Read it, and agree or disagree; but it's a great discussion nonetheless:
-
Just want to remind everybody
http://yosefk.com/c++fqa/ - this site says it all.
And it's also being argumentative and verbose at that, unlike your routine 'C++ sucks' rant.
-
Re:I'm with Westley...
"[Compared to C] none of those C++ features actually helps you write better programs, and a lot of the so-called improvements in C++ just make it a complicated mess."
Have you read the C++ FQA? I don't think anybody can seriously argue that C++ is not a complicated mess, or that C++ throws quality under the bus with any of thousands of gotcha's.
All I am really saying is thet C# is already well on its way to being the next C++... a 'managed complicated mess' you might say.
-
Re:And ...
Wow, I'm not sure if you did it intentially, but you linked to the C++ FQA, *not* the C++ FAQ. I'll assume from context that's what you meant, and just labeled it wrong.
In any case, both are very useful reads:
http://codemines.blogspot.com/2007/10/no-updates-for-6-months-then-two-in-day.html
http://www.parashift.com/c++-faq-lite/
http://yosefk.com/c++fqa/index.html -
Anyone trying to defend C++ as a language
Anyone trying to defend C++ as a language should read this. And I speak as a programmer who has used C++ since cfront 1.0 was released to the world.
Useful, yes. Pragmatic, maybe. Design heavily rationalized ex post facto by its creator and its proponents, most certainly. But a well-designed programming language, it is not.
-
Re:And ...He also has apparently never heard of Boost. I beg to differ: "don't try to 'fix' it (or 'boost' it)".
-
And ...
... for an equally partisan view from another perspective, the C++ FAQ.
-
Re:Managed code is the way to go
That is hardly a conceptual problem of the language C++, but more one of the toolchain and/or ABI, and can be improved on by rewriting the old GNU linker in C++
:). And maybe someday the GNU binutils will gain incremental linking.
More critical is that the grammar of C++ is undecidable. -
Re:Maybe the real problem...That's a wonderful link; thanks for pointing me to it.
You're welcome, Bruce. Mr. Kreinin explains the issues with C++ much better than I could.
For those who don't know, the main part of his site is the C++ FQA Lite, which is meant as a commentary on Marshall Cline's C++ FAQ Lite.
I refer to both sites whenever I have to program in C++.
Note, by the way, that most programming languages have flaws. limitations, and tradeoffs. But I really think that C++ was on the wrong track almost from the get-go, and that it has only gotten worse with time.I agree. It was probably not a good decision in the first place to make C++ compatible with C. That's one of the factors that led directly to the entire unwieldy context-sensitive C++ syntax. The sad reality is that if a language is difficult for the compiler to understand, then it will be difficult for the programmer to understand. As the specification grows, I become more and more convinced that C++ is a puzzle where the object is to try to figure out how to be productive using the language.
I fully believe that the massive 'Taligent' project -- a joint venture between IBM and Apple for a next-generation OS and graphical environment -- failed in large part because of the choice of C++ as the underlying language.I don't doubt that it had a definite effect. Making an entire OS in the early days of C++ is not something that sounds like a good idea. I think that most of the blame lies directly with the choice of index card color, however.
:) -
Re:Maybe the real problem...
..is that C++ is a rather complex and brittle language.To fully understand what Bruce means, read this
-
Re:Thanks for asking
Plus, some of the claims from http://yosefk.com/c++fqa/ about the "flaws" of C++ are just flat out wrong, so I wouldn't rely on that as too valid of an opinion.
-
Re:Thanks for asking
Buddy, only God (or Stroustrup) can write good c++ code. If you have the guts, read this. There are humongous flaws with the language (and I say this with 10 years of c++ experience).
The concept of c++ is good: a language close to the bare metal that has the capability to abstract details so as that it reaches higher level language status. But in practice, it has incredible flaws; the implementation is *bad*. It could have been so much better...
-
Re:Something to note about other people's opinions
Oui, you are right, but alas few coders ever try to make legible code. It's very odd I know, but hey it takes a certain insanity to enter the field in the first place, non? There will come a day when the language is not a barrier, but until then I'd recommend the C++ frequently questioned answers.