Functional Programming in Ruby

Although Ruby is not known as a functional language, it does support higher order functions in the form of lambdas and procs. Ruby's support for both object oriented and functional approaches, along with its conciseness, clarity, and expressiveness, make it an excellent choice as a general purpose programming language.

This session, geared toward the functional novice, shows how to implement functional approaches in Ruby, and shows why you would want to.

Topics covered will include:

in testing, using lambdas to verify that certain behaviors do or do not not raise errors

Mushtaq Ahmed - Demystify the Reactive Jargons

schedule 3 years ago

Sold Out!

60 mins

Demonstration

Intermediate

Sync, Async, Blocking, Non-Blocking, Streaming are the buzzwords in the reactive programming world. This talk will attempt to attach some meaning to them. It will also demo the performance and resource consumption patterns for blocking-io, Scala Futures and RxJava Observables for comparable programs. Finally, a command line application that consumes twitter streams API will demo what is possible using the new reactive abstractions.

schedule 3 years ago

45 mins

Talk

Beginner

If you take the SOLID principles to their extremes, you arrive at something that makes Functional Programming look quite attractive.

Objects are merely a poor man's closures. And ultimately Closures are a poor man's objects.

This talk explains about how applying SOLID Design principles like Single Responsibility Principle (SRP) leads to many small classes. Furthermore, if you rigorously apply the Interface Segregation Principle (ISP), you'll eventually arrive at the ultimate Role Interface: an interface with a single method.

If you apply the SRP and ISP like that, you're likely to evolve a code base with many fine-grained classes that each have a single method.

Objects are data with behaviour. Closures are too are data with behaviour.

This talk will enlighten how applying Object Oriented Design Principles to their extreme will lead you to Functional Programming.