-
X-Received: by 2002:a37:274a:: with SMTP id n71mr19518652qkn.302.1578987928017; Mon,
13 Jan 2020 23:45:28 -0800 (PST)
X-Received: by 2002:a37:274a:: with SMTP id n71mr19518652qkn.302.1578987928017; Mon,
13 Jan 2020 23:45:28 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
!2.eu.feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!g
89no7150097qtd.0!news-out.google.com!w29ni1070qtc.0!nntp.google.com!g89no715009
3qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 13 Jan 2020 23:45:27 -0800 (PST)
In-Reply-To: <b...@g...com>
Complaints-To: g...@g...com
Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <f...@g...com>
<6...@g...com>
<d...@g...com>
<7...@g...com>
<7...@g...com>
<b...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4...@g...com>
Subject: Re: Programming Language of the Year 2019
From: Maciej Sobczak <s...@g...com>
Injection-Date: Tue, 14 Jan 2020 07:45:28 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:214685
[ ukryj nagłówki ][HAL]
> No, ale w moim odczuciu lepszym pomysłem byłoby po prostu dbanie o zgodność
niskopoziomowego interfejsu pomiędzy kolejnymi urządzeniami kontrolera.
Niskopoziomowego, czyli co? Adresy rejestrów i układ bitów w środku? To za nisko, bo
na tym poziomie i tak nikt nie chce pracować. Pomrugać LEDem to się jeszcze da na tym
poziomie, ale obsługa jakiegokolwiek interfejsu komunikacyjnego to już wyższa forma
masochizmu. Po prostu nikt normalny tak nie robi.
A cokolwiek powyżej tego poziomu to właśnie HAL.
[kod inicjalizacyjny]
> Zoptymalizowany pod dwoma kątami:
> - rozmiaru, jaki zajmuje w pamięci stałej
A po co? To i tak jest najmniejsza część całości, w skład której zwykle wchodzi jakiś
RTOS, być może też jakiś stos TCP, itd.
Optymalizowanie tego to strata czasu - chociaż, oczywiście, spodziewamy się jakiegoś
minimum rozsądku, np. że ten kod nie będzie zawierał fragmentów odpowiedzialnych za
nieużywane peryferia. Ale właśnie po to jest wizard, żeby taką konfigurowalność
zapewnić.
Mnie bardziej śmieszy fakt, że ten CubeMX wymaga Javy. I w ten sposób, żeby napisać
program liczony w kilobajtach trzeba zainstalować softu liczonego w gigabajtach. To
jest obiektywnie głupie. Konfigurator jądra Linuksa można było kiedyś zrobić kilka
rzędów wielkości taniej a teraz całe dziedzictwo IT z ostatnich 30 lat bierze udział
w konfigurowaniu nóżki w mikrokontrolerze.
> - kolejności inicjalizacji, ze względu na czas inicjalizacji peryferiów (bo
producent wie to lepiej ode mnie)
Zakładamy, że tak jest. Nie widzę powodu, żeby nie było.
> > Teoretycznie nie musi być bolesne, bo są mechanizmy pozwalające rozgraniczyć kod
generowany od modyfikowanego.
>
> Jest bolesne.
Dlaczego?
> Fajny pomysł mają goście z Krakowa, język Luna
> https://www.luna-lang.org
> opiera się o "dualną reprezentację graficzno tekstową". Można sobie przełączać. To
jest lepsze od generowania, bo mamy izomorfizm. Czyli można np. używać tradycyjnych
narzędzi diffujących (o czym sam kiedyś wspominałeś).
Izomorfizm daje np. konfigurator Texas Instruments (bo przecież ST to nie jedyna
firma na rynku). Konfiguracja to tradycyjny plik tekstowy, ale ogląda się to
graficznie (jeśli ktoś chce).
> W CubeMX nie można (albo ja nie wiem jak). A ich pomysł na rozwój aplikacji (że
dają mi szablony, i ja wciskam swój kod pomiędzy ich komentarze) jest po prostu
koszmarny.
To wciskaj tam nie swój kod, tylko jedną linijkę wywołującą właściwy program w innych
plikach. Wtedy nie jest bolesne a poniesione ryzyko to właśnie ta jedna linijka.
> > Oczywiście to nadal nie usprawiedliwia wypychania języka C na tron. Ale tak się
właśnie dzieje.
>
> Nie wiem jaki inny język mieliby wcisnąć.
C++? Przecież całe środowisko Arduino tak działa.
I tak każdy producent ma kompilator C++, więc nie widzę problemu.
Do zastosowań krytycznych te wizardy i tak się nie nadają, więc nie ma się co spinać.
A rozsądny pozdbiór C++ na tym poziomie (powiedzmy bez wyjątków i polimorfizmu) byłby
wystarczająco tani.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 14.01.20 21:28 M.M.
- 24.01.20 08:19 Maciej Sobczak
- 24.01.20 12:46 Wojciech Muła
- 24.01.20 14:22 Borneq
- 24.01.20 15:04 M.M.
- 24.01.20 16:11 g...@g...com
- 24.01.20 16:23 Roman Tyczka
- 24.01.20 21:01 Maciej Sobczak
- 25.01.20 13:26 M.M.
- 25.01.20 22:01 Wojciech Muła
- 25.01.20 22:21 Wojciech Muła
- 26.01.20 15:31 Borneq
- 26.01.20 15:33 Borneq
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-28 droga laweta
- 2024-11-28 Co tam się odpierdala w tej Warszawie?
- 2024-11-28 skąd się biorą tacy debile?
- 2024-11-28 JDG i utylizacja sprzetu
- 2024-11-27 Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Bydgoszcz => QA Engineer <=
- 2024-11-28 Zielona Góra => Spedytor międzynarodowy <=
- 2024-11-28 Kraków => DevOps Engineer (Junior or Regular level) <=