I have to level with you. Dealing with network programming in my applications has always freaked me out a little bit.
You know what I’m talking about, don’t you?
Let’s be real about it: low-level network programming is some scary shit. When you have to step beyond the nice client libraries that wrap the networking protocols, there are sharp edges that can gleefully poke you in the eye whenever you make the tiniest misstep in your code.
To put it lightly, low-level network programming has not been a very pleasant experience.
There’s Power Beyond The Pain
And yet… it’s CRAZY powerful. It’s the key to the kind of applications you want to be building in your future.
Want to create a serverless, peer-to-peer, multiplayer video game? Get ready to dive into the networking stack.
Want to build a realtime analytics system for a network of remote devices in the Internet of Things? Yeah, request/response ain’t gonna cut it.
What about creating a live trading or marketing automation system with single-digit-millisecond response times? Ciao, HTTP. It’s been fun while it lasted.
Most developers I know are THRILLED by the idea of working on applications like this. And yet for most, building applications like this seems out of reach. Somehow off the table.
WTF? What’s up with that?
An HTTP Too Far?
It’s actually very simple. The reason that bold ideas like this seem out of reach is because most of us have been conditioned to use HTTP for…wait for it…everything.