logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

PC - w czym programować? Co mądrze doradzić / podsunąć dziecku?

MES Mariusz 14 Cze 2011 10:23 4015 29
REKLAMA
  • #1 9609910
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 222
    Wstęp / streszczenie: Co mądrze doradzić początkującemu programiście (dziecku) by jego umiejętności okazały się atrakcyjne nie tylko dla niego samego ale i (jeśli nie przede wszystkim) dla jego przyszłego pracodawcy?

    Osobiście miałem jakieś większe doświadczenia jedynie z TP i Basicem (w różnych odmianach i środowiskach). Dzisiaj (zawodowo nie zajmuję się programowaniem) jedynie dla własnych potrzeb piszę sobie firmware-y w Basic-u i... pluję w zęby, że od początku nie nastawiłem się na C (dziś, kiedy jest rodzina i dzieci nie za bardzo jest czas na nadganianie zaległości). Czasem chciałoby się napisać jakąś okienkową aplikację dla PC i z tym też robi się problem. Trzeba to zlecać zewnętrznej osobie. Dzieciństwo i okres nastoletni to prawdopodobnie najlepszy czas na naukę języków (jakichkolwiek), dlatego chciałbym Was podpytać co warto doradzić / podsunąć dziecku, jeśli widzi się smykałkę i ewentualny potencjał programisty, by od razu szedł w wartościowym (dobrym, sensownym) kierunku a nie ładował się w maliny typu Basic, Pascal itp. (by nie marnował czasu i energii oraz nie budował przyzwyczajeń, które staną mi się przeszkodą a nie pomocą). Jeśli język, to wiadomo, C lub jego odmiana. Chodzi raczej o środowisko w którym warto pisać. Środowisko programistyczne z przyszłością / na topie. W swojej młodości kierowałem się własnymi potrzebami. Często to, co wystarczało mi do realizacji własnym potrzeb później okazywało się bezużyteczne z punktu widzenia pracodawcy (mimo, że zadania dawały się bez problemów zrealizować, pracodawca miewa inną koncepcję, inne narzędzia, inny język itp. i posiadane umiejętności i wiedza, mimo, że czasem szerokie okazują się bezużyteczne).

    Chciałbym swojemu dziecku podsunąć jakąś mądrą koncepcję, tak aby miało to ręce i nogi. Żeby od razu wszedł w coś co w całości mu się przyda. Jeśli ma zaczynać, to niech od razu pójdzie w dobrą stronę. Niech się tym bawi w dzieciństwie, niech stanie się czymś naturalnym. Ale niech to nie będzie wyłącznie spełnianie własnych potrzeb konstruktorskich, ale też celny wybór w punktu widzenia masowego tudzież większościowego pracodawcy. Pracodawcy dobrze opłacającego swych pracowników ale też zainteresowanego sprecyzowanymi wymaganiami (nie tylko dialekt, ale narzędzia, system, platforma, środowisko). Krótko mówiąc - w co warto wejść? W czym pisać aplikacje dla PC, by a). skutecznie rozwiązywać problemy / zadania, b). okazać się atrakcyjnym dla pracodawcy, a tym samym osiągnąć sukces osobisty (własne zainteresowania / potrzeby) jak i zawodowy (biznesowy)?

    Kiedyś na topie był Borland C++ Builder. A dziś czego się używa? Co będzie w użyciu za pięć lat...? W co warto wejść?

    Przy okazji, jeśli znacie godne polecenia kursy dla dzieci (książki, tutoriale, materiały video) proszę o wklejanie w temacie. Najlepiej z uzasadnieniem, jeśli ktoś miał z danym materiałem do czynienia.
  • REKLAMA
  • Pomocny post
    #2 9610704
    winuser2
    Poziom 17  
    Posty: 377
    Pomógł: 19
    Ocena: 14
    Myślę że warto zainteresować się językiem C++, później jeśli osoba złapie bakcyla to może pójść w kierunku bardziej niskopoziomowym (C, WindowsAPI, drivery i podobne) lub w kierunku C#, czyli obiektowe aplikacje dla Windows. Jeśli pozna język C++, to nie będzie problemu z opanowaniem żadnego innego, jak PHP czy ObjC, ponieważ są one podobne. Sam język to nie wszystko, potrzebne są biblioteki, jest ich wiele rodzajów od bibliotek sieciowych, GUI, kompresji i tak dalej. Aby napisać w C++ program z GUI można skorzystać albo z czystego API systemu (nie przenośne) albo użyć właśnie biblioteki. Przykładem takim jest VCL z Borland Builder'a, niestety jest to przestarzałe środowisko całe, podobnie rzecz ma się z .NET, szczerze mówiąc nie widzę świetlanej przyszłości. Moim zdaniem warto zainteresować się biblioteką Qt -> http://qt.nokia.com/ albo wxWidgets -> http://www.wxwidgets.org/ Koduję z użyciem obydwóch bibliotek i mogę je naprawdę polecić.

    Reasumując, odpowiedź na twoje pytanie :

    Co mądrze doradzić początkującemu programiście (dziecku) by jego umiejętności okazały się atrakcyjne nie tylko dla niego samego ale i (jeśli nie przede wszystkim) dla jego przyszłego pracodawcy?

    Sądzę że powinien na początku poznać programowanie od niskopoziomowej strony, poznać budowę komputera i zasadę jego działania, w jaki sposób działają wewnętrzne mechanizmy systemowe i tak dalej. Oczywiście jeśli osoba chce zostać na przykład webmasterem, to nie ma co z tym przesadzać, ale taka wiedza każdemu się przyda.

    W kwestii literatury, to odnośnie języka C mogę polecić książkę "Język C. Szkoła programowania. Wydanie V" Stephen Prata. Dla C++ będzie to "Thinking in C++", dla Qt nie znam żadnej książki, bardzo dobrą mają dokumentację online, dla Windows API polecam książkę "Programowanie z WindowsAPI w języku C++" (wprowadzająca), a bardziej złożone mechanizmy opisano w "Windows via C/C++".
  • #3 9616649
    several
    Poziom 15  
    Posty: 140
    Pomógł: 14
    Ocena: 1
    winuser2 napisał:
    Myślę że warto zainteresować się językiem C++

    Panie Boże strzeż, zaczynając na początku od C++ człowiek jest na najlepszej drodze by zrazić do programowania. Tak samo podsuwając lekturę o WinAPI. Wszystkie lektury które podałeś nie nadają się na początek przygody z programowaniem.

    MES Mariusz napisał:
    Jeśli język, to wiadomo, C lub jego odmiana.

    A jakie są odmiany C? Bo nie znam żadnej. C jest dobry by ćwiczyć algorytmy ale jeśli chodzi o "nowoczesne" programowanie to używa się go głównie przy kodowaniu uC bądź niskopoziomowych bibliotek dla wysokopoziomowych języków.

    To że u dziecka widać predyspozycje to jeszcze nic nie znaczy, jeśli zaczniesz mu coś podsuwać to nastolatek może na zasadzie buntu zrobić dokładnie odwrotnie. Dlatego to wymaga sporego wyczucia.

    MES Mariusz napisał:
    Kiedyś na topie był Borland C++ Builder. A dziś czego się używa? Co będzie w użyciu za pięć lat...? W co warto wejść?

    Proszę zapomnieć o Borlandzie. Nie wiadomo co będzie "na topie" za 10 lat, ale wiadomo że dzisiaj stworzone systemy będzie musiał ktoś utrzymywać więc znajomość JEE lub .NET daje duże szanse na zatrudnienie.

    MES Mariusz napisał:
    Przy okazji, jeśli znacie godne polecenia kursy dla dzieci (książki, tutoriale, materiały video) proszę o wklejanie w temacie. Najlepiej z uzasadnieniem, jeśli ktoś miał z danym materiałem do czynienia.

    Jeżeli dziecko nie jest jeszcze nastolatkiem to proszę go nie katować typowym kodem. Ciężko znaleźć książki czy jakieś kursy, ale łatwiej już znaleźć programy gdzie dziecko będzie mogło "wyklikać" sobie program. Jeżeli dzieciak się zainteresuje to sam będzie się dopytywał o bardziej uniwersalne narzędzia. Wtedy będzie można mu podsunąć np. C# i visual studio express gdzie kontrolki można sobie myszką na formie rozmieścić.
  • #4 9616771
    przemo_wielki
    Poziom 24  
    Posty: 583
    Pomógł: 61
    Ocena: 10
    Nie wiadomo ile Twoje dziecko ma lat a to podstawowe kryterium.
  • REKLAMA
  • #5 9616785
    FastProject
    Poziom 29  
    Posty: 1977
    Pomógł: 64
    Ocena: 194
    przemo_wielki napisał:
    Nie wiadomo ile Twoje dziecko ma lat a to podstawowe kryterium.


    Dokładnie, ale bez względu na to ile ma lat, ja bym mu na początek pokazał jakieś proste układy i śmieszne programiki. Jak go to zainteresuje, to na pewno sam będzie się domagał informacji i materiałów na ten temat.

    Jeśli nie zainteresuje, to nie można też dzieciaka zmuszać.

    A więc ile twój chłopak ma lat?
  • #6 9618165
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 222
    Spokojnie. W mojej naturze nie ma chęci zmuszania. Nikogo ani do niczego. Chłopak ma 8 lat. Poruszyłem temat, ponieważ nie chcę mu podsuwać byle czego, kiedy zapyta. Nie chciałbym aby marnował czas na opanowywanie bezużytecznych narzędzi, ani wyrabiał błędnych nawyków. Jeśli ma się już do czegoś przyzwyczajać, to niech to ma sens.

    Pewnie podsunę mu Dev-C++ Portable (wygodne, bez instalacji, zawsze pod ręką i co najważniejsze działa) C++ w czystej, konsolowej postaci raczej nie zaszkodzi.

    Sam się wziąłem ostatnio za podczytywanie przystępnego kursu C++.

    Później (jeśli faktycznie się zainteresuje) pewnie podpowiem środowisko Code::Blocks

    Ciekawi mnie natomiast, co doradzić później, do tworzenia aplikacji okienkowych. Wszystko od razu pod kątem przyszłego pracodawcy, by wyjść takiemu na przeciw, być cennym i użytecznym. Dziś myślę w ten sposób, kiedyś miałem inne podejście. A szkoda.
  • #7 9618297
    directx11
    Poziom 17  
    Posty: 250
    Pomógł: 25
    Ocena: 14
    8 lat i mgliste myślenie o przyszłym pracodawcy? Czy to aby nie gruba przesada? Programowanie to nie tenis czy taniec na lodzie i nie trzeba tego tłuc dziecku od małego, żeby przy wchodzeniu w dorosłość wiedział o tym wszystko. Sam mam syna w wieku 7-miu lat i nie wyobrażam sobie, że mógłby się uczyć czegoś w stylu C (choć np. matematyka to jego konik) nawet za rok, to jest po prostu za trudne, a nie mając pojęcia jak działa komputer, co to pamięć, procesor czy rejestr w ogóle nie ma sensu moim zdaniem. Próbowałem mu zaszczepić proste logo i jedyne, co mu się podoba to, że widać od razu jakieś efekty na ekranie. Technologie dzisiaj pędzą tak szybko, że nie wiadomo, co będzie za rok, czy pięć. Dzieci są z reguły niecierpliwe i jeśli już pracują z komputerem to coś na ekranie musi się dziać a logo nadaje się do tego najlepiej. Osobiście uważam, że jeśli ma smykałkę do tego to logo powinno go zainteresować. Potem wbrew temu co mówią ja bym obstawał za pascalem, na koniec można próbować z C. Ale ustawianie go pod konkretne narzędzia to bezsens, bo za chwilę może być zupełnie co innego - lepiej, żeby wiedział co to kompilator, linker, preprocesor, garbage collector itp. to mu się na pewno przyda o wiele bardziej.

    Abstrahując od sensu rozważań nauki 8-mio latka programowania, z doświadczenia powiem tak: do ewentualnej nauki najlepiej wziąć środowisko najbardziej wygodne i bezproblemowe, nic tak nie frustruje i zniechęca jak ciągła walka z ustawieniami i nic nie mówiącymi komunikatami. Jeśli to ma być Windows to ja polecam VC Express, naprawdę dobre, darmowe środowisko. Pracuję z produktami M$ od wersji nr. 5 i do dzisiaj nie spotkałem nic lepszego jeśli chodzi o kompleksową obsługę, a debugger to już bajka, zwłaszcza dla początkującego. Ewentualnie Qt się bardzo ładnie rozwija, ma swoje środowisko ale i tak do sensownej pracy trzeba to spiąć z VC, bo domyślne narzędzia są do bani.
  • REKLAMA
  • #8 9618379
    przemo_wielki
    Poziom 24  
    Posty: 583
    Pomógł: 61
    Ocena: 10
    Nie chciałbym Cie pouczać jak wychowywać własne dziecko ale czy to nie za wcześnie na programowanie?

    Na początek może nie idź konkretnie w technologię tylko spróbuj zaciekawić algorytmami i strukturami. Metody wyszukiwania, sortowania, drzewa mogą okazać się na początku zbyt trudne ale jakieś proste typu silnia, NWD do tego schematy blokowe oraz jakiś UML byłyby na miejscu.

    Myślę że podejście czysto "obrazkowe" będzie dla dziecka przyjemniejsze niż klepanie i zobaczenie wyniku w konsolce. Jeżeli już tak bardzo chcesz aby zaczął programować to ja wybrałbym coś co będzie dla niego zabawą i będzie mógł zobaczyć szybko efekty swojej pracy (Flash, HTML). W szkole podstawowej będzie mógł zrobić prostą stronkę np.

    Pytanie o konkretną technologię zostaw może jak syn będzie w gimnazjum bo do tego czasu może się bardzo dużo zmienić.
  • #9 9618631
    beluosus
    Poziom 25  
    Posty: 362
    Pomógł: 123
    Ocena: 18
    W takim wieku to poleciłbym co najwyżej grę Ceebot. :-)
  • #10 9618811
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 222
    directx11 napisał:
    8 lat i mgliste myślenie o przyszłym pracodawcy? Czy to aby nie gruba przesada? Programowanie to nie tenis czy taniec na lodzie i nie trzeba tego tłuc dziecku od małego, żeby przy wchodzeniu w dorosłość wiedział o tym wszystko. Sam mam syna w wieku 7-miu lat i nie wyobrażam sobie, że mógłby się uczyć czegoś w stylu C (choć np. matematyka to jego konik) nawet za rok, to jest po prostu za trudne, a nie mając pojęcia jak działa komputer, co to pamięć, procesor czy rejestr w ogóle nie ma sensu moim zdaniem. Próbowałem mu zaszczepić proste logo i jedyne, co mu się podoba to, że widać od razu jakieś efekty na ekranie. Technologie dzisiaj pędzą tak szybko, że nie wiadomo, co będzie za rok, czy pięć. Dzieci są z reguły niecierpliwe i jeśli już pracują z komputerem to coś na ekranie musi się dziać a logo nadaje się do tego najlepiej. Osobiście uważam, że jeśli ma smykałkę do tego to logo powinno go zainteresować. Potem wbrew temu co mówią ja bym obstawał za pascalem, na koniec można próbować z C. Ale ustawianie go pod konkretne narzędzia to bezsens, bo za chwilę może być zupełnie co innego - lepiej, żeby wiedział co to kompilator, linker, preprocesor, garbage collector itp. to mu się na pewno przyda o wiele bardziej.

    Szanuję Twoje podejście. Jednak z mojej perspektywy wygląda to nieco inaczej. Z perspektywy lat mogę powiedzieć, że nauczyłem się do tej pory całej masy rzeczy zupełnie niepotrzebnych, nie użytecznych / nie przydatnych z punktu widzenia potencjalnego pracodawcy. Marnując na to wiele energii i czasu. I choć było to (czy też jest) moją pasją nic złego by się nie stało, gdybym od samego początku szedł w jakimś wartościowym kierunku (jeden z przykładów dobrze obrazujących sytuację: po co siadać do Bascom-a (Turbo Pascala itd.), wyrabiać w sobie wiele niezbyt korzystnych nawyków i później mieć problemy (wygodnictwo i nawyki można ewentualnie pominąć (choć i te warto uwzględnić), bo przy odpowiedniej dozie dobrej woli można to zmienić, ale z odpowiednia ilością czasu, którym się dysponuje może być dużo gorzej). Po co ładować się w sytuacje wymagające prędzej lub później sporej przesiadki na coś czego zupełnie się nie zna, i z czym należałoby zaczynać od początku, zupełnie od zera, jeśli można zacząć dobrze od razu? Po co siadać i wkuwać Pascala, jeśli równie dobrze można usiąść do C lub C++ tym bardziej, że wrażenia i poziom trudności są tak na prawdę podobne? Mając do wyboru dwie bardzo podobne drogi, po co wybierać tę gorszą? To nie istotne, ile syn ma lat dzisiaj. Kiedy zapyta (jeśli zapyta), za rok, dwa, pięć, chciałbym doradzić mu coś, co będzie miało sens.

    przemo_wielki napisał:
    Jeżeli już tak bardzo chcesz aby zaczął programować to ja wybrałbym coś co będzie dla niego zabawą i będzie mógł zobaczyć szybko efekty swojej pracy (Flash, HTML). W szkole podstawowej będzie mógł zrobić prostą stronkę np.

    To co "ja chcę" jest, przynajmniej dla mnie, mało istotne. On nie jest mną, ja nie jestem nim. Ma prawo być, kim chce, i robić to, co zechce. A ja nie mam prawa mu niczego narzucać. Tą myślą chciałbym zakończyć wywody idące w tę stronę ponieważ nigdy nie byłem, i niechciał bym wcielać się w rolę przeambicjonalizowanego tatusia (któż chciałby mieć takiego ojca?)
  • #11 9618985
    several
    Poziom 15  
    Posty: 140
    Pomógł: 14
    Ocena: 1
    @Mes_ Mariusz, kolega przemo_wielki w swojej odpowiedzi z 16 Cze 2011 09:43 całkiem zgrabnie ujął w słowa moje myśli.
    MES Mariusz napisał:
    Pewnie podsunę mu Dev-C++ Portable (wygodne, bez instalacji, zawsze pod ręką i co najważniejsze działa) C++ w czystej, konsolowej postaci raczej nie zaszkodzi.

    Zaczynając od tego dziecko będzie na najlepszej drodze by się zniechęcić do kodzenia, nie dość że C++ to jeszcze to zabugowane, nierozwijane i przestarzałe środowisko. Chłopak w tym wieku chciałby zrobić coś czym się pochwali kolegom, wyskakującą konsolą i kodem w edytorze na nikim wrażenia nie zrobi.

    MES Mariusz napisał:

    Ciekawi mnie natomiast, co doradzić później, do tworzenia aplikacji okienkowych. Wszystko od razu pod kątem przyszłego pracodawcy, by wyjść takiemu na przeciw, być cennym i użytecznym.

    Przyszłość jest w aplikacjach webowych a nie desktopowych. Poza tym odpowiedziałem Ci już na to, C# + WinForms/WPF. Potem uzupełnić to o ASP.NET MSSQL i chłopak już może się zatrudnić jako klepacz.
  • #12 9619104
    MiL999
    Poziom 26  
    Posty: 1173
    Pomógł: 59
    Ocena: 75
    Nie zastanawiaj się co mu podsuwać tylko ucz go programowania ogólnie. Nie można tak mówić że nauka pascala to była strata czasu bo teraz tego nikt nie używa. Pascala może nie ale ogólna umiejętność programowania pozostaje i jeżeli ktoś się tego nauczy to zmiana języka będzie kwestią kilku dni.
    Tak samo możesz powiedzieć że po co ci była ta matematyka przez te wszystkie lata w szkole, przecież to się do niczego nie przydaje.
  • #13 9619125
    several
    Poziom 15  
    Posty: 140
    Pomógł: 14
    Ocena: 1
    @MiL999 z pascalem to akurat zły przykład :D Ale pewnie chodziło Ci o to żeby odróżnić umiejętność programowania od znajomości języka.
  • #14 9619145
    Mody
    Poziom 25  
    Posty: 922
    Pomógł: 42
    Ocena: 28
    Ja mogę polecić Python'a
    - jest w miarę prosty do opanowania
    - narzuca na piszącego formatowanie kodu
    - można też pisać aplikacje internetowe np. framework Django
    - wieloplatformowy
  • #15 9619422
    chemicalkash
    Poziom 19  
    Posty: 214
    Pomógł: 32
    Ocena: 7
    Mody napisał:
    Ja mogę polecić Python'a
    Dla 8 latka?!

    Do nauki najlepiej nadają się środowiska stworzone do tego właśnie celu.
    Gdy ja byłem w podobnym wieku to mój tata pokazał mi "Polskie LOGO". Możliwości środowiska są dość ograniczone. Generalnie całość polega na rysowaniu, liczeniu lub wygrywaniu prostych dźwięków. Pozwala to jednak na poznanie podstawowych pojęć takich jak pętle, funkcje. Składnia języka jest w języku polskim co tylko przyspiesza naukę. Kilka lat później przesiadłem się na Turbo PASCAL, a później już poleciało (VB6, uC, C#...).

    Ostatnio rozmawiałem ze znajomym, który uczy informatyki w szkole podstawowej. Pokazał mi program SGP Baltie. Podobno na jego lekcjach dzieciaki w mig chwytają na czym to "programowanie" polega i domagają się coraz to trudniejszych zadań. Chyba nie ma lepszej rekomendacji dla programu, który ma za zadanie "zarazić" programowaniem. Program jest dostępny na stronie producenta. Demo jest w pełni funkcjonalne lecz nie pozwala na zapis. http://www.sgpsys.com/pl/


    p.s. Zawodowo jestem programistą w dużej firmie. Nie wiem czym bym się dzisiaj zajmował gdybym za młodu zraził się do programowania.
  • #16 9619437
    directx11
    Poziom 17  
    Posty: 250
    Pomógł: 25
    Ocena: 14
    MES Mariusz napisał:
    Szanuję Twoje podejście. Jednak z mojej perspektywy wygląda to nieco inaczej. Z perspektywy lat mogę powiedzieć, że nauczyłem się do tej pory całej masy rzeczy zupełnie niepotrzebnych, nie użytecznych / nie przydatnych z punktu widzenia potencjalnego pracodawcy. Marnując na to wiele energii i czasu. I choć było to (czy też jest) moją pasją nic złego by się nie stało, gdybym od samego początku szedł w jakimś wartościowym kierunku (jeden z przykładów dobrze obrazujących sytuację: po co siadać do Bascom-a (Turbo Pascala itd.), wyrabiać w sobie wiele niezbyt korzystnych nawyków i później mieć problemy (wygodnictwo i nawyki można ewentualnie pominąć (choć i te warto uwzględnić), bo przy odpowiedniej dozie dobrej woli można to zmienić, ale z odpowiednia ilością czasu, którym się dysponuje może być dużo gorzej). Po co ładować się w sytuacje wymagające prędzej lub później sporej przesiadki na coś czego zupełnie się nie zna, i z czym należałoby zaczynać od początku, zupełnie od zera, jeśli można zacząć dobrze od razu? Po co siadać i wkuwać Pascala, jeśli równie dobrze można usiąść do C lub C++ tym bardziej, że wrażenia i poziom trudności są tak na prawdę podobne? Mając do wyboru dwie bardzo podobne drogi, po co wybierać tę gorszą? To nie istotne, ile syn ma lat dzisiaj. Kiedy zapyta (jeśli zapyta), za rok, dwa, pięć, chciałbym doradzić mu coś, co będzie miało sens.


    Patrząc wstecz też mógłbym powiedzieć, że nauczyłem się wielu niepotrzebnych, dzisiaj nieużywanych umiejętności (jeśli skupiamy się na programowaniu), ale to tylko wielkie pozory. Przeszedłem przez Pascala, Asembler, C, C++, nawet Logo :) mam kilkanaście lat doświadczenia zawodowego. Każdy jeden język, każda technologia z jaką się stykałem coś wnosiła do mojego doświadczenia i wiedzy na temat komputerów, programowania itd. asembler "pozwolił" zapoznać się z budową komputera, pascal z zasadami ogólnymi programowania, C pozwolił wkroczyć w świat bardziej zaawansowanych technologii (Windows, interfejsy użytkownika, programowanie embeded), C++ to w zasadzie na co dzień. I co najważniejsze - nikt nie mówi o wkuwaniu niczego, to wydaje mi się podstawowy błąd! Programowanie jest chyba sztuką bardziej doświadczenia niż nauki. Można wkuć składnię języka, biblioteki itp... ale po co. Wszystko jest w książkach, na forach, w sieci. Na każde pytanie czy problem w zasadzie można znaleźć odpowiedź czy poradę. Ale pewnych, podstawowych pojęć warto się moim zdaniem nauczyć, żeby rozumieć co ktoś do nas mówi. A to wcale nie oznacza, że wszystkiego dowiemy się trzymając się ściśle jednej technologii. Zapytaj doświadczonych programistów, czy w swoim życiu programowali tylko w jednym języku czy używali jednego środowiska...
  • #17 9622323
    xanio
    Poziom 27  
    Posty: 933
    Pomógł: 68
    Ocena: 55
    Pracuję jako programista od wielu lat. Zaczynałem od Logo, Basica na Atari. Potem był Pascal, Assembler, C, Delphi, C++, PHP, ASP .net i wiele innych. Powiem szczerze, że ciężko jest przewidzieć który język/platforma/środowisko będą popularne za 8 - 10 lat.

    Sam często żałuję, że poświęciłem czas na naukę pewnych technologii, architektur które obecnie okazują się kompletnie nieprzydatne (co z tego, że potrafię napisać szybko działającą grafikę dla DOS) lub wymierające (produkty dawnego Borlanda, obecnie Embarcadero). Moja rada jest taka, żeby uczyć się informatyki i algorytmów a nie, jak to nazwał kiedyś pewien wykładowca "pecetologii", czyli niuansów (często efektownych) związanych z konkretną platformą.

    Jeżeli chodzi o dzisiejszy rynek, słusznie koledzy zauważyli, że wszystko odchodzi w kierunku aplikacji webowych.Pracę mogą znaleźć programiści:
    - Java (w mojej okolicy jest najwięcej ogłoszeń) - do najprostszych nie należy ale znam takich co uczyli się Javy nie znając innych języków i dali radę, twierdząc później, że inne języki są trudne;
    - PHP - tutaj już nie jest kolorowo, warto też umieć jakiś popularny framework (a jest ich kilka), poza tym pensja też jest niższa a język bardzo bałaganiarski; Nie ma się co oszukiwać - programista PHP jest traktowany przez pozostałych jako programista niższej kategorii;
    - Django (framework do Pythona). To bardzo obiecujący, wydajny twór. Nie wiadomo jak się przyjmie (na naszym rynku wciąż mało hostingów oferujących Django, przez co i wdrożeń mniej), jednak z tego co obserwuję, aplikacje są szybkie w działaniu i tworzeniu;
    - ASP .net - popularne w środowiskach uważających się za biznesowe i profesjonalne. Przyjemnie się w tym pisze (nawet chyba przyjemniej niż w Javie) ale programista uzależnia się od produktów tylko jednej firmy, co może kiedyś skończyć się tak jak teraz wygląda sytuacja z Delphi.

    Osobiście zacząłbym od prostych rzeczy, które bawią a przy tym uczą algorytmicznego myślenia. Kiedyś taką rolę pełniło Logo, teraz praktycznie wymarło. Wiem, że może niektórzy nie podzielą mojego zdania ale osobiście poleciłbym na początek edytor i interpreter schematów blokowych. Jest tego trochę, można spróbować tego lub tego. Jak już opanuje podstawy algorytmów, możemy pomyśleć nad jakimś prostym językiem programowania.

    Aha, jeszcze jedno: ze swojego doświadczenia wiem, że warto uczyć się przez zabawę. Będąc chłopcem w podstawówce, chciałem tworzyć własne gry. Gdy zacząłem, stykałem się z różnymi problemami algorytmicznymi, matematycznymi, fizycznymi (np. rzut ukośny, równanie kwadratowe i wiele innych) i sam, z własnej woli szukałem w książkach i wśród znajomych rozwiązań tych problemów. Ucząc się w szkole, niejako na sucho, dziecko nie ma takiej motywacji.
  • REKLAMA
  • #18 9622526
    gmp
    Poziom 19  
    Posty: 434
    Pomógł: 29
    Ocena: 28
    Microsoft ma cos dla dzieci, i jest to pod platforme dotNet a wiec cos co MS bardzo mocno wspiera i bedzie wspieral przez najblizsze lata. Moim zdaniem dotNET to przyszlosc tworzenia aplikacji.
    Super IDE za darmo.(express edition)
    A nastepny krok to C# - naprawde dobry jezyk , daruj sobie V Basic bo jak to powiedzial jeden z guru inforamtyki - "programowanie w Basic uszkadza mozg" - nie wiem czy uszkadza, ale jak widze skladnie tego jezyka to mnie szlag trafia.
    Co do C# - to uproszczony C, duzo bardziej przyjazny, duzo lepiej kontroluje kod, i ma te sama skladnia co C(prawie). Prosta aplikacje okienkowa mozna napisac w pare minut.(oczywiscie po poznaniu srodowiska). Na sam pocztek mozna sobie darowac tworzenie wlasnych nowych klas i robic program w jednej.
  • #19 9623584
    Mody
    Poziom 25  
    Posty: 922
    Pomógł: 42
    Ocena: 28
    chemicalkash napisał:
    Mody napisał:
    Ja mogę polecić Python'a
    Dla 8 latka?!

    Dzisiejsze dzieci są bardziej skomputeryzowane niż 10-15 lat temu. Kwestia języka
    do nauki schodzi na drugi plan, bo ważniejsze jest to by dziecko zainteresować i w
    jasny sposób wytłumaczyć zagadnienia dotyczące programowania. Wystarczy
    odpowiednio pokierować młody umysł, a taki Python czy nawet C++ nie będzie
    stanowił większego problemu.
  • #20 9628448
    markonedj
    Poziom 22  
    Posty: 374
    Pomógł: 60
    Ocena: 1
    Ja polecam platformę .NET i środowisko Visual C# Express. W krótkim czasie można napisać prostą aplikację windowsową. A to pewnie bardziej się spodoba dziecku (jak zobaczy rezultaty - przyciski, pola txt, czy wyskakujące komunikaty po kilku kliknięciach), niż pisanie dziesiątek linii kodu, używanie wskaźników, niskopoziomowych wywołań funkcji w WinAPI (C++) aby wyświetlić same okno, bez żadnych komponentów wewnątrz.

    A jeśli masz takie parcie na C++ to w .NET też można tworzyć aplikacje okienkowe w C++ z dużą łatwością, służy do tego środowisko Visual C++ Express.

    No i jeśli chcesz by Twoje dziecko pisało także okienka na Linuxa to polecam qT.

    A teraz z innej beczki.
    Na tym etapie wiekowym dziecka, nie męczył bym go programowaniem w C, C++ czy nie daj boże assembler i algorytmami. W tym wieku dziecko ma się bawić, poznawać, a nie przebijać się przez niskopoziomowe biblioteki, które nie jednemu doświadczonemu programiście stwarzają problemy, czy rozwiązywać problem komiwojażera. Niech się uczy poprzez zabawę. Chcesz pokazać mu informatykę, programowanie ? To zacznij od prostych rzeczy. Nie odbieraj mu dzieciństwa, niech programowanie będzie dla niego ZABAWĄ.

    Pozdrawiam
  • #21 9634912
    Integers
    Poziom 13  
    Posty: 131
    Pomógł: 4
    A ja od siebie dodam może oczywistą rzecz: "nauka języka angielskiego" - bez tego można zapomnieć o kodzeniu i czytaniu dokumentacji w j. ang. :)
  • #22 9635772
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    Nigdy nie wyjdziesz tak na przeciw wymaganiom żeby ucząc dziecko jakichś technologii teraz miało ono szanse na zatrudnienie za 10 lat. Technologie się zmieniają w takim tempie i jest ich tak wiele, że trzeba być cały czas na bieżąco, to nie jest coś, że się nauczysz dzisiaj i za 10 lat Cię przyjmą w ciemno, trzeba cały czas patrzeć na nowinki, i chociażby wiedzieć, co za ich pomocą można zrobić (jeżeli już nie umieć ich używać).
  • #23 9635940
    szpila_forever
    Poziom 15  
    Posty: 185
    Pomógł: 7
    Ocena: 4
    Jeśli chcesz aby w przyszłości był koderem z mizernymi możliwościami rozwoju to ucz go jakiegokolwiek języka.
    Jeśli chcesz aby się rozwijał i miał przyszłość, naucz go matematyki i abstrakcyjnego myślenia.
    Programowania nauczy się sam.
    to jest dobra propozycja - tylko kosztowna.
    http://www.google.pl/search?client=opera&rls=...gc.r_pw.&fp=916c602e9e1762a6&biw=1246&bih=843

    Z tańszych rzeczy - jakiekolwiek klocki - puzzle 3d. Oby wymagające.

    Z programowaniem jest jak z mówieniem.
    Jak się nauczysz wyrażać myśli w jednym języku łatwiej jest w innym.
    Samo myślenie to proces bardziej abstrakcyjny niż mówienie.
    Tak i tutaj modelowanie i projektowanie jest ważniejsze w perspektywie czasu od umiejętności zakodowania.
  • #24 9648022
    bar-t
    Poziom 10  
    Posty: 28
    Ocena: 24
    Ja swoją przygodę z programowaniem zacząłem od Pascala gdy miałem trochę mniej niż 8 lat, ale nie pamiętam dokładnie ile. Potem przesiadłem się na C++, który mnie bardziej zainteresował i dość dobrze go opanowałem, a teraz używam głównie C# (który jest wg. mnie trochę prostszy od C++ ze względu na brak problemów z 'wyciekami pamięci' (dosłowne tłumaczenie 'memory leak') dzięki wbudowanemu menadżerowi pamięci), znam podstawy PHP, HTMLa, Javy, a to właśnie dzięki znajomości C++.
  • #25 9648597
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    Ja bym mógł także polecić C#. Bajecznie prosty z milionem podpowiedzi jak się ogarnie środowisko. W C# wiele rzeczy sie "wyklikuje" (gotowe komponenty wsadzane na formatkę) przez co można łatwo zrobić GUI - a jak coś widać na ekranie to jest to duża zachęta żeby podłubać dalej.
    Alternatywa to C i mikrokontrolery. Uczy to wszystkiego tego co C# omija szerokim łukiem (wskaźniki, oszczędność zasobów itd).
    Osobiście mam awersję do osób, które używają języków wysokiego poziomu nie mając zielonego pojęcia jak działa wszystko "pod maską".
    No a wiek 8 lat jest jak najbardziej ok. Sam zaczynałem od Basica mając 7.
  • #26 9649577
    korzo123
    Poziom 12  
    Posty: 107
    Pomógł: 1
    Ocena: 5
    Trudny wybór język programowania na ten wiek. Ja bym polecił PHP, nie jest może aż tak prosty ale przydatny. I jeśli się dobrze programuje w PHP to można sporo zarobić.
  • #27 9649588
    Zadusiciel
    Poziom 13  
    Posty: 61
    Pomógł: 9
    Ocena: 1
    Więc chyba padły wszystkie języki, nieważne jest w jakim się zacznie, programowanie to programowanie a nie języki.
  • #28 9649983
    bar-t
    Poziom 10  
    Posty: 28
    Ocena: 24
    Zadusiciel napisał:
    Więc chyba padły wszystkie języki, nieważne jest w jakim się zacznie, programowanie to programowanie a nie języki.

    Nie zgodzę się z tobą. Wybór języka jest ważny, tak żeby osoba która ma się go nauczyć nie zraziła się do programowania.
  • #29 9650047
    Zadusiciel
    Poziom 13  
    Posty: 61
    Pomógł: 9
    Ocena: 1
    Tak jest, ale akurat to uważałem jako oczywiste.
  • #30 9654244
    MiL999
    Poziom 26  
    Posty: 1173
    Pomógł: 59
    Ocena: 75
    bar-t napisał:
    Nie zgodzę się z tobą. Wybór języka jest ważny, tak żeby osoba która ma się go nauczyć nie zraziła się do programowania.


    Oczywiste jest że nikt nie zaczyna nauki jazdy samochodem od Ferrari. Chodzi o to żeby nauczyć się jeździć a nie obsługiwać konkretny samochód.

Podsumowanie tematu

✨ W dyskusji poruszono kwestie dotyczące nauki programowania dla dzieci, zwłaszcza w kontekście wyboru odpowiednich języków programowania. Uczestnicy sugerowali, że dla ośmioletniego dziecka lepsze będą języki o prostszej składni, takie jak Python, Logo, czy C#, które pozwalają na szybkie uzyskanie efektów wizualnych. Wskazano na znaczenie zainteresowania dziecka programowaniem oraz na konieczność unikania zbyt skomplikowanych technologii, takich jak C++ czy WinAPI, które mogą zniechęcić młodych programistów. Podkreślono również, że ważniejsze od konkretnego języka jest rozwijanie umiejętności algorytmicznych i abstrakcyjnego myślenia. Wskazano na platformy edukacyjne, takie jak SGP Baltie, które mogą pomóc w nauce podstaw programowania w sposób zabawny i angażujący.
Wygenerowane przez model językowy.
REKLAMA