Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror

Comment: Re:one of a kind (Score 1) 641

by Stele (#48554971) Attached to: How Relevant is C in 2014?

C++ doesn't "simply have too much overhead". Most C++ features compile down to the equivalent, or faster (sometimes much faster), C code. C++ being "slow" or having "overhead" is a common misconception, and quite possibly the worst argument against using C++.

Honestly, pretty much all of the "real" arguments I've seen against using C++ boil down to either "I don't understand it" or "I don't like it" or "why would anyone need anything other than JavaScript?". These are hardly faults of C++.

Comment: Re:Conventional roasted but want to do a smoked on (Score 1) 189

by Stele (#48496205) Attached to: I prefer my turkey ...

I smoked one this year - and it was fantastic! I have a Kamado Kooker Char-Griller (poor man's version of the Big Green Egg). Been smoking pork all summer so I figured I'd give it a shot.

I loaded it up with plenty of big chunks of good wood charcoal, with several layers of wet and dry apple wood. Started it up and then smoked my oysters for the oyster stuffing while it got to temp. By the time it hit 200 the oysters were "done" (cooked but still very tender and quite smoky) and I took them off. I had dry brined the bird the night before and then sprayed olive oil on it and sprinkled salt+pepper. Stuffed it with onions and apples to fill up the cavity. I also mixed up a butter seasoning solution and injected it with a baster under the skin. I think this step is crucial to getting a moist result.

Was going to stand it upright but it wouldn't fit that way so I laid it on a baking stone instead. Sealed it up, got the temp up to about 350 (20 pound bird) and let it smoke. I checked it at about 2 hours and it the skin was dark and crispy so I tended it. In about 4 hours the probe was reading 160. Then I glazed it with a red pepper jelly and let it get up to 170 and then took it off. Let it rest on the counter for an hour and when we cut into it it was still hot and wonderfully moist. The smoke permeated every piece.

I highly recommend trying it, if you have the means!

Comment: Re:If you wanted us to believe your Op-Ed... (Score 1) 547

by Stele (#48105773) Attached to: Goodbye, World? 5 Languages That Might Not Be Long For This World

We'll have to agree to disagree then.

Nobody writes math like Option B, unless they are forced to.

If someone wants to do this:

Vec4 operator+(const Vec4 &lhs, float scalar) const
{
        reformat_hard_drive();
        return 0.0;
}

Well, they're an asshole. That doesn't prevent the same asshole from doing this:

- (Vec4 *)multiplyScalar:(float)scalar
{
        reformat_hard_drive();
        return nil;
}

Programmers can be bad (or assholes) regardless of the language. I personally am thrilled that I've been allowed to shoot myself in the foot for 30+ years. It's made me a better programmer. I can't imagine being shacked to the incomprehensible mess that is Option B out of fear of what some bad egg might do to the api.

Comment: Re:If you wanted us to believe your Op-Ed... (Score 1) 547

by Stele (#48105459) Attached to: Goodbye, World? 5 Languages That Might Not Be Long For This World

Option A is provably easier to type, easier to understand, and vastly more efficient to execute, usually optimizing down to a handful of vector instructions.

You don't have a single good reason why Option B is "better" except that you don't like C++, which really isn't a good reason. Let me guess - you also hate Python because of the indentation.

Comment: Re:If you wanted us to believe your Op-Ed... (Score 1) 547

by Stele (#48104831) Attached to: Goodbye, World? 5 Languages That Might Not Be Long For This World

Which do you think is more readable?

Vec4 a = 1.0;
Vec4 b(2.0, 3.0, 4.0, 5.0);
Vec4 result = matrix * a * b / 10.0 + 0.5;

or

Vec4 *a = [[Vec4 alloc] initWithScalar:1.0];
Vec4 *b = [[Vec4 alloc] initWithX:2.0 Y:3.0 Z:4.0 W:5.0];
Vec4 *result = [matrix multiplyVec:[[a multiplyVec:[b multiplyScalar:1.0 / 10.0]] addScalar:0.5]]; ...
[result release];
[b release];
[a release];

Personally, I prefer the first one.

Comment: Re:If you wanted us to believe your Op-Ed... (Score 3, Informative) 547

by Stele (#48104395) Attached to: Goodbye, World? 5 Languages That Might Not Be Long For This World

You can easily do automatic memory management in C++ using reference counted smart pointers. This allows you to control when "memory management" occurs when necessary, as is common in the case of high-performance applications (games, imaging software, etc) where C++ excels. The ability to overload operators allows you to write vastly more readable (and efficient) code than with Objective C. And in Objective C all method dispatches are effectively virtual, where in C++ you can control when you pay the cost.

Objective C is definitely NOT well-suited to solve all the same problems as C++. It's fine that you don't need to write high-performance (or portable) applications, but sweeping generalizations like this just show your ignorance.

Disclaimer: I use C++, Objective C, and Python on a daily basis.

Comment: Re:Where are my designated initializers? (Score 1) 193

by Stele (#47704667) Attached to: C++14 Is Set In Stone

Maybe it's not part of C++ because this kind of initialization is trivial to do, and more readable, with helper classes and constructors. Just a theory - I wasn't even aware of designated initializers.

What I find pathetic is all of the C programmers who still think C++ is slow, bloated, or impossible to understand.

It was kinda like stuffing the wrong card in a computer, when you're stickin' those artificial stimulants in your arm. -- Dion, noted computer scientist

Working...