eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingDlaczego software to F35 jest pisany w C++ a nie w AdaRe: Dlaczego software to F35 jest pisany w C++ a nie w Ada
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: Sebastian Biały <h...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Dlaczego software to F35 jest pisany w C++ a nie w Ada
    Date: Fri, 28 Sep 2012 19:35:24 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 52
    Message-ID: <k44n4u$drv$1@node2.news.atman.pl>
    References: <3...@g...com>
    <3...@g...com>
    <k3idkc$ne3$1@node2.news.atman.pl>
    <9...@g...com>
    <k3spfr$46s$1@node2.news.atman.pl>
    <8...@g...com>
    <k3vo9p$u74$1@node2.news.atman.pl>
    <f...@g...com>
    <k3vuc2$4cl$1@node2.news.atman.pl>
    <a...@g...com>
    <k420pf$sch$1@node2.news.atman.pl>
    <d...@g...com>
    NNTP-Posting-Host: 83.142.222.167
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1348853726 14207 83.142.222.167 (28 Sep 2012 17:35:26
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Fri, 28 Sep 2012 17:35:26 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.16)
    Gecko/20101125 Thunderbird/3.0.11
    In-Reply-To: <d...@g...com>
    Xref: news-archive.icm.edu.pl pl.comp.programming:199691
    [ ukryj nagłówki ]

    On 2012-09-28 10:17, Maciej Sobczak wrote:
    > Zastanów się najpierw *po co* istnieją bezpieczne języki.

    Po to aby przeciwdziałać błedom programisty badź specyfikacji w jak
    nalepszym stopniu.

    Gdybysmy tworzyli oprogramowanie bez bledów takie języki nie mają racji
    bytu. W związku z tym podstawowa cechą bezpiecznego języka jest
    podwyższenie jakości poprzez eliminację błedów nawet kosztem wydajności
    bądź wyprucia żył programisty poprzez udziwniona składnię.

    > czyli do interakcji ze sterowanikami urządzeń albo wręcz do bezpośrednich odwołań
    do pamięci

    *G* prawda. Sterowanie rakietą poprzez algorytmy nawigacyjne *NIE*
    polega na dziobaniu po gołej pamięci bądź zapalaniu bitów na porcie IO
    uC albo sprawdzanie czy w milionie miejsc nastapil overflow. Sterowanie
    rakietą polega na realizacji (zapewne) statycznego pamieciowo zadania
    matematycznego. A jakiś drugorzędny duperelek zajmuje się częscią
    łaczącą wyniki z elektroniką. W załaczonym przykładzie sterowania
    rakietą nie ma śladu po *sterowaniu* w twoim sensie, jest natomiast ślad
    po *obliczaniu*. Programista zaliczył fail, tym bardziej komiczny że
    wypruto sobie żyły na użycie Ady która okazała się wydmuszką bo nic nie
    dała. Prawdopodobnie dałbym osobiście radę naklepać bezpieczną klasę do
    konwersji w C++ która dzięki prostym zabiegom *uniemożliwiła* by
    programiście jej nie-użycie bez chamskich sztuczek. Głupi C++ potrafił
    by lepiej zabezpieczyć przed radosną twórczością byłych programistów
    demek. Żałosne.

    >, bo właśnie tak wyglądają te interakcje na odpowiednio niskim poziomie.

    Tutaj *nie* było niskiego poziomu. Jesli zaś ktoś matematykę i overflow
    implementuje ręcznie na bitach jak w przytoczonym przykładzie to jest
    idiotą.

    > Otóż żeby dany język w ogóle się do tego nadawał
    >, to musi udostępnić wszystkie narzędzia z rodziny
    > memset, memcpy, reinterpret_cast oraz link z dowolnym symbolem.

    Żadna z tych funkcji nie jest wymagana w liczeniu kąta otwarcia
    przepustnicy lewej dyszy.

    > Ada to wszystko umożliwia, ale trzeba o te rzeczy poprosić bardziej, niż w C. I to
    "bardziej" jest właśnie miarą bezpieczeństwa, bo w C te rzeczy spadają programiście
    na głowę same.
    > Język, który tych narzędzi nie udostępnia *nie nadaje się do tworzenia bezpiecznych
    systemów*.

    Te narzędzia na szczęscie udostepnia asm. I nic dziwnego że ten kawałek
    algorytmu naklepano w stylu asm. Zapewne resztę też. I tyle było z tej Ady.

    > Proste?

    Jednak za bardzo to uprościłeś. Uprościłeś do systemów embedded
    zajmujących się *bezpośrednim* sterowaniem. To tylko pewien zbiór
    problemów. Niekompletny.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: