-
Data: 2011-09-18 12:22:36
Temat: Re: Nauka programowania od czego zacząć?
Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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.
Następne wpisy z tego wątku
- 18.09.11 12:23 Jacek
- 18.09.11 12:40 RoMan Mandziejewicz
- 18.09.11 13:04 Jerzy Dombczak
- 18.09.11 13:22 Jarosław Sokołowski
- 18.09.11 13:29 Marcin Wasilewski
- 18.09.11 13:51 Jacek
- 18.09.11 13:55 RoMan Mandziejewicz
- 18.09.11 14:09 J.F.
- 18.09.11 14:18 Jacek
- 18.09.11 14:30 Jarosław Sokołowski
- 18.09.11 14:31 Michoo
- 18.09.11 14:35 Jarosław Sokołowski
- 18.09.11 14:44 RoMan Mandziejewicz
- 18.09.11 15:07 Pszemol
- 18.09.11 15:17 Luke
Najnowsze wątki z tej grupy
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
Najnowsze wątki
- 2026-01-13 Elektryk a otwieranie drzwi :-)
- 2026-01-12 Schemat automatyki
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.
- 2026-01-12 Teoretyczne zagadnienie - ogrzewanie budynku
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Usunięcie zdjęcia zamordowanej kobiety: Policja 3 dni nie zawracała sądowi dupy i załatwiła bez sądu [TVN donosi na kogoś]
- 2026-01-12 Policjant (poza służbą) agresywny wobec kobiety 2 [Szczecin, Sylwester]
- 2026-01-12 Warszawa => BI Developer <=
- 2026-01-11 Rząd wzywa prezydenta to dyskryminacji/bojkotu "formalnie niekaranych"? :-)
- 2026-01-11 Po zniszczeniu w okolicy Lwowa [Ukraina] fabryki dronów przenoszą ją do Polski
- 2026-01-11 Auta spalinowe tylko dla zarządu. Tak UE ratuje spalinową motoryzację




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]