HN user

arms

172 karma
Posts2
Comments112
View on HN

I put this together because I found navigating the GraphQL ecosystem, with all its tools, to be confusing. I thought it'd be helpful, especially to newcomers, to see how the pieces fit together, and to list all* the tools in one spot.

* Except the ones I missed, of course :)

I use Python because:

- it's a well designed language

- it has a great ecosystem and community

- it runs fast (enough for my purposes)

- it looks enough like pseudo-code that translating what I wrote on paper into a program is that much simpler.

The fact that it can be used both for teaching computer science in colleges and children how to code speaks volumes about its versatility and approachability.

I use it mostly for web apps, APIs and miscellaneous scripts. Python has been a great addition to my tool-belt. There are some languages I hope I never have to write again; Python on the other hand is something I'm going to always keep in mind, even if I spend most of my days writing another language.

The last time I wrote any ClojureScript was over a year and a half ago. I played around with Reagent a bit and remember really liking it. I never used it for any serious projects or in anger though - how is the tooling and debugging experience? I would love to use ClojureScript for my front end work (since I always end up using React + ImmutableJS anyways) but developer ergonomics are really important to me.

Django, mostly. I like its batteries included approach and its maturity. I've found it's a great tool for many jobs. Every now and then I'll use something smaller, like Flask or Falcon, but as soon as I need an ORM, or auth, I use Django.

I've also used Phoenix a few times now and have been enjoying it. But I know Python much better than I do Elixir, so I skew towards that.

I was very interested in Clojure and studied it for awhile. I liked it a lot, but had a difficult time becoming proficient with it. Part of it was the tooling (I tried learning Emacs and Clojure simultaneously when I should've only focused on Clojure), but my biggest hurdles were the syntax and understanding the error stack traces. They just seemed way too opaque. This really slowed down my progress. On the flip side, when I picked up Elixir, I became productive very quickly. Studying Clojure actually helped a lot here because I was familiar with functional programming and immutable data, but Elixir's familiar syntax and easier to understand error messages made it much easier for me to grok. I've since built a few things in Elixir and have been very happy with it.

Good question, I'm interested in hearing other people's suggestions.

I don't use go, but I've worked with websockets in Elixir + Phoenix, and one thing that's been really helpful is being able to open up the REPL and broadcast directly to the websocket. Would you be able to do something like this in go?

Sure they can. You can use server side languages like Clojure, Erlang, Elixir, F# and a few others I'm sure I'm missing.

There also exist libraries for some languages that introduce immutable data structures, like pysistance for Python.

Thanks for sharing.

First my complaint: the slides are really annoying :) A traditional left-right stack would've been nicer.

That said, this is something I've been looking at lately as I've got a bunch of python code that I want to parallelize, and a strong interest in Elixir. I found your code samples very helpful.

Edit: I see the other comments mention the slides, and how to navigate them w/ space. Disregard my complaint.

There are a bunch of factors in play here, but I'd guess that the reasons are mainly two-fold: a) developers like shiny new things (myself included) and b) Angular and React offer opinions on how to build front-end apps, which can be very hard.

Angular and Ember never quite did it for me. I don't agree with all the design decisions they've made. I do however enjoy using React a lot. It fits my mental model much better when it comes to building front-end apps. It's simple to learn, focuses on building modular components and I really like how it manages state (either via components or Flux/Redux.) That said, it's not something I use for every project. But I had something that just wouldn't work as a traditional server-side rendered project and React was a godsend.

I'm hopeful that ClojureScript continues to gain traction and improved tooling. I really like the language, and feel that it offers enough to replace JS for most of my needs. I've played with Reagent and _really_ liked what I saw there.

I'm interested in more than just the use cases (although still curious to hear why someone chose Elixir, whether it be for the language, BEAM, or whatever.) I'm looking for stories of why it was chosen over another language and what the end results were.

I'd love to read about people's real life uses of Elixir, whether it be for their jobs or side projects.

I want to +1 the "makes for simpler code." I'm working on a side project in my free time on nights and weekends. I find the simplicity of React makes it very easy to jump back in after not working on it for a week, or when coding while I'm tired. Working with simple components allows me to constantly move forward, even if it's only for 30 minutes or an hour a night

I'm also curious to hear why you like Flummox better than Reflux. I'm using Reflux now, and haven't hit any pain points, which I can't say the same about some of the other Flux implementations.

This is very exciting. I've been using React for a bit now and have found it a pleasure to work with. I can't wait for more details on React Native.

As someone that's recently started working with Clojure (and soon ClojureScript), I wonder the same thing. My first guess is that people are unfortunately and unjustly turned off by its Lisp pedigree.

I've been using and enjoying React and am excited to learn more about Reagent. It seems like Clojure + Reagent will make development quicker and more enjoyable.

I'm genuinely curious why you think JavaScript is comfortably #1 within the domain of Python, Ruby and PHP. I've been writing (client side) JavaScript for a very long time, and I generally enjoy it, but I don't see myself abandoning Python on the server side for JavaScript anytime soon.

(edited for clarification)