-
Data: 2018-12-29 07:13:20
Temat: Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
Od: s...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
> > Nawyki nie są "cechą języka", tylko ludzi.
>
> Tak. Np. większosć ludzi ma złe nawyki żywieniowe.
> Ale to nie jest problem żywności.
Cenna uwaga!
> > I to jest kod pełen
> > anty-wzorców, których źródłem są właśnie złe nawyki.
>
> Dobrze. To może lepiej pokazać dobre wzorce na dobrym kodzie?
Wzorce i antywzorce nie zależą od języka programowania! Podobnie jak wspomniane
nawyki.
> Nadal nie wiemy, czy należy zmienić język, żeby pisać dobrze.
> Albo, wracając do pierwszego pytania, czy C++ jest (nie)dobry do nauki.
Jest dobry:
+ jest prawdziwy (w nim się pisze wszelkie poważne systemy - nawet oprogramowanie do
F-35 napisano w C++ rzucając wcześniej stosowaną Adę np. w F-22 i Euro Fighter 2000)
+ jest kompatybilny (z najważniejszymi językami: Asemblerem i C, a do pozostałych
języków można w nim tworzyć rozszerzenia)
+ produkuje bardzo szybki, natywny kod (nie wymaga żadnej wirtualnej maszyny czy
interpretera)
+ jest dobrze rozwinięty i nadal rozwijany
+ jest dobrze zrozumiany i jest sprawdzony
+ jest wieloplatformowy (jeśli się użyje odpowiednich bibliotek: Stl, Boost, Sdl,
OpenGl czy Qt i jeśli się umiejętnie wydziela wywołania nieprzenośnych funkcji)
+ jest obiektowy
+ wspiera wielodziedziczenie
+ ma możliwość przeładowania operatorów
+ ma wsparcie dla metaprogramowania (szablony)
+ wspiera wyjątki (jako sposób obsługi błędów)
+ wspiera wiele stylów programowania i wiele paradygmatów programowania
+ darmowy
+ ma bardzo dobre BIBLIOTEKI DO WSZYSTKIEGO na liberalnych licencjach
+ jest przyjazny dla ucznia (można go poznawać stopniowo - w miarę potrzeb)
+ jest wiele podręczników (z Opus Magnum Jerzego Grębosza na czele)
+ jest standardem w konkursach dla programistów
Wady:
- koszmarne komunikaty linkera (Gnu g++)
- koszmarne komunikaty kompilatora gdy coś nie gra w użytych szablonach (Gnu g++)
- słaby debuger Gnu gdb lub jego interfejs w Qt Creator (w porównaniu do debugera
Borlanda w C++ Builder).
- ręczne zarządzanie pamięcią
- brak konsekwencji w stosowaniu nazewnictwa między bibliotekami (np. w Stl i Qt) (do
przeżycia)
- wybiórcze stosowanie funkcji języka (np. nie stosowanie wyjątków tylko wartości
zwracanych i nie standaryzowanych funkcji z opisem błędu np. w Qt)
Następne wpisy z tego wątku
- 29.12.18 12:27 g...@g...com
- 29.12.18 12:51 g...@g...com
- 29.12.18 13:44 Roman Tyczka
- 29.12.18 14:01 Borneq
- 29.12.18 14:24 s...@g...com
- 29.12.18 19:42 g...@g...com
- 29.12.18 20:23 g...@g...com
- 30.12.18 00:21 Maciej Sobczak
- 30.12.18 13:06 g...@g...com
- 30.12.18 16:46 Mateusz Bogusz
- 30.12.18 18:08 s...@g...com
- 30.12.18 19:17 g...@g...com
- 31.12.18 08:18 Tomasz Kaczanowski
- 31.12.18 10:14 g...@g...com
- 02.01.19 09:41 Maciej Sobczak
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 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
- 2024-12-11 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=