Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror

Comment: Re:Very relevent for small target embedded stuff. (Score 1) 641

by David C Billen (#48555991) Attached to: How Relevant is C in 2014?

I was just grabbing an arbitrary example. When people talk about C++ overhead I think they imagine coding [something like] a time-critical matrix transform using accessors and making a function call to read each coefficient. (Even though the optimizer would inline it anyway). Maybe even a std::vector. My point was that these are just practices. If you need tight code you can create it with C++ and still get benefits.

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

by David C Billen (#48555089) Attached to: How Relevant is C in 2014?
Assembler can be worth the hassle if you require very tight inner-loops or to exploit special processor instructions (like SIMD for example). Not to nit-pick your post but I deal with these things every day in DSP development. There are still very real needs for cycle shaving in lots of contemporary embedded applications and will be for a long long time.

Comment: Re:C is dead (Score 1) 641

by David C Billen (#48555021) Attached to: How Relevant is C in 2014?

I always tell people who want to learn to code to go for modern C++ (preferably C++11 or newer) first, and then if necessary learn some C afterwards. ...And for all those who will say that C++ can't fit in the tight spaces that C can...well, you're wrong. Just disable the parts of C++ that you don't want (usually exceptions), and you can still get most of the benefits of clean code and RAII, with the same or better performance.

You conflict me. I agree that C++ can generate optimal code - but only IF the programmer understands the underlying C (and even assembly) well enough to control it.

Comment: Re:Very relevent for small target embedded stuff. (Score 1) 641

by David C Billen (#48554815) Attached to: How Relevant is C in 2014?

I agree you can't completely avoid writing assembly for some embedded - especially DSP.

But years ago I pretty much switched to C++ for embedded except tight inner-loops that require hand optimization. I had to convince my boss at the time that it was acceptable by showing lots of generated C++ assembly code compared to equiivelent C. In practice C++ often produced BETTER code, (those virtual functions are like using function pointers that you casually pepper the code with).

It seems though that most people have blurred the line between C++, and the form of C++ that we're [aggressively] taught to write. The actual C++ language doesn't require using accessor functions for every coefficient in a transform matrix, that's just what people do.

Off topic: But I really don't know why so many people use C++ for non-embedded. It's perfectly valid for many - maybe most - applications to trade efficiency for safety, so use a different language. Why pick one that accommodates all the power of C then constantly beat on the developers with a giant list of coding guidelines? When the greatest attribute you seek in a developer is pedantry then something's wrong.

Comment: Re:Most youg ones don't know crap... (Score 1) 376

by David C Billen (#48491331) Attached to: Ask Slashdot: IT Career Path After 35?

Another reason for age discrimination started in Silicon Valley where companies used to boast no developers over 30. That is valid when it means that the technology the company is developing is so new and different that experience is meaningless. When the internet was new and we setup our first web site, there wasn't any point in paying a large salary for developers with irrelevant IT experience. We raided a local university and hired students that pretty much lived for the project mostly just to get access to our bandwidth.

But this causes confusion. In fact if a project can benefit from skills that aren't new then it should be obvious that someone with experience is more valuable than someone without. Luckily it seems that smart managers tend to understand that. It's young developers who make themselves feel confident by believing that their age (or lack of) makes them magically gifted.

Another thing that comes into play is the deprecation of neurons - seriously. The idea that it becomes harder to learn with age is a major reason people believe the otherwise-counter-intuituve notion that less experience is better. But there's misconception there as well. This mental depreciation is non-linear, dropping very sharply in youth and is quite gradual by adulthood. Most older people who can't/won't learn are in my observation just locked-in to skills that are supporting them financially. They find it risky and exhausting to start over with a new technology.

Comment: Re:Number of interviews... (Score 3, Insightful) 454

by David C Billen (#48457391) Attached to: Researchers Say the Tech Worker Shortage Doesn't Really Exist
They all get through school by huddling around one or two "naturals" who show how to get their school projects working. Then they show up in the real world with a piece of paper that says they're qualified. Some companies know how to make use of them but it takes herds of them and lots of infrastructure and project management. It's very expensive.

Comment: It's about the objective (Score 1) 455

Flight wasn't invented by developing flapping feathered wings - as many once seem to have envisioned. Flight was understood to be getting from point A to point B without negotiating the terrain. Better ways were found to do this mechanically. AI should no more duplicate human brain thinking than flight should duplicate bird flying.

Besides, if you succeeded in creating a human brain in a computer it would be as disturbed as a human raised in a dark basement. Our thinking requires a lifetime of delicate social interactions and lots of other experience moving about in a human body.

Real Users find the one combination of bizarre input values that shuts down the system for days.

Working...