DEV Community

Jesse Phillips
Jesse Phillips

Posted on

If you know one you know them all

There is a common phrase from those that aren't polyglot. The programming language does not matter because the programming techniques are the same.

I would have called myself a polyglot in the past because I've been through many languages. C/C++, Java, C#, Lua, visual basic and done minimal stuff in GO, Haskell, and Fril. I've even worked with scripting languages like bash, powershell, php, perl, python, Javascript and read up on scheme, swift, rust. Basically while I know I couldn't just jump into any language I'd be mostly comfortable reading code after a day or two. I would have agreed that the language does not matter.

Today I realize I'm not a polyglot. I don't want to utilize those other languages. If you ask me if I could write generic code in C#, I'd say, yes. But then I try and use generics and realize the language does not support generic code. It is not that I don't know of the technique for using interface inheritance or even attribute reflection. These are sub optimal options when I compare with D and it's design by introspection and compile time meta programming.

Being a D programmer I generally get the other side of the statement. "Don't use D nobody knows it, who else will maintain it?" "I can't fix that it is written in D." The issue with these statements is that it is directed at the language. The language does not matter, but D has a very different ecosystem. This is especially true of the tools I wrote. They use my programming style as I had no outside influence demanding collaboration.

My point, I could have chosen C#, but I would write it like I did in D. This would create a library with its own vocabulary and infrastructure. That is to say, the language comes with its own ecosystems and style some of which can be carried over from one language to another. A rewrite would still mean learning about the code structure and functionality in order to maintain and support. The language becomes an easy excuse, reality is this excuse comes from lack of interest for taking on the work in general.

Top comments (0)