Start with something you think is interesting and that you can do in an evening.
Do a little bit at a time.
91–100 of 219 posts
Start with something you think is interesting and that you can do in an evening.
Do a little bit at a time.
Btw, I'm looking into porting it to Windows and Linux, if anyone is interested... :P
Now I don't mean to imply there are not good uses for tool chains like C++'s etc. Only I will say that the disconnection from the end result caused by the long write-debug-ship cycle leads to a certain programmer malaise. The same is true for things like coding chips with Verilog. The production chain is so long with respect to the creative endeavor itself that motivation and satisfaction is hard to get.
So, for me, doing SaaS software, which ships "all the time" with Clojure, has restored my ability to 1) read the std library and most others easily to understand them, 2) Create control, preprocessing and IO primitives myself for special purposes which easily rival standard ones, 3) use interop to access large libraries written in another long lived language (Java), 4) build and use tools that simply introspect the code, producing my own tool additions and automations without AST's, and elaborate tooling, after all, code is just data.
Obviously YMMV. One blog post documented someone who changed from C++ to Clojure and did not find satisfaction. But he was attempting to do something, embedded I believe, that is not well suited to a JVM. So changing to Clojure does involve changing to an area that favors one of the two big Clojure host language machines, JVM or Javascript based environments.
It uses Java 17 and LibGdx for graphics, compiled to JS (Canvas) by TeaVM, and served by Micronaut.
* https://github.com/JuliaDynamics/Agents.jl
Might be interesting.
(1) Unlearn the "large team workflow mindset" and embrace the "single developer mindset" again. You don't need a plan, a Kanban board or a bug database, just an idea in your head. Get rid of "big languages" which are good for team work, but just a hinderance when working alone. In my case this meant: dropping C++ and embracing C (today that would be: Zig). Focus on getting shit done like when you started out with programming instead of agonising over design decisions. It's better to throw away something that doesn't work than wasting too much time upfront with planning (and then it still won't work). At least you still learned something valuable. Try to do the 'planning' part passively in the back of your head out in nature while taking a walk or some other outdoor activity.
(2) Pick a challenging problem where you have no idea yet how it works, but which you would like to know. In my case this was "home computer emulators".
...well 3 steps, step 3 would be: don't set yourself any deadlines for this sort of "fun stuff".
I had similar feelings, and I get the same feelings looking at today's front end development which looks increasingly like embedded C++ development. I had always tinkered with Lisp but expected it to be forever marginalized given how good Common Lisp was, and how poorly it had been adopted by industry. But Clojure changed that for me. The fun seems to come from agency, the ability to affect outcomes with reasonable a…
But I'd agree that if you want to find joy in programming again, Clojure might do that for you. It's a lot of fun.
I created a little SaaS product with some HTML, VueJS 3 and Laravel for fun. No code reviews needed here. Also not my daily stack. Was quit funny ;). I have to mention I don't like JS very much and I was never a Frontend guy, but I gave VueJS a try. And I think somehow I finally found something to build nice Webpages without digging into React or using jQuery for now.
It was great relief and somehow I became a little aware that programming in the corporate world is relatively often just no fun. No idea what I'm doing with the knowledge currently. Cheer up and try to do some sports. I know, an often used advice, but it helps.