Próbuję więc nauczyć mojego dużo młodszego kuzyna trochę programowania. Moja początkowa myśl była jak Scratch lub Alice , ale było kilka wad tego.
Wydaje się, że wszyscy są naprawdę zaangażowani w programowanie gier i tworzenie gier wideo (ponieważ wszyscy uwielbiają grać w gry wideo, a jeśli chodzi o gry wideo, granie we własne może być najbardziej satysfakcjonujące) - ale ani Alice, ani Scratch nie wydają się zadowolić gry rozwój
Alice i Scratch wydają się zbyt dziecinne, podczas gdy jestem pewien, że mój kuzyn z przyjemnością się w nim zagłębi, myślę, że szybko to znudzi
Chcę języka, za pomocą którego można tworzyć naprawdę fajne rzeczy, które zrobią wrażenie na jego przyjaciołach. Pamiętam, jak pisałem BASIC z powrotem w ciągu dnia, zapraszając wszystkich moich przyjaciół i pochwalając się moim dziełem, i po prostu czuję, że Alice i Scratch po prostu nie apelują w ten sam sposób
Chcę języka, który wymaga od mojego kuzyna pisania kodu. Nie chodzi tylko o to, że myślę, że pisanie kodu jest dobrym przygotowaniem do innych języków programowania, ale dlatego, że daje mu możliwość ćwiczenia pisania na klawiaturze i być może przyzwyczajenia się do nieco bardziej ezoterycznych znaków na klawiaturze
Właśnie dlatego nie chcę wybierać Alice ani Scratch.
Nie chcę też wybierać języka takiego jak C lub Java, a nawet Python lub Ruby. Mój kuzyn już mi powiedział, że lubi grać w gry wideo i chce tworzyć własne, i że lubi korzystać z komputerów. Moim zdaniem, nawet prosty język, taki jak Python lub Ruby, po prostu zajmuje zbyt dużo czasu na tworzenie fajnych rzeczy. Idealnie byłoby, gdyby usiadł, spędził około jednego lub dwóch dni (a może nawet do tygodnia, ale mam nadzieję, że krócej), i miał działającą, dwuwymiarową grę. Nie mówię, że nie możesz tego zrobić w Pythonie lub Ruby, ale po prostu mówię, że byłoby to trudne dla początkującego programisty. Poza tym nie chcę go nękać wszystkimi naukami komputerowymi, ponieważ może to nastąpić później. Chcę tylko pomóc mu stworzyć iskrę, a następnie pozwolić mu kontynuować resztę ognia.
Patrzyłem na języki takie jak Lua i chociaż wydaje się to powszechne w programowaniu gier, nie jestem pewien, czy to najlepszy wybór - ale jeśli myślicie inaczej, proszę dać mi znać.
Spojrzałem też na taki język jak Blitz i wygląda on naprawdę obiecująco (na dodatek wypróbowałem go kilka lat temu i było naprawdę całkiem fajnie). Minusem jest to, że muszę zapłacić, czemu zdecydowanie jestem przeciw.
Spojrzałem na SmallBasic , co wydaje się obiecujące i będę nadal patrzył. Ale niewiele zrobiłem (w rzeczywistości uruchamiam instalator, pisząc to, więc wkrótce opiszę swoje przemyślenia).
AKTUALIZACJA: Szybko spróbowałem SmallBasic i wydaje się to intrygujące, ale wydaje się też zupełnie inne w porównaniu do niektórych innych języków - to nie jest złe, ale to po prostu niezwykłe. Spośród rzeczy, na które patrzyłem, Blitz nadal jest moim ulubionym, ale odmawiam pójścia tam z powodu kosztów.
Ale w zasadzie, co myślicie o tym, co powiedziałem do tej pory, oraz o językach, na które patrzyłem i czy znasz jakieś inne dobre alternatywy?
AKTUALIZACJA: Oto, co postanowiłem zrobić ...
Zdałem sobie sprawę, że chociaż chciałbym pomóc mojemu kuzynowi, nie mogę być z nim cały czas i nie mogę mu pomóc za każdym razem, gdy potrzebuje pomocy. Chciałem więc wybrać coś, co ma dobrą dokumentację, dobrą społeczność i dobrą książkę, którą może śledzić.
W każdym razie wybrałem Python i Pygame. Python to język, który znam dość dobrze, a ponadto wiem, że wokół Pythona istnieje całkiem dobra (i dość duża) społeczność. Ponadto wiem, że dokumentacja w języku Python jest dość kompletna i łatwa w nawigacji. Pygame ma również doskonałą dokumentację i zestaw samouczków. Zmuszam go również do używania / śledzenia Invent Your Own Games with Python , co wydaje się bardzo dobrą książką, kupiłem mu papierową wersję na prezent świąteczny, a ponadto wiem, że jego monitor nie jest ogromny i niewygodne jest ciągłe przełączanie między tekstem a edytorem.
Myślę, że powinno pójść dobrze!
EDYCJA: Nie chcę sugerować, że mój wybór jest ostateczny lub że jest poprawny. Po prostu uważam, że najlepiej pasuje do tej sytuacji. Myślę, że każda osoba chcąca nauczyć kogoś młodszego powinna przejrzeć wybór i znaleźć najlepsze rozwiązanie dla danej osoby, biorąc pod uwagę takie rzeczy, jak wiek, poziom umiejętności i zainteresowania.
I want a language that can be used to develop really cool stuff that will impress his friends.
To wciąż moja podstawowa motywacja do programowania, po 25 latach ...