-
91. Data: 2010-02-23 10:26:30
Temat: Re: Jaki język?
Od: "slawek" <s...@h...pl>
Użytkownik "Krzysztof Warunek" <k...@t...pl> napisał w
wiadomości grup dyskusyjnych:hm07mb$6sh$...@n...task.gda.pl...
> oczywiście masz rację, pytanie czy piszesz to z przeświadczeniem,
> że ja o tym nie wiem czy po prostu nie zrozumiałeś, że
> dla osoby w młodym wieku, są rzeczy bardziej interesujące, niż
> historia komputerów, programowania, pisanie helloworld.
Dla niektórych osób w młodym wieku to interesujące są narkotyki, przemoc,
przynależność do gangu. Albo taniec, zabawa, robienie makijażu przez 4
godziny i wybieranie ciuszków przez kolejne 5. Albo po prostu piracenie
wszystkiego co tylko można lub nie można. Daję tylko te mniej drastyczne
przykłady.
Czy w tym kontekście pisanie hellowordów jest aż tak nonsensowne? I to jako
jedna z form akceptowalnej aktywności - czyli obok np. gry w piłkę i
czytania poezji wybitnych twórców naszych?
slawek
-
92. Data: 2010-02-23 10:52:22
Temat: Re: Jaki język?
Od: Kazimierz <k...@n...pl>
jacem pisze:
> Użytkownik "Kazimierz" <k...@n...pl> napisał w wiadomości
> news:hm01t3$hcq$1@atlantis.news.neostrada.pl...
>> Michal Kleczek pisze:
>>> slawek wrote:
>>>> Pytanie jest tak proste, że aż jest to "porażające".
>>>> Jaki język dla 10 latka, aby uczył się programować? Coś, co dobrze
>>>> pokaże jakie naprawdę są możliwości komputerów.
>>> Tak troche (ale tylko troche) OT. Temat spowodowal, ze z
>>> rozzewnieniem przypomnialem sobie moja pierwsza ksiazke o
>>> komputerach, ktora
>>> dostalem od starszego brata...
>>> Chyba w sam raz dla 10latka. Podstawy sysemu binarnego/osemkowego/hex,
>>> jak dziala tranzystor, bramki, wreszcie prosty komputer. W sposob
>>> calkiem przystepny dla dzieciaka, choc tresc nietrywialna.
>>> Friedrich Haugg "Poznaj swoj komputer" (do kupienia w antykwariatach,
>>> na aukcjach itp.)
>> small basic
>
> No i chyba o to nowe cudo MS właśnie mi chodzioło.
> Środowisko specjalnie opracowane dla dzieci i osób uczących się
> programowania.
>
> http://msdn.microsoft.com/en-us/devlabs/cc950524.asp
x
>
> No i jesteśmy w domu.
>
> Poćwiczy i w łagodnie przesiądzie się na VS.
>
>
> j.
>
nie ma za co ;)
-
93. Data: 2010-02-23 11:04:08
Temat: Re: Jaki język? [antyK trybik]
Od: Sebastian Kaliszewski <s...@r...this.informa.and.that.pl>
proglem wrote:
> "slawek" rozwiązał/a/o:
>> Zgadzam się z tobą, Qurczak. PHP to czysta "praktyka programowania" czy
>> nawet "praktyka robienia fuch".
> praktyka. a język? :->
Jęzkyka nie ma :)
\SK
--
"Never underestimate the power of human stupidity" -- L. Lang
--
http://www.tajga.org -- (some photos from my travels)
-
94. Data: 2010-02-23 11:48:11
Temat: Re: Jaki język?
Od: Grzegorz Krukowski <r...@o...pl>
On Tue, 23 Feb 2010 13:10:21 +0100, Sebastian Kaliszewski
<s...@r...this.informa.and.that.pl> wrote:
Jedna uwaga co do Pythona - a nie obawiasz się że zbytni dynamizm
typów (choć na szczęście jest on silnie typowany) będzie przeszkodą? W
Pythonie, o ile nie popełnisz jakiejś ,,grubej'' literówki, błąd
wychodzi przecież dopiero podczas pracy programu i przy odrobinie
pecha może objawić się w innym miejscu niż wadliwe
wywołanie/przypisanie etc.
Ja raczej piszę ,,bałaganiarsko'' i z tego powodu bardzo dobrze
wspominam Pasala jako język do nauki - jest bardzo restrykcyjny (co
nie jest IMHO problemem podczas nauki) i ciężko jest jego
restrykcyjność obejść (też IMHO dobrze). Do tego daje bardzo czytelne
komunikaty błędu.
Dowolny, dobrze rozwinięty Basic też jest pod tym względem ,,lepszy''
od Pythona.
--
Grzegorz Krukowski
-
95. Data: 2010-02-23 12:09:16
Temat: Re: Jaki język?
Od: Krzysiek Kowaliczek <k...@g...com>
Użytkownik Sebastian Kaliszewski napisał:
> Jak widać nie jest proste. Za to niektóre odpowiedzi zaiste porażające.
>
> Niektóre to po prostu kategoria "zapomniał wół jak cielęciem był" ale o
> niektórych nawet nie wiem co sądzić -- chyba świadczą o poważnym
> oderwaniu od rzeczywistości :)
[...]
> I rzecz ważna: typowy dzieciak nie będzie specjalnie podniecony jakimś
> czysto tekstowym wynikiem. Grafika dużo silniej działa na wyobraźnie a
> więc i na motywację. Z mojego doświadczenia wdzięczne tematy to automaty
Popieram. Sam zaczynałem z amigową wersją Basica o nazwie AMOS.
>> czy ktoś kto umie pisać programy w Prologu umie pisać programy? Z
>> drugiej strony - coraz bardziej mi się to podoba.
>
> Prolog niby fajny, ale nie wiem czy nie zbyt obciążający i wymagający
> podstaw teoretycznych. Żeby nie było -- "czemu to jedno mi zaraz
> rozwiązał a to obo miele już od godziny?" No i jest mało wizualny -- dla
> typowego dzieciaka coś nie nie wypluje obrazka jest mało ciekawe.
Kiedyś czytałem, że pełne opanowanie tego języka to jakieś 2 lata i to
jak ma się jakieś doświadczenie w programowaniu.
Pozdrawiam
KK
-
96. Data: 2010-02-23 12:10:21
Temat: Re: Jaki język?
Od: Sebastian Kaliszewski <s...@r...this.informa.and.that.pl>
slawek wrote:
> Pytanie jest tak proste, że aż jest to "porażające".
Jak widać nie jest proste. Za to niektóre odpowiedzi zaiste porażające.
Niektóre to po prostu kategoria "zapomniał wół jak cielęciem był" ale o
niektórych nawet nie wiem co sądzić -- chyba świadczą o poważnym
oderwaniu od rzeczywistości :)
>
> Jaki język dla 10 latka, aby uczył się programować? Coś, co dobrze
> pokaże jakie naprawdę są możliwości komputerów.
>
> Basic? Czy raczej Python?
W przeciwieństwie do większości wypowiadających się ja akurat mam nieco
doświadczenia w uczeniu dzieci właśnie 10-14 letnich. Bardzo, zresztą,
zdolnych dzieci (ale dzieci a nie kosmitów).
Dzieci w wieku mniej-więcej 9-10 lat osiągają zdolność abstrakcyjnego
myślenia takiego jak dorośli (nawet te baaardzo zdolne). Co oznacza że
są w ogóle w stanie programować w naszym (dorosłym) rozumieniu tego
słowa (czyli zapisać algorytm "własnymi słowami", dzieci młodsze
potrafią "popychać żółwia" ale zapisania algorytmu nie ma się co
spodziewać). Ale należy pamiętać, że w wieku 10lat jest to zdolność
świeża i nigdy nie będzie poparta doświadczeniem w posługiwani się nią
ani wiedzą tej zdolności wymagającej.
Zatem, choć dziecko jest w stanie pojąć programowanie, nie może się ono
opierać o jakieś wcześniej poznane abstrakcyjne konstrukcje, bo takich
nie ma (wcześnie poznane konstrukcje były konkretne -- zbór 6 jabłek).
Czyli, np nie ma co bazować na pojęciach "wyższych rzędów" takich jak
funkcja, relacja, itp. Te pojęcia mogą co najwyżej pojawić się
naturalnie, ale bez opierania się o ich definicję. Można bazować na
pojęciach podstawowych, takich jak liczba, zbiór, figura geometryczna.
Nie należy też np. zaczynać od takich rzeczy jak wskaźniki.
Przy czym dziecko (w ogóle prawie każdy początkujący programista) nie
rozumie na czym polega coś takiego "elegancja kodu". Nie rozumie po co
są jakieś wcięcia, itp. Kod początkującego często jest chaotyczny przy
czym wygląda jak bezładny ciąg znaków z bardzo małą ilością
jakichkolwiek odstępów (a jeśli te odstępy są to często w dziwnych
miejscach). Odpadają zatem jęzki typu "executable line noise" i języki
których skłania niejaką zachęca do zrobienia śmietnika, pomieszania
różnych rzeczy itp. Innymi słowy odpadają PHP i Perl. Im język
porządniejszy tym lepiej (czyli Python, Pascal)
Nie można też dziecka zawalić kupą rzeczy których znaczenia na początku
nie zrozumie ani (zresztą) nie chcemy mu objaśniać. To odwala wszelkie
języki w których zrobienie czegokolwiek wymaga głębszej magii i/lub
odwołania np. do 20 różnych bibliotek, utworzenia 20 pośrednich obiektów
itp. Czyli z jednej strony odpada C (z uwagi na reprezentację napisów --
albo będą niepojęte magiczne gwiazdki albo trzeba by tłumaczyć wskaźniki
które na tym etapie są zbyt trudne) a z drugiej Java i jej brat C#.
Przy tym dziecko jest mniej cierpliwe od dorosłych i chce w rozsądnym
dla niego czasie zobaczyć efekty tego co robi. Często warto znaleźć lub
samemu przygotować jakąś bardzo prostą w obsłudze bibliotekę której
dziecko będzie używać. Często tak robiłem dla swoich podopiecznych --
np. prosta biblioteka w której ekran był reprezentowany jako tablica
2-wymiarowa i do której każdy wpis oznaczał zmianę konkretnego punktu na
ekranie.
Z doświadczenia własnego, z "dorosłych narzędzi" polecam Pythona lub też
Pascala (FPC). Można się też pobawić Smalltalkiem. Albo po prostu
systemy dedykowane dla dzieci -- tu i Logo też jest fajne (to
uproszczony język funkcyjny) i wiele wiele innych o których była już w
tym wątku mowa. Choć system dorosły ma tę fajną zaletę, że można
powiedzieć, że w tym się pisze "pradziwe" programy -- to tak samo jak
można mieć dziesięć samochodzików zabawek, ale poprowadzenie
prawdziwego, dorosłego samochodu (choćby po pustym parkingu) to jest to!
I rzecz ważna: typowy dzieciak nie będzie specjalnie podniecony jakimś
czysto tekstowym wynikiem. Grafika dużo silniej działa na wyobraźnie a
więc i na motywację. Z mojego doświadczenia wdzięczne tematy to automaty
komórkowe (life, symulacja płomienia (y[i,j] = (x[i,j] + x[i-1,j-1] +
x[i+1,j-1] + x[i,j-1]) / 4 - 1), rozchozenie się pożaru, itd) oraz
(proste!) fraktale typu płatek Kocha czy drzewko Pitagorasa.
>
> C++ wydaje się za trudny, C tym bardziej. Fortran/Algol - do muzeum.
> Brainfuck/Devil... nie, nie chcemy tego dzieciom robić.
>
> Lego... Lisp... Ada... Paszczal/Modula - z tego wszystkiego to chyba
> Paszczal jeszcze byłby wcale dobry (a jest jakiś kompilator na
> GPL/LGPL?), choć ma w sobie rzeczy denerwujące.
Paszczal jest ok i jest FPC.
>
> Kepler. Sorry, fajne, fajne... ale to chyba inna bajka.
>
> Java/Javowate - no, nieźle, nieźle... Java Script jest w miarę prosta -
> ale co można pisać w tym? Tzn. co można pisać, co będzie atrakcyjne dla
> 10-latka?
Java "ma złą kulturę" Java script jest zbyt "technologiczny".
>
> Prolog? Prosty, elegancki. Zaczyna mi się podobać ten pomysł. Tylko czy
> ktoś kto umie pisać programy w Prologu umie pisać programy? Z drugiej
> strony - coraz bardziej mi się to podoba.
Prolog niby fajny, ale nie wiem czy nie zbyt obciążający i wymagający
podstaw teoretycznych. Żeby nie było -- "czemu to jedno mi zaraz
rozwiązał a to obo miele już od godziny?" No i jest mało wizualny -- dla
typowego dzieciaka coś nie nie wypluje obrazka jest mało ciekawe.
>
> Ma ktoś jakieś pomysły?
Albo dedykowane dla dzieci albo Python + np. pygame albo Paszczal +
samemu napisana mała i prosta biblioteczka.
\SK
--
"Never underestimate the power of human stupidity" -- L. Lang
--
http://www.tajga.org -- (some photos from my travels)
-
97. Data: 2010-02-23 14:35:36
Temat: Re: Jaki język?
Od: Mif <...@...a>
slawek wrote:
> Ma ktoś jakieś pomysły?
Ja się w tym wielu uczyłem Pascala i szło mi nawet łatwo, więc polecałbym
coś w tym stylu. (czyli np. Delphi)
-
98. Data: 2010-02-23 14:38:19
Temat: Re: Jaki język?
Od: Mif <...@...a>
PHP to IMO koszmar potrafiący skutecznie zniechęcić do programowania nawet
dużo starsze osoby. Choć może niektórym odpowiadać, choć osobiście go
bardzo nie lubię.
-
99. Data: 2010-02-23 14:47:21
Temat: Re: Jaki język?
Od: Mif <...@...a>
Prolog to fajny język, tylko jak wiadomo wymaga zupełnie innego sposobu
myślenia niż większość innych. Po nauczeniu się np. Pascala będzie mu
łatwiej pisać programy w C i tym podobnych, (wiem po sobie) po nauczeniu
się Prologa będzie umiał myśleć w Prologu i tyle.
-
100. Data: 2010-02-23 14:55:48
Temat: Re: Jaki język? [antyK trybik]
Od: Mif <...@...a>
Przesadzacie, współczesny 10-latek styka się z językiem angielskim na
codzień i raczej komendy angielskie nie będą dla niego przeszkodą. Moim
zdaniem jednak więcej satysfakcji będzie miał wiedząc, że uczy się
czegos "dorosłego". :)