Wednesday | 28 FEB 2024
[ previous ]
[ next ]

The Quest for a New Language

Date: 2022-01-07

I'm largely a jack of all trades, master of none. I use javascript, BASIC, and Java for work with lots of linux admin stuff. For my personal stuff, I use nodejs with some sprinkling of python and rust. I really like interpreted languages as they are quick to develop in and test things with. I really like that about python and javascript, python however the whitespace being important pushes me away. Javascript is great, especially since its a language I know pretty well now that its so quick to get going with it. However with javascript, I always have a feeling that things are rickety. I think this is due to the way for a problem I install a new module and this then installs a bunch of submodules. i would love for everything I do to be part of the standard library but anything that requires complexity seems to require adding more things. This also isn't a problem with javascript as much as its a problem with me. I think all languages will have stuff you need to bring in from other libraries, it just feels that with javascript theres a bunch that should just be there.

I'm currently looking for language that's like javascript but compiled. Really that would be the ideal. Something where I can compile it to machine code and then ship a binary that will just work. Development and iterating should be quick and easy and the executable it builds is stable forever.

This will be a list of languages that I've tried to date, I usually make web stuff so I'll be looking at these from the perspective of someone trying to write websites:

rust - very mechanical, compilation times aren't bad, especially with incremental compilation. The language however is huge and too big for me to be happy. There is so much to know which depending on my mood is a good or bad thing. The frameworks available all feel cumbersome because of the language and the frameworks themselves.

zig - A C replacement but its not mature enough yet for a web framework.

nim - Whitespace is important! I think this is something that really pushes me away from it. It has some cool ideas like case not mattering or dashes and underscores being interchangeable with camelcase.

crystal - Looks interesting, still need to give it a shot but having issues with using the web framework with an old version off ssl due to centos 7.

go - probably the best bet for what I want as its similar to javascript, compiled and designed to be easy to use with web stuff. It is a true programming language design for the web so I'll need to give this a proper shot.