eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaJakie środowisko do C dla Atmegi?Re: Jakie środowisko do C dla Atmegi?
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed2.plix.pl!goblin3!gobli
    n1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-sp
    o-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    From: Marek <f...@f...com>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Jakie środowisko do C dla Atmegi?
    Date: Sat, 03 Oct 2015 11:45:49 +0200
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    In-Reply-To: <mumuat$7cn$1@node2.news.atman.pl>
    References: <a...@n...neostrada.pl>
    <mumuat$7cn$1@node2.news.atman.pl>
    Message-ID: <a...@n...neostrada.pl>
    User-Agent: Groundhog 2.06 Newsreader for Android.
    Lines: 76
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.4.215.231
    X-Trace: 1443865551 unt-rea-b-01.news.neostrada.pl 8378 83.4.215.231:33271
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:686792
    [ ukryj nagłówki ]

    On Fri, 2 Oct 2015 23:52:29 +0200, "Grzegorz Niemirowski"
    <g...@p...onet.pl> wrote:
    > Lepszy bo możliwości więcej, w tym możliwości strzelenia sobie w
    stopę. Żeby
    > nie było: też przeszedłem z Bascoma na C, ale nie uważam że należy
    potępiać
    > Bascoma.

    Nie miałem zamiaru komentować w tym wątku Bascoma (bo de facto nie o
    niego było pytanie) ale mnie niestety sprowokowałeś. Bascom to
    policzek dla Basica bo podobno jemu ma być podobny. Nazywa się
    "kompilatorem" a de facto jest czymś w rodzaju konsolidatora
    bibliotecznych (gotowych) asmeblerowych instrukcji i makr użytych w
    kodzie. Język, który kpi sobie z programisty (o tym
    niżej).Bałaganiarska składnia dopuszcza case insensitive co pozwala
    na tworzenie mało czytelnego kodu. Osoba, którą znam co poświęciła mu
    zbyt dużo czasu szybko doszła do ściany w rozwoju i koniec. Język
    kompletnie nie rozwija, ogranicza wyobraźnię do kontekstu "jednego
    programu" przez co trudno ogarnąć takiemu programiście
    wielozadaniowość nawet opartą na prostej maszynie stanów. Brak
    możliwości pisania własnych bibliotek (uwaga, można ale w asemblerze,
    kpina nr 1), brak możliwości porozdzielania projektu na skompilowane
    obiekty aby za każdym razem nie "kompilować" całości. Brak
    jakiejkolwiek optymizacji, kod jest składany z gotowych klocków, więc
    jego rozmiar rośnie dość szybko. Niezgodność dokumentacji producenta
    w opisie instrukcji, znalazłem takie, które nie chcą działać mimo, że
    zostały użyte wg przykładów. Brak sensownej i logicznej konsekwencji
    w instrukcjach/makrach. Tam nie da się nic przewidzieć (co do
    poprawnej składni). Raz argumenty instruckji są bez nawiasów a raz w
    nawiasach, np. skladnia instrukcji rysowania linii na LCD graf
    wyglada tak:

    line(x1,y1)-(x2,y2)
    a zapalenia pixla:
    pset x,y,z

    logiczne, prawda? Raczej kpina nr 2.

    Niektóre funkcjonalności nie działają jak powinny, ostatnio kolega
    męczył się przez tydzień z fontami na LCD graficznym. Użycie
    instrukcji wyboru fontu do pisania powodowało niedziałający w ogóle
    kod (niestartujący w ogóle mcu). Sprawa była o tyle dziwna, że
    posiłkował sie przykladami kodu z artykułów, ktorych autorzy
    twierdzili, że im działa. Po kilku dniach szukania przyczyn poddał
    się i przepisał jota w jote kod z przykladu, o dziwo kod zadział. Co
    się okazalo? Że kod działa jeśli instrukcje grafiki są w procedurach
    a nie w pętli głównej (sic!). Czemu? Nie wiadomo. Faktycznie we
    wszystkich przykładach użyto podobnej konstrukcji z procedurami, ale
    nikt się nie zająknął, że tak być musi bo nie zadziała. Jest to
    piękny przyklad, jak próba inwencji w inną koncepcję konstrukcji kodu
    (bez procedur) sprowadza na ziemię, bo tak się nie da, bo coś nie
    działa. Tylko traci się czas, kpina z programisty nr 3.
    Najlepsze zostawiam na deser. Ktoś może powiedzieć, że te powyższe
    zarzuty są przesadzone, bo język ma być prosty dla prostych
    rozwiązań, dla nie-programistów a bardziej elwktroników więc nikomu
    niepotrzebne dołączanie skompilowanych obiektów czy rozdzielanie kodu
    na wiele plików. Składnia jest jaka jest, po to jest help aby z niego
    korzystać. I nawet jestem w stanie mu przyznać rację. Ale jak się
    dowiedziałem, że wyrażenia arytmetyczne są ograniczone do dwóch
    operandów (sic) i jednego operatora to mi już wszystko odpadło. Tak,
    w Bascomie nie da się napisać prostego wyrażenia x=3*y+23*z, o
    bardziej skomplikowanym nie wspominając. Programista musi rozłożyć
    wyrażenie na kilka prostych wyrażeń jednooperatorowych wprowadzając
    najczęściej dotatkowe zmienne pomocnicze. Kolejna kpina, nawet nie
    liczę która.

    Co można powiedzieć dobrego o Bascomie? No lista instrukcji obsługi
    peryferiów robi wrażenie, trzeba przyznać ogrom pracy jaką włożono w
    rozwój. I na tym koniec bo zaraz za tym idzie zadziwienie z tej
    liczby doklejanych do tego jezyka instrukcji-potworków aby obsłużyć
    kolejną taką czy inną kolejną funkcjonalność. Przy niektórych
    mityczne b=---*a++, którym straszy sie przyszłych adeptów C to pikuś.
    A miał to być język prosty, do prostych zastosowań.

    --
    Marek

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: