-
X-Received: by 10.157.63.248 with SMTP id i53mr3897941ote.14.1477404640158; Tue, 25
Oct 2016 07:10:40 -0700 (PDT)
X-Received: by 10.157.63.248 with SMTP id i53mr3897941ote.14.1477404640158; Tue, 25
Oct 2016 07:10:40 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!news.glorb.com!g49no203802qtc.1!news-out.google.com!f59ni408qtb.1!nntp.go
ogle.com!y38no389497qta.0!postnews.google.com!glegroupsg2000goo.googlegroups.co
m!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 25 Oct 2016 07:10:39 -0700 (PDT)
In-Reply-To: <nunc36$f62$1@node2.news.atman.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.80.105;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.80.105
References: <a...@n...v.pl>
<580a2363$0$642$65785112@news.neostrada.pl>
<a...@n...v.pl>
<2...@g...com>
<nufk59$uqs$1@node2.news.atman.pl>
<6...@g...com>
<nug5rh$g13$1@node1.news.atman.pl>
<2...@g...com>
<nugb2n$lae$1@node1.news.atman.pl>
<5...@g...com>
<nuggu4$ql2$1@node2.news.atman.pl>
<5...@g...com>
<nul57d$hjs$1@node1.news.atman.pl>
<1...@g...com>
<numsck$92u$1@node1.news.atman.pl>
<e...@g...com>
<nunc36$f62$1@node2.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7...@g...com>
Subject: Re: Pascal - ankieta
From: Maciej Sobczak <s...@g...com>
Injection-Date: Tue, 25 Oct 2016 14:10:40 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:210017
[ ukryj nagłówki ]On Tuesday, October 25, 2016 at 12:27:51 PM UTC+2, Sebastian Biały wrote:
> > I właśnie dlatego (z powyższego linku):
> > "Draw the connections between the modules on the editor, and watch your project
come to life."
>
> Był kiedys taki kawałek kodu o nazwie LabView.
Sam napisałeś, że obecni amatorzy od Arduino to przyszli inżynierowie w firmach
embedded. Pokazuję Ci, co ci amatorzy teraz robią. Zgadnij, co będą robić za parę
lat. Pisać szablony w C++?
> > Proste? Właśnie w taki sposób zmniejsza się okno wejścia dla C++.
>
> Po LabView widac
Po ESLOV widać, że tak rośnie nowe pokolenie inżynierów.
> No ale jakos od 15 lat się nie daje rady przestawić.
Kolega obok twierdził, że "większość" softu w samochodach się robi w Simulinku.
Trochę przesadził z tą większością, ale i tak to są rysy na Twoich argumentach. To
się dzieje, niezależnie od tego, czy Ci się to podoba.
> >> Zrobi różnicę kiedy zapytasz jak szybko odpowie na przerwanie.
> > Ta nisza to może być pojedynczy procent całego rynku embedded.
>
> IMHO wkładasz za dużo zwykłych komputerów do pojcia embedded.
Niedawno powstało takie pojęcie jak "deeply embedded", bo niektórzy nie mogą się
pogodzić z postępem w hardwarze.
Podsumujmy: piekarnik/pralka/zmywarka sterowana mikrokontrolerem 8051 to jest system
embedded. Jeśli w następnej wersji piekarnika/pralki/zmywarki tego samego producenta
będzie mały komputerek z Linuksem, to to już nie jest embedded. Dlaczego? Bo
specjaliści od embedded mają naruszone ego? No to sorry.
> Nie. Mam tony pecetów z przyczepionym LCD i baterią. Nijak nie widzę
> dlaczego miałbym to nazywać embedded.
https://en.wikipedia.org/wiki/Embedded_system
> Czy jak do mojego peceta dokleje
> monitor i klawiaturę to tez bedzie embedded?
To zależy, czy będzie częścią większego produktu. Jeśli ten monitor i klawiatura są
akurat na frontowym panelu w samochodzie, to tak, ten pecet jest systemem embedded.
Sorry. Nie ja wymyśliłem definicję.
> Ta nisza będzie może niszą, ale obawiam się że sterowanie wektorowym
> falownikiem dalej jest nie za bardzo w zasięgu Javy na Galaxy.
Cieszę się, że znalazłeś sobie ciekawą i niezagrożoną niszę zawodową.
> > Testy pisze się z wymagań.
>
> Dalej mówisz jak typowy managier.
Nie, jestem inżynierem.
> Się pisze testy. A w czym?
Skup się: w Excelu.
(oczywiście nie jest to jedyna opcja, ale o tyle ciekawa, że kompletnie oderwana od
dyskusji nt. wyższości C++ nad C)
> Dalej nie rozumiesz. Jeśli lampka ma zgasnąc z C to sprawdzenie czy kod
> w C woła właściwą funkcję jest znacznie trudniejsze niż w C++.
Dalej nie rozumiesz. Jeśli lampka ma zgasnąć, to w jakiejś chwili na jakimś outpucie
ma być LOW (powiedzmy). Albo jakaś zmienna lub wartość w jakieś tablicy albo
strukturze ma być LOW. Itp. Zrobienie testu na takie coś nie zależy od tego, czy
ustawianie tej wartości jest w C czy w C++.
W szczególności, uwaga, test można zrobić *zanim* powstanie ten kod i tym bardziej
wtedy widać, że robienie testu nie zależy od tego, czy gaszenie lampki jest w C, czy
w C++.
(Proszę nie mylić z TDD (Test-Driven Development), bo to nie to.)
[branża krytyczna]
> Narzuca bardzo wiele.
Na przykład?
> > Ale stawia cele do spełnienia, które łatwiej jest spełnić w C (!), niż w C++.
>
> To nie może być prawda z racji że C jest w uproszczeniu podzbiorem C++.
Błąd logiczny. Właśnie dlatego jest łatwiej w C, że C jest (w uproszczeniu)
podzbiorem C++.
Dzięki temu ilość różnych rzeczy do sprawdzenia w kodzie jest mniejsza (sic!).
> > Bo niektóre urządzenia embedded są krytyczne?
> > W szczególności te, w których chciałbyś pytać o czas odpowiedzi na przerwanie?
>
> Czyli te na Javie z VM popędzane z Linuxem? Czy własnie rozmawiam z
> druga osobowością?
Uzupełniam:
Jeżeli w danym systemie embedded nie interesujesz się czasem odpowiedzi na
przerwanie, to prawdopodobnie jest to system rozrywkowy, np. lustro z Andoridem z
prognozą pogody. Natomiast jeżeli jesteś zainteresowany tym czasem, to prawdopodobnie
jest to system krytyczny a wtedy chcesz mieć jak najłatwiejsze narzędzia weryfikacji.
> > I właśnie ten większy stosunek utrudni weryfikację
>
> Nieprawda. Weryfikację utrudnia cieżki do czytania kod,
Więc pisz kod łatwy do czytania. Standardy kodowania po to są.
> kłopotliwe
> implementowanie testów
Testy pisze się z wymagań. N-ty raz to powtarzam.
> i kiepski związek kodu (rysowanie z LabView) z
> wynikiem (generowany C).
Bingo. Dlatego C++ jest trudniejszy w weryfikacji, niż C, bo w C++ jest większy
przeskok między kodem (źródłowym) a wynikiem (obiektowym).
> Pierwsze słyszę żeby 20MB kodu wynikowego więcej z powodu życia
> templates mialo byc przeszkodą weryfikacyjną
To jest tzw. total showstopper a nie przeszkoda.
> Po stronie kodu jest 10x mniej
Zaraz, zaraz. Powyżej napisałeś, że kodu jest 20MB więcej, teraz piszesz, że kodu
jest 10x mniej. Gubisz się?
Jeżeli w Twoim projekcie zrobiło się 10x mniej kodu źródłowego a jednocześnie
przybyło 20MB kodu wynikowego, to leżysz na weryfikacji.
Hasło: traceability.
> >. Bo w branży krytycznej musisz wykazać ciągłość metody inżynierskiej
>
> Pomiędzy jednym a drugim masz kompilator.
To jest nieciągłość.
> Możesz wygazać formalnie jego
> działanie?
Jeżeli to jest kompilator C++, to nie da się tego zrobić jeszcze bardziej, niż nie da
się gdy to jest kompilator w C.
Właśnie dlatego lepiej, żeby był C.
> Jesli nie to musisz za każdym razem sprawdzać kod
> w C z kodem w asm. Ręcznie.
Tak. Sorry, taka branża.
Dlatego łatwiej się to robi gdy kod źródłowy jest w C.
Naprawdę.
> Już Ci napisałem jak duży producent pisal w certyfikowanym kompilatorze
> C z wielką dziurą.
Nie ma problemu - certyfikował tą resztę wokół dziury.
> Zaznaczam przy okazji że w tym czasie kiedy oni w nim
> pisali gcc osiągał lepsza jakość kodu wynikowego i nie miał bugów.
Bzdura. Bugzilla pokazuje, że w historii gcc nigdy nie było takiego przedziału czasu,
żeby nie było bugów. Różnica jest taka, że w przypadku tego certyfikowanego wiedza o
tym gdzie są bugi (i jak trzeba pisać, żeby je ominąć) była większa.
Dlatego ten certyfikowany był bardziej odpowiedni w projekcie krytycznym.
> Bugi pochodzace z kompilatorów to promil promila problemu
> bugow w ogólności.
W branży rozrywkowej? Oczywiście.
Ale pisaliśmy o krytycznej.
> Piszesz o embedded tak jak Ci w danej chwili
> pasuje. Raz to wypasione systemy z Linuxem i Java a po chwili
> certyfikowane produkty
Ty sam ten temat szeroko traktujesz. Raz o Arduino, drugi raz o falownikach...
Próbuję odpisywać wg bieżącego, zmiennego kontekstu.
> Udowadnianie że c++ nie ma co szukać w embedded z pomocą hermetycznego
> promila aplikacji embedded obwarowanymi certyfikatami i komitetami
> wydaje mi się, przyznaje, zabawny, dlatego to ciągne dalej.
Ale ja nie pisałem tylko o promilu certyfikowanych. Również o tej gigantycznej masie
rozrywkowych, z Javą w środku.
Pytanie teraz, czy pomiędzy tymi dwoma kategoriami jest wystarczająco dużo miejsca.
Pewnie jest, ale nie na tyle, żeby można było pisać o niezastąpionym C++, którego nic
nie wyprze. Właśnie wypiera (albo nie dopuszcza), z obu tych stron.
W branży embedded C++ jest w podobnym ścisku i pod podobną presją konkurencji, jak na
desktopie, z podobnych powodów.
> A przy
> okazji jesli chodzi o Pascala ...
Nie widziałem w embedded.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 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
- 26.10.16 09:53 Tomasz Kaczanowski
- 26.10.16 09:57 Sebastian Biały
- 26.10.16 15:26 Maciej Sobczak
- 26.10.16 15:46 Sebastian Biały
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-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=
- 2024-12-11 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-11 Idzie zima...czyli zaczynamy TETRIS :)
- 2024-12-11 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe