Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Re: Very simple (Score 1) 347

If you're looking at someone else's code (or even your own, a year later), would you rather see...

for (i = 0; i 3; i++) // Loop three times { some_fn(i); }


for t in 0.. MAX_TASKS { scheduler.grantTimesliceToTask(t); }

Hmm.. Looks like an off-by-one bug. Should probably be
for t in 0.. (MAX_TASKS -1)

Comment Re:Epicycles (Score 2) 339

I don't think so. Even folks that love C++ will say "well, you don't really need to know foo-obscure-feature, but it's there if you need it. I was reading through Scott Meyers' "Effective Modern C++", an excellent book, but probably half of it was showing how to make sure you "move" your data instead of "copying" it. I'm no Java fan, but at least everything is a reference, so you don't have copy-by-accident ooga booga. If copying is so bad (which apparently it is because you'll definitely get reamed during a code review if you do), force a copy action via clone(), ike Java.

The pain in C++ is on account of the "keep it compatible with C" mantra. C++ could be great if they'd just jettison that idiocy. It's like that stupid fighter that they're building that has to fit the requirements of every branch of the mility. It's complicated, overbudget, and doesn't work. They should build three fighters that work well in each domain. C++ should just be C++, and C can be C. That will probably happen eventually.

Well, eventually C++ will re-implement Lisp according to Greenspun

Comment Epicycles (Score 5, Insightful) 339

The vagaries and complexities of C++ as it progresses in it's specification is reminiscent of efforts to get epicycles to explain motions of heavenly bodies. Geez, people are snide about Perl syntax. Now we have &ref, &&global_ref, [](args){my_lambda_code();}, copy constructors, move constructors, 'override' to fix virtual function breakage. This is just a mess of a language.

Comment Re:embedded dev (Score 2) 218

Why there isn't a proper alternative [WebAssembly?] absolutely befuddles me.

Why someone would need assembly for web client-side coding befuddles me.
When I need to write something fast I use Perl. When I need something to run fast, I use C.
Different languages are good for different situations.

Comment Re:Glueing things together is how I teach OO desig (Score 2) 237

I remember having a TA once challenge me - I had written an algorithm to operate iteratively, rather than recursively, because I had noticed the program would run out of memory if I did it the other way when fed large data sets - because to him, recursion was theoretically perfect and not using it was a personal affront. The fact that my code worked and his crashed after 4-5 minutes didn't matter.

Tail recursion optimization usually takes care of problems like that, assuming the problem was running out of stack.

Comment A poor workman... (Score 5, Insightful) 281

... blames his tools. Crap code an be written in any language. Good code can be written in PHP. While not my first choice of languages, I have found myself on PHP projects and been fairly comfortable using it although during moments of frustration put in comments such as "These following 10 lines could be written in the following one line of Perl...".

Slashdot Top Deals

"If the code and the comments disagree, then both are probably wrong." -- Norm Schryer