Ask HN: Which technology are you learning or are you planning to learn?
I spent the last few months digging in a lot of different technologies during my spare time, just for curiosity, from Elixir to Kotlin, and abstractions, from Functional Reactive Programming to Event-driven Dataflow Programming also reading about the history behind them. After studying the latter, I actually decided to write a book about Reactive Programming in Swift, that is a work in progress, but that's another story.
I am a desperately curious developer and I was wondering which technology are you currently learning or are you planning to learn in the near future and why?
25 comments
[ 2.7 ms ] story [ 86.2 ms ] threadThe language is indeed quite basic, but to me, that is one of the factors that I like about it.
Learning how to apply clean architecture (ref: Robert C Martin) when using a large framework like rails/django. Learning ruby, rails, and django (already quite familiar with python. Been using flask for everything I do so far).
Building a real time application. Learning meteor and how to apply TDD with meteor.
Building a front end heavy single page application. Relearning HTML and CSS properly. Still deciding whether to use React or Ember. Ember's documentation is bad but I've already put up my hand to help improve it. I really want to help. But react is just looking really good and it's docs are stellar. To the point that I feel like I'd be missing a bus if I ignored learning it. Will probably toss a coin on that.
After that I'm probably going to learn HTML5/CSS3/JS and some JS framework. Also I really want to learn MeteorJS or Elixir.
I've heard of Kotlin few times, but it never had my interest. I will give a try some day.
Also I want to get more on the backend side so I've done some small projects with Node but I'm going to start to learn PHP and Symfony2 since there are no Node jobs where I'm from.
And generally I'm trying to improve the quality of my code, so I'm working slowly through Code Complete 2.
I find the ML languages fascinating in their approach to programming. I think there is a pragmatic side to MLs that gets ignored due to their background in academia. The way you set out to model your programs is interesting and a nice change coming from languages like Ruby/JS where you tend to run around with your head cut off.
0 - http://elm-lang.org
1 - https://ocaml.org/
1. Networks and protocols
I know most of the TCP/IP stack, physical through to application layer, but lack expertise in most of it. For example, it couldn't tell you how to pack a query in a DNS packet even thought I know the header and body format - or tell you how TCP Fast Open works, despite knowledge of the 3 way handshake.
Security and exploits:
I'm really interested in exploiting software. In fact, just today I developed a buffer overflow vulnerability in a HTTP server that can be exploited by a maliciously crafted HTTP request (a dummy server for educational use)
Operating Systems:
Likewise, I have working knowledge of operating systems but nothing exemplary. I could talk to you about interrupts, ISRs, user level v.s kernel level threads, the VFS, etc..., but lack hands-on experience with any of them.
Finally, and to a lesser extent (I haven't got that far yet) the Linux kernel.
It's a lot, I know. However, it's becomes obtainable when you realize people dedicate years to their craft. You just have to be persistent, self-motivated and enthusiastic - the rest takes care of itself
ES6 and React. I haven't really done any JavaScript development since I used CoffeeScript and Backbone two years ago. Hopefully ES6 and React will have a relatively longer shelf life.
Functional programming. I've been trying to wrap my head around the paradigm. I'm using clojure instead of haskell, but the principles are still there.