-
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
Następne wpisy z tego wątku
- 03.10.15 12:08 k...@g...com
- 03.10.15 12:10 platformowe głupki
- 03.10.15 12:18 RoMan Mandziejewicz
- 03.10.15 13:43 slawek
- 03.10.15 14:07 janusz_k
- 03.10.15 14:19 Marek
- 03.10.15 14:38 b...@g...com
- 03.10.15 14:46 Jarosław Sokołowski
- 03.10.15 15:45 slawek
- 03.10.15 16:31 Paweł Kasztelan
- 03.10.15 17:46 Marek
- 03.10.15 18:54 Jarosław Sokołowski
- 03.10.15 18:55 Jakub Rakus
- 03.10.15 21:11 slawek
- 04.10.15 22:51 re
Najnowsze wątki z tej grupy
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
Najnowsze wątki
- 2024-12-25 Wrocław => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-25 Warszawa => Sales Assistant <=
- 2024-12-25 Kraków => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-25 Lublin => System Architect (Java background) <=
- 2024-12-25 Szczecin => Specjalista ds. public relations <=
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-25 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-25 Białystok => Delphi Programmer <=
- 2024-12-25 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-25 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2024-12-25 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie