software development concepts

software development concepts

Why I’m The Best Programmer In The World*

It’s because I’m so humble, obviously. Allow me to illustrate with an excerpt from the personal character chapter of McConnell’s Code Complete 2.0: The intense inwardness of programming makes personal character especially important. You know how difficult it is to put in eight concentrated hours in

By Jeff Atwood ·
Comments

software development concepts

McConnell IEEE articles

I found these editorials buried on Steve McConnell’s website, from his stint as editor of IEEE software magazine. It’s a great series of articles; they’re all good, but I particularly recommend “Cargo Cult Engineering.” Here are direct links to each, in chronological order, October 1998 through February

By Jeff Atwood ·
Comments

object-oriented programming

Inherits Nothing

Have you ever noticed that new .NET developers have a tendency to use inheritance for... well, everything? On some level, this is understandable, since inheritance is used throughout the framework; everything in .NET inherits from a root object. There’s one big difference, though: we’re writing crappy business logic

By Jeff Atwood ·
Comments

programming languages

Go, Monkey!

There’s an interesting interview with Miguel de Icaza. Miguel is the primary developer behind the open-source port of the .NET runtime known as the Mono Project. This project was recently purchased by Novell, ostensibly to bolster the development tools available on Linux. Miguel seems refreshingly free of the dogma

By Jeff Atwood ·
Comments

vb.net

VB vs. C# – FIGHT!

If I see one more blog entry complaining about VB’s verbosity, or the elitism of C# developers, I think I’m gonna puke. Why can’t we all just get along? Part of what makes the .NET Runtime unique is that it offers you a choice of syntax; we

By Jeff Atwood ·
Comments

software development concepts

Why Objects Suck

There’s been a lot of discussion recently about the Object to Relational mapping problem, which is a serious one. This Clemens Vasters blog entry summarizes it best: Maybe I am too much of a data (read: XML, Messages, SQL) guy by now, but I just lost faith that objects

By Jeff Atwood ·
Comments

software development concepts

Coding Slave

On Rory’s effusive recommendation, I purchased a copy of the book, Coding Slave, by Bob Reselman. I have mixed feelings about Coding Slave. It’s got a great title, it definitely kept my interest, and it’s a quick read. I can also pretty much guarantee you’ve never

By Jeff Atwood ·
Comments
Putting the Science Back Into Computer Science

programming languages

Putting the Science Back Into Computer Science

The term “computer science” is a borderline oxymoron. Very little of what we do in software development is science: Many historians suggest that modern science began around 1600 in the time and with the efforts of Galileo Galilei (1564-1642), Johannes Kepler (1571-1630), and Francis Bacon (1561-1626). Their era punctuated the

By Jeff Atwood ·
Comments
Commandos, Infantry, and Police

software development concepts

Commandos, Infantry, and Police

As I was driving home, I found myself thinking about a favorite section of the book Accidental Empires, by longtime computer journalist Robert X. Cringely. Originally published in 1993, it’s getting a little long in the tooth, but it still contains a lot of great insights about the personalities

By Jeff Atwood ·
Comments
Hungarian Wars

programming languages

Hungarian Wars

I’ve found a number of blog posts about the pros and cons of Simonyi’s Hungarian Notation, most notably, this blog post commenting on the extreme polarity of the reprinted MSDN article rating: This single image really cuts to the heart of the debate, pointedly illustrating what a religious

By Jeff Atwood ·
Comments
Code Complete 2: The Revenge

software development concepts

Code Complete 2: The Revenge

Reading through this blog, I was just reminded that Code Complete 2* was released. Since this book is the first entry on my prioritized list of Recommended Reading for Developers, and Steve is the patron saint of this web site, you better believe I just placed an order for it!

By Jeff Atwood ·
Comments

programming languages

The Tyranny of ElseIf

I don’t understand it. I’ve seen this phenomenon over and over in VB.NET, in code from experienced programmers: If dt.DayOfWeek = DayOfWeek.Sunday Then Return dt ElseIf dt.DayOfWeek = DayOfWeek.Monday Then Return dt.AddDays(6) ElseIf dt.DayOfWeek = DayOfWeek.Tuesday Then Return dt.AddDays(5) ElseIf

By Jeff Atwood ·
Comments