Live data from Hacker News

Ask HN: I just want to have fun programming again

news.ycombinator.com

61–70 of 219 posts

Re: Ask HN: I just want to have fun programming again

#61
post #52

You don't need much expertise in CSS to build common web UI patterns. It's been around a long time, and tropes like "it's hard to center a div" aren't really true anymore. It's absolutely possible to build JavaScript apps in a single page with no external dependencies. All you need is a single .html file and a simple development server (I use python http.server). Writing in typescript is a easy as a single dev depend…

Trouble with CSS is still this: https://media.giphy.com/media/yYSSBtDgbbRzq/giphy.gif (Peter Griffin trying CSS) And centering a div can still be very hard depending on the circumstances.

> And centering a div can still be very hard depending on the circumstances.

Are the circumstances that you are banned from using flex or grid?

Re: Ask HN: I just want to have fun programming again

#63
post #21

I'm going to suggest Clojure. It is a very opinionated language made a person who was about to quit professional programming because of an explosion of complexity (both accidental and incidental). Check out the talks by Rich Hickey to see if you have the same sentiment or perhaps this paper: https://download.clojure.org/papers/clojure-hopl-iv-final.pd... The community of the language largely follows this philosophy,…

I would like to throw in Erlang and or Elixir with this. Not as stable as Clojure in the case of Elixir of course (or even just the BEAM environment tbh, certainly not as popular as JVM), but it's possible OP has already done the traditional functional programming thing. This is absolutely not a criticism of Clojure or your recommendation. I'm a huge fan of Clojure, but I don't know where OP is coming from/if they've…

> I don't know why but whenever I get depressed of bureaucracy at work I turn to functional programming in my spare time.

I have noticed the same thing about myself.

I think for me, I am drawn to remember how simple programming can be.

Re: Ask HN: I just want to have fun programming again

#64
post #52

You don't need much expertise in CSS to build common web UI patterns. It's been around a long time, and tropes like "it's hard to center a div" aren't really true anymore. It's absolutely possible to build JavaScript apps in a single page with no external dependencies. All you need is a single .html file and a simple development server (I use python http.server). Writing in typescript is a easy as a single dev depend…

Trouble with CSS is still this: https://media.giphy.com/media/yYSSBtDgbbRzq/giphy.gif (Peter Griffin trying CSS) And centering a div can still be very hard depending on the circumstances.

I always see this meme going around, but it's just plain and simply untrue now that Grid can be used reliably.

You can center anything by making the container display:grid; align-content:center; justify-content:center; I don't know of any situations where that wouldn't work. Flex is a bit finnickier to understand with its major/cross axis concept and wrapping, but you can write Grid layouts with your eyes closed.

Re: Ask HN: I just want to have fun programming again

#66
I'm very happy with Dioxus, a Rust UI framework. It might tick most of your boxes, except that it is still quite unfinished. On the positive side, the source code is easy enough so you can create PR's for missing features or bugs that you run into. Here's what's interesting

- You write everything in Rust. Dioxus runs by patching the output from your Rust code onto a VirtualDom in a Webview. So your code runs native, the WebView is just one big canvas that you use to display your UI. It's using WebKit/Tauri not Chromium, so apps are much smaller.

- It is super cross platform (macOS, Windows, Linux, Terminal, Wasm & (very unfinished) iOS/Android)

- You still need to understand some CSS but you could also use an existing framework like tailwind.

- BUT: The way Dioxus is structured, you don't have to Render to a WebView. You can plug in a custom renderer which gets told which elements should be placed in the UI with which parameters. That makes it easy to write a native AppKit or GTK renderer which just places widgets and uses a Flexbox system to figure out the sizing.

Most importantly, working with it is kinda fun. It also supports hot code reloading and so on.

https://dioxuslabs.com

Re: Ask HN: I just want to have fun programming again

#67

If frontend stuff is fatiguing just use Bootstrap. You barely have to touch CSS with it (beyond using its classes on elements) and it is extremely polished and capable. Sure the stock output is a little corporate and bland but who cares, just get stuff done with it and worry about making it look unique later. edit: Material design is another good frontend option that lets you stop worrying about fiddling with design…

I stopped using bootstrap for my side projects once I learned how to use grid/flex. Breaking free of the front-end frameworks feels like flying when you are working on solo projects. MDN is the only web reference you need if you go completely vanilla.

For team/professional work, I'd still stick with something like bootstrap.

Re: Ask HN: I just want to have fun programming again

#68
post #21

I'm going to suggest Clojure. It is a very opinionated language made a person who was about to quit professional programming because of an explosion of complexity (both accidental and incidental). Check out the talks by Rich Hickey to see if you have the same sentiment or perhaps this paper: https://download.clojure.org/papers/clojure-hopl-iv-final.pd... The community of the language largely follows this philosophy,…

I would like to throw in Erlang and or Elixir with this. Not as stable as Clojure in the case of Elixir of course (or even just the BEAM environment tbh, certainly not as popular as JVM), but it's possible OP has already done the traditional functional programming thing. This is absolutely not a criticism of Clojure or your recommendation. I'm a huge fan of Clojure, but I don't know where OP is coming from/if they've…

> (or even just the BEAM environment tbh, certainly not as popular as JVM)

It has run some ~40% of global telephone communications for a few decades now, on top of the usual suspects (WhatsApp, Discord, (old) Facebook Messenger, Motorola, Blizzard chats, a number of banks...) and predates the JVM by a couple of years.

I'd go out on a limb and say that it's one of the most battle tested VM's there is.

Re: Ask HN: I just want to have fun programming again

#69
post #39

C#/.NET is cross platform. I find it more fun than doing things like php or node. But I also don’t follow the whole “everything needs an interface” crap, or the insane level of abstractions people seem to implement. I’m sorry learning rust tho. Like it a lot.

I'm using C#/.NET7 for a side project. I use .NET6 at work. For me, the language itself has no bearing on fun. Having something that "just works" in most areas without having to antagonize over 3rd party dependencies allows me to have fun. I'm sure if I was as familiar with Java or something I'd probably use it for my fun projects instead. If you want the language itself to be an amusement, then I don't think C# is f…

If you want some fun, try working with the allocation-minimizing parts of the standard libraries, or lambdas-as-Expression, or even Roslyn analyzers/generators. C# has loads of "fun language features" to play around with, but what I find useful is that you can just use them boringly if you need to.

Re: Ask HN: I just want to have fun programming again

#70

For 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…

For front end, there are a ton of UI libraries and CSS frameworks out there that can minimize the amount of styling OP would need to do. I am a big fan of Tailwind, but that might be too much. Maybe some Bootstrap/Material UI React components would do the job.
Post reply on HN