Programmign

One of my primary hobbies is programming as should be apparent by the fact that I have a personal website. This is a topic I'm quite opinionated on, which this page should hopefully document!


Ok lets get this out of the way

Tabs are objectively better than spaces. They give the programmer more control over how the project is displayed, take up less filespace, and LITERALLY EXIST FOR THIS PURPOSE. The only actual argument for space indentation is visual indentation - and if you need visual indentation, no you don't, fix your fucking code instead. This website is PROUDLY TAB-INDENTED and I will take no criticism of this.

Now with that said and done... lets get to the actual page content :3


Language Choice

My favorite language is Rust :3 It introduced me to many features I now consider critical parts of a language, like pattern matching, immutability by default, and functional programming. I love how explicit it is, you can tell just from the function signature what sort of mutations the function will make and how. I certainly dont think its a perfect language - ergonomics could definitely use improving, especially around heap-allocation/boxing, but overall its still easily my favorite language.

Rust isn't the only language I've used though! I use Java extensively for Minecraft modding - it isn't my favorite language, and it wouldn't be my first pick, but it still works reasonably well and isn't a bad language (at least its statically typed, even if its typesystem is pretty weak).

Here are a few other languages I've tried, and my thoughts on them:

Nushell: This is what I use in my terminal. It manages to be both a good prompt AND a good scripting language at the same time, which I both find impressive and quite enjoy.
Lua: Not my favorite, and I think there's a lot of opportunity for better languages which fulfill the same purpose. However, its still a fine language for small embeddable scripts like configs, and there are far worse languages out there.
Rhai: In many ways, this is the "better Lua" I've wanted. Syntactically similar to Rust, but dynamically typed and reference counted to make it easier for quick scripts. Embedding it is also easy and painless. It isn't perfect, however - its closures are kinda a weak spot, for example - I do intend on trying out the Rune programming language, which is inspired by Rhai and seems like it will fix some of these issues.
Haskell: This is a language I need to spend more time with. It seems really cool, but I've never actually made anything with it - just simple test programs, like a Fibonacci calculator.