eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingkryzys jezyków kompilowanych do kodu 'natywnego'Re: kryzys jezyków kompilowanych do kodu 'natywnego'
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Sebastian Biały <h...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: kryzys jezyków kompilowanych do kodu 'natywnego'
    Date: Sat, 14 Apr 2012 20:43:44 +0200
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 41
    Message-ID: <jmcgh4$1vq$1@inews.gazeta.pl>
    References: <jm74e2$g97$1@inews.gazeta.pl> <jm8l2q$k1b$1@inews.gazeta.pl>
    <24317834.1340.1334309897060.JavaMail.geo-discussion-forums@vbbhh4>
    <jm96s5$2ofg$1@news2.ipartners.pl> <jmagjr$4u3$1@inews.gazeta.pl>
    <jmah5r$ddt$1@inews.gazeta.pl> <jmb93p$97n$1@inews.gazeta.pl>
    <jmbn86$lqq$1@inews.gazeta.pl> <jmbrc7$7e4$1@inews.gazeta.pl>
    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: inews.gazeta.pl 1334429028 2042 83.142.222.167 (14 Apr 2012 18:43:48 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sat, 14 Apr 2012 18:43:48 +0000 (UTC)
    X-User: sebo.bialy
    In-Reply-To: <jmbrc7$7e4$1@inews.gazeta.pl>
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.16)
    Gecko/20101125 Thunderbird/3.0.11
    Xref: news-archive.icm.edu.pl pl.comp.programming:196745
    [ ukryj nagłówki ]

    On 2012-04-14 14:42, M.M. wrote:
    > Jeśli coś (jakiś inny język,
    > albo zarządca) potrafi ten problem rozwiązać, to to coś prawdopodobnie
    > zostało napisane właśnie w C albo w C++.

    Co to ma do rzeczy?

    > Wystarczy że za każdym razem przed
    > użyciem wskaźnika aplikacja poprosi o ten wskaźnik jakąś warstwę pośrednią.

    To oznacza przeraźliwy burdel w kodzie. Zamiast skupić się na algorytmie
    bedziesz w kółko przeliczał wskaźniki co oznacza dodatkową, nienaturalna
    dla C/C++ składnię. Oczywiście wszystko można opakować w klasy (sam tak
    mam) ale co z tego - dalej jest nienaturalne.

    > Wtedy warstwa pośrednia może dowolnie realokować przydzieloną pamięć.

    To szczególnie łatwe kiedy na uC pracuje dodatkowo np. dma.

    > W
    > przypadku aplikacji wielowątkowych trochę trudniejsza sprawa. Aplikacja
    > jeszcze musi powiedzieć zarządcy że już nie używa danego wskaźnika, aby
    > ten wiedział które obszary w danej chwili może bezpiecznie realokować.

    Właśnie wynadujesz kwadratowe koło. Aplikacja *nie* powinna nic o
    pamięci wiedziec poza tym że może jej użyć. Inaczej wrócą czasy jak
    przeliczanie segmentów w gównianym 8086.

    > Tak
    > czy inaczej da się to rozwiązać i nie wydaje się to zbytnio skomplikowane.

    Walcz więc. Jesli zrobisz to w sposób który nie kradnie cykli w
    systemach RT to zbawisz cale pokolenia programistów uC. I nie, nie można
    wziąść wiekszego procka.

    > Ale właśnie tak jak powiedziałem na początku, jakieś środowisko taki mechanizm
    > może zapewniać i programista który tego problemu nie przewidzi nie zrobi
    > sobie krzywdy, a programista w C/C++ musi od razu tak aplikację zaprojektować.

    Nie da się zaprojektować sensownie aplikacji, kiedy musisz co instrukcję
    sprawdzać czy ten wskaźnik to dalej jest ten sam co przed chwilą.

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: