Skip navigation.

exploreopera

| Help

Sign up | Help

There is no spoon

It is not the spoon that bends, it is only yourself

Posts tagged with "blogs"

Writing less code is good for your software's health

, , , ...

In a previous post I criticized some of Jeff Atwood's ideas. Today it's time to step in and defend him.

Jeff Atwood's today post talks about being able to run a program in 600 lines of code. He calls for an exercise in minimalism:

What can you build in 600 lines of code? Think of it as an exercise in minimalism. Does your preferred language or environment allow you the freedom to create something interesting and useful with that constraint in place?


The comments to this post are mostly jokes for a matter that is quite really serious.

I suppose that everyone's heard by now that the software industry has a horrible failure rate. 30% of projects never finish, while other 30% of projects finish but not in the due time and/or budget. That leaves only about 1/3 of the projects that are really succesfull.

Imagine now that one in three cars would explode and another one would be delivered one year late. Or that one in three houses (bridges, airplanes and so on) would fall apart. This is the sorry state of the software development industry at this point. Our only luck is that our mistakes kill much less people than other industries.

There are many reasons for the failure rate. Some of them are related to the fact that most managers don't understand how software is produced and don't know how to improve the process (hint for the managers: read for starters "The mythical man month", "Code complete", "Peopleware" and "Software Estimation: Demystifying the Black Art"). Some of them are related to the education of programmers.

When all those things are done well, the final product has a few characteristics that show it's good. The Tao of Programming explains it in a very expressive way:

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity.

A program should follow the `Law of Least Astonishment'. What is this law? It is simply that the program should always respond to the user in the way that astonishes him least.

A program, no matter how complex, should act as a single unit. The program should be directed by the logic within rather than by outward appearances.

If the program fails in these requirements, it will be in a state of disorder and confusion. The only way to correct this is to rewrite the program.


The connection between good software and fewer lines of code is well documented (again, see "Code complete"):

The more lines of code your software has, the greater the number of bugs.
The more lines of code your software has, the longer it takes to solve one bug.
So writing less code helps you write good software.


Any software can be written badly. The experience shows that this category of software usually fails. So, how's it gonna be?


Personal advertisement: I am PassionIT and help teams that develop high quality software. I train, I help improving and I work hands-on, depending on the needs. Contact me if you need help.
Alexandru Bolboaca-Diaconu



Add to Technorati Favorites  Digg!

The new media is coming to Romania, too

, , , ...

First of all, sorry for not keeping my word and starting to blog again in the third week of January; I have a very good excuse: I was quite sick last week. I'm glad to come back and to continue writing. I wish all my readers a very fruitful 2008.

We have an on-going debate in Romania regarding media. The issue at hand is that the media is changing, and that the journalists don't like the change.
The most well known Romanian journalist, Cristian Tudor Popescu, is one of the most vivid critics of the change. His opinion, and some other's as well, is that the new media - meaning blogs, social networks and such - will make the quality of the news to go down the hill.

I believe that this is plain wrong and that he's simply reacting to a reality: the new media is coming, and there's nothing we can do about it.

The argument he makes is that profesional journalists are much better at what they do than the amateurish bloggers, and that they give no chance to the "real" journalists. I will try in the following to prove that he's mistaking, that the quality of the news will be much better and that the really good journalists will survive with no problems.

In my view, there are two types of journalists:
  • the ones that gather news
  • analysts that look at trends, give opinions and so on

From the first category, the simple workers are not needed anymore in a world where any event is bound to be filmed or photographed by the people happening to be around it. And the technology will go much further; when videos and photos will be automatically tagged with the exact day, time and GPS coordinates of the place from where the recording took place, it will be very easy to automatically mix the photos and videos received in order to obtain the best possible view of the event.
We will however need journalists that are making great efforts to get the news: investigation journalists, people that gather materials from all possible sources, analyze them and go even further. In the end, the best of them will remain, whatever happens.

From the second category, the people that remain need to have something more than just analytical skills. We live in a world where all news go online while they are happening, and they reach instantly millions of people through RSS, email, SMS etc. If only a hundred people are interested, analyze and blog about the news, they will form a collective mind that is bound to give better results than the analytical skills of one man. It's a simple matter of evolution, where one analysis builds over another and where the most fit arguments survive.

However, from this category, the collective mind cannot equal with really good analysts that also have a lot of experience in specific issues and their own inside sources. The thing is that you have to be really good and really involved in what you're doing. This is not a job anymore, it's a lifestyle.

So what do we get? We get the best investigation journalists, the best analysts and the best results from the blogosphere. Can someone explain to me how this will make the quality of the media go down?

I think the issue is a completely different one. The last discussion I've seen on TV about the state of the media in Romania talked about the fact that people are now getting the news from the TV instead of newspapers. Well, I have news for you: I don't watch the news on TV; I get them from the internet. I also get the analysis from the internet. I also have the analytical skills necessary to make my own opinion about what's going on, so most of the times I only need facts, not opinions.
Nobody in that discussion mentioned the kind of people I'm talking about.

Therefore, I can only think of the following statements:
  1. Romanian journalists don't understand the Web 2.0 phenomenon
  2. They are disturbed by the fact that only the best of them will survive
  3. They don't understand the evolutionary model
  4. They don't know how to compete with free

If you are a journalist, let me give you a free piece of advice: start a web site, maintain a blog, diversify your income sources; if you're really good and really serious, you will have no problems with the new media. Quite the contrary.