🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216743

Re: Programming Language of the Year 2019

#216743
From: godek.maciek
Date: Mon, 13 Jan 2020 21:27
35 lines
4102 bytes
W dniu poniedziałek, 13 stycznia 2020 19:30:20 UTC+1 użytkownik Maciej Sobczak napisał:
> > 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.

No, ale w moim odczuciu lepszym pomysłem byłoby po prostu dbanie o zgodność niskopoziomowego interfejsu pomiędzy kolejnymi urządzeniami kontrolera.
(A jeżeli miałoby to być niemożliwe, to zastanowienie się, dlaczego ma to być niemożliwe)

> 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.

Zoptymalizowany pod dwoma kątami:
- rozmiaru, jaki zajmuje w pamięci stałej
- kolejności inicjalizacji, ze względu na czas inicjalizacji peryferiów (bo producent wie to lepiej ode mnie)

> > 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.

Jest bolesne.
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ś).

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.

> 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ąć.
Technical Details
Message-ID: <bc16a817-045a-4d11-aa66-4cd1cda6d67b@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!g89no5826609qtd.0!news-out.google.com!w29ni980qtc.0!nntp.google.com!g89no5826600qtd.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> <72bb82b7-b6ad-4754-ad52-5b2b7e600e7c@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:620a:15ec:: with SMTP id p12mr18554532qkm.247.1578950860517;        Mon, 13 Jan 2020 13:27:40 -0800 (PST)
X-Received: by 2002:ac8:30ba:: with SMTP id v55mr609678qta.324.1578950860319; Mon, 13 Jan 2020 13:27:40 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!g89no5826609qtd.0!news-out.google.com!w29ni980qtc.0!nntp.google.com!g89no5826600qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 13 Jan 2020 13:27:40 -0800 (PST)
In-Reply-To: <72bb82b7-b6ad-4754-ad52-5b2b7e600e7c@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=83.25.216.212; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 83.25.216.212
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> <72bb82b7-b6ad-4754-ad52-5b2b7e600e7c@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bc16a817-045a-4d11-aa66-4cd1cda6d67b@googlegroups.com>
Subject: Re: Programming Language of the Year 2019
From: godek.maciek@gmail.com
Injection-Date: Mon, 13 Jan 2020 21:27:40 +0000
Lines: 61
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit