Sunday, April 29, 2007

Scary Conversations

I just read Why Learning Haskell/Python makes you a worse programmer, and have to agree with most of the article. It focuses on the idea that once you learn something better than what you have, it's hard to go back to tromping around in Java/C#.

I was surprised when I read the comments at how some people suggested embedding python into your work codebase - like this comment:

Be a human virus.

1) If what you are working on is a rather large application why not embed python in the applicaion? That's the bottom up approach. That way those peksy solutions wanting to get out can be a script in the tool.

2) It it's more of a utility program then top down is probably better. Use Python to provide an umbrella wrapper. Acting as glue, the underlying C# code can be used for those areas where it's needed most.

Caveat. You of course understand the dangers? Your prototype has to be at least 60% bullet proof and cause no harm to the underlying code base. Second you most likely need to be prepared to do a skip level introduction of your idea to management. My observation is that the line manager was most likely the one who selected the language and they picked it based on their comfort level. so you are going over their head in a sense to hopefully a more neutral third party. But there are risks.

But the reward, ah the reward, you get to use your skills. And is it worth it? Yep. A VP once told me -- "You spend 1/3 of your life working. Why waste that time in sloth and despair?"

Can you imagine submitting patches to the Subversion project, for instance, introducing a component written entirely in LISP? You'd get thrown out on your fucking ear.

Lone Cowboy Syndrome is a scary beast. On the other hand, at least we aren't still stuck with the design patterns of 1972.

No comments: