July 31st, 2008 — 01:11 am
Jeff Atwood and Peter Norvig seem to think you must have a deep understanding of how computer hardware works to be a good software developer:
Know how long it takes your computer to execute an instruction, fetch a word from memory (with and without a cache miss), read consecutive words from disk, and seek to a new location on disk
I did learn these things, but after reading Jeff’s post I have been trying to remember a project I worked on during the past 10 years which required this type of knowledge - and I got nothing.
Let’s put aside for a moment specialized area in software development in which this knowledge is important:
- Real time applications
- Embedded applications
Assuming you are developing using a modern, high level programming language like Java or C#. During development of applications in areas not mentioned above, did you ever encounter an actual need to know these things? why?
1 comment » | Programming
July 20th, 2008 — 09:12 am
Most developers come across a reference to the GOF design pattern book at some point during their career.
Others refer to the Head first patterns book, or other similar books on the subject.
My advise: Instead of buying another paper weight and spending a lot of time extracting little information from a lot of pages (never could find the search option), go to the Dofactory design patterns web site. You can find information there easily and besides the theoretical data there are “real world” code samples in C#.
And if you are willing to spend some money, you can get further access to C# optimized code, as some patterns incredibly simple in C#:
So before spending your weekend with a technical book, take a look at the online alternative.
Comment » | Design Patterns
July 17th, 2008 — 08:18 am
Jeff Atwood thinks regions are evil:
No, I will not use #regions. And no, I DO NOT NEGOTIATE WITH TERRORISTS. Shut up.
I tend to disagree. I like being able to navigate through code blocks by scanning them and not using incremental search.
Besides, you can always expand all regions in code using a keyboard shortcut, and if it really bugs you, simply do a replace of “#” with “//#” and your problem is solved (until the next guy does the opposite).

However, I do agree with Jeff about working with a team, and that’s why I think feeling that strongly about any coding habit is wrong.
Whenever I go into a new project I try to adapt my coding style to the existing style, even if initially I don’t really like it.
That’s why I don’t think you should feel that strongly about anything and fighting about coding habits is useless - a good developer can adapt to any working environment.
Comment » | Programming