-
111. Data: 2011-09-18 12:22:36
Temat: Re: Nauka programowania od czego zacząć?
Od: "J.F." <j...@p...onet.pl>
Dnia Sat, 17 Sep 2011 17:46:27 +0200, Luke napisał(a):
> 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.
Panowie (i Panie ?) - ale w Basicu tez da się w miare elegancko i
strukturalnie.
Problemy sa dwa:
a) poczatkujacy programisci maja tendencje do "glupich skokow". Cos pisza,
skacza na koniec, wracaja w srodek, kontynuuja. Byc moze przyczynia sie do
tego wlasnie numeracja linii i "spektrumowski edytor".
Kto ma male dziecko - do sprawdzenia, jak to bedzie w Basicu z etykietami i
zwyklym edytorem.
b) tej struktury nie widac .. chyba ze ktos ladne wciecia robi - na
spectrum sie chyba nie dalo.
Pascal tez nie jest bez winy, i tylko smiac sie mozna jak niektorzy
kombinuja zeby np znalezc pierwszy niezerowy element w tablicy (hi hi -
dwuwymiarowej) byleby tylko goto nie uzyc. Tylko smiech trafia w pustke
bo "goto sie nie uzywa i juz"
> 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ć,
eee - a co w tym trudnego ? Rzeklbym ze niemal takie same sa.
> Odpowiednio wczesne uczenie alokacji pamięci
Przeciez w obu jest ?
> i uważania na indeksowanie zmiennych (aby program nie wywalał
> się z niewiadomego powodu)
Ale przeciez to to samo.
Moze troche niechlujnie pisales - ale klient nie placi za program
ktory zamiast robic co ma robic wywala sie z bledem "indeks przekroczony w
linii 1534".
Wiec albo programista jest pewny ze dany algorytm nie przekroczy zakresu,
albo wstawia jawny kod sprawdzajacy i podejmujacy sensowna akcje.
I automatyczne sprawdzanie indeksow sie wtedy wylacza, bo to generuje
nieefektywny kod :-)
Przyznaje ze C mialo sporo miejsc w ktorych latwo bylo sie pomylic.
ANSI C znacznie to poprawilo, a dobry kompilator generowal dodatkowe
ostrzezenia i 99% pomylek eliminowal.
>, 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.
C tez nie bylo obiektowe.
> 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.
no nie wiem czy jest jeszcze miejsce na "czyste C", czy trzeba jednak
myslec od poczatku obiektowo.
> 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.
Ale to mozna w metodach i wlasciwosciach omowic :-)
> 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)
Hm, jest straszliwie rozbudowany pod tym wzgledem, a podstawy sa w zasadzie
wszedzie takie same.
No i C++ jest passe, teraz piszemy w C# :-)
> 4. Potem można robić GUI i nauczyć się odniesienia obiektowości do
> elementów tegoż GUI.
Bez GUI trudno dzis cokolwiek zrobic i zadowalajacy efekt uzyskac.
I tu jest wlasnie ta roznica miedzy LOGO a C/Basic/Pascal na konsoli.
Dziecku powiesz "narysuj kwadrat", to pomysli i narysuje.
A powiesz "oblicz silnie" .. "tatusiu, a co to jest silnia" :-)
> 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.
Oj, zeby sie nie okazalo odwrotnie. Koledzy w godzine policza to w excelu,
a corka bedzie godzine szukala darmowego C, nie znajdzie, poszuka
alternatyw, sciagne Octave, poswieci pol nocy na czytanie dokumentacji, nie
bedzie zadowolona z mozliwosci ale zacznie cos robic .. a tu niespodzianka,
trzeba jeszcze sukac jakiegos narzedzia do importu, bo dane w plikach xml
:-)
Niestety - domorosly programista ma coraz trudniejsze zycie :-)
> 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).
No coz, jest to nieco inny sposob myslenia od poczatku.
Jak widac - swiat poszedl jednak w obiekty.
J.
-
112. Data: 2011-09-18 12:23:26
Temat: Re: Nauka programowania od czego zacząć?
Od: Jacek <a...@o...pl>
Dnia Sun, 18 Sep 2011 00:12:04 +0200, RoMan Mandziejewicz napisał(a):
> Hello Jarosław,
>
> Saturday, September 17, 2011, 11:31:22 PM, you wrote:
>
> [...]
>
>>> Nie wiem ale ja prę z nauką żeby miała szerokie horyzonty. Zapisałem
>>> też na dodatkowe zajęcia po lekcjach na szachy, robotykę i chiński.
>> Szczególnie to ostatnie może jej się przydać.
>
> Kpij sobie ale to wcale takie głupie nie jest.
>
> Dawno temu poszedłem na udry z dwoma szkołami i kuratorium - nie
> zgodziłem się, żeby mój syn poszedł do szkoły z językiem niemieckim -
> a tylko taka była dla niego dostępna zgodnie z rejonizacją.
> Wygrałem walkę - poszedł do szkoły z angielskim i dzisiaj pracuje dla
> BBC a nie przy kartoflach u bauera.
>
> Jak doczekam wnuka czy wnuczki to sam będę namawiał do uczenia
> chińskiego obok angielskiego - to się naprawdę może przydać.
Skad Wam przyszedl do glowy chinski? Stad, ze chinski rynek opanowuje
swiat? Wg mnie bledny tok myslenia. To Chinczycy ucza sie angielskiego,
zeby stac sie 'kompatybilnymi' z reszta swiata i tak zostanie.
Angielski jest i bedzie jezykiem miedzynarodowym.
-
113. Data: 2011-09-18 12:40:21
Temat: Re: Nauka programowania od czego zacząć?
Od: RoMan Mandziejewicz <r...@p...pl>
Hello J.F.,
Sunday, September 18, 2011, 2:22:36 PM, you wrote:
[...]
>> przestawić i BASIC mi krzywdy nie zrobił, a dodatkowo znam zalety
>> programowania strukturalnego.
> Panowie (i Panie ?) - ale w Basicu tez da się w miare elegancko i
> strukturalnie.
> Problemy sa dwa:
> a) poczatkujacy programisci maja tendencje do "glupich skokow". Cos pisza,
> skacza na koniec, wracaja w srodek, kontynuuja. Byc moze przyczynia sie do
> tego wlasnie numeracja linii i "spektrumowski edytor".
> Kto ma male dziecko - do sprawdzenia, jak to bedzie w Basicu z etykietami i
> zwyklym edytorem.
> b) tej struktury nie widac .. chyba ze ktos ladne wciecia robi - na
> spectrum sie chyba nie dalo.
Dało się. Trzeba było używać Beta Basic 3.0 - wtedy się programowało
prawie bez numerów linii, z użyciem procedur i funkcji, wyborem
"czcionki" i obslugą "okienek" nawet. Wcięcia też chyba były -
musiałbym odkopać manuala a nie pamiętam, gdzie go zakopałem :(
[...]
--
Best regards,
RoMan mailto:r...@p...pl
Nowa strona: http://www.elektronika.squadack.com (w budowie!)
-
114. Data: 2011-09-18 13:04:33
Temat: Re: Nauka programowania od czego zacząć?
Od: Jerzy Dombczak <j...@o...eu>
Pytanie za 100 punktow !
Ile instrukcji JP (Jump) bedzie mial sredniociezki skompilowany program
napisany w C++ ?
Przeciez Jump to nic innego jak Basic'owy GoTo .
-
115. Data: 2011-09-18 13:22:12
Temat: Re: Nauka programowania od czego zacząć?
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Jacek napisał:
>> Jak doczekam wnuka czy wnuczki to sam będę namawiał do uczenia
>> chińskiego obok angielskiego - to się naprawdę może przydać.
>
> Skad Wam przyszedl do glowy chinski? Stad, ze chinski rynek
> opanowuje swiat? Wg mnie bledny tok myslenia.
W tej chwili jest tak, że znając chiński można zakontraktować coś
w Państwie Środka dwa razy taniej niż bez znajomości języka. Albo
jeszcze taniej.
> To Chinczycy ucza sie angielskiego, zeby stac sie 'kompatybilnymi'
> z reszta swiata i tak zostanie.
E, chyba nie zostanie, w końcu się kiedyś nauczą. Ale zanim to nastąpi,
sporo wody w Jangcy upłynie.
Jarek
--
Niech się bambus języków uczy, kurwa, niech się uczy!
-
116. Data: 2011-09-18 13:29:48
Temat: Re: Nauka programowania od czego zacząć?
Od: "Marcin Wasilewski" <j...@a...pl>
Użytkownik "Jerzy Dombczak" <j...@o...eu> napisał w wiadomości
news:j54q90$k3m$1@news.onet.pl...
> Pytanie za 100 punktow !
> Ile instrukcji JP (Jump) bedzie mial sredniociezki skompilowany program
> napisany w C++ ?
> Przeciez Jump to nic innego jak Basic'owy GoTo .
Tak, ale w językach wyższego poziomu masz pętle for, while, do ...
while, if-y, switch-e, natomiast w assemblerze tylko skoki warunkowe i
bezwarunkowe, więc ciężko coś innego stosować.
-
117. Data: 2011-09-18 13:51:57
Temat: Re: Nauka programowania od czego zacząć?
Od: Jacek <a...@o...pl>
Dnia Sun, 18 Sep 2011 13:22:12 +0000 (UTC), Jarosław Sokołowski napisał(a):
> Pan Jacek napisał:
>
>>> Jak doczekam wnuka czy wnuczki to sam będę namawiał do uczenia
>>> chińskiego obok angielskiego - to się naprawdę może przydać.
>>
>> Skad Wam przyszedl do glowy chinski? Stad, ze chinski rynek
>> opanowuje swiat? Wg mnie bledny tok myslenia.
>
> W tej chwili jest tak, że znając chiński można zakontraktować coś
> w Państwie Środka dwa razy taniej niż bez znajomości języka. Albo
> jeszcze taniej.
Masz te informacje od siebie? Kontraktowales piersza dostawe po chinsku, a
druga po angielsku i wyszla Ci ta roznica <=2?
To nie znajomosc jezyka wplywa na ceny, a ekonomia.
>> To Chinczycy ucza sie angielskiego, zeby stac sie 'kompatybilnymi'
>> z reszta swiata i tak zostanie.
>
> E, chyba nie zostanie, w końcu się kiedyś nauczą. Ale zanim to nastąpi,
> sporo wody w Jangcy upłynie.
>
> Jarek
Zauwaz, ze nawet na krancach swiata jezykiem uniwersalnym jest angielski.
Myslisz, ze w 3000 roku w Zimbabwe i na Wyspach Wielkanocnych bedziesz sie
mogl porozumiec po chinsku???
Jezeli tak myslisz, to porozmawiajmy o malinach, ktore wlasnie maja wysyp.
-
118. Data: 2011-09-18 13:55:02
Temat: Re: Nauka programowania od czego zacząć?
Od: RoMan Mandziejewicz <r...@p...pl>
Hello Jerzy,
Sunday, September 18, 2011, 3:04:33 PM, you wrote:
> Pytanie za 100 punktow !
> Ile instrukcji JP (Jump) bedzie mial sredniociezki skompilowany program
> napisany w C++ ?
A kogo to obchodzi?
> Przeciez Jump to nic innego jak Basic'owy GoTo .
Jednak coś całkiem innego. Skoki bezwarunkowe do sztywno ustawionego
adresu to rzadkość. A warunkowe odpowiadają instrukcjom warunkowym
języka wyższego poziomu.
--
Best regards,
RoMan mailto:r...@p...pl
Nowa strona: http://www.elektronika.squadack.com (w budowie!)
-
119. Data: 2011-09-18 14:09:36
Temat: Re: Nauka programowania od czego zacząć?
Od: "J.F." <j...@p...onet.pl>
Dnia Sun, 18 Sep 2011 15:51:57 +0200, Jacek napisał(a):
> Zauwaz, ze nawet na krancach swiata jezykiem uniwersalnym jest angielski.
> Myslisz, ze w 3000 roku w Zimbabwe i na Wyspach Wielkanocnych bedziesz sie
> mogl porozumiec po chinsku???
W 3000 ?
Zalozymy sie o flaszke czy w 2020 dokumentacja do scalakow bedzie juz po
chinsku czy po angielsku ?
No dobra - w 2020 to raczej czy sa juz pierwsze scalaki, okreslmy to
"publicznie dostepne", z opisem wylacznie po chinsku, w 2030 czy juz ich
jest polowa :-)
Po co jeden chinczyk drugiemu chinczykowi ma pisac dokumentacje po
angielsku :-)
J.
-
120. Data: 2011-09-18 14:18:29
Temat: Re: Nauka programowania od czego zacząć?
Od: Jacek <a...@o...pl>
Dnia Sun, 18 Sep 2011 16:09:36 +0200, J.F. napisał(a):
> Dnia Sun, 18 Sep 2011 15:51:57 +0200, Jacek napisał(a):
>> Zauwaz, ze nawet na krancach swiata jezykiem uniwersalnym jest angielski.
>> Myslisz, ze w 3000 roku w Zimbabwe i na Wyspach Wielkanocnych bedziesz sie
>> mogl porozumiec po chinsku???
>
> W 3000 ?
> Zalozymy sie o flaszke czy w 2020 dokumentacja do scalakow bedzie juz po
> chinsku czy po angielsku ?
Przyjmuje zaklad. Jak dozyje, to sie odezwe.
> No dobra - w 2020 to raczej czy sa juz pierwsze scalaki, okreslmy to
> "publicznie dostepne", z opisem wylacznie po chinsku, w 2030 czy juz ich
> jest polowa :-)
Skad u Ciebie takie podejscie?
Pomysl dlaczego ktorakolwiek chinska, czy tajwanska strona jest w EN, a nie
CH?
> Po co jeden chinczyk drugiemu chinczykowi ma pisac dokumentacje po
> angielsku :-)
Zrozumialem to jako zart.:)