Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Inne oblicza programowania

No description
by

Adam Kopeć

on 15 November 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Inne oblicza programowania

Inne oblicza programowania
Imperium
złotego młotka
Krewni i znajomi
Po drugiej stronie lustra
Najpopularniejsze języki programowania
OOP i jego zalety
Wady?
Zagadnienia przekrojowe
mają charakter techniczny,
mogą być związane z każdym elementem systemu,
trudne do zmiany w izolacji
Przykład: dziennik wywołań
Na ratunek: AOP
punkt przecięcia (pointcut),
porada (advice),
aspekt (aspect)
Języki skryptowe
istnieją problemy z definicji liniowe,
nie zawsze wiemy z góry, co będziemy chcieli wykonać,
czasami kluczem jest zwięzłość i szybkość pisania...
Wnioskowanie
LISP
Języki funkcyjne
Haskell,
Erlang,
Scala...
Adam Kopeć
Projektant PHP
Grupa Unity
InfoMEET, Kraków, 15.11.2014r.
A.D. 2014
Modularność
Abstrakcja
Enkapsulacja
Komponowalność
Hierarchizacja
Ciągłość
O okręgach i elipsach
słów kilka
Problem
wyrażenia
znany od dawna
służy do oceny możliwości języków
rozwiązanie wykracza poza OOP
Akumulacja hierarchiczna
słoń i jego figurka,
wolny człowiek i więzień,
inne problemy z życia codziennego
W pigułce
abstrakcja
hermetyzacja
dziedziczenie
polimorfizm
Słowniczek
Podpinanie
Liczy się koncepcja
różne frameworki i języki,
różne zastosowania,
różne techniki realizacji "pod maską"
Dla zainteresowanych
AspectJ,
Spring AOP Framework,
Aspect.NET,
PostSharp,
Go! Framework (PHP),
inne
Stan
Istnieją różne rodzaje
języków obiektowych
Czy to się
wyklucza?
coraz więcej języków ma charakter hybrydowy
Java
Prolog
Prawie jak rewolucja...
Prolog dostępny jest
na rynku od 1970. Za darmo.
W pigułce
język deklaratywny,
oparty o paradygmat logiczny,
rozwiązuje zadania stosując unifikację
(wycinek z prawie
100 linii kodu)
notacja infiksowa,
kod jako dane,
makra,
nawiasy :)
Czy to tylko akademicka ciekawostka?
Świat jest gotów: Clojure
O co tu chodzi?
funkcje zawsze zwracają taką samą wartość
dla takiego samego argumentu
bez efektów ubocznych
Erlang: niech stanie się magia
W praktyce?
RabitMQ,
CouchDB,
CouchBase,
telefonia
A na co dzień?
Można krócej :)
Nie tylko JAVA
techniki funkcyjne coraz częściej trafiają do języków obiektowych,
powstają rozszerzenia czysto funkcyjne,
funkcyjnego sposobu myślenia nie sposób się oduczyć
Pytania?
Dziękuję za uwagę
adam.kopec@unity.pl
Full transcript