i’ve been on the hunt lately to use a language that i can use both in the browser and on the servere, wanting to escape from javascript but also needing the ability to be able to interop with javascript. typescript has been my solution that i’ve been using for a while, but it’s very easy to lie and cheat and get away with very awful things and some things end up not being very ergonomic. i don’t really want to explain anything but yeah.

there are languages with nice macros and code generation and cool type systems i want to keep getting those ideas in the projects i make. i keep feeling like i need to take advantage of these kinds of features to reduce bugs and maybe have built-in unit testing. a lot of languages are very incomplete and not what i want. it makes me kind of jealous when i was looking into FP languages like haskell or languages with nice macro systems like nim and lisp, and i really want to just use those in my projects.

i forced myself to use typescript for a long time for everything because of the ecosystem, it was just simply not worth using anything else. typescript was also just good enough for making what i wanted. after using typescript with vue to make a custom frontend for a website that i used with my friends, and doing so much with it and making like libraries to be able to interface with it, i started to feel yucky because i feel like typescript is a thing that people actually really don’t want to touch, that the gains that you actually gain from typescript aren’t really worth it. it especially sucks when you have a console in javascript and a repl and there are userscripts and things are very fun to like just hack in, and the minifiers and whatnot that typescript and frameworks and packagers deal with just ruin hacker culture. you could probably just use typescript as a static analyzer but i have this mindset for some reason that it’s worth it to use frameworks and other technologies since the typescript compiler then becomes a dependency.

so i figure like, fuck it, if i’m going to make something that people don’t actually want to touch, i want to use the coolest like most fun language to use ever. nim, clojurescript, all these languages i keep trying over time just don’t cut it, ever. i keep running into issues trying to use the features that i want to actually use, and then it turns into a whole issue with trying to find the secret issue or like forum post that somebody wrote about how X feature works in Y situation (especially since the usecase of using it for the browser is probably way less common and i really try to force it).

it makes me sad, because the issues become so frustrating that the language isn’t worth all the other extra features, because it isn’t even functional or the things that i want aren’t even functional when it all worked before.

it’s like this with a lot of other technologies for me, really. the things that i get like enamoured with, like emacs, i really want to try to use it to its full potential and try to do all the things i did before but better and how i want it, but then it ends up everything is just a hack and incomplete and it feels like it wasn’t made for the usecase i actually want even though it’s possible. i can do all these things in emacs and spend hours and hours and maybe days configuring shit, but it’ll never amount to like installing 10 extensions on vscode and configuring some settings and it being a day, because really i don’t actually need all the fancy features i thought would be cool, i just need a working editor with like some of the essentials instead of it becoming an awful beast of a program that slows down my entire computer.

i think this is a very long way to say like… i just need to keep using typescript again, trying to use all these technologies and getting frustrated with them when i was already using a solid option feels awful even though i feel a high from the potential to gain something out of using these “cool” but unfilfilling technologies.


originally posted on cohost: https://cohost.org/cherry/post/779381-i-ve-been-on-the-hun