You may have heard of Marie Kondo, a Japanese Organization Consultant, she wrote a book called The Life-Changing Magic of Tidying Up. In the book she discusses her method of organising, which is known as the KonMari method, it consists of gathering together all of one's belongings, one category at a time, and then keeping only those things that "spark joy", and choosing a place for everything from then on.
I think it could be a cathartic process for your digital life also, what if you gathered all of your digital "things" together, all of the languages, frameworks, libraries, and tools that you use, and decide what to keep from each category. What would you choose?
I think it's more important now than ever to review your "toolset" with this in mind. For your own well-being, you should remove things, keep the "joyful", and slowly add more. There is such a proliferation of new tech, this is a decision you need to take again and again, so it is important to have a good ethos for your personal life and career.
Top comments (44)
Lua! In my case, I used it with LÖVE.
It's exceedingly clear, it runs everywhere, and it's close enough to the metal that no bugs are magical. Every time I use it, it's a pleasure.
LOVE looks cool! I was unaware of Lua until I was looking at single-board computers, i was surprised that Lua was a common language to be bundled with them!
Yeah +1 to Lua. Aggressively simple. I've been enjoying my Lua with Lisp flavour recently - check out Fennel.
Löve is for sure the game engine I have enjoyed the most! Is is just fun to use even for the first time. I recently tested phaser and that was so rough in comparison.
observablehq.com and quokkajs.com
I wish regular development could have that kind of feedback loop
Sounds like you wish for a Lisp
Some of the observable journals are beautiful, I have not used it, but would like to pick it up some time :-)
Before answering that question, I'd go back to the roots of the KonMari method. "Sparking joy" is an imperfect translastion from Japanese, says redditor:
Looking forward is crucial in technology. Tools and frameworks are constantly evolving. Sometimes, this happens too fast, with people focusing too much on trends and buzzwords.
"Joy" is not the term I'd use for my experience with npm - quite often, it's exactly the opposite, I'm feeling very frustrated. But in going forward with my current project, npm is the tool that will let me reach my goals.
Yep, I agree that you have to look forward in tech, and evolve, but I think it's important to be rooted in the present and not to be swayed too much, or too far from the core of what you enjoy. Of course, sometimes you have to use a tool because of a work environment, or the high adoption rate in the industry. So, if you can choose, choose a work environment that uses your "happy" stack!
I have not had to use npm extensively, so I cant share your pain! The trend that some people hope for is to use native imports more in the future and reduce the reliance on npm, I believe that's the ecosystem Deno is going for
If it's a tool: for me it is probably Wallaby.js - realtime as you type test runner with super powerful in editor feedback and debugging tools (and as someone else said, Quokka.js its sibling).
For a language then that's harder - I always had a soft spot for Ruby, I'm very excited about Elixir, I think C# is powerful and expressive, but coming from where it was - modern Javascript has a fluidity that is complimented by it's new found terseness and support for asynchronous coding.
Wallaby is the best. Not only is it a joy to use, if you by accident throw a project at it that doesn't work their support team is always very quick to help you out (Example: github.com/wallabyjs/public/issues...).
For other languages there are also alternatives. C# -> nCrunch, Python -> PyCrunch, Java -> InfiniTest.
For me it‘s Go/Golang! I love to write it and learning something new feels like reading a good book. Interesting and rewarding
Ruby and Rails spark more joy than anything else for me. I'm also a huge fan of Elixir, it's a phenomenal language and in my opinion, has some of the best documentation out there: it's standardized, concise, and easy to document your code as you go.
Svelte also sparks joy, I haven't been able to use it too much yet but the little I've played with it has me excited to try building something real with it.
As far as tools, Atom still sparks joy, it does everything I need, easy to configure and it was my first real text editor. For notes Bear sparks joy.
You know, programming in React is sparking joy for me. I like how easy it is to create components and refactor them into smaller pieces. It's 6 years old an still going strong, evolving and getting better while not leaving old code behind.
I noticed a lot of people speaking fondly about TailwindCSS. It's on my radar :-)
Personally, I don't really see the benefit of TailwindCSS, or I haven't use it much.
Yes, please Change my mind.
I love the library I created: rubico. Think RxJS, but no Observables, just vanilla types. I put up a website with some runnable code examples here. Here's a code sample with deno that I look at every now and again
Kotlin and Coroutines
As a PHP user, I love using Laravel. I also love using Tailwind CSS whenever I get the chance.
Tailwind was weird to look at at first with all of the class names, but it quickly became easy to remember them by their prefixes.
As another comment said, the Tailwind IntelliSense plugin for VS Code also helps a lot when you're trying to find the right variation of a class (especially margin/padding sizes and text colors).
I guess I could say I'm happy not having to directly write CSS. It's so time-consuming.
Clojure so much. The whole ecosystem around it, and on Emacs, and yes, also that little tool called "clj-kondo" :P And lately to a big part the Fulcro framework. The tooling it has is amazing.
Try Elixir and Phoenix :)
Despite its many quirks, JavaScript is fun. To this day I still pick up awesome little tricks like this one.
I was a Ruby/Rails stan for a long long time. Did modern javascript for a couple years, going through all of the relationship phases there. Then I got a job doing C#/dotnet, all the type safety and building before seeing any change was annoying at first. But then it started clicking. I've grown very skilled at learning to like whatever platform I'm working in. But, C# is the first language that I'd genuinely be happy coding in for the foreseeable future.
I've had similar experiences going from language to language. If you go from statically typed to dynamically typed, it can feel wild west in the beginning, but once you recognise the types of things you need to be concerned with, and what you can ignore, the paranoia dissipates. For me, JS still feels a bit wild west. I prefer languages with more substantial built-in libraries. Over time, with familiarity, you can grow to like a language, but I think depending on your background and personality, you can be drawn to particular languages more.