CLisp to Julia
I’ve always had interest in languages with emphasis in the computational space used in science and engineerng. Couple weeks ago I started to explore Common Lisp which is one of the oldest languages in this space. It had a lot of realy awesome features and concepts I haven’t been exposed to using primarily python over the years. Macros enable very powerful code generation. The paradigm is mainly functional programming which I’ve grown primarily fond of. One thing in common with python is the available REPL. I’m a neovim user and learning Clisp got me hooked on this plugin, vim-slime. This was originally a feature of Emacs but it enables a developer to quickly copy snippets of code into the REPL with ease. This makes for a aweseome development experience.
After sometime, I had to question myself “Is this adding value?”. Short term, YES, exposed me to a lot of new things. Long term, Common Lisp isn’t heavily used today in data engineering and scientific computations. There is definetly preference for Python and others. Then I reconisderd Julia, I had explored it a couple years ago but it didn’t really catch. I read during my Common Lisp exploration how much it inspired Julia. The Julia language is a high performance langauge intended for numerical computation. This means in many areas it outperforms Python. It also included a lot of the great Clisp features I had discovered so I dove in head first.
For the past couple weeks I’ve spend a lot of time working in Julia and learning it. It’s rather young and seems to have a growing community around it which makes it rather exciting and fun to learn. Given what it is so far, I’ve grown greater affinity for it than Python. I’m excited to keep working in Julia.