-
Data: 2018-12-23 20:29:35
Temat: 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 ]Witam
Ostatnio sobie przeczytałem artykuł z magazynu Programista pt. "Jaki język polecić
początkującemu?". A teraz pragnę go skomentować. Oto skrótowe przedstawienie
artykułu:
[Początki]
Co oczywiste każdy jakoś zaczynał. Autor artykułu zaczynał od Basic-a na Atari.
Następnie odkrył Pascal-a i Delphi by następnie zgłębiać C#. Ta ścieżka wynikała z
rosnących potrzeb rzekomo nie możliwych do realizacji w poprzednich technologiach.
[Prostota]
W nauce łatwo przyswajane są proste koncepcje i one powinny być "pierwszym rzutem".
[Oczekiwania]
Szybkie efekty są pożądane w przypadku nauki programowania.
[Wszechstronność i C-style]
"Oprogramowanie interfejsu użytkownika w C++ to mordęga - na pewno w porównaniu z
rozwiązaniami dostępnymi w C# albo Delphi." "Aplikacji webowych w C++ współcześnie
się raczej nie pisze (a przynajmniej nie słyszałem o żadnym takim przypadku), mobilne
wprawdzie się da, ale wszyscy producenci dosyć zdecydowanie sugerują, by raczej
trzymać się języków, które zostały na daną platformę specjalnie przygotowane
(Java/C#/Swift lub Objective-C)."
"W mojej ocenie nauczenie kogoś języka C-style niesie ze sobą bardzo dużo korzyści."
Teraz mój komentarz:
[odnośnie Początki]
Jak się okazuje ważne w życiu jest zaczęcie marszu od wybicia się z właściwej nogi. W
moim przypadku był to Asember x86. Dlaczego? Wydawało mi się, że da on dobre pojęcie
o tym jak właściwie działa komputer. Zależało mi na tym by dobrze go zrozumieć gdyż
dysponowałem jedynie znajomością systemu dwójkowego. Drugim krokiem mojej nauki była
nauka C++. Wynikało to z tego, że C to język systemów operacyjnych (obok Asemblera) i
jest on naturalnym (wstępnym) stadium nauki C++. C++ w owym czasie był językiem
aplikacji (Java była za wolna na tamtych komputerach i dziś w wielu miejscach nadal
tak jest, C# wtedy nie istniał).
[odnośnie Prostota]
Prostota tak, ale przede wszystkim ZROZUMIENIE. Można nauczyć kogoś wywoływania
różnych funkcji w JavaScript ale raczej nie przybliży mu to jak działa procesor, ani
co tak na prawdę jest niepodzielnym rozkazem dla programisty. W sumie jak mamy kogoś
uczyć wywołań różnych funkcji to czemu nie w Bash-u albo w Python-ie? Zakres
użyteczności dużo większy niż JavaScript-u.
[odnośnie Oczekiwania]
W nauce trzeba zawrzeć rodzaj kontraktu: uczymy się 3 miesiące i będziemy umieć to i
to. Albo: uczymy się rok i będziemy umieć TO i TO i TO.
W ciągu 3 miesięcy faktycznie może nie być czasu na nic więcej niż parę tagów w Html
plus wywołania kilku funkcji w JavaScript plus wyświetlanie jakiejś grafiki plus
jakieś dźwięki.
Jednak może to być jedynie zachęta do poważnej nauki.
Moim zdaniem kurs minimum to rok podzielony na 3 etapy dotyczące WIEDZY ELEMENTARNEJ
w pracy przyszłego programisty:
1. 4 miesięczny kurs Asemblera,
2. 4 miesięczny kurs C
3. 4 miesięczny kurs C++
Sprytni adepci programowania mogą pójść krok dalej i np. w ciągu miesiąca zapoznawać
się z językiem, a w ciągu kolejnych 3 miesięcy pisać programiki jakie wynikają z ich
"strategicznych zainteresować" np. grafiki, dźwięku, baz danych czy algorytmów.
Taki kurs realizowany nawet samodzielnie pozwala w ciągu roku zostać "prawie
programistą". Do pełni szczęścia brakowało by nam wiedzy ze wszystkich wymienionych
dziedzin (grafiki, dźwięku, baz danych czy algortymów) oraz wiedzy matematycznej oraz
wiedzy o projektowaniu systemów informatycznych, oraz wiedzy o narzędziach typu
tworzenie pluginów, aplikacji sieciowych i używanie profilerów.
[odnośnie Wszechstronność i C-style]
"Oprogramowanie interfejsu użytkownika w C++ to mordęga - na pewno w porównaniu z
rozwiązaniami dostępnymi w C# albo Delphi."
W sumie nie wiem skąd ta opinia - tak się składa, że biblioteka Delphi jest
udostępniana w pakiecie C++ Builder również dla C++. Poza tym autor artykułu
najwyraźniej nic nie słyszał o Qt (którym posługuje się ok. milion programistów!!!).
"Aplikacji webowych w C++ współcześnie się raczej nie pisze (a przynajmniej nie
słyszałem o żadnym takim przypadku),"
KAŻDY projekt o którym słyszał Kowalski ma w sobie C++:
http://www.lextrait.com/Vincent/implementations.html
" mobilne wprawdzie się da, ale wszyscy producenci dosyć zdecydowanie sugerują, by
raczej trzymać się języków, które zostały na daną platformę specjalnie przygotowane
(Java/C#/Swift lub Objective-C)."
Taaa... tylko że żaden z tych języków (może poza Swift - nie wiem co to i nie
wnikam) nie został przygotowany specjalnie na daną platformę...Prawda jest
prozaiczna: każdy chce wciągnąć w swoje własne bagno z którego trudno będzie się
wydostać... Nawet w tym swoim Delphi możesz pisać bez krępy na telefony... Nie mówiąc
już o C++...
"W mojej ocenie nauczenie kogoś języka C-style niesie ze sobą bardzo dużo korzyści."
Coś w tym jest. Jednak ja gdy zaistniała konieczność "zarzeźbienia" w Java to miałem
sporo problemów - język miliardów klas w którym średnia funkcja ma 3 linie do mnie
nie przemawia...
Następne wpisy z tego wątku
- 25.12.18 12:13 fir
- 26.12.18 01:27 g...@g...com
- 26.12.18 04:07 fir
- 26.12.18 13:35 s...@g...com
- 26.12.18 18:10 fir
- 26.12.18 20:42 g...@g...com
- 26.12.18 21:40 s...@g...com
- 26.12.18 21:53 g...@g...com
- 26.12.18 22:35 g...@g...com
- 26.12.18 22:39 Adam M
- 26.12.18 23:31 fir
- 26.12.18 23:39 fir
- 26.12.18 23:52 fir
- 27.12.18 00:07 fir
- 27.12.18 00:37 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-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=