-
Data: 2011-09-17 15:46:27
Temat: Re: Nauka programowania od czego zacząć?
Od: Luke <l...@l...net> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
> Może do końca nie jest to zgodne z zakresem tematycznym tego forum ale liczę na
> życzliwe podpowiedzi.
Każdy odpowie inaczej, ja też dorzucę swoje trzy grosze.
Nie wiem czy 8 lat to nie jest za wcześnie. Ja zacząłem programować
gdzieś tak w wieku 10-11 lat. Zaczynałem od BASIC-a na Spectrum i Atari.
Przy czym BASIC na spectrum był teoretyczny (programy pisałem na kartce)
ze względu na brak dostępu do sprzętu.
Następnie po kilku latach po przesiadce na peceta był Pascal. To
wymagało całkowitego przeprogramowania myślenia na strukturalne
konstruowanie algorytmów, zdziwienie że nie ma numerowanych linii i da
się bez goto. W zasadzie w tym wieku (miałem z 15 lat) można się szybko
przestawić i BASIC mi krzywdy nie zrobił, a dodatkowo znam zalety
programowania strukturalnego.
Natomiast uważam za swój największy błąd zajmowanie się Pascalem zamiast
C. Po przyjęciu nawyków pascalowych przejście do C jest niesamowicie
trudne i w zasadzie nigdy mi się w pełni nie udało tego zrobić, bo C
zająłem się już znacznie później. Odpowiednio wczesne uczenie alokacji
pamięci i uważania na indeksowanie zmiennych (aby program nie wywalał
się z niewiadomego powodu), odpowiednio wczesne zwracanie uwagi na pewne
galimatiasy konstrukcyjne pozwoliłoby mi na kodowanie w C "bez
zastanowienia", jednak tego etapu nigdy nie osiągnąłem, gdyż C uczyłem
się w wieku, kiedy umysł nie chłonie wszystkiego i wiele rzeczy się
momentalnie zapomina, a potem godzinę szuka błędu typu wyjście za
tablicę o jeden rekord. Dlatego byłem zmuszony po wejściu windowsa
przejść na Delphi zamiast jakiegoś C++ i to wspominam ze smutkiem. Tutaj
nauczyłem się dopiero myślenia obiektowego (bo Delphi jest obiektowe, a
Pascal nie był) na tyle, na ile musiałem. Potem miałem okres skutecznego
programowania w czystym C, ale to wymagało częstego sięgania do książek,
gdyż zapominałem pewne sprawy bardzo szybko.
Co ja mogę doradzić?
1. Zacznij od nauki Logo. Niech córka spróbuje pisać proste programy
sterujące żółwiem, potem może wprowadzać bardziej skomplikowane
elementy, pętle, instrukcje warunkowe (rysowanie jakichś wielkich
ażurowych wzorków). Trzeba zachęcić do zabawy w eksperymentowanie - co
będzie gdy zmienię tę linię w taki sposób i dlaczego?
2. Przejdźcie potem na czyste C i realizujcie np. książkę "Algorytmy" z
Helionu. Niech to będzie czyste C, nieobiektowe, z samym stdin i stdout.
Tak, żeby wiedzieć co to są pętle for, do-while, repeat-until, co to
jest funkcja, jak grupować kawałki kodu w funkcje, i tak dalej. Do tego
np. rekurencja.
3. Jak czyste C opanujecie dość dobrze, lecimy C++ (uważam i będę
uważał, że od tego języka trzeba się zacząć uczyć programowania
obiektowego). Też na stdin/stdout. Realizujemy myślenie obiektowe, czyli
konstruowanie obiektów, dziedziczenie.
4. Potem można robić GUI i nauczyć się odniesienia obiektowości do
elementów tegoż GUI.
Jeśli córka to zrealizuje (ale to kwestia lat), to nie będzie miała
żadnego problemu z przejściem na dowolny język programowania, bo
elementy, schematy i konstrukcje są w zasadzie identyczne, a zmienia się
tylko składnia i detale. Natomiast to, że opanuje C/C++ z dobrym
zrozumieniem granicy między nimi będzie zaletą i atutem, bo wszystkie
nowsze języki są łatwiejsze i myśleć tam trzeba mniej. Jak na studiach
każą jej przeliczyć 1500 wyników badań w taki sam sposób, to napisze
sobie stronę kodu w R albo Octave i zrobi obliczenia w 15 minut idąc
potem do koleżanki, a inni studenci będą 5 nocy obklikiwać je w mozolnie
zrobionych arkuszach. Jak trzeba będzie przekonwertować 1500 zdjęć, to
napisze sobie skrypt shellowy do imagemagicka, zamiast się zastanawiać
nad makrami albo ręcznie przerabiać każde. Do takich przykładowych
ułatwień życia ma służyć szaremu człowiekowi umiejętność programowania.
Nigdy też nie podzielałem i nie podzielam opinii, że należy się uczyć
programowania od programowania obiektowego, co spotyka się w niektórych
książkach. Znam osoby, które tak zrobiły i mają wielkie problemy z
zakodowaniem pewnych rzeczy (generalnie wszystko robiłyby obiektowo).
Luke
Następne wpisy z tego wątku
- 17.09.11 20:14 Tomasz Pyra
- 17.09.11 20:15 Lelek@
- 17.09.11 20:18 Lelek@
- 17.09.11 20:25 Lelek@
- 17.09.11 20:27 Lelek@
- 17.09.11 20:30 Lelek@
- 17.09.11 20:36 Paweł
- 17.09.11 20:59 Grzegorz Krukowski
- 17.09.11 21:13 Darek
- 17.09.11 21:27 Butek
- 17.09.11 21:31 Jarosław Sokołowski
- 17.09.11 21:49 Lelek@
- 17.09.11 21:59 Lelek@
- 17.09.11 22:02 Lelek@
- 17.09.11 22:12 RoMan Mandziejewicz
Najnowsze wątki z tej grupy
- Czy cos fi przechodzi przez trafo separujące?
- śrubka masy
- Ciekawostka na dziś lock bity
- [OT] napisy w YT
- Było 83V
- Stare komputery
- Odbiornik ADS-B i wzmacniacze
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML