eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › Ada Tutorial - w Instytucie Lotnictwa
Ilość wypowiedzi w tym wątku: 38

  • 1. Data: 2019-04-17 19:41:49
    Temat: Ada Tutorial - w Instytucie Lotnictwa
    Od: Maciej Sobczak <s...@g...com>

    Cześć,

    W drugim tygodniu czerwca w Instytucie Lotnictwa w Warszawie będzie miała miejsce
    konferencja Ada-Europe 2019:

    http://ae2019.edc.pl/

    Było już kilka komunikatów w tej sprawie na grupie, ale chciałem zwrócić uwagę
    grupowiczów na jeden szczegół:

    W pierwszym dniu konferencji (11 czerwca, wtorek) odbędą się dwa równoległe tutoriale
    (http://ae2019.edc.pl/tutorials.html):

    - T1: Controlling I/O Devices with Ada, oraz

    - T2: An introduction to Ada.

    Obydwa (i zwłaszcza ten drugi) mogą zainteresować osoby, które są ciekawe języka a
    nie znalazły do tej pory impulsu, żeby spróbować.
    Całodniowe tutoriale poprowadzą bardzo doświadczeni fachowcy, po angielsku.

    Koszt to 40 EUR. Słownie: cztery eurodychy.

    Rejestracja tutaj: https://registration.ada-europe.org/

    W razie pytań zapraszam.

    --
    Maciej Sobczak


  • 2. Data: 2019-04-17 20:43:19
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: Szyk Cech <s...@s...pl>


    > W pierwszym dniu konferencji (11 czerwca, wtorek) odbędą się dwa równoległe
    tutoriale (http://ae2019.edc.pl/tutorials.html):
    >
    > - T1: Controlling I/O Devices with Ada, oraz
    >
    > - T2: An introduction to Ada.
    >
    > Obydwa (i zwłaszcza ten drugi) mogą zainteresować osoby, które są ciekawe języka a
    nie znalazły do tej pory impulsu, żeby spróbować.

    Miałem na studiach prawie 20 lat temu. Wnioski: szkoda sobie zawracać
    głowę - atrakcyjność Ady jest mniej więcej taka jak syrenki-kabrio w
    dzisiejszych czasach... - nie ten klimat i nie te czasy...
    Nawet w Szap (ang. Usa) w najnowszym swym wynalazku F-35 wszystko
    zakodowali w C++ ... Najwyraźniej uznali że Ada to dziadostwo i ogólnie
    do nauki tego nie ma chętnych...
    Inna sprawa, że F-35-coding-rules.pdf wprowadza takie ograniczenia, że z
    tego C++ zostaje może 25% przez co programowanie zgodnie z tymi
    zaleceniami jest bardziej prymitywne niż w latach 90 XXw (czyli z przed
    standaryzacji C++). Widać, że ktoś bardzo lubił Ada-ę i pomyślał, że w
    zasadzie można by tak samo programować w C++.


  • 3. Data: 2019-04-18 15:01:59
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: Maciej Sobczak <s...@g...com>

    > Miałem na studiach prawie 20 lat temu.

    No właśnie - jedną z głównych prezentacji (http://ae2019.edc.pl/keynotes.html) będzie
    "A 2020 View of Ada". Być może będzie to inna perspektywa, niż Twoje wspomnienia ze
    studiów.

    > nie ten klimat i nie te czasy...

    A konkretnie jaki klimat i jakie czasy? Przykładowo, Python zaczął swoją historię 29
    lat temu. To nawet wcześniej, niż Twoje studia.

    Po czym poznać, że klimat i czasy są właściwe?

    > Nawet w Szap (ang. Usa) w najnowszym swym wynalazku F-35

    "F-35 development started in 1992" (z Wikipedii).

    Czyli wcześniej, niż Twoje studia. Dużo wcześniej. To zdecydowanie nie jest najnowszy
    wynalazek.

    > wszystko
    > zakodowali w C++ ... Najwyraźniej uznali że Ada to dziadostwo

    F-35 jest chyba najbardziej krytykowanym współczesnym samolotem.

    "critics argued that the plane was "plagued with design flaws""

    "The program received considerable criticism for cost overruns during development"

    Czyli to chyba nie był najlepszy przykład. :-)

    > Inna sprawa, że F-35-coding-rules.pdf wprowadza takie ograniczenia, że z
    > tego C++ zostaje może 25%

    I to tylko dlatego, że to nie jest projekt cywilny. Bo gdyby był cywilny, to by
    zostało 5%.

    > Widać, że ktoś bardzo lubił Ada-ę i pomyślał, że w
    > zasadzie można by tak samo programować w C++.

    To nie wina Ady, tylko standardów lotniczych. Bo Ady też używa się tylko kilka
    procent. Pełna Ada to zupełnie inne zjawisko - ale o tym najlepiej dowiedzieć się na
    tutorialu (albo na całej konferencji).

    --
    Maciej Sobczak * http://www.inspirel.com


  • 4. Data: 2019-04-19 19:24:10
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: Sebastian Biały <h...@p...onet.pl>

    On 18/04/2019 15:01, Maciej Sobczak wrote:
    > F-35 jest chyba najbardziej krytykowanym współczesnym samolotem.
    > "critics argued that the plane was "plagued with design flaws""
    > "The program received considerable criticism for cost overruns during development"
    > Czyli to chyba nie był najlepszy przykład. :-)

    Kontrprzykład to Ariane-5 do której jako programistów zatrudnili
    hackerów dłubiących na poziomie bitów i całe to bezpieczeństwo Ady
    poszło w pizdu. Jak w większości "bezpiecznych" języków nic nie
    ogranicza przed hackerami emulującymi sobie w środku asembler.

    Z chęcią bym zobaczył jakiś przykąłd porządnie zrobionego projektu w
    Adzie, ale będzie on zapewne albo akademicki i interesujacy, albo
    przemysłowy i zrobiony za pomocą jakiegoś odpowiednika MISRA czyli flaki
    z olejem.


  • 5. Data: 2019-04-20 13:43:13
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: Szyk Cech <s...@s...pl>

    >> nie ten klimat i nie te czasy...
    >
    > Po czym poznać, że klimat i czasy są właściwe?

    Tu poruszamy 2 sprawy:
    1. Klimat - wspomniana "Syrenka kabrio" nie sprawdzi się u nas - nie ten
    klimat (często pada i mamy tu zimy).

    2. Właściwe czasy - to szerszy temat:
    - Model obiektowy Ady:
    Ze strony:
    https://learn.adacore.com/courses/intro-to-ada/chapt
    ers/object_oriented_programming.html

    Rzuciłem na to okiem i tak jak prawie 20 lat temu było i teraz jest to
    straszne...

    - Czy mamy dla Ady:
    - środowiska programowania z dynamicznym sprawdzaniem poprawności kodu
    (jak w Qt Creator)
    - środowiska programowania z możliwością uruchamiania programu ze
    śledzeniem (debuger)
    - profiler (liczba wywołań funkcji i wykrywanie wycieków pamięci)
    - bibliotekę Gui (co np. z OpenGl - da się używać?)
    - wsparcie dla internacjonalizacji Gui
    - czy można w Ada pisać jednocześnie na wiele systemów operacyjnych
    (przenośnie)
    - czy Ada oferuje wyjątki (do zgłaszania błędów)
    - czy można dokumentować kod w komentarzach (Doxygen lub podobne)

    Moim zdaniem to wszystko musi być jeśli chcemy zająć się programowaniem
    na poważnie i bez przyjmowania jakichś sztucznych ograniczeń. Przejście
    na inny język to nie tylko kwestia składni - wiele zależy od wsparcia w
    obszarach jakie wymieniłem. I tak się składa, że C++ ma to wszystko (i
    więcej). To dla tego język D nie może "zaistnieć" bo po prostu jest
    słabo wspierany, a nie to że jest zły (choć największe zło w nim polega
    na tym, że nie ma wielodziedziczenia).

    Ja przy tym wszystkim zupełnie nie wiem gdzie można by pracować w
    Trójmieście (w którym mieszkam) profesjonalnie programując w Ada. Już
    będąc programistą C++ mam problem ze znalezieniem pracy... Jednak się
    tym nie zrażam, bo w C++ widzę rozsądek (wydajność, możliwości,
    składania i wsparcie) i potencjał. Wszystkie inne języki konkurencyjne
    nie mają któregoś z tych 4 zdroworozsądkowych parametrów lub nie mają
    potencjału.

    Nie zrozum mnie źle: to dobrze, że jest wiele języków programowania.
    Jednak trzeba wiedzieć co one mogą i do czego ew. je stosować.
    Obecnie jest tak, że do krytycznych zadań przy zaczynaniu nowego
    projektu i przy NORMALNYM podejmowaniu decyzji (opartym na doświadczeniu
    a nie na polityce czy tradycjach) nadaje się tylko C++. I faktycznie
    najważniejsze aplikacje jakich na co dzień się używa są pisane w C++ -
    to nie przypadek. A pozostałe języki w 90% też są kodowane w C++.

    Ada stosowana jest w branży zbrojeniowej i może można na tym zarobić.
    Jednak ja zupełnie nie widzę jej przewagi nad C++, a wręcz przeciwnie
    widzę brak kompatybilności jeśli chodzi o popularne narzędzia i dostępne
    biblioteki (C i C++).


  • 6. Data: 2019-04-20 13:46:10
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: Szyk Cech <s...@s...pl>

    > Jak w większości "bezpiecznych" języków nic nie
    > ogranicza przed hackerami emulującymi sobie w środku asembler.

    Mógłbyś rozwinąć tą myśl?!?


  • 7. Data: 2019-04-20 15:02:03
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: Sebastian Biały <h...@p...onet.pl>

    On 20/04/2019 13:46, Szyk Cech wrote:
    >> Jak w większości "bezpiecznych" języków nic nie ogranicza przed
    >> hackerami emulującymi sobie w środku asembler.
    > Mógłbyś rozwinąć tą myśl?!?

    Ależ bardzo prosto. Ariane dupneła z powodu tego że ktoś w "bezpiecznym"
    języku zrobił założenie że coś zmieci się w 16 bitach. Typowe myślenie
    asemblerowca który wszędzie widzi bajty do oszczędzenia.

    Tu masz fragmenty kodu:

    https://hownot2code.com/2016/09/02/a-space-error-370
    -million-for-an-integer-overflow/

    Wygląda jak asembler wydziobany ręcznie. I tak oto bezpieczny język
    posłużył jako platforma do napisania nispoziomowego kodu do manipulacji
    liczbami w sposób błędny. Dzień jak codzień. No i jeszcze księgowi
    dorzucili swoje:

    "The protection of all 7 (including BH) variables wasn't provided
    because the maximum workload for the IRS computer was declared as 80%."


  • 8. Data: 2019-04-20 16:20:38
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: Szyk Cech <s...@s...pl>


    > Tu masz fragmenty kodu:
    >
    > https://hownot2code.com/2016/09/02/a-space-error-370
    -million-for-an-integer-overflow/

    "The erroneous module was never properly tested in the new environment -
    neither the hardware, nor the level of system integration. Therefore,
    the flaws in the development and implementation were not detected."

    Czyli poleciało nieprzetestowane. To zamyka temat: błąd programisty to
    jedno, ale brak przetestowania to strategiczne partactwo firmy która to
    robiła.

    Żaden kod nie powinien być udostępniany bez przejścia specjalnie
    zdefiniowanej procedury testowej (choćby wykonywanej "ręcznie"). A kod
    krytyczny zawsze powinien być obłożony testami automatycznymi.

    Niestety w polskich firmach dedykowani testerzy to wciąż egzotyka. Moim
    zdaniem te firmy są skazane na wymarcie - właśnie ze względu na
    partackie podejście do procesu wytwórczego.


  • 9. Data: 2019-04-22 20:51:20
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: Maciej Sobczak <s...@g...com>

    > 2. Właściwe czasy - to szerszy temat:
    > - Model obiektowy Ady:
    > Ze strony:
    > https://learn.adacore.com/courses/intro-to-ada/chapt
    ers/object_oriented_programming.html
    >
    > Rzuciłem na to okiem i tak jak prawie 20 lat temu było i teraz jest to
    > straszne...

    Niezupełnie, bo akurat w ciągu tych 20 lat wprowadzono składnię, której 20 lat temu
    nie było.
    Niemniej, faktem jest, że obiektowość w Adzie wygląda trochę inaczej, niż np. w
    Javie. Czy to gorzej czy lepiej, zdania są podzielone.

    > - Czy mamy dla Ady:
    > - środowiska programowania z dynamicznym sprawdzaniem poprawności kodu

    Z dynamicznym? A po co z dynamicznym?
    Do statycznego jest np. to:

    https://www.adacore.com/codepeer

    albo to:

    http://www.adalog.fr/en/adacontrol.html

    albo choćby kompilator w trybie sprawdzania poprawności (w odróżnieniu od trybu
    translacji).

    > - środowiska programowania z możliwością uruchamiania programu ze
    > śledzeniem (debuger)

    Kilka. Współcześnie rozwijany to GNAT Programming Studio:

    https://www.adacore.com/gnatpro/toolsuite/gps

    > - profiler (liczba wywołań funkcji i wykrywanie wycieków pamięci)

    Ogólnie, GNAT oparty jest o GCC, więc wykorzystuje ten sam debugger, profiler i całą
    resztę dostępną w GCC.

    > - bibliotekę Gui

    Wszystkie poważne:

    https://en.wikibooks.org/wiki/Ada_Programming/Librar
    ies/GUI

    > (co np. z OpenGl - da się używać?)

    http://flyx.github.io/OpenGLAda/

    > - wsparcie dla internacjonalizacji Gui

    Przypuszczam, że razem z tymi bibliotekami powyżej.

    > - czy można w Ada pisać jednocześnie na wiele systemów operacyjnych
    > (przenośnie)

    Tak. Patrz wyżej, GNAT oparty jest o GCC.

    > - czy Ada oferuje wyjątki (do zgłaszania błędów)

    Tak, chociaż wyglądają one inaczej, niż w C++ (nie są obiektami ani wartościami).

    > - czy można dokumentować kod w komentarzach (Doxygen lub podobne)

    Czyli czy można generować dokumentację HTML z kodu na podstawie komentarzy? Pewnie
    można, sam kiedyś napisałem skrypt, który to robi.

    > Moim zdaniem to wszystko musi być jeśli chcemy zająć się programowaniem
    > na poważnie

    Nie. Na poważnie powinno być dużo więcej, zależnie od tworzonych systemów.

    > Ja przy tym wszystkim zupełnie nie wiem gdzie można by pracować w
    > Trójmieście (w którym mieszkam) profesjonalnie programując w Ada.

    Ja też nie wiem. Ale to nie zmienia faktu, że i tak zapraszam na tutorial. :-)

    > Ada stosowana jest w branży zbrojeniowej

    https://www.adacore.com/industries

    > Jednak ja zupełnie nie widzę jej przewagi nad C++

    Znajomość Ady będzie Twoją przewagą gdy będziesz pisał, nawet w C++.

    --
    Maciej Sobczak


  • 10. Data: 2019-04-24 09:11:48
    Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
    Od: g...@g...com

    W dniu wtorek, 23 kwietnia 2019 21:27:13 UTC+2 użytkownik slawek napisał:
    > Problem jest znacznie bardziej. Testowanie to proteza. Czasem
    > pomaga. Raczej nie szkodzi.

    ?
    Testowanie to proteza?!
    "Zbudowaliśmy dla państwa samolot. Nie, nie przetestowaliśmy, ale w teorii wszystko
    powinno działać."
    "Jutro oddajemy most do użytku. Nie testowaliśmy, ale mamy na miejscu inżyniera. Jak
    by się działo coś złego, to naprawi"

    Testowanie jest integralną częścią budowy każdego systemu.

    > Ale rozwiązaniem jest inne spojrzenie
    > na to czym jest bug, czym jest program itd. Myśleliśmy że
    > komputery będą wolne od ludzkich słabości. Ale tak nie jest.

    ?!
    "Mój komputer pierdzi jak się obeżre grochu"
    "Zrezygnowaliśmy z instalacji kolejnej aplikacji, bo komputer powiedział, że jest już
    zmęczony i chce iść spać"
    "Tegoroczne wybory zostają odwołane z powodu strajku maszyn obliczeniowych"
    "Komputer powiedział, że nie będzie uruchamiał aplikacji finansowych w piątek 13tego,
    bo to przynosi pecha"

    > Musimy nauczyć się akceptować i określić co chcemy akceptować.

    Kolega opowiadał historię, jak koleżanki jego mamy z pracy korzystające z Windowsa 95
    wezwały go kiedyś, bo miały problem z wyskakującym niebieskim ekranem.
    Miały na ten temat różne hipotezy - że na przykład jak się przejdzie przez drzwi, to
    się robi niebieski ekran, albo że jak się będzie podlewało kwiat, itd.

    Ludzie są aż za dobrzy w wymyślaniu nierzeczywistych przyczyn dla zjawisk.
    (Dowodem na to jest istnienie wielu religii i kultów).

    Rzeczywistą przyczyną problemu był WinNuke. Kolega powiedział, żeby odłączyły
    komputery od sieci, i wtedy problem rzeczywiście zniknął.

    Tym, czego musimy się nauczyć, nie jest akceptowanie, tylko rozumienie.
    Idealnie byłoby, gdyby użytkownik systemu mógł łatwo rozumieć zasady działania
    systemu, którego używa, i samemu móc go zmieniać.
    W świecie komputerów to nie jest jakiś "utopijny ideał".

    > Przykładowo: czy jeżeli automatyczne lądowanie F35 może zakończyć
    > się śmiercią pilota to jest to ok?

    Nie, to nie jest ok.

    > Dodatkowe dane:
    > prawdopodobieństwo jest znacznie mniejsze niż gdy pilotuje
    > człowiek - ale większe niż zero i - gdyby napisać lepiej program
    > byłoby mniejsze.

    I gdyby go dobrze wytestować, żeby przynajmniej znać ryzyko.

strony : [ 1 ] . 2 ... 4



Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: