Hacker News new | ask | show | jobs
by mkhattab 4188 days ago
I'm planning on going old school and re-learning C and Assembly for x86 and, in particular, ARM architectures. My reason for doing is that I want to get back into embedded systems.

I also plan on picking up Rust and somehow integrating it into my workflow (I'm a web developer).

Ideally, for the future (2015 and beyond), I want a basket of languages I could use for building web-scale applications. So, for example, within a single application:

  * Erlang -- distributed messaging
  * Rust -- heavy lifting for various tasks
  * Python -- various data munging tasks and rapid development
  * Javascript -- client side applications (e.g. Ember.js)
  * C -- in those rare cases where it would be needed
I think I would stick with these languages for the next ~10 years and try not be distracted by anything else.
1 comments

I'm in the process of picking what I want to specialise in as I'm worried about fragmenting my learning and falling into a 'jack of all trades master of none' situation.

    * Elixir -- scalable APIs and 'realtime'
    * Rust -- still evaluating this. 
      Hoping it could replace C for me. 
      Ruby bindings is something I'm looking for in the future.
    * Swift -- Loving it compared to Objective-C so far
    * Clojure -- I like the idea of creating an app just in Clojure, Clojurescript
      using Om etc.
      Not sure how Clojure is with Android but that will be a factor
I can only speak about the Rust side. Seriously, pick it up. It is more than a replacement for C. You get a total replacement of C + a loooot of extra stuff, like no null pointers, memory safety, C compatibility for FFI, iterator and list comprehension goodness, and just a lot of good practices. At least for me, Rust is the perfect mix between C and Haskell. YOu get the low level stuff of C, and the expressiveness and joy of Haskell, without all the brain-hurt from Haskell.

Side note: I do love Haskell, but let's admit it, the learning curve is pretty steep once you hit monads/comonads.