”It’s all about Containers, Serverless and Reactive Programming right now! ProgSCon London will explore these trends with leading industry experts. Several talks will also feature Blockchain, Microservices and Big Data.”
You’re here at ProgSCon to hear all about the latest trends in technology, to learn about them and decide which ones to apply and figure out how. But it’s a tall order, learning to be a fully buzzword compliant developer, architect or lead, especially when What’s Hot changes on practically a daily basis.
During this talk, Trisha will give an irreverent overview of the current technical landscape and present a survival guide for those who want to stay ahead in this turbulent industry.
See also: https://trishagee.github.io/presentation/becoming_buzzword_compliant/
45. Functional reactive programming, commonly
called FRP, is most frequently misunderstood. FRP
was very precisely defined 20 years ago by Conal
Elliott. The term has most recently been used
incorrectly1 to describe technologies like Elm,
Bacon.js, and Reactive Extensions (RxJava, Rx.NET,
RxJS) amongst others. Most libraries claiming to
support FRP are almost exclusively talking
about reactive programming and it will therefore not
be discussed further.
https://www.oreilly.com/ideas/reactive-programming-vs-reactive-systems
46. Reactive programming vs.
Reactive systems
• Reactive is a set of design principles
• Event-driven vs. message-driven
• From programs to systems
• The resilience of reactive systems
• The elasticity of reactive systems
You don’t have to READ the articles. Just scanning the headlines is Step One to becoming buzz-word compliant
See extra photos from flight
Now we’ve done our research (note we didn’t have to actually READ any articles)
We know we’re building…
We’re all writing these, right?
Let’s look at each of these in a bit more detail
Approx 15 mins in
Netflix is doing it so We Have To
But microservices are so Last Year
Modules in Java 9
It’s pretty much accepted practice now
So you don’t need to research it, you’ll be doing it at work
Or… you don’t care about it because you’re serverless
Doesn’t interest me because I’m a Java developer and without a server I’m completely irrelevant
Picture of a chain? Kids blocks?
Big data is about saving so much data that you cannot possibly make head nor tail of it
I have a degree in Computer Science and Artificial Intelligence
Can you write a hello world app for Machine Lerning? Big Data? Microservices?
All this other stuff looks suspiciously like architecture, which is Hard to try as a developer
We like code, so let’s pick the thing that we can code to
We’re going to learn enough about Reactive to bluff our way through a pub conversation, or an interview. Sometiems these things are the same thing.
Big explosion in news about Reactive in the last 6-12 months.
From a Java/JVM point of view, this is probably because the Reactive API is going into Java 9
I did get an interesting Reactive Programming vs Systems article in my inbox months ago, so I can at least dig that out.
Reactive Systems sound hard.
More architecture, not to mention resisiliance, etc.
Again, not easy to write a hello world application.
And some bad ones
SO now I’ve narrowed down that what I’m interested in is Reactive Programming, I can research that.
Approx 30 mins in
Time is a funny dimension
Seems that the most common library we stumble over is Rx, Reactive Extentions
I can tell this because I’ve been doing my homework scanning the headlines of the tech news
Good thing is it has implementations in multiple langauges, so a) sounds like a reusable skill to learn and b) I can pick a language that suits me
The Reactor guys got a bit peeved with me that I chose RxJava, but I can’t help it if their marketing isn’t as all-pervasive as the Rx guys
Note the Java 9 Oracle document
Now, with a bit of Google-foo and maybe some of those saved, unread articles in pocket or feedly, we can start learning:
Just Enough To Be Dangerous
Note: once again, you don’t necessarily need to READ all of this, at least not in any depth. It’s enough to skim them to get a feel for the common themes
Like “easy concurrency” (ha!) and “backpressure”.
Remember this, because this will come up again
Finally!
I know we all wanted to do this as step one, but there’s zero point in feeling the pain of something that is not going to look amazing on your CV
If there’s one thing I’ve learnt in 20 years as a professional developer, it’s not to waste time on something you’ll never use in anger
It’s almost the same!
(pedants – the behaviour is actually different, but that’s the topic of an entirely different talk)
And it all works the same
Apart from where I wanted it to work differently
Only it didn’t
I don’t have to tell you how I found the answer to my problem.
StackOverflow is a fundamental part of Step 5: Coding.
But this magic incantation did get it to work, and that’s all that matters