Programmierparadigmen - Aktuelle Entwicklungen - Otto

Werbung
Programmierparadigmen
Programmierparadigmen
Gliederung
Programmierparadigmen
Aktuelle Entwicklungen
1
D. Rösner
Institut für Wissens- und Sprachverarbeitung
Fakultät für Informatik
Otto-von-Guericke Universität Magdeburg
Programmierparadigmen
Aktuelle Entwicklungen
Aussagen
Köpfe
c
Sommer 2013, 9. Juli 20132009
- 2013 D.Rösner
D. Rösner PGP 2013 . . .
Programmierparadigmen
D. Rösner PGP 2013 . . .
1
Aktuelle Entwicklungen
Aussagen
Köpfe
Programmierparadigmen
2
Aktuelle Entwicklungen
Aussagen
Köpfe
Aussagen
Aktuelle Entwicklungen
über Prolog
die Entwicklung geht weiter
hybride Sprachen
Yes, I know it s old, but it is also extremely powerful.
Solving a Sudoku in Prolog was an eye-opening
experience for me.
z.B. objektorientiert-funktional wie Scala (Odersky, 2003)
immer noch auch Einzelpersonen als Erstimplementatoren
I’ve worked hard to solve some difficult problems in Java or
C that would have been effortless in Prolog.
daneben ’committee languages’ wie Haskell
s.a. [Tat10]
s.a. [Tat10], Ch. 1.2
D. Rösner PGP 2013 . . .
4
D. Rösner PGP 2013 . . .
6
Programmierparadigmen
Aktuelle Entwicklungen
Aussagen
Köpfe
Programmierparadigmen
Aussagen
Aktuelle Entwicklungen
Aussagen
Köpfe
Aussagen
über Erlang
über Scala
. . . Erlang is gathering steam as a functional language that
gets concurrency, distribution, and fault tolerance right.
One of a new generation of languages on the Java virtual
machine, Scala has brought strong functional concepts to
the Java ecosystem. It also embraces OOP.
The creators of CouchDB, one of the emerging
cloud-based databases, chose Erlang and have never
looked back. After spending a little time with this distributed
language, you’ll see why.
Looking back, I see a striking similarity to C++, which was
instrumental to bridging procedural programming and OOP.
As you dive into the Scala community, you ll see why Scala
represents pure heresy to pure functional programmers
and pure bliss to Java developers.
Erlang makes designing concurrent, distributed,
fault-tolerant applications much easier than you could have
ever thought possible.
s.a. [Tat10], Ch. 1.2
s.a. [Tat10], Ch. 1.2
D. Rösner PGP 2013 . . .
Programmierparadigmen
7
D. Rösner PGP 2013 . . .
Aktuelle Entwicklungen
Aussagen
Köpfe
Programmierparadigmen
Aussagen
8
Aktuelle Entwicklungen
Aussagen
Köpfe
Aussagen
über Clojure
über Haskell
Another JVM language, this Lisp-dialect makes some
radical changes in the way we think about concurrency on
the JVM.
Of the functional languages in the book, Haskell was the
most difficult to learn. The emphasis on monads and the
type system made the learning curve steep. Once I
mastered some of the key concepts, things got easier, and
it became the most rewarding language I learned.
As a Lisp dialect, Clojure packs plenty of punch, supporting
perhaps the most flexible programming model in the book.
But unlike other Lisp dialects, the parentheses are greatly
reduced, and you have a huge ecosystem to lean on,
including a huge Java library and widely available
deployment platforms.
Based on the type system and the elegance of the
application of monads, one day we’ll look back at this
language as one of the most important in this book.
s.a. [Tat10], Ch. 8, p. 312
s.a. [Tat10], Ch. 1.2
D. Rösner PGP 2013 . . .
9
D. Rösner PGP 2013 . . .
10
Programmierparadigmen
Aktuelle Entwicklungen
Aussagen
Köpfe
Programmierparadigmen
Aussagen
Aktuelle Entwicklungen
Aussagen
Köpfe
Prolog: Alain Colmerauer
über Haskell
Haskell plays another role, too. The purity of the approach
and the academic focus will both improve our
understanding of programming.
The best of the next generation of functional programmers
in many places will cut their teeth on Haskell.
s.a. [Tat10], Ch. 8, p. 312
D. Rösner PGP 2013 . . .
Programmierparadigmen
11
Aktuelle Entwicklungen
Aussagen
Köpfe
Programmierparadigmen
Prolog: Alain Colmerauer
D. Rösner PGP 2013 . . .
D. Rösner PGP 2013 . . .
13
Aktuelle Entwicklungen
Aussagen
Köpfe
Prolog: Alain Colmerauer
14
D. Rösner PGP 2013 . . .
15
Programmierparadigmen
Aktuelle Entwicklungen
Aussagen
Köpfe
Programmierparadigmen
Ruby: Yukihiro Matsumoto
Io: Steve Dekorte
D. Rösner PGP 2013 . . .
Programmierparadigmen
Aktuelle Entwicklungen
Aussagen
Köpfe
16
Aktuelle Entwicklungen
Aussagen
Köpfe
D. Rösner PGP 2013 . . .
Programmierparadigmen
Io: Steve Dekorte
17
Aktuelle Entwicklungen
Aussagen
Köpfe
Scala: Martin Odersky
D. Rösner PGP 2013 . . .
18
D. Rösner PGP 2013 . . .
19
Programmierparadigmen
Aktuelle Entwicklungen
Aussagen
Köpfe
Programmierparadigmen
Scala: Martin Odersky
Erlang: Joe Armstrong
D. Rösner PGP 2013 . . .
Programmierparadigmen
Aktuelle Entwicklungen
Aussagen
Köpfe
20
Aktuelle Entwicklungen
Aussagen
Köpfe
Programmierparadigmen
Erlang: Joe Armstrong
D. Rösner PGP 2013 . . .
D. Rösner PGP 2013 . . .
21
Aktuelle Entwicklungen
Aussagen
Köpfe
Erlang: Joe Armstrong
22
D. Rösner PGP 2013 . . .
23
Programmierparadigmen
Aktuelle Entwicklungen
Aussagen
Köpfe
Literatur: I
Bruce Tate.
Seven Languages in Seven Weeks – A Pragmatic Guide to
Learning Programming Languages.
The Pragmatic Bookshelf, Raleigh, NC; Dallas, Texas,
USA, 2010.
ISBN-13: 978-1-934356-59-3.
D. Rösner PGP 2013 . . .
24
Herunterladen