Live data from Hacker News

Ask HN: Which tech stack is the most fun?

news.ycombinator.com

141–150 of 187 posts

Re: Ask HN: Which tech stack is the most fun?

#141

In my opinion, it's Clojure(script). I simply just don't have as much fun with other languages anymore. Clojure let me write some of the most elegant code I have ever written, and knowing certain nooks and crannies of Clojure lets me pull off some...interesting stuff.

Could you say more about what/how you're using them? Like, frameworks, libs, practices (testing), editor, repls, etc.

Sure, my go to editor for Clojure is Emacs with prelude and few major modes (CIDER, Clojure mode, paredit, smart parens, helm, etc). I use the CIDER-nrepl to jack into a REPL process within Emacs, so I can evaluate buffer's with C-c C-k. It creates a very fast feedback loop.

Clojurians don't tend to like frameworks and stuff. They're less frameworks, and more toolkits, a collection of popular libraries with config out of the box. Popular ones are Pedestal, Luminus, Edge, Compojure+ring. I started with Compojure, and I've played with luminus, Juxt's Edge, but lately I almost always bring together Reitit (a router) and Ring (jetty adapter for Clojure).

Front-end frameworks are a different story though. There are two big contenders: Reagent and Re-frame. Reagent is a Clojurescript wrapper around React that uses Hiccup (an http DSL for clojure) syntax to define components. Re-frame extends Reagent by providing a side-effects-under-the-hood framework for building single page applications. Recently, I've taken to really liking re-frame, especially with the Material-UI Reagent wrapper to ship fast.

clojure.test is the core testing library, and it's pretty robust out of the box with assertions and macros for testing conditions like Exceptions being thrown. By default it provides diffs when the test fails. There are libraries to help with testing/mocks and stuff, but I almost never use them.

It's also possible to use clojure.spec to create data generators for generative testing; however, the caveat of using clojure.spec for generators is typing your functions/type/etc too much, you'll lose the benefits of a dynamically typed programming language and probably spend more time writing the specs instead of the code. I typically use spec, or a competitor like Malli, to validate input at the system boundaries and critical code pathways.

There is so much to the Clojure ecosystem, this really only scratches the surface. I hope this helps though.

Re: Ask HN: Which tech stack is the most fun?

#143

Earlier quoted context omitted.

Could you say more about what/how you're using them? Like, frameworks, libs, practices (testing), editor, repls, etc.

Sure, my go to editor for Clojure is Emacs with prelude and few major modes (CIDER, Clojure mode, paredit, smart parens, helm, etc). I use the CIDER-nrepl to jack into a REPL process within Emacs, so I can evaluate buffer's with C-c C-k. It creates a very fast feedback loop. Clojurians don't tend to like frameworks and stuff. They're less frameworks, and more toolkits, a collection of popular libraries with config ou…

Thank you very much! Do you mind being contacted for further questions at some point? I'm generally aware of the Clojure ecosystem, have a plan to build an app and might have some further questions. Note that I ask in all eventuality that you might have the availability, I know it's pretty bold of me ;).

PS: my email is in my bio, and this is concerning the near-ish future

Re: Ask HN: Which tech stack is the most fun?

#144
post #49

If you are looking for literal fun, try Unity 3D.

I am a js/react developer and I miss developing games in Unity3D. It is like a kid's playground but for programmers. It has quick feedback cycle from a change to seeing the result. It has very little or no boilerplate code. Code/Project organisation is through a nicely built UI.

Unity people, go ahead use this in your ads :D

Re: Ask HN: Which tech stack is the most fun?

#145
For personal project where I actually want to finish it, Laravel, MySQL, Apache, Linux because I know it well and highly productive in it.

But for pure joy and play, Swift/SwiftUI/XCode/MacOS. I have just got into it, I love how everything just works. Another comment mentions that Apple docs are not that great but so far I haven't run into any issues.

I am also exploring Unity/VR/C# ecosystem, that seems fun too. At work, I spend enough time dealing with non-dev tasks. So at home, I just want to write code and make it do something.

Re: Ask HN: Which tech stack is the most fun?

#146
post #119

Earlier quoted context omitted.

+1 phoenix/elixir is such a joy to use. A big emphasis on developer happiness, extremely powerful (with a broader set of strengths than Rails imo), and the actor model is much easier for me to reason/think about because it cleanly separates logic and is designed to fail and recover cleanly.

> broader set of strengths than Rails imo What are those, in your experience? The BEAM platform is certainly better for concurrent work where you might be holding open something like a web socket. But other stuff...? I'm a pretty happy Erlang programmer and feel like I 'get' the functional programming aspect of things, but to me ActiveRecord just feels like such a great fit for DB work in that it makes the simple thi…

It's hard to beat Rails for "need to make a CRUD app in front of a DB". Phoenix is pretty close, though.

Where it really shines is anything beyond CRUD. I want to make my CRUD apps more dynamic, and build collaboration features into otherwise boring apps. LiveView makes it wickedly simple to do things like typeahead find: https://twitter.com/mrkurt/status/1434969788275691522

And Elixir + BEAM gives me reasonable plumbing for collaboration features. Even something as simple as presence makes CRUD apps more powerful.

So the broader set of Phoenix strengths aren't ActiveRecord vs Ecto. Phoenix helps me build a more powerful app because it has a broader set of strengths. And it's almost as good at Rails for just CRUD, so I don't give up much to get those features.

Re: Ask HN: Which tech stack is the most fun?

#147

Earlier quoted context omitted.

Sure, my go to editor for Clojure is Emacs with prelude and few major modes (CIDER, Clojure mode, paredit, smart parens, helm, etc). I use the CIDER-nrepl to jack into a REPL process within Emacs, so I can evaluate buffer's with C-c C-k. It creates a very fast feedback loop. Clojurians don't tend to like frameworks and stuff. They're less frameworks, and more toolkits, a collection of popular libraries with config ou…

Thank you very much! Do you mind being contacted for further questions at some point? I'm generally aware of the Clojure ecosystem, have a plan to build an app and might have some further questions. Note that I ask in all eventuality that you might have the availability, I know it's pretty bold of me ;). PS: my email is in my bio, and this is concerning the near-ish future

sure I'll reach out

Re: Ask HN: Which tech stack is the most fun?

#149
One of 'the most' fun and pleasure to work with stack is FreeBSD ecosystem for me.

After switching from Linux both on desktop/laptop and servers I really got comfortable and fun on FreeBSD. Of course its has its ups and downs - like everything in life - but after using FreeBSD for about 16 years now I know one thing - this is the OS that sucks the LEAST from all of them.

Here are some thoughts to conquer:

https://vermaden.wordpress.com/2020/09/07/quare-freebsd/

Regards.

Re: Ask HN: Which tech stack is the most fun?

#150

Earlier quoted context omitted.

Could you say more about what/how you're using them? Like, frameworks, libs, practices (testing), editor, repls, etc.

I came to the comments to make a similar assertion of Clojure(script) being fun. Usually I work in IntelliJ with Cursive. VSCode with calva isn't bad. The stack for my project is: Backend: Redis (no relational DB needed for my use case) Clojure: Carmine - (redis interop) Reitit - Nice API definition and routing Malli - Nice schema validation and coercion Timbre - Logging without known RCE vulnerability ;) Frontend: C…

Thank you! In the event you see this may I ask why not stick with Figwheel? Does ShadowCLJS do the job just as well? I remember Figwheel being impressive and it seems maintained.
Post reply on HN