Saturday 1 February 2014

Am I a Reactionary, A Wise Old Sage, Overcautious or simply just experienced?

I don't like Git. Too Complicated. I just never need to branch and merge that much. I tend to work on very small pieces of work, integrate as soon as they are done/tested then release them. I encourage my team to do the same. 

I prefer SVN. When I first assessed DVCS tooling Mercurial looked a lot simpler to use than Git.

I don't like Scala or Clojure. I just need Java++ with Lambdas (coming 8 - yay), properties and immutable classes.

Full on Scala looks worse than Perl for readability. Over my 30 year career I have read more code than I have written.

Clojure strikes me as something you could not build a big enterprise class system in. Abilities in enterprises vary wildly across regions and across time. A project setup by a bunch of uber-programmers in the US may be maintained by a much less experienced team in another location a few years down the line. Don't even start me on self-documenting code.

Clojure is where all the cool kids are in Jan 2014. It may change by March 2014 of course.

I prefer Java.

I don't like Linux for development but I love the command line tools that unix gives you. My experience is that these days Linux is no more resilient than Windows. Installations of Developer tools can be a PITA compared to Windows and you have the sheer awkwardness of the *nix community.

I prefer Windows (with Cygwin). I love the stuff that Scott Hanselman publishes on his annual(ish) list. They are real developer tools.

I don't like JavaScript. I love it that people have done insane things using it: PC Emulators, Quake emulators. But that scares me as well.

I prefer ...

I have no idea on that one.

...

My last word on self-documenting code (I could not resist)

It's rarely self documenting.

It requires a higher degree of skill than the average practitioner has.

In almost all SDC I have looked at, the developer writing it wasn't as good as he thought he was.

The only way to prove self-documenting code is to have it code reviewed AND APPROVED by someone who knows nothing about your system 5 YEARS AFTER YOU WROTE IT.



No comments: