Alright we're gonna get started.
Thanks everyone for coming, this is our
first, uh, TechJam session, and it's a pleasure to have
video here. Uh, Bijeet's been programming
in function languages since 2007,
when he first programmed for GearTrip.
He obviously has a lot of experience of
working with different function languages,
at least two that I can know of,
maybe more, and we thought it would be
a good start of the TechJam to kind of
look at, you know, a different way of
doing things. So, that's why he's here
to come in and do this talk. Also,
I would like to than IDeaS for hosting this, this is our first
thing and we'll probably do a lot more of
these. So, thanks again and I'll hand it
over to Bijeet.
Thanks
Am I audible?
Should I increase the volume a little bit?
Is it okay? Can everyone hear me, no?
What about now?
Is it okay?
Now?
Okay, good, uh, it's a pleasure being here
at the first TechJam. My name is Bijeet
and I program in many programming languages, but
mostly functional these days.
So, this is kind of like going to be
a less technical talk. I'm not going to
talk too much about the
theory of functional programming,
or even a specific language in particular.
I'm going to show you some specific
examples in some mainstream languages
or made up languages just to explain
the point. But for you guys, I want
you guys to go home with, kind of like, some new ideas, a new mind,
and a new inspiration to check out these
things on your own. Because to be honest
an hour or even a day is not enough
to teach or even show you the beauty
of functional programming.
So let's get started.
So the title of the talk is
Why Functional Programming Matters
but more than that, it's:
Why Functional Programming Matters (today).
Functional programming predates Java,
or it predates your mainstream
programming languages by decades.
Lisp was invented in the late 50's, early 60's,
and Plankalkül predates Lisp by
10 more years. So it's nothing new,
but so far we have been able to kind of
teach in many ways and get away, uh,
but now these problems, there are many problems which
are now cropping up and I think it's
time we look at alternatives.
So before I start, a very quick poll:
Which programming languages do you use at work?
What about Java, how many people use Java here?
Raise your hand, great! [laughs]
What about Ruby? Any of you use Ruby still? One?
Python? Ok, two Python guys.
JavaScript? I'm sure many people use JavaScript.
Does anyone here use any functional programming language
[Laughter] That guy, ok, you too.
You use Scala, right? He uses Clojure.
And another one uses Clojure.
So we do not have any people here who have
any exposure to FP. I think then, you know, that the talk
is just perfect, perfectly suited to you guys.
Ok. A little bit about me. I started my career
having Lisp at ???, 2009.
I personally care a lot about writing code
that's correct and runs fast.
Speed and correctness are two very important things for me,
and, uh, these are two, kind of like, driving, well, factors
for me to use any tool or any programming language.
???
I think I have learned maybe thirty-five or thirty different programming languages.