-
X-Received: by 2002:ac8:1a1a:: with SMTP id v26mr617434qtj.270.1557820517574; Tue, 14
May 2019 00:55:17 -0700 (PDT)
X-Received: by 2002:ac8:1a1a:: with SMTP id v26mr617434qtj.270.1557820517574; Tue, 14
May 2019 00:55:17 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.tel
efonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!newsreader4.netco
logne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer
01.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news
.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!c48no2165
620qtc.0!news-out.google.com!b26ni594qtp.1!nntp.google.com!c48no2165617qtc.0!po
stnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 14 May 2019 00:55:17 -0700 (PDT)
In-Reply-To: <qbb69q$ef6$1@gioia.aioe.org>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=194.9.245.24;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 194.9.245.24
References: <c...@g...com>
<btKtE.25850$wd2.16727@fx24.fr7>
<9...@g...com>
<qasr5t$7i2$1@dont-email.me>
<0...@g...com>
<qav4vb$87q$1@dont-email.me>
<d...@g...com>
<qb1kr4$nqn$1@dont-email.me>
<c...@g...com>
<qb4hnr$eqn$1@dont-email.me>
<3...@g...com>
<qbb69q$ef6$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d...@g...com>
Subject: Re: Ada Tutorial - w Instytucie Lotnictwa
From: Maciej Sobczak <s...@g...com>
Injection-Date: Tue, 14 May 2019 07:55:17 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 74
X-Received-Bytes: 5504
X-Received-Body-CRC: 1045990446
Xref: news-archive.icm.edu.pl pl.comp.programming:213510
[ ukryj nagłówki ]> > Tylko nie pisz, że "gdyby zatrudnili porządnych programistów....",
> > bo to jest argument od czapy.
>
> Nie od czapy, ale sedno sprawy.
> Jak w każdym rzemiośle oprócz materiału, narzędzi, maszyn itp..
> o końcowej jakości produktu *w dużej mierze* decyduje właśnie dobry
> fachowiec.
I tu jest właśnie różnica pomiędzy systemami krytycznymi a "normalnymi", gdzie
obowiązują reguły rzemieślnicze (używam tego słowa w pozytywnym sensie
"craftmanship", żeby nie było).
Jeżeli masz firmę, która robi cokolwiek niekrytycznego, to od jakości programistów
zależy jakość produktu tak samo, jak od jakości jakiegokolwiek innego rzemieślnika
zależy jakość tego co tworzy. Tu jest pełna zgoda. Co więcej, od ich jakości zależy
nawet to, jak bardzo możesz odpuścić temat weryfikacji. W idealnym przypadku możesz w
ogóle nie robić żadnej weryfikacji, bo produkt będzie po prostu dobry i po prostu
odniesie sukces. Tak samo, jak Linux odniósł sukces, chociaż jądro Linuksa w ogóle
nie ma unit testów.
Powtórzę na wszelki wypadek: jądro Linuksa nie ma unit testów.
I najwyraźniej nie jest to żaden problem.
Natomiast jak robisz system krytyczny, to podlegasz regulacjom, standardom i
certyfikacjom. I ciekawostka jest taka, że np. w branży lotniczej standardy jakości
nie obejmują bezpośrednio rekrutacji. Tzn. rekrutacja jest pod lupą w takim samym
stopniu, jak np. zakup długopisów albo żarówek.
Czyli w myśl tych standardów jakość produktu nie bierze się z genialności kodera
klepiącego kod (jak ktoś się uważa za genialnego, to niech sobie Linuksa poklepie, z
pożytkiem dla wszystkich). Jakość bierze się z *weryfikacji* a nie z klepania.
Właściwie to w zgodzie ze standardami (!) można by generować kod losowo tak długo aż
przejdzie weryfikację.
Dlatego kod napisany przez genialnego programistę sam w sobie jest *bezwartościowy*.
Słyszałem określenie "there is no quality built in" w odniesieniu do naklepanego poza
procesem kodu i to dobrze określa obowiązujący stan umysłu.
Jakość bierze się z weryfikacji a nie z klepania kodu. I jeśli jakości nie ma, to
znaczy tylko tyle, że weryfikacja była słaba.
Dlatego mądre internetowe stwierdzenia "gdyby zatrudnili dobrych programistów" po
każdym upublicznionym fakapie, w którym zginęli ludzie, są od czapy. To nie ta
branża.
> To, że branża IT
Tak. Zgadzam się. Tylko że IT i systemy krytyczne to są odrębne branże.
No chyba że zaczniemy je integrować i na siłę stosować metody jednej w drugiej. Ale
zgadnijcie dlaczego Google odpuścił temat autonomicznych pojazdów... Przecież nie z
powodu jakości programistów.
> A w IT? nawet uC?
> Dwa lata po studiach to już Experienced Senior Developer ;)
Tak. Jest takie zjawisko. I na razie nie widać, żeby to się miało odwrócić.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 14.05.19 15:25 Adam M
- 15.05.19 08:09 Maciej Sobczak
- 15.05.19 21:25 AK
- 16.05.19 08:55 g...@g...com
- 04.08.19 18:11 Borneq
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-11 Riga => Specjalista ds. public relations <=
- 2025-01-11 Przestępca wyborczy Musk nadciąga nad Tuskistan?
- 2025-01-11 Białystok => Delphi Programmer <=
- 2025-01-09 Jaka nawigacja z asystentem zmiany pasa ruchu?
- 2025-01-10 Coś dusi.
- 2025-01-09 akumulator napięcie 12.0v
- 2025-01-10 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-10 Warszawa => Software .Net Developer <=
- 2025-01-10 Białystok => Application Security Engineer <=
- 2025-01-10 Warszawa => System Architect (Java background) <=
- 2025-01-10 Warszawa => Solution Architect (Java background) <=
- 2025-01-10 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-10 Kraków => UX Designer <=
- 2025-01-10 Olsztyn => Sales Specialist <=
- 2025-01-10 Warszawa => Programista Full Stack .Net <=