Okay, first of all, hello everyone.
As you might realize, I'm not Professor Kohlhase.
Professor Kohlhase is not here this week, so I'm going to substitute for today.
Now you can even hear me, which also means that the people who are watching this online
can also hear me, which is nice.
If I'm not entirely mistaking, this is the slide to which you should have gotten last
week, right?
So this is where we should continue?
Okay.
Then we're squarely on the topic of functional programming.
Quick show of hands, who has had some hands-on experience with functional programming before?
None of you?
Okay.
Then good thing you're in this course.
Functional programming is one of those paradigms where there is a decent chance that you're
not going to be able to avoid it in the near future.
There is a case to be made that functional programming is, quote unquote, the next big
paradigm.
I'm saying that because I don't...
Okay.
Okay.
I'm saying that not because I think that, I don't know, languages like SML, which I
don't even know how old they are from the 80s maybe, something like that, or Haskell
are going to be like the programming languages that you're going to have to use for the next
20 years or whatever, but more because it's been shown that basically all the major programming
languages over the last couple, let's say the last 10 years or so have started integrating
all of the usual language features that you need to do functional programming.
In particular, I would advise you not to think of programming paradigms as features of programming
languages, i.e. the usual way that people think of Java as being an object-oriented
programming language and Haskell as a functional programming language and Prolog as a logical
programming language and these kinds of things.
I would encourage you to think of programming paradigms as basically mental models for how
to arrange your data, meaning you can do functional programming language, quote unquote, to some
extent in, say, Java.
You can do functional programming language in Python.
You can do functional programming in, I don't know, Rust, very noticeably, actually.
The same way that about 20 years ago in the 90s, basically every programming language
on the planet started to integrate some kinds of features of object-oriented programming
because object-oriented programming was the next big thing.
People started writing books on how to do object-oriented programming in C, which is
utterly insane because C just is not an object-oriented programming language, but still people want
to arrange their data as they're used to doing it in an object-oriented language.
The same way now people have started to integrate all of these features of functional programming
languages into nominally non-functional programming languages.
Java now has like lambdas and stuff like that.
I think they started integrating that about 10 years ago.
Before they did that, people started developing Scala on top of Java just so they could do
functional programming languages in Java.
Kotlin, another language that is built on top of the Java virtual machine, integrates
all of the functional principles that they took from functional programming languages.
Presenters
Zugänglich über
Offener Zugang
Dauer
01:30:06 Min
Aufnahmedatum
2025-06-17
Hochgeladen am
2025-06-17 16:19:05
Sprache
en-US