A Developer without Programming Language
Now a days I am little bit more involved in History lessons. And those also from Computer Science only. Specifically from programming language’s perspective. Why on the earth I am doing this, I guess answer is given by Duglas Cockford over the Hanselminutes. And personally I love this part of learning. It is so delightful to know different language and why languages emerge the way it is.
That is one part of story. Now, I was talking with my friend about different ways of rapid game development, as we both like playing and making games. (Nothing reached to the release level yet though :P). It is fun always. Now, he is working with C++ and I am .Net guy until now. Recently I become web guy on paper with Java Script skills again on paper :P. But as I mentioned I have special love for languages.
Here comes the twist, as I have tried my hand on functional programming language, there is one sentence for functional languages stuck with me, “it is useful to develop algorithm”. And it is like that only, it is very easy to develop algorithm with functional programming language because of features like pattern matching, pipe lining functions, higher order functions and other function oriented facility that is normally only possible with functional languages. So, I suggested that normally game should be done is some functional languages only, as it will be lot easier.
But he is like NOPE!!!
No matter how many frameworks he need to throw to make task easier, but it should be there in C++ only. The only reason is he is so involved or I must say in love with C++ that he can’t just leave it off. And I am just putting his example here but I have seen this a lot. Not only C or C++ people but also with C#, JAVA people. And there are other people who said that they are using open source but basically they are just using free stuff nothing else. People working with Linux based technology and advocating free stuff. I am not saying just like that because every argument end with sentence “And finally its free.”. But normally C and C++ people are so tightly attached with language that normally no one else do.
Even on twitter there is one highly respected person who moved away from C# and Microsoft stack to Ruby. And I also like the Ruby there is no doubt in that. But then there is no need to bash C# or Microsoft stack. But he never misses chance. Technically speaking compiled language is better in performance then transpiled languages. But does it matter??? It is just like what is good for at that specific point of time.
If I am loving something, does not give me any right to bash the other thing.
And more importantly we are developer, we develop things and languages are just part of tool we are using. And tool must be chosen as per problem. We are in industry where there is not liberty to choose problem as per our tools. And the rigidity and reluctance about choice of language, IDE or even OS make things more miserable while solving real problems.
This lesson I learned from people like Demis Bellot, Amir Rajan who always give priority to problem over language. You think Demis will stop working with ServiceStack as he also like Dart, or as Amir is more and more working with Nodejs he will not love Oak as he normally do. I don’t think so. Every thing is design with some problem in mind. There is nothing that is just like that.
I am lucky enough to have friends who always there crash my reluctance and push me hard to make me more flexible and that helps to make right decision for right problem. And now I am also trying same with others.
I am trying hard to become polyglot developer, but I guess I have become a developer without any programming language. Just, pure developer.
Today’s article is inspired by wonderful write up by Phil Haacked and today’s conversation with Jessica Kerr