🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216742

Re: Programming Language of the Year 2019

#216742
From: Maciej Sobczak
Date: Mon, 13 Jan 2020 18:30
38 lines
4335 bytes
> Co jest smutne. Bo o ile pomysł "wykonywalnej dokumentacji" jest jak najbardziej chwalebny, to - pomijając nawet kwestię samego działania narzędzia, które jest raczej toporne - wygenerowany kod to jest jakiś koszmarek.

Tak. Tym bardziej jest to przerażające, jeśli sobie uświadomimy, że zapewne taki kod steruje nie tylko spłuczką w kiblu, ale też np. dozownikiem lekarstw w szpitalu.

> Podobnie jak to, żeby na mikrokontrolery dostarczać "warstwę abstrakcji sprzętowej" (?).

To nie jest zły pomysł (ale można go oczywiście źle zrealizować). Jeśli jest cała rodzina mikrokontrolerów, które np. mają Ethernet, to nie jest złym pomysłem, żeby ten Ethernet był obsługiwany z grubsza przez takie samo API.
To znakomicie ułatwia producentowi wciśnięcie odbiorcom nowego mikrokontrolera a tempo tego wciskania jest coraz szybsze. Przecież bez takiego HALa nikt by nigdy nie kupił nowego układu.

Pytanie 1: co ma dłuższy czas życia? Software czy hardware?
Pytanie 2: jak na poprzednią odpowiedź wpływa rozróżnienie pomiędzy PC i embedy?

> Tzn. ja bym się raczej spodziewał po opisie takiego narzędzia, że dostanę wysoce zoptymalizowany kod inicjalizujący,

A po co zoptymalizowany? To się wykonuje tylko raz.
Być może chciałbyś mieć błyskawicznie startujący układ, ale oczekiwanie na fizyczny rozruch peryferiów i tak trwa dłużej, niż wykonanie nawet najbardziej szmacianego kodu inicjalizującego.

> a nie jakąś monstrualną bibliotekę, najeżoną od funkcji, których celem jest wypełnianie struktur danymi.

Tu się zgadzam, efekt końcowy powoduje opad kończyn.
Ale wystarczy nie zaglądać do środka, i można pozostać optymistą.

> Moim zdaniem to ma sens do szybkiego uruchomienia/wypróbowania czegoś.

I nawet wtedy jesteś w plecy z robotą, bo ten produkt już jest komuś obiecany albo wręcz sprzedany.

> Bo jest kod wygenerowany, który nie ja pisałem, i w którym wprowadzanie zmian jest bolesne (bo muszę regenerować projekt)

Teoretycznie nie musi być bolesne, bo są mechanizmy pozwalające rozgraniczyć kod generowany od modyfikowanego.

> (Czasem sobie myślę, że ST specjalnie rozdmuchuje tego HALa, żeby klienci kupowali kontrolery z większą ilością flasha na pokładzie.)

Flash to pikuś. Możesz mieć ile chcesz. Wyścig jest raczej o peryferia. Typowy mikrokontroler ma więcej funkcjonalnych peryferiów niż nóżek. A skoro ilość nóżek przestała być ograniczeniem, to wyścig trwa w najlepsze. I po to jest ten HAL, żeby użytkownik dzisiejszego mikrokontrolera nie miał obaw zamawiając nowy model.

Oczywiście to nadal nie usprawiedliwia wypychania języka C na tron. Ale tak się właśnie dzieje.

-- 
Maciej Sobczak * http://www.inspirel.com
Technical Details
Message-ID: <72bb82b7-b6ad-4754-ad52-5b2b7e600e7c@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!g89no5379919qtd.0!news-out.google.com!w29ni968qtc.0!nntp.google.com!g89no5379904qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <f7543b8e-17ef-4de4-a4ab-ccbc8e683bb3@googlegroups.com> <63880fc0-7a6e-44a1-8c26-a3d1d019efb2@googlegroups.com> <d055f5e8-8eb3-41b4-b903-c996bb7b2503@googlegroups.com> <72160e5d-7727-46e7-b2f0-1567e4bb4ad0@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:4047:: with SMTP id n68mr17832565qka.258.1578940218867;        Mon, 13 Jan 2020 10:30:18 -0800 (PST)
X-Received: by 2002:a37:648c:: with SMTP id y134mr12585312qkb.175.1578940218663; Mon, 13 Jan 2020 10:30:18 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!g89no5379919qtd.0!news-out.google.com!w29ni968qtc.0!nntp.google.com!g89no5379904qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 13 Jan 2020 10:30:18 -0800 (PST)
In-Reply-To: <72160e5d-7727-46e7-b2f0-1567e4bb4ad0@googlegroups.com>
Complaints-To: groups-abuse@google.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: <f7543b8e-17ef-4de4-a4ab-ccbc8e683bb3@googlegroups.com> <63880fc0-7a6e-44a1-8c26-a3d1d019efb2@googlegroups.com> <d055f5e8-8eb3-41b4-b903-c996bb7b2503@googlegroups.com> <72160e5d-7727-46e7-b2f0-1567e4bb4ad0@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <72bb82b7-b6ad-4754-ad52-5b2b7e600e7c@googlegroups.com>
Subject: Re: Programming Language of the Year 2019
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Mon, 13 Jan 2020 18:30:18 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit