Julia’s syntax for the most part is so satisfying. The community is an intellectual bunch that I learn from via a lot of lurking. And the direction Julia is headed in is quite exciting. I’m inspired by both types of package developments/initiations via any-sized collaborations, or even when one person saw/had a need and Julia’s design was excellent enough for them to just create a powerful and appropriately complicated solution on their own.
So what does this mean for me? At my workplace, I am mostly required to program in MATLAB and C++. I think I’ve upset my boss by the number of times I’ve grunted during work. A few colleagues connect with me on the difficulties of the languages we use. But no one is interested in Julia, and for the many years I’ve mentioned Julia, I’ve started to give up and untrain myself from pitching it. I still use it at work from time to time when appropriate.
But I can’t go a day of MATLAB without thinking “this can be done like this in Julia and it would be easier and faster in development and performance” - goodness I hate MATLAB’s OOP, unintuitive semantics and restrictive syntax. For my job, Julia is almost perfect and more effective.
The amount of boilerplate and poorly implemented C++ code we have to manage at work is mind-numbing. And Julia’s design happens to prompt such a large code reusability both within individual packages and throughout the Julia ecosystem. And that even adds to the robustness of the code when many people are using it in their different ways and collaborating on any discovered issues. Slowly my small team and I have been e.g. replacing the numerous versions of interpolation implementations within our code with an array and interpolation library; refactoring the code for flexibility, especially as new feature requests arrive. I’m fully convinced we could do our jobs faster and better in Julia.
On the other hand I understand the cost of migration. But I can’t help but see it as an investment that’s incredibly worth it.
So, to the Julia community, thank you for allowing me this moment to vent my frustrations while simultaneously thanking you for your contributions to the Julia language, and I appreciate the common vision and understanding of what a programming language can be for humanity, at least on the side of scientific computing.
I’d love to hear your views in response to my experience and outlook, in particular to educate me on your experiences and insights, as well as to cheer me up.