C and Morse Code
May 29th, 2008 by kerrysoft and tagged Apache, CRM software, workflow systemDarren Stokes sides with Joel over Jeff on whether programmers should cognize C.
This hale debate cues me of unpaid radio operators brabbling over whether newbies should be permited to fix a license without geting a line Morse code.
Morse Code
So Eric, assure us about your experience as an amateur “ham” radio operator?
My call sign is KA9KEF. To pay off my Cosmopolitan class license, I had to go a published exam as easily as a Morse code test at 13 words per minute.
Real, you cognise Morse code? Today, it’s potential to pay back a ham radio license with no code at all.
Yes, and I remember that’s hideous! It’s just incorrect.
Why do you recollect that?
If I had to hear Morse code, so everybody else should as well.
So does anybody rattling take Morse code these days?
Well, I say not. But don’t bug me with facts that distract from my point. Hearing Morse code should be a rite of passage for all hams. Anybody who paid off a license without code is not a “existent ham”.
But you — you are a “existent ham”.
Yep. I went the Morse code test. 13 wpm.
So you’re nonetheless actively involved in recreational radio?
Well, no more.
Oh. When was the last time you applyed your ham rig?
I say it’s been a few years.
How many years are in “a few”? Possibly five?
More like twenty.
Twenty years?
Twenty-three, in reality.
And you even so have your unpaid radio equipment?
Well, no more. I dealt my station a foresightful time ago.
OK, let’s review. You’re a “real ham”, even though everything you know about ham radio is two decades out of date. But the guys who got a “no code” license and are actively practicing the hobby today, they’re somehow not “real”?
That’s right. I know Morse code. They don’t.
So you think all ham radio operators should be required to learn a basically useless skill simply because you did?
Exactly! And don’t ask me to get down from my high horse. I like it up here.
C
The argument about whether programmers need to know C is just so similar.
All of the people arguing that C is important are the people who have already learned it. I’m pretty sure that a lot of their argument is resting on the same foundation as those crotchety old hams: “If I had to learn C, then everybody else should too.”
I am one of those people. Yep, not only am I a Morse code bigot, I’m a C bigot as well.
I learned C, and I learned it good. I’ve worked on multiple significant C projects. I even wrote a C compiler. In C. I think all “real programmers” know C.
Yep, we C programmers are elitist and proud of it. The view from up here on our high horse is pretty good. We see lots of so-called programmers down there:
- They don’t really know what a pointer is.
- They’re not even using a real compiler! That thing they’re using doesn’t even generate native code you know. It’s “byte code”, so it’s not real.
- Those people have never had to manage their own memory.
- In fact, they’ve never really had to do anything at all. I mean really. They’re building on a class library that’s got more features in it than Photoshop.
We are different. We learned C. We are “real programmers”.
One big difference
What’s the main difference between hams who know Morse code and programmers know C?
The C programmers actually have a point.
Seriously, strip away all the elitism and see what’s left. Morse code is nearly useless, but C is still darn important whether you’re using it or not.
And a lot of people are still using it, by the way. Don’t think of C as merely “important historical and foundational background”. In fact, my current project is being written in C. Software development today is a big field. There are still many problems for which C is the best solution.
But even if you’re coding in something higher level, the experience of using low-level programming techniques is invaluable.
I’m not going to take a black-and-white stance on this. I wwon’t go so far as to say that every developer must learn C. I’ve met lots of developers without C experience who are successful and making positive contributions to important software projects.
Furthermore, I’ll admit that knowing C is not a magic solution to poor skills. A lousy developer who happens to know C is simply better equipped to hurt himself or somebody nearby.
However, I tin say these two things:
- All of the truly extraordinary developer s I know are people who really understand the kind of low-level details that C forces you to know.
- Every programmer without C experience has a clear path of personal development: Learn C. Get some real experience using C to write a serious piece of software. Even if you never use it again, you’ll be a better programmer when you’re done.
Relating Posts:
Crucial changes to the BASE element for IE 7
Silverlight FlickR Example
A Look At Veridical Estate Market Blogs
Hosting
Which Side of the Foresightful Tail Should You Initiate On?
Is It Better To Rive Or Buy?
Posted in Technology | Comments Off