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