🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216741

Re: Programming Language of the Year 2019

#216741
From: godek.maciek
Date: Sun, 12 Jan 2020 20:23
38 lines
3964 bytes
W dniu niedziela, 12 stycznia 2020 19:39:19 UTC+1 użytkownik Maciej Sobczak napisał:
> > <troll mode on>
> > Nie rozumiem. Dlaczego nie C++?
> 
> Ależ nie ma w tym nic z trollowania.

Pewnie kwestia perspektywy ;]

> Też nie rozumiem w sensie własnych wyborów, aczkolwiek potrafię sobie wyobrazić mechanizm, który wpycha ludzi w C. Otóż tym mechanizmem są obecnie generatory kodu produkujące wstępnie zainicjalizowany projekt na podstawie konfiguracji peryferiów. Np. (jeśli nie w szczególności) ten:
> 
> https://www.st.com/en/development-tools/stm32cubemx.html
> 
> Nie opłaca się tego robić ręcznie a z wizarda wychodzi kod w C.

Wręcz bym powiedział, że "gówno-kod w C".
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.

Podobnie jak to, żeby na mikrokontrolery dostarczać "warstwę abstrakcji sprzętowej" (?).
Tzn. ja bym się raczej spodziewał po opisie takiego narzędzia, że dostanę wysoce zoptymalizowany kod inicjalizujący, a nie jakąś monstrualną bibliotekę, najeżoną od funkcji, których celem jest wypełnianie struktur danymi. (Serio, wygląda to tak, jakby inżynierowe w ST nie rozkminili jeszcze, że w C istnieje składnia do inicjalizacji struktur. I jakby nie wiedzieli, do czego służy const.)

> Pozostaje go rozwijać dalej.

Moim zdaniem to ma sens do szybkiego uruchomienia/wypróbowania czegoś.
Bo jest kod wygenerowany, który nie ja pisałem, i w którym wprowadzanie zmian jest bolesne (bo muszę regenerować projekt)

> Inną metodą rozpoczynania projektu jest wzięcie na żywca jakiegoś przykładu z zasobów producenta a takie przykłady niemal zawsze są w C.

I pewnie C jest do tego wystarczającym językiem.

> I tak, jedną metodą lub drugą, wszystkie projekty startują jako C. Rozwijanie ich przez dopisywanie kodu w C++ wymaga pewnego ogarnięcia, którego w tej branży może brakować.
> 
> Ta teoria ma potwierdzenie również w kategorii desktop, gdzie kod w C++ był masowo pisany wtedy, gdy projekty były inicjowane z wizardów lub frameworków w C++ (MFC, Qt, itp.).
> 
> Czyli to nie całkiem jest wybór programisty. Producenci narzedzi (a w przypadku embedów nawet producenci krzemu) mają istotny wpływ na to, jaki język "wybierze" programista.

Uwaga bardzo słuszna.

(Czasem sobie myślę, że ST specjalnie rozdmuchuje tego HALa, żeby klienci kupowali kontrolery z większą ilością flasha na pokładzie.)
Technical Details
Message-ID: <72160e5d-7727-46e7-b2f0-1567e4bb4ad0@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!goblin1!goblin.stu.neva.ru!g89no2446058qtd.0!news-out.google.com!o19ni1643qtr.1!nntp.google.com!g89no2446055qtd.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>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:5313:: with SMTP id t19mr7804019qtn.375.1578860631832;        Sun, 12 Jan 2020 12:23:51 -0800 (PST)
X-Received: by 2002:ad4:48c6:: with SMTP id v6mr8501071qvx.207.1578860631596; Sun, 12 Jan 2020 12:23:51 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!goblin1!goblin.stu.neva.ru!g89no2446058qtd.0!news-out.google.com!o19ni1643qtr.1!nntp.google.com!g89no2446055qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 12 Jan 2020 12:23:51 -0800 (PST)
In-Reply-To: <d055f5e8-8eb3-41b4-b903-c996bb7b2503@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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <72160e5d-7727-46e7-b2f0-1567e4bb4ad0@googlegroups.com>
Subject: Re: Programming Language of the Year 2019
From: godek.maciek@gmail.com
Injection-Date: Sun, 12 Jan 2020 20:23:51 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit