Developer Traits by Language
Rowan’s post 28x ties back nicely to the language debate earlier in the week.
You see, in my mind there’s a relationship between some of the traits I look for in a good developer and their language of choice.
Please bear in mind these are only my opinions based on my experience. You likely value different things so your mileage may vary.
| Trait | Ruby | C# | VB |
| Data representation | Domain Model | Domain Model, Anemic Domain Model, DataSets | DataSets, RecordSets |
| OO or Procedural? | OO | OO, but often procedural objects | Procedural |
| Writes Unit Tests? | Nearly Always | Sometimes | Usually Never? |
| Groks Design Patterns? | Yes | Sometimes | Rarely |
| Refactors often? | Yes | Sometimes | No |
| Abstraction techniques | DSLs, Metaprogramming, Interception, Objects | Interfaces, Interception, IOC, Objects | Modules, Objects |
| Reliance on tooling | Low | High | Very High |
| Read seminal books? (GoF, PragProg or PoEAA) | Likely | Often | Maybe |
| Browser? :-) | Safari | Firefox | IE |
The Beauty of Ruby
For anyone interested in programming languages there’s a pretty good video presentation up on InfoQ at the moment. Worth a look :-)
Inflector.NET
If anyone is looking for it I’ve created a dedicated page for my port of Rails’ inflector.
C# vs. VB
Rowan posted about C# vs. VB:
> None, if challenged, would be able to build anything using
> C# that Phil couldn’t build just as well in VB.
This isn’t the point. Different languages have different levels of expressiveness and also different aesthetics. A program written in Haskell may be 10 times shorter than the same program written in C++ for example [1].
Personally, I have two favourite languages: Ruby and Haskell :-)
In Ruby I can write this:
10.times { |i| puts i }
But in C# I have to write this:
for (int i = 0; i < 10; i++) { Console.Write(i); }
Which do you find more beautiful? :-)


