7 - Symbolic Methods in Artificial Intelligence [ID:57067]
50 von 1328 angezeigt

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.

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

Einbetten
Wordpress FAU Plugin
iFrame
Teilen