-
Data: 2016-10-25 00:01:54
Temat: Re: Pascal - ankieta
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> > To "C++" w Arduino równie dobrze mogłoby być Javą
>
> Nie.
Tak. Mam na myśli oczekiwania odbiorców. Im nie zależy na języku. Ma się po prostu
fajnie pisać i mają być gotowe biblioteki do pierdyliona "shieldów".
Zamienisz im C++ na Javę/łotewer i nawet im powieka nie mrugnie. To miałem na myśli.
Natomiast:
> Narzut na prosty procesor jest za duży.
Mówimy o Arduino. O branży, gdzie antenka do wifi ma w sobie uC N razy silniejszy od
głównego "procesora", który do tej antenki wysyła polecenia i nikogo to nie dziwi. O
branży, gdzie ludziom jest wszystko jedno, czy mają AVR czy Cortex-M4, bo diodą mruga
się tak samo fajnie. O branży, gdzie niektóre płytki mają Linuksa (!) udającego, że
jest AVRem i też mruga diodą - i też nikogo to nie dziwi.
Wsadź tam jakiś okrojony VM i nikomu nie zrobi to żadnej różnicy. Bo niby czemu?
A z biegiem lat ta nisza niezauważająca różnicy będzie coraz większa. Za parę lat
będziesz miał w czajniku Linuksa z Javą udającą AVRa sterującego wyłacznikiem i
nikogo to nie będzie dziwiło.
Że będą nisze, gdzie to się nie stanie? Oczywiście - ale tak jak na desktopach i
serwerach, to będą coraz mniejsze, choć dobrze ustalone, nisze (i w tych niszach
będzie też przeciwnik w postaci VHDL).
> > W części "krytycznej" C++ nie wnosi niczego istotnego, bo to, co jest jego
obiektywną wartością dodaną
> > i tak nie obniża wymaganego wysiłku weryfikacyjnego a tego jest większość w całym
cyklu życia projektu.
>
> To jest nieprawda. Podstawową wartością jaką wprowadza C++ jest znaczące
> ułatwienie testowania i weryfikacji bez narzutu runtime. Zarówno na
> etapie unit testów, jak i przy głupiej kompilacji.
Testy pisze się z wymagań i nie zależy to od tego, czy program jest w C czy w C++. A
kompilacja nie jest czynnością weryfikacyjną, wręcz przeciwnie - to ją trzeba
weryfikować i to właśnie w C++ ten etap jest trudniejszy.
(mówimy o branży krytycznej)
> > To oznacza, że o ile w "normalnym" programie takie rzeczy jak RAII czy nawet sama
kontrola widoczności są cenne
> >, to w systemie krytycznym ich zbawczy wpływ w kontekście całego
> projektu jest znacznie mniejszy.
>
> Zawsze możesz przedstawić przykład dlaczego mniejszy.
Powyżej. Przykładowo, testy nie będą zależały od tego, w czym napiszesz kod. Być może
zaoszczędzisz trochę na pokryciu strukturalnym (bo kodu będzie trochę mniej), ale
dokładnie tyle samo stracisz na wykazaniu ciągłości kompilacji, bo kodu wynikowego
będzie odpowiednio więcej w stosunku do źródłowego. Dlatego fakt, że C++
automatycznie zawoła jakiś tam destruktor nie oszczędza wysiłku związanego ze
sprawdzeniem, czy akcja z tego destruktora się faktycznie wykonała. Ten wysiłek jest
ciągle taki sam.
(mówimy o branży krytycznej)
Natomiast w branży rozrywkowej oczywiście C++ ma przewagę, taką samą jak na desktopie
czy na serwerze. Problem w tym, że dokładnie tak samo będzie musiał zmierzyć się z
Javą (lub czymś jeszcze innym - jakieś Swifty, Rusty czy co tam jest teraz modne).
Dlatego rynek embedded wcale nie będzie dla C++ łatwiejszy.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 25.10.16 07:59 Sebastian Biały
- 25.10.16 11:32 Maciej Sobczak
- 25.10.16 12:27 Sebastian Biały
- 25.10.16 16:10 Maciej Sobczak
- 25.10.16 17:28 re
- 25.10.16 17:30 Sebastian Biały
- 25.10.16 17:39 Sebastian Biały
- 25.10.16 17:39 re
- 25.10.16 18:11 re
- 25.10.16 18:12 re
- 25.10.16 18:18 Sebastian Biały
- 25.10.16 18:21 Sebastian Biały
- 26.10.16 07:19 slawek
- 26.10.16 07:59 Tomasz Kaczanowski
- 26.10.16 09:07 Maciej Sobczak
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)