ŻYWE JĘZYKI PROGRAMOWANIA LIVING IT UP WITH A LIVE PROGRAMMING LANGUAGE Sean McDirmid Ecole Polytechnique Fédérale de Lausanne (EPFL)

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

WYNIKI EGZAMINU GIMNAZJALNEGO Z JĘZYKA NOWOŻYTNEGO ROK SZKOLNY 2009/2010.
Klasyfikacja roczna w roku szkolnym 2012/2013
Znaki informacyjne.
Wzór w notacji nawiasowej: a*(d*i*(k*o-l*n)-e*h*(k*o-l*n))+f*i*j*n
Wprowadzenie do informatyki Wykład 6
Obserwowalność System ciągły System dyskretny
POWIAT MYŚLENICKI Tytuł Projektu: Poprawa płynności ruchu w centrum Myślenic poprzez przebudowę skrzyżowań dróg powiatowych K 1935 i K 1967na rondo.
WYKŁAD 6 ATOM WODORU W MECHANICE KWANTOWEJ (równanie Schrődingera dla atomu wodoru, separacja zmiennych, stan podstawowy 1s, stany wzbudzone 2s i 2p,
Ludwik Antal - Numeryczna analiza pól elektromagnetycznych –W10
Filtracja obrazów cd. Filtracja obrazów w dziedzinie częstotliwości
Liczby pierwsze.
1 mgr inż. Sylwester Laskowski Opiekun Naukowy: prof. dr hab. inż. Andrzej P. Wierzbicki.
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Ksantypa2: Architektura
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
PREPARATYWNA CHROMATOGRAFIA CIECZOWA.
Podstawowe pojęcia akustyki
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Przykładowe zastosowania równania Bernoulliego i równania ciągłości przepływu 1. Pomiar ciśnienia Oznaczając S - punkt spiętrzenia (stagnacji) strugi v=0,
Klasyfikacja systemów
Transformacja Z (13.6).
Pytania konkursowe.
Jak wypadliśmy na maturze z matematyki w 2010 roku?
Tytuł prezentacji Warszawa, r..
Efektywność zdawania egzaminu zawodowego w ZSP w Bytowie w roku szkolnym 2008/2009.
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
Projektowanie Stron WWW
Wyrażenia algebraiczne
Raport z badań termowizyjnych – RECTICEL Rys. 1a. Rozdzielnia RS14 Temperatura maksymalna 35,27 o C Rys. 1b. Rozdzielnia RS14 (wizyjny) 3.
Wykonanie: Iwona Szatkowska. Uwaga! Wszystkie opisane w instrukcji operacje oparte są o zapowiedzi oraz projekty odpowiednich ustaw i rozporządzeń. Te.
Kalendarz 2011 Real Madryt Autor: Bartosz Trzciński.
KALENDARZ 2011r. Autor: Alicja Chałupka klasa III a.
Anna Nowak Przedszkole publiczne im. Kubusia puchatka w zabełkowie
1 ANALIZA STANU BEZROBOCIA NA TERENIE MIASTA I GMINY GOŁAŃCZ ANALIZA STANU BEZROBOCIA NA TERENIE MIASTA I GMINY GOŁAŃCZ ZA ROK 2004 ORAZ PORÓWNANIE Z LATAMI.
Galeria zdjęć Projekt edukacyjny „Wiem, co jem” realizowany w ramach
Plan prezentacji Zarys projektu Geneza tematu
Montaż kominka wentylacyjnego Technologia Szybki Syntan SBS
KOLEKTOR ZASOBNIK 2 ZASOBNIK 1 POMPA P2 POMPA P1 30°C Zasada działanie instalacji solarnej.
Podstawy działania wybranych usług sieciowych
Analiza wpływu regulatora na jakość regulacji (1)
Analiza wpływu regulatora na jakość regulacji
„Klucz do uczenia się” L.Wygotskiego
Wykład 22 Modele dyskretne obiektów.
MATURA 2007 raport ZESPÓŁ SZKÓŁ I PLACÓWEK KSZTAŁCENIA ZAWODOWEGO.
Kalendarz 2011r. styczeń pn wt śr czw pt sb nd
1.
Innowacyjne metody napawania
Obserwowalność i odtwarzalność
  Prof.. dr hab.. Janusz A. Dobrowolski Instytut Systemów Elektronicznych, Politechnika Warszawska.
-17 Oczekiwania gospodarcze – Europa Wrzesień 2013 Wskaźnik > +20 Wskaźnik 0 a +20 Wskaźnik 0 a -20 Wskaźnik < -20 Unia Europejska ogółem: +6 Wskaźnik.
+21 Oczekiwania gospodarcze – Europa Grudzień 2013 Wskaźnik > +20 Wskaźnik 0 do +20 Wskaźnik 0 do -20 Wskaźnik < -20 Unia Europejska ogółem: +14 Wskaźnik.
EGZAMINU GIMNAZJALNEGO 2013
EcoCondens Kompakt BBK 7-22 E.
EcoCondens BBS 2,9-28 E.
Programowanie w języku C++
W2 Modelowanie fenomenologiczne I
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Testogranie TESTOGRANIE Bogdana Berezy.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
ZOSTAŃ SPORTOWYM KOKSEM SP 11 TYM KTÓRY OCZARUJE KOMISJĘ SĘDZIOWSKĄ.
Piotr Frydrych r. 1/27. Proponowana odpowiedź:  Jedno połączenie Poprawna odpowiedź:  Jedną godzinę 2/27.
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Kalendarz 2020.
Elementy geometryczne i relacje
Strategia pomiaru.
Zapis prezentacji:

ŻYWE JĘZYKI PROGRAMOWANIA LIVING IT UP WITH A LIVE PROGRAMMING LANGUAGE Sean McDirmid Ecole Polytechnique Fédérale de Lausanne (EPFL) 5/24/2010MARCIN HAGMAJER 1

AGENDA GenezaSuperGlueDodatkowe technikiSzczegóły realizacji i implementacjaPrzykład - PacMan 5/24/2010MARCIN HAGMAJER 2

DYNAMICZNE JĘZYKI PROGRAMOWANIA 5/24/2010MARCIN HAGMAJER 3 edycja kompi- lacja debu- gowa- nie Programowanie wysokopoziomowe Dynamiczne typowanie Spadek wydajności Lisp Smalltalk Erling

PROGRAMOWANIE NA ŻYWO Natychmiastowe efekty zmian w kodzie Konstrukcje deklaratywne - mniej kodu Dopełnianie kodu i podpowiedzi Często oparte o metody wizualne 5/24/2010MARCIN HAGMAJER 4

JĘZYKI WIZUALNE Dla zwykłych użytkownikówKomponenty – model deklaratywnyProblemy z graficzną reprezentacją większych programówPołączenie cech wizualnych z tekstowymiExcel, Forms/3, Fabrik, LabVIEWApple Quartz Composer: graf połączeń dźwiękowych 5/24/2010MARCIN HAGMAJER 5

SUPERGLUE Tekstowy, żywy język programowania 5/24/2010MARCIN HAGMAJER 6

SUPERGLUE 5/24/2010MARCIN HAGMAJER 7 Sygnały i komponenty Dynamiczne dziedzi- czenie Graf przepływu danych + OOP Dane zmienne w czasie Sygnały dynamicznie dziedziczą po klasach

PRZYKŁAD POCZĄTKOWY 5/24/2010MARCIN HAGMAJER 8

SYGNAŁY Wartości w grafie przepływu danych, które ułatwiają komunikację pomiędzy komponentami. Są to obiekty dziedziczące po klasach, połączone z innymi sygnałami i zawierające sygnały zdefiniowane w ich nadrzędnych klasach. Definiuje się je jako elementy klasy używając słowa kluczowego port 5/24/2010MARCIN HAGMAJER 9

KLASY Definiują zachowanie Nie są wartościami i mogą być rozszerzone jedynie przez sygnały Definiowane w najwyższej warstwie programu lub jako elementy inncyh klasy z wykorzystaniem słowa kluczowego class 5/24/2010MARCIN HAGMAJER 10

POŁĄCZENIA Definiują zależność pomiędzy sygnałami, dzięki czemu ich wartość jest jednakowa Są regułami podobnymi do prostych, jednokierunkowych ograniczeń. Określany przy użyciu operatora = 5/24/2010MARCIN HAGMAJER 11

ROZSZERZENIA (EXTENSIONS) Sprawiają, że sygnały rozszerzają klasy Reguły wycelowane w sygnały poza ich definicją Definiowane z wykorzystaniem operatora / : 5/24/2010MARCIN HAGMAJER 12

WARUNKI (CONDITIONS) Określają kiedy reguły połączeń i rozszerzeń mogą być zastosowane. Odpytują istniejące połączenia i rozszerzenia za pomocą tych samych operatorów (= i ), których używa się do ich stworzenia Tworzeone przez konstrukcje if otaczające reguły połączeń i rozszerzeń 5/24/2010MARCIN HAGMAJER 13

CEL: UPROSZCZONY PACMAN Gracz steruje PacManem za pomocą strzałek na klawiaturze Komputer kontroluje duchy Po dotknięciu ducha, PacMan w prawy górny róg Kulka mocy na środku ektranu. 5/24/2010MARCIN HAGMAJER 14

RYSUNEK (1/4) 5/24/2010MARCIN HAGMAJER 15

RYSUNEK (2/4) 5/24/2010MARCIN HAGMAJER 16

RYSUNEK (3/4) 5/24/2010MARCIN HAGMAJER 17

RYSUNEK (4/4) 5/24/2010MARCIN HAGMAJER 18

RYSUNEK - ANIMACJA 5/24/2010MARCIN HAGMAJER 19

DODATKOWE TECHNIKI 5/24/2010MARCIN HAGMAJER 20

STANY STAŁE I ZMIENNE TRAKTOWANE JEDNAKOWO 5/24/2010MARCIN HAGMAJER 21

DYNAMICZNE DZIEDZICZENIE 5/24/2010MARCIN HAGMAJER 22

TYPOWANIE ZALEŻNE 5/24/2010MARCIN HAGMAJER 23

MEDIATORY TYPÓW 5/24/2010MARCIN HAGMAJER 24

WNIOSKOWANIE TYPÓW 5/24/2010MARCIN HAGMAJER 25

WNIOSKOWANIE TYPÓW W IDE 5/24/2010MARCIN HAGMAJER 26

WNIOSKOWANIE TYPÓW W IDE (1/4) 5/24/2010MARCIN HAGMAJER 27

WNIOSKOWANIE TYPÓW W IDE (2/4) 5/24/2010MARCIN HAGMAJER 28

WNIOSKOWANIE TYPÓW W IDE (3/4) 5/24/2010MARCIN HAGMAJER 29

WNIOSKOWANIE TYPÓW W IDE (4/4) 5/24/2010MARCIN HAGMAJER 30

WNIOSKOWANIE TYPÓW W IDE 5/24/2010MARCIN HAGMAJER 31

REALIZACJA JĘZYKA 5/24/2010MARCIN HAGMAJER 32

PRZETWARZANIE KODU 5/24/2010MARCIN HAGMAJER 33 skanowanieparsowanie wnioskowanie typów wykonanie Parsowanie z pierwszeństwem Damage and repair Zmiany w kodzie Zmiany stanu wywołane sygnałem Zmiana grafu przepływu danych

BŁĘDY CZASU WYKONANIA 5/24/2010MARCIN HAGMAJER 34 niejednoznacznie połączone sygnaly niepołączone sygnały prymitywne specyficzne błędy (np. dzielenie przez 0) błędy reportowane jako wartości sygnałów w osobnym oknie program kontynuuje z wartościami domyślnymi

IMPLEMENTACJA 5/24/2010MARCIN HAGMAJER 35

SYGNAŁY 5/24/2010MARCIN HAGMAJER 36

ROZSZERZENIA 5/24/2010MARCIN HAGMAJER 37

PACMAN Dokończenie gry 5/24/2010MARCIN HAGMAJER 38

PACMAN (1/4) 5/24/2010MARCIN HAGMAJER 39

PACMAN (2/4) 5/24/2010MARCIN HAGMAJER 40

PACMAN (3/4) 5/24/2010MARCIN HAGMAJER 41

PACMAN (4/4) 5/24/2010MARCIN HAGMAJER 42

PACMAN 5/24/2010MARCIN HAGMAJER 43

DZIĘKUJĘ 5/24/2010MARCIN HAGMAJER 44