If you need to hand this document nifty printed over to your boss, press ⌘+P.
- Of programming languages I have worked professionally with Java, Objective-C, Python, C#, and Haskell (sorted by the time spent with each.) I
tried much more of them. I value maturity of the language itself and the libraries used (JVM languages are in unbeatable position here), expressiveness, absence
of excess verbosity (because of that I honor Python above Ruby), and capability of detecting programmer’s mistakes early (the reason why I enjoy the rigid type system of
Haskell.) I am quite sure that the silver bullet (should one appear) will not be just a novel language
- I mostly dislike frameworks, but use them in my everyday work. Frameworks usually appear for weird reasons. Say, J2EE was an attempt to divide
programmers into good ones (those who write application containers) and mediocre ones (those who develop things to be run in those containers.) Spring framework is an
elegant approach to the ugly problem (if wiring your application requires a framework, there’s something wrong with your language or subject domain.) This does not stop
me from enjoying good frameworks like Twisted or Apache Wicket
- Agile methods are a great discovery; they do work and are enjoyable to practice. There are some fields where it is almost impossible to follow an
agile approach because of the intrinsic properties of the subject domain. Telecom is a good example of this: new version deployment is almost always very
expensive, making fast iterating hard. Despite those exceptions I try to practice agile in every project where it is possible
You might also be interested in the projects I have been working on.
|