Open EncodePanda opened 7 years ago
Oh my gosh, I'm so excited to see you again!
I would love to hear about how Scala is different from using Haskell or any other FP.
I'm all for a discussion of "FP as an instrument to bring sanity..."
I'd suggest "How Scala is different from using Haskell" in the context of Quasar. Could double as a, "FP in Scala in the large" type of talk to show people how to scale up simple concepts to large business applications.
I vote 👎 to Haskell content since we already have lots of Haskell guides and there will be lots of Scala attendees. 😈
Would really love to hear about ScalaZ. But would not mind about Cats too.
I'm a newcomer, so I'm specially interested in #1. But #2 looks really interesting as well!
+1 to some CATS learnings.
Would like to hear "How Scala is different from using Haskell"
This talk is designed for all those interested in learning Functional Programming, to tackle real world problems that they stamp upon every day at work. Functional Programming brings sanity to our industry as it gives you ability to handle complexity with modular & composable code. Keep in mind however that Functional Programming is not a magic wand that will suddenly make complexity disappear. If your problem is relatively difficult, simple immutable data structures and function composition will not suffice. Complexity is hard, simplicity is however not easy. Good news is: all problems you've encountered have been solved decades ago. Knowing them will prevent you from rediscovering the wheel.
You want to attend this session if you are interested in Functional Programming in general & are seriously devoted to making the next big step into the rabbit's hole.
This session will be an interactive presentation: you can take your laptop with you and try to follow or sit back and listen - whatever works for you best.
Programming language: Scala + ScalaZ (if you prefer Cats, you should be fine as well)
You are: professional software developer.
Things you should already know:
In other words: Novice & (partially) Advanced Beginner (*)
Things you will learn:
In other words: lifting you from Novice/Advanced Beginner to a Competent apprentice of Functional Programming (*)
If time will allow us, at the very end we will study source code of Quasar Analytics - where all above mentioned technics are being used to some extent. We will see how they allow keeping code modular & composable, despite rather complex domain.
Note about language used: you should be at least basically familiar with Scala language. You don't need to have professional experience with the language, but understanding its basic constructs will be mandatory. You should at least know: how to define class, methods, functions. Have general understanding of pattern matching & implicit arguments.
(*) see http://lambdaconf.us/downloads/documents/lambdaconf_slfp.pdf
Hi, I'm Pawel Szulc. At the moment, I am a Scala developer and humble apprentice of functional programming.
I've been exposed to the functional paradigm pretty late in life, after 8 years of working as a software developer. Three years ago, I was introduced to the basic concepts of functional programming, and it was a life changing experience — both humbling and refreshing. It's really funny how your ego totally melts when you realize how much you still don't know! At the same time, you are injected with an enormous amount of adrenaline, knowing that you just entered a vast new world that you can explore.
For the past 2.5 years, I've been polishing my craft, learning theory whenever and wherever I could. I was fortunate to speak at some well-known FP conferences, including LambdaConf and LambdaDays. You might have heard my talks "Monads - asking the right question", "Real World Gobbledygook", "Having a Cake and Eating It Too - Introduction to Typeclasses," and recently, "The Cats Toolbox: A Quick Tour of Basic Typeclasses".
Learning theory and writing code for toy projects is great, but until recently, I was always missing the bigger picture. I had questions like, "How does the paradigm works in a larger project?", "What are the corner cases?", "Where does FP hit the bottom?". A few months ago, I was lucky to be hired at SlamData, where all my answers were answered. I'm blessed with the ability to work with some of the best developers I've ever met on a 100% pure functional programming project.
For me, functional programming was never about switching paradigms just to switch. It was always about sanity. Yes, SANITY. The ability to finally do real engineering (to some extent). A safe space where you can reason about your code in isolation. Where modularity actually makes sense. Because software engineering is hard - whatever paradigm or approach you are going to choose for your next project, the complexity will not magically disappear. FP allows you to tackle the complexity in a divide-and-conquer manner. I believe that we live in era of "software alchemy" [(c) Martin Thomson], and functional programming is the first real step to bring science and true engineering to our industry.
At the same time, I remember how "hard" seemed at first. FP isn't really hard. It's just different. Coming from a different background (e.g C-like language), you have to learn a lot. And being a professional software developer, you are not really accustomed to situations where it takes more then a day to comprehend a concept, right? :) But as I said, it does not mean that FP is hard, it's just different. To put it into perspective, ask any Haskell developer who switched to Scala, how hard it was to comprehend a concept of a 'method' for her. A method! A simple concept, right? But totally different for somebody coming from Haskell.
Which brings me finally to my role as guide during Lambdaconf Winter Retreat 2017. What really motivates me right now is:
My friends know I can talk about code for hours. It's just how I roll! Please feel free to chat me at any time during the event. My idea of a successful event is one where I had a chance to chat with literally everybody!
Please post your suggestions for me below! Vote on ideas by using the thumbs up / thumbs down emojis. Thanks in advance for all of your feedback, and I look forward to being a guide at LambdaConf Winter Retreat 2017!