WEBVTT

00:00:00.000 --> 00:00:05.581 align:middle line:90%


00:00:05.581 --> 00:00:07.705 align:middle line:84%
SIMON THOMPSON, Professor
of Logic and Computation:

00:00:07.705 --> 00:00:09.871 align:middle line:84%
You'll have heard a lot
about functional programming

00:00:09.871 --> 00:00:10.620 align:middle line:90%
recently.

00:00:10.620 --> 00:00:14.180 align:middle line:84%
Languages like Haskell,
OCaml, Elixir, and Erlang

00:00:14.180 --> 00:00:15.850 align:middle line:90%
are becoming more popular.

00:00:15.850 --> 00:00:18.029 align:middle line:84%
And features from
these languages

00:00:18.029 --> 00:00:19.570 align:middle line:84%
are coming into
mainstream languages,

00:00:19.570 --> 00:00:22.770 align:middle line:90%
too, like Java and JavaScript.

00:00:22.770 --> 00:00:26.470 align:middle line:84%
Why is there this increase in
popularity in these languages?

00:00:26.470 --> 00:00:30.370 align:middle line:84%
Functional programmes are high
level, clean, and effective,

00:00:30.370 --> 00:00:33.040 align:middle line:84%
and that's due to a number of
the ideas that we'll find out

00:00:33.040 --> 00:00:34.600 align:middle line:90%
about in this course.

00:00:34.600 --> 00:00:37.810 align:middle line:84%
We're assuming that you've
got programming experience,

00:00:37.810 --> 00:00:40.420 align:middle line:84%
but we're not assuming that you
know anything about functional

00:00:40.420 --> 00:00:42.040 align:middle line:90%
programming at all.

00:00:42.040 --> 00:00:44.380 align:middle line:84%
So what we'll do is treat
functional programming

00:00:44.380 --> 00:00:48.190 align:middle line:84%
from scratch but relate that
to the programming experience

00:00:48.190 --> 00:00:50.620 align:middle line:84%
that you already have
in drawing comparisons,

00:00:50.620 --> 00:00:53.270 align:middle line:84%
say, with how you might
do things in Java.

00:00:53.270 --> 00:00:56.150 align:middle line:84%
Once you've installed Erlang,
we'll expect you to start

00:00:56.150 --> 00:00:59.900 align:middle line:84%
writing programmes
using the language.

00:00:59.900 --> 00:01:02.790 align:middle line:84%
We'll also expect you
to help each other out

00:01:02.790 --> 00:01:04.510 align:middle line:84%
by commenting on
each other's code

00:01:04.510 --> 00:01:06.810 align:middle line:84%
but also on other
aspects of the course.

00:01:06.810 --> 00:01:10.020 align:middle line:84%
The great thing about that is
you get feedback on your work

00:01:10.020 --> 00:01:12.110 align:middle line:84%
but, also, you find out
about different approaches

00:01:12.110 --> 00:01:13.620 align:middle line:90%
that other people have used.

00:01:13.620 --> 00:01:18.230 align:middle line:84%
Also, you learn by explaining
your ideas to others.

00:01:18.230 --> 00:01:20.340 align:middle line:84%
We also monitor the
discussions that

00:01:20.340 --> 00:01:22.237 align:middle line:90%
are going on in the forums.

00:01:22.237 --> 00:01:24.320 align:middle line:84%
We'll be able to help out
with general points that

00:01:24.320 --> 00:01:25.070 align:middle line:90%
are coming up.

00:01:25.070 --> 00:01:26.930 align:middle line:84%
And we'll try and
give you a summary

00:01:26.930 --> 00:01:30.110 align:middle line:84%
each week covering the general
points that are coming up

00:01:30.110 --> 00:01:32.510 align:middle line:90%
and our feedback on those.

00:01:32.510 --> 00:01:34.890 align:middle line:84%
As well as myself,
Joe Armstrong,

00:01:34.890 --> 00:01:36.800 align:middle line:84%
who is one of the
inventors of Erlang,

00:01:36.800 --> 00:01:40.560 align:middle line:84%
and Francesco Cesarini, who
runs a big Erlang consultancy,

00:01:40.560 --> 00:01:43.890 align:middle line:84%
will be taking part in a wide
ranging discussion about Erlang

00:01:43.890 --> 00:01:45.540 align:middle line:84%
and functional
programming in general

00:01:45.540 --> 00:01:47.770 align:middle line:90%
towards the end of the course.

00:01:47.770 --> 00:01:51.207 align:middle line:84%
So we do hope you enjoy
taking part in this course.

00:01:51.207 --> 00:01:53.540 align:middle line:84%
As well as learning the general
principles of functional

00:01:53.540 --> 00:01:56.200 align:middle line:84%
programming, you'll get
experience of writing

00:01:56.200 --> 00:01:59.690 align:middle line:84%
functional programmes in
the Erlang language itself.

00:01:59.690 --> 00:02:05.419 align:middle line:90%