Google Blogoscoped

Forum

Programming Truth and Fiction  (View post)

Search Engines Web.com [PersonRank 3]

Wednesday, February 15, 2006
18 years ago

Worth a Digg, Let's See What Happens

http://digg.com/programming/Programming_Languages_-_Myths_Facts_|_Truths_Fiction

/pd [PersonRank 10]

18 years ago #

Good WriteUp...

AF-Geek [PersonRank 0]

18 years ago #

Definitely Dugg!

Will be printed and posted in my shop! (100 military programmers)

-AF-Geek

Splasho [PersonRank 10]

18 years ago #

Personally I disagree with a few of those.

As you point out, 'HTML is not a programming language.' is not fiction but simply a truth little known among non-nerds.

Mike [PersonRank 0]

18 years ago #

Splasho:

The article is a satire. The "Fiction" are all truths and the "Truths" are all, essentially, bullshit realities that Managers or the uninformed live by.

william wilstroth [PersonRank 0]

18 years ago #

Hi mate,

i love your blog, can i link yours to mine?

Thanks.

David [PersonRank 0]

18 years ago #

That was really hilarious. Well done!

Monu Agrawal [PersonRank 1]

18 years ago #

Wonderful writeup. Mangers should read it.

Splasho [PersonRank 10]

18 years ago #

"The article is a satire. The "Fiction" are all truths and the "Truths" are all, essentially, bullshit realities that Managers or the uninformed live by."

The more I re-read it, the sillier I feel!

diaet [PersonRank 1]

18 years ago #

Wohoo – you certainly did it again, Philipp!

Have to link it as soon as possible. Let's say: in five minutes ;)

Hermes [PersonRank 1]

18 years ago #

Very very true.

But I think Pascal or Delphi is a little better for teaching programming in school. There you have to learn how to break rules during programming. And thats the real secret of good programming.
But first you have to spend at least a year of explaining the Computers functions using DOS.
If you have any whiteskinned computer nerd in class just get rid of him by giving him the job to design the schools homepage. If you don't do so he will prevent other classmates from learning and he could loose his protected and isolated position in class.

Personman [PersonRank 8]

18 years ago #

Sometimes I find your humorus lists a bit cheesy, but this one really hit the spot. Well done!

Search Engines Web [PersonRank 1]

18 years ago #

Yes!!!!!!!! It has JUST made the Homepage of Digg 25 hours later

http://digg.com/users/SearchEngines/homepage
Now Watch your Traffic EXPLODE.....

latest front page stories
Programming Languages – Myths & Facts | Truths & Fiction
   submitted by SearchEngines 1 day 1 hour ago (via http://blogoscoped.com/ar...)

Leave another Comment to the Blog http://blogoscoped.com/forum/create/2296/

   49
   diggs
  

http://search-engines-web.com/

Search Engines Web Deserves a Link for This

Chris Campbell [PersonRank 1]

18 years ago #

Wow. Something I actually like on your blog...good. job.

brian [PersonRank 0]

18 years ago #

That was halarious!

mck [PersonRank 0]

18 years ago #

Heh, what's with you and PHP?

ninjoah [PersonRank 0]

18 years ago #

yeah, why don't you like php?

Travis Harris [PersonRank 10]

18 years ago #

Ya know, I just typed out a HUGE response to this article, but I figured it would have been seen as flamebait. So I deleted it!!!

Eric [PersonRank 0]

18 years ago #

Wow, I'm sorry, but I am compelled to disagree with many of your comments.

"Telling them that “HTML programming” is a contradiction in itself will only add to the confusion and should be avoided."

For anyone incapable of an attention to detail, I can see where this can prove to be confusing, however, HTML markup is little more than structured document formatting + detailed understanding of browser quirks. It is its own skill, and there is a big difference between those who are good at it, and those who are not, but it still is not programming.

"A complicated class structure only shows the programmer did a quality job."

Huh? A complicated class structure is often an indicator that there is a design flaw or failure in analysis. Time to refactor!

"There’s a huge difference between scripting languages and programming languages."

Amen. However, these are easy, the bar for "good enough" code is set low enough that I was able to teach a 14 year old girl how to script her web form in a Saturday afternoon. However, I did consider giving her "Learn Java in 21 Days!", but her class project was due that week.

Scripting languages are good for what they are good for. Period. I think some people are getting scared that their jobs are not as hard as they used to be. I programmed my first CGI in C++, then Java. Took me a week to figure out how to get rid of all of the compiler errors and warnings that the environment generated. It was a departmental app that was a sign up sheet for a conference room. With today's tools, you don't need someone with a Computer Science or Software Engineering degree to accomplish this task, and it certainly shouldn't take a week.

"In fact, with the right project plan you can put any random 5 programmers into the basement and shut the door close (and open up again when the deadline arrives), as long as you remember to feed them pizza."

Ah, by this logic I'm guessing you also think 9 women in the same room can have a baby in one month. Software is especially difficult to get out the door when people issues are involved. On the whole, the people in our industry usually aren't "people persons". Things such as personal hygene, abrasive personal skills (for you "24" fans, think Chloe and Edgar), incompetance, and personal issues can easily blow a deadline.

We had to work a weekend on a project once, and every 10 minutes, someone's wife kept calling him on the phone telling him to come home. The guy was in tears before the day was over, and we just told him to go home because he clearly wasn't happy, and wasn't getting anything done. Deadline blown.

"The more comments you write, the better your software can be maintained."

There is no correlation between the two. I can give you a piece of obfuscated C code with documentation that is 10 times as big as the code, and in many instances, you still will not achieve the required understanding. However, if I were to explicitly write the code in a manner that can be read, the need for comments diminishes.

If your code requires comments in order to be understood, you probably need to simplify your code. Low-level algorithms are exempt from this rule.

Every time you write a line of code (or comment), there is more work involved in maintaining that code/comments over time. Heavy reliance on comments introduces the risk of code being out of sync with the comments, thus, making the comments a LIABILITY.

We inherited an application from a company, and had to contact the original developer of the application (who had quit six months prior and moved to Australia) to try to understand the app, as we could not reconcile the comments with any of the code. He told us to ignore the comments, as he stopped maintaining them long ago (too many deadlines to maintain comments he said). Two weeks wasted for us, plus $20 for the international call.

Additionally, as we are living in a multi-cultural / multi-lingual world, many developers understand C, Java, or C# far better than English comments. I took over code from a French programmer in our company, and all of his comments were in French! This was one of those "little apps" that gets whipped up to fill an immediate need that everyone began to rely on, that soon became a bigger app. Once I got him to translate the variable names, I could start to follow the code.

Also, if these same people are responsible for maintaining the comments, in many instances there will be more bugs in the English language comments than in the actual code.

Code bloat for the sake of simplicity can pay for itself many times over if done properly.

"Temporary variables waste both storage and CPU cycles during execution of the code."

There is neither a shortage of storage nor CPU cycles in a modern computing environment. However, there is a shortage of qualified software engineers to maintain software. Unless the performance requirements are violated, wasting storage and CPU for more readable/maintainable code is CHEAP compared to having a programmer spend hours refining and testing an algorithm to do the same job more "efficiently".

"There are sub-categories here, e.g. Flash falls neatly into the “graphics” category (even ActionScript mainly moves graphics around). "

Flash is a programming environment, which requires someone with software development skills to create and maintain if it is something beyond the non-trivial. For "pretty" flash, your comments are appropriate, but not comprehensive. Any "functional" flash – i.e. anything that requires data entry, transfer/storage of data, network calls, anything that is going to be maintained and continuously developed – requires someone with some software development skills. They also need to understand how to deal with a Quality Assurance team, because they now have to deal with software defects.

We had the in-house "flash guy" develop an application once. For every bug we identified, he added 2 more with every fix. Version control was unheard of. At one point, he had to find some kind of ActionScript extractor (decompiler?) because his latest version of the app was too messed up to fix, and he had no backup beyond the immediately previous build.

"Truth is that programmers can’t draw, and artists can’t think logically."

Ouch! Hope these aren't the same artists that do your Flash work...

"Programming is for nerds! If you want to teach it, wait until 9th grade and use Java. Seriously."

egads! We had computer programming in 3rd grade, and it helped many with their math skills. Logo was the best thing to ever happen to our math classes, and programming in Apple Basic was the subject of a 4th grade summer school class. And yes, this was public school. Waiting until 9th grade is far too long, youngsters brains are like knowledge sponges, and they can soak up far more many give them credit for.

Here's a third grade class that learned to count in binary in one class session:
http://www.garlikov.com/Soc_Meth.html

Java is not a good teaching language for learning "programming", it has too much OO overhead. I think it is great environment for learning object oriented development, but this is not "programming".

Programming is a skill that is needed to understand algorithms, explain processes, describe logic, and share solutions. Object Oriented Development is a limited set of skills required to build a limited subset of software.

Elliott Back [PersonRank 0]

18 years ago #

You can see my response here:

http://elliottback.com/wp/archives/2006/02/15/programming-truth-and-fiction-revisted/

Eric [PersonRank 0]

18 years ago #

Wow, satire? Thank goodness... oh well, you now know my thoughts on the subject!

Zack [PersonRank 0]

18 years ago #

You have got to be kidding me, Eric. I can't believe you wasted your time writing all of that. If you couldn't tell, this piece was SATIRE.

Eric [PersonRank 0]

18 years ago #

Actually, I thought a manager wrote the piece...lol

Eric [PersonRank 0]

18 years ago #

Well, at least I didn't produce any graphics for my comments! Check out the "elliotback.com" link above – lol!

Zack [PersonRank 0]

18 years ago #

Hahaha, well don't feel too bad. Check out Elliott's reply. Wow! Quite a stir this piece caused...

Travis Harris [PersonRank 10]

18 years ago #

I just want everyone to know, my flamebait would have been disagreeing with the Fiction.... My comment followed by Eric's made it look like we were saying the same thing... but I actually think that a could of the "Fiction" issues could use a little more tweaking to make them more correct... (that was my attempt at being PC)

Bob [PersonRank 0]

18 years ago #

This article is truly a piece of crap, everything there is wrong.
You dont have to put curly brackets in that order!

neouser [PersonRank 1]

18 years ago #

If any 'real' programmer were to listen to your nonsense, it would be a sad day for the IT world... your keyboard privileges should be stripped. To comment on three things, because I don't have time for the others:

1. Your program should be legible without comments, if it isn't you are declaring to many variables and using stuff that is way to obscure. As I said to my friend...
if(this)
   return a;
else(that)
   return b;
If you can't read that, you are in the wrong business... comments are worthless unless in the form of a javadoc (or you are writing an extremely complicated algorithm).

2. PHP and, well, your rant on scripting languages. You have no basis on this... I can do the same C# application for the web in half the time, half the code, and half the system rescources. Every language has its place, if you don't like web programming, get out, we don't want you. I understand scripting isn't just for the web... but that is its primary purpose (unless you are talking PERL... in which case, well, have fun with PERL...). As which C# i s based on Java, which isn't intended for the web. So I can't write the same C# app for windows in PHP, plain and simple. If you were comparing Java and C#... well you might have a case. PHP vs C# or Java is no comparison. BTW... you seen PHP5 lately... leaps and bound closer to a real OOP language then PHP4, you might be impressed.

3. To quote you, 'Truth: Curly brackets must always go in the next line, and you must use tabs, not spaces.' Where in the hell did you get this argument?!?! Just like everyone in the US has a different accent, programmers have different styles. Don't make fun of them. If you can't read it, learn how to... or once again, get out because you are wasting everyone else's time.

BTW... just as your article is your opinion, and hopefully *NOT* agreed upon by anyone other then your followers, this is my opinion. I have never posted here, never read here, and quite frankly, won't be coming back. I must admit though, and programmer who can stick by what he/she believes in is a good programmer, as every application they write will look the same, function the same, and will usually be more refined, as he isn't always second guessing himself.

sincerely,
neo

Eric [PersonRank 0]

18 years ago #

Ah...another victim! lol

Carl P. Corliss [PersonRank 0]

18 years ago #

LMFAO @ everyone who didn't realize it was a satire and actually posted flames ;-)

John Doe [PersonRank 1]

18 years ago #

Wow, some people just don't understand what sarcasm is do they? Just goes to show who needs an education...

ill informed [PersonRank 0]

18 years ago #

look...whether it was fact or fiction, opinion or satire, it came off like complete horseshit.

I award you no points, and may God have mercy on your soul.

neouser [PersonRank 1]

18 years ago #

is this satire as per the authors say so or the 4 of the first 5 comments... ??? tell me where it says so

superman [PersonRank 0]

18 years ago #

weeeeeeeeee

Eric [PersonRank 0]

18 years ago #

I think I was duped because I know people who think like this!!!

Some people are reading this and treating it as the gospel, and this blog could be doing the world a disservice. Some pointy-haired-bosses are delighted that someone captured their thoughts so precisely, they now have the ammunition to defeat the technical group. Wheeeeeeeeeeeee

neouser [PersonRank 1]

18 years ago #

apparently you people missed this article... and i am asking the author says wether this article is fact or fiction!!!!

http://www.wired.com/news/technology/0,70179-0.html?tw=rss.index

neo

bugeats [PersonRank 0]

18 years ago #

I don't get it.

Tod [PersonRank 0]

18 years ago #

These gasbag rebuttals are friggin' priceless! I think this piece would make great interview material.

"This article is truly a piece of crap, everything there is wrong."

Half way there, Bob!

Elton [PersonRank 0]

18 years ago #

<i>Truth: Your manager can foresee the evolution of the software, precisely and up to 5 floating point digits</i>

The third truth should have been a <b>dead</b> giveaway!
Although admittedly I wasn't sure until then whether it was a satire or some kind of contrarian looking to burst geek bubbles.

Elton [PersonRank 0]

18 years ago #

Oh man, only now do I see that there's no HTML in posts.
Well, you guys can apply your own personal markup.

Leonardo Boiko [PersonRank 0]

18 years ago #

The comments by humour-impaired people are more funny than the post itself. Guys, you seriously need Dr. Frink's wonderful invention: http://www.uloc.de/cgi-bin/wiki.pl?Screenshots/Aabf18_Sarcasm_Detector

neouser [PersonRank 1]

18 years ago #

if any of you have actually worked in any environment other than your basement... it would sound like to you as it did me that this guy is just another disgruntled, serious programmer in coporate america. i could see some of the stuff he was saying as being serious.

[put at-character here]elton
after seeing some of the effects of managers, this is truth. don't mess with what they say.

neo

Pauly [PersonRank 0]

18 years ago #

It's all too witty for me – PHP's not a real programming language is it?

Travis Harris [PersonRank 10]

18 years ago #

"Oh man, only now do I see that there's no HTML in posts.
Well, you guys can apply your own personal markup."
What's funny is that I read your post and in my brain saw it italicized and bolded.... then you posted about the no HTML and I looked back up and was like.... <inquizaitive_tone>huh</inquizaitive_tone>... I didn't even notice!
See HTML IS A PROGRAMMING LANGUAGE... Elton even made my brain function with it!! ;o)

Travis Harris [PersonRank 10]

18 years ago #

neo... I bet you hated the movie office space too!

This sign says: NOT A SATIRE [PersonRank 0]

18 years ago #

"is this satire as per the authors say so or the 4 of the first 5 comments... ??? tell me where it says so"

Erm. People. You scare me. Really.

You have to stick a sign saying "SATIRE" on a satire nowadays? Use your brain! That's the grey matter between your ears! It will tell you that he left clues that this isn't his real opinion!

"As the customer agreed to the feature specifications, there’s no way more features could ever be wanted."

being one.

"Truth: Real programmers use Java. No, make that Python. I mean C#. As long as it’s not PHP. Or anything that looks like BASIC."

Please. Get the hint.

"Truth: Programming is for nerds! If you want to teach it, wait until 9th grade and use Java. Seriously."

If these three alone aren't a huge sign saying "SATIRE" – what do you guys need? An <irony> tag? A blue ribbon? A little MS Office paper clip popping up telling you that this may be a satire?

Wes [PersonRank 0]

18 years ago #

Nerd types routinely have trouble with satire.
Just read slashdot .... users have to put in <sarcasm> or <satire> tags before commenting otherwise they'll get modded down to -1 hell.

neouser [PersonRank 1]

18 years ago #

hahaha...

i get it, i believe it is satire (not funny or humorous, but thats my opinion)... i just don't believe that was the authors <center><font style="font-size: 18pt" ><strong><i>*orginal*</i> </strong></font></center> intent (making it hard for it to actually be satire in the first place, but as it has been deemed so by the public, then oh well)

Shanti Braford [PersonRank 0]

18 years ago #


You just have to read the whole thing to realize its satire.

But I feel your pain for being around people who believe the "Truths" here that you'd not pickup on the sarcasm.

The "Is HTML a programming language" debate has circled around the office and I've tried explaining to people that it's called a Markup Language for a reason. You also markup Word documents (with bold, italics, tables, et, etc). Do we have 200 million Word programmers as well? =) Oops – sorry, choir.

Flamewar bait: the one thing I will say is that PHP is *NOT* a real programming language.

(i'm just kidding but see the problem w/ sarcasm online? =))

Shanti
http://sablog.com/

Plop [PersonRank 1]

18 years ago #

neouser,

How can you believe that the piece is satire, but that it wasn't the author's intent? It's obviously over the top, making fun of an outsider's views on programming. Why are you trying to maintain that it's meant to be taken seriously? Just because you did?

aneeley [PersonRank 0]

18 years ago #

Oh man. This article is awesome.

But, the comments made it even better. It is the definite test to see who has actually programmed any sort of usable application. I pity those who could not detect the satire and wrote a 500 word response on which parts of this article was wrong.

Owned!

the_fax [PersonRank 0]

18 years ago #

i almost got mad until i realized that some of the "truths" were just silly if they really *were* truths. :) nice article. (i run into the code formatting issue all the time. no hard tabs! but i guess people forget.)

red_boots [PersonRank 0]

18 years ago #

Great article! Way to call out the humorless:

http://elliottback.com/wp/archives/2006/02/15/programming-truth-and-fiction-revisited-thank-you-julie-geng-for-this-nice-permalink

jjMan [PersonRank 0]

18 years ago #

Java sucks for desktop apps – seriously.
interpreted at runtime is just the wrong way to do things...
just ask corell...

Kleinerman [PersonRank 0]

18 years ago #

Very well done – just a few things to say:
   – PHP is a programming language (if you can write a native app in it, it's a programming language)
   – HTML is NOT a programming language (been said already...just reiterating)
   – Spacing is to the non-programmer as TABS are to the programming-guru
   – Being interpreted at runtime is for sissies (like Java)
   – Comments are for people who can't read the programming language. Therefore, they shouldn't even be inside the source. And as a result, they shouldn't be given help in figuring out your most likely ingenious programming
   – OOP is fun to say
   – Learning C++ is like learning Vietnamese, and it's like my father always says, "A little culture never hurt anyone"
   – Documentation is for those who know nothing, why should they get a guide?

Great Article

Tx [PersonRank 0]

18 years ago #

*yawn*

Do you have a regular job/

Forum home

Advertisement

 
Blog  |  Forum     more >> Archive | Feed | Google's blogs | About
Advertisement

 

This site unofficially covers Google™ and more with some rights reserved. Join our forum!