eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaNauka programowania od czego zacząć?Re: Nauka programowania od czego zacząć?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for
    -mail
    From: "J.F." <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Nauka programowania od czego zacząć?
    Date: Sun, 18 Sep 2011 14:22:36 +0200
    Organization: http://onet.pl
    Lines: 123
    Message-ID: <qd0twfdsydvt.1o3o1lghe952q$.dlg@40tude.net>
    References: <5...@n...onet.pl>
    <4e74c0d1$0$2441$65785112@news.neostrada.pl>
    NNTP-Posting-Host: h82-143-187-50-static.e-wro.net.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset="iso-8859-2"
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1316348546 8905 82.143.187.50 (18 Sep 2011 12:22:26 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Sun, 18 Sep 2011 12:22:26 +0000 (UTC)
    User-Agent: 40tude_Dialog/2.0.15.1pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:617650
    [ ukryj nagłówki ]

    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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: