You seem to have two very conflicting wishes here: 1) To have fun 2) To write a cross-platform web-base app with good HTML canvas inter-op ... If you really want to deliver this cross-platform app, then it seems that's going to be more work than fun, although no doubt good tool/framework choice can help minimize the headaches. For a fun project it seems better to avoid all of the things that you already know are goin…
Ask HN: I just want to have fun programming again
211–219 of 219 posts
Re: Ask HN: I just want to have fun programming again
#212> I'm not a fan of the complexity
That is a very frequent trap many devs fall into when doing a video game. You start with the intention of programming a video game and you end up spending all your energy building a video game engine first. Resist that with all your might. I recommend trying to make a little game that "works" from the start, and then doing small improvements gradually while making sure that what you have is still a "working game". If you spend more than an hour with your game in a non-runnable state, revert to the previous commit and reassess.
Second problem complexity-wise is ... just incidental complexity. In general, 3D games are one order of magnitude more complex to do than 2d games, so I would recommend the later.
You could try doing something in PICO-8 [1]. It's a game dev environment with artificial limitations. Like the number of colors (16), the screen resolution (128x128) and others. It's programmed in a dialect of Lua, which is in itself a very tiny language. It is possible to make something overly complex with those limitations, but you have to try really hard. And it is fun.
Re: Ask HN: I just want to have fun programming again
#213Let me know if it was useful for you! Good luck with everything!
Re: Ask HN: I just want to have fun programming again
#214And who knows, maybe this new knowledge will be useful professionally one day (I learned a lot about very low level computer concepts, and I didn’t know C before), but that is totally not the goal. Just the absence of the pressure to be useful brought back all the fun for me.
Re: Ask HN: I just want to have fun programming again
#215Earlier quoted context omitted.
Big +1 on this. If you're OK with a broader definition of "programming" and have a bit of money to throw around, I've found tinkering with https://www.home-assistant.io/ to be very satisfying. I got more sense of accomplishment from scripting "text me when I leave the house if I forgot to set the alarm, and turn on the front porch lights when I arrive back if it's after sunset" than I did from months of corporate wor…
Deploying Home Assistant is largely how I taught myself Docker, Kubernetes etc. Its much easier to learn solving a "real" example. You can learn a ton just trying to do a production grade home assistant deployment - move on to SSL termination at the load balancer with letsencrypt, try different deployment strategies for upgrading the server with zero down time, write custom extensions... etc etc. I've now got a small…
I'm reasonably sure that being able to talk about my home k3s-on-pi's cluster was a positive factor in getting my latest job :)
Re: Ask HN: I just want to have fun programming again
#216My background is C and C++. I had tried fp before but it didn't stick. It gets awkward really quick. No such things with Elixir.
Re: Ask HN: I just want to have fun programming again
#217If you want reliability, perpetuity and still some fun try Rust. https://www.rust-lang.org
Re: Ask HN: I just want to have fun programming again
#218For UI I do think JS is your best option atm. You don't have to write JS to generate JS, you can use Typescript or go more exotic to things like Rescript. In terms of CSS; you'll need some form of styling in whatever language, there are plenty of abstractions on top of CSS if you want [something not css]. I would suggest having a look at Next.js if a web app would work, React Native (use Expo) if you want mobile, or…
Someone else mentioned .NET. There's also Delphi and Lazarus. Both are cross-platform and have full-fledged UI systems, without any of the web ecosystem nonsense. It's a totally different experience than web development.
Re: Ask HN: I just want to have fun programming again
#219This way you can start very easy and learn about the cross-platform UIs later (if you by then still stick to the commitment to the project).
Learned golang last year, decided to refactor many projects in it. It makes cross-platform development a lot easier, except for native UIs (as of now). But fyne and others are getting there very quickly.
The core strength of golang is its build toolchain, with cross-compilation from Linux to anywhere, basically. Additionally it makes you "think in structs" due to how the language is designed, so serialization/deserialization can be pain at first but once you realize the benefits of un/marshalling, it's amazing.
The batteries-included approach of the golang core libraries + golang.org/x is a nice dev experience, there's all kinds of libraries in there that you could ever need, already available in pure golang (with zero C dependencies, so CGO_ENABLED=0 makes it as cross platform as it can get).