Dodaj do ulubionych

Nauka programowania (LWW)

27.11.12, 21:51
W zeszłym tygodniu przeczytałam w Polityce ten tekst www.polityka.pl/nauka/komputeryiinternet/1532665,1,nauka-programowania-w-szkolach.read , nakręciłam się i zaczęłam się zastanawiać, czy to naprawdę możliwe, żeby nauczyć się rekreacyjnie programować na tyle dobrze, żeby pisać dla siebie programy.
Zaczęłam szukać jakiegoś kursu w internecie, ale zupełnie nie wiem, czego potrzebuję.

W szkole w latach 90 miałam zajęcia z ACLOGO i było super, w pewnym momencie próbowałam swoich sił z html i to w zasadzie wszystko. Generalnie bardzo dobrze się czuję z komputerami, żadne programy biurowe ani prawnicze bazy danych nie mają dla mnie tajemnic, raczej frustruje mnie brak uprawnień administratora na laptopie w pracy (i wkurzam mojego informatyka, bo "u mnie w domu działa").

Jakiego języka powinnam się zacząć uczyć, żeby móc go wykorzystać i żeby dało się go opanować w sensownym czasie? czy możecie polecić jakiś kurs (zdecydowanie wolałabym po polsku - anglojęzyczna terminologia komputerowa to nie jest moja mocna strona)? A może któraś z Was uczyła się programować w dojrzałym wieku ;-) i może podzielić się doświadczeniami?
Obserwuj wątek
    • kasiamat00 Re: Nauka programowania (LWW) 27.11.12, 22:10
      Język - IMO Python. Tylko i wyłącznie, najłatwiejsze z popularnych, najpopularniejsze z łatwych.

      Jakieś kursy tutaj: pl.python.org/kursy,jezyka.html , nie mam teraz siły przeglądać który z nich jest znośny dla początkujących i ma ręce i nogi.

      Python jest o tyle przyjemny, że takie banalne programiki typu "skopiuj 30 plików, przeczytaj z nich piąte linijki i dodaj wartości do siebie" pisze się w kilku linijkach. No i nie trzeba niczego kompilować, uruchamiasz i działa.
    • smallfemme Re: Nauka programowania (LWW) 28.11.12, 00:32
      Przede wszystkim żaden język nie jest uniwersalny i musisz się zastanowić co chcesz robić przy pomocy tych programów. W tej chwili w zasadzie istnieją biblioteki, które pozwalają robić wszystko we wszystkim, ale to samo zadanie w jednym języku zajmie Ci 5 minut i 10 linii kodu a w innym 5 dni i kilka tysięcy linii. Dlatego ważne jest żeby określić do czego potrzebujesz tej wiedzy i pod kątem tego ukierunkować naukę.
      • magdalaena1977 Re: Nauka programowania (LWW) 28.11.12, 07:13
        smallfemme napisała:

        > Przede wszystkim żaden język nie jest uniwersalny i musisz się zastanowić
        > co chcesz robić przy pomocy tych programów.

        Przede wszystkim pragnę intelektualnej rozrywki ;-) Logicznego kombinowania, dopasowywania rozwiązań, takiego mentalnego żonglowania.
        Oczywiście fajnie byłoby gdyby coś mi z tego kombinowania wychodziło, ale nie za bardzo jestem w stanie ocenić, jakie programy są w zasięgu moich możliwości. Na pewno byłoby fajnie móc podkręcić działanie programów biurowych (marzę o funkcji "Pani Kasiu, proszę w tym dokumencie po każdej kwocie dopisać w nawiasie jej wartość słownie") czy lepiej zarządzać nazywaniem plików np. zdjęć. Może mogłabym sobie zaprojektować kalendarz taki, jak lubię (w tej chwili działa jako plik w calcu), który działałby na komórce i na komputerze. Mógłby ściągać dane np. z ceneo i umieszczać je w arkuszu kalkulacyjnym. Albo zmieniać układ kolumn na układ wierszy.
        • szarsz Re: Nauka programowania (LWW) 28.11.12, 10:04
          Do tego nie jest Ci potrzebna imho znajomość żadnego języka, a raczej wszystkich po trochu. Co jest o tyle łatwe, że one wszystkie są do siebie na podstawowym poziomie raczej podobne. Trzeba się tylko nauczyć, jak się buduje pętle i warunki w jednym, a jak otwiera i czyta z plików w drugim.
          Najpierw zaczęłabym od tego, CO chcę zrobić, a potem zastanawiałabym się, JAK i w jakim języku.

          Np. jeśli chcesz napisać funkcję, która doda kwotę słownie, to poza excela nie musisz się ruszać. Rzucasz w google hasło, patrzysz, co ludzie napisali i jak, i czy cokolwiek z tego rozumiesz, a potem dopasowujesz do siebie. Przynajmniej dla mnie to najskuteczniejszy sposób.
          • magdalaena1977 Re: Nauka programowania (LWW) 28.11.12, 11:04
            szarsz napisała:

            > Np. jeśli chcesz napisać funkcję, która doda kwotę słownie, to poza excela nie
            > musisz się ruszać. Rzucasz w google hasło, patrzysz, co ludzie napisali i jak,
            > i czy cokolwiek z tego rozumiesz, a potem dopasowujesz do siebie. Przynajmniej
            > dla mnie to najskuteczniejszy sposób.

            Ja pracuję na Open Office i mimo szczerych starań nie byłam w stanie znaleźć / napisać takiej funkcji.
            Najbliższy ideałowi jest ten program, ale zamienione kwoty trzeba ręcznie wklejać do dokumentu, nie da się tego zrobić automatycznie.
            www.dobreprogramy.pl/PLNConvert,Program,Windows,11606.html
            • pinupgirl_dg Re: Nauka programowania (LWW) 28.11.12, 11:21
              Nie używam Office, ale to Ci może pomóc:
              office.microsoft.com/pl-pl/help/makra-bez-tajemnic-czym-sa-i-do-czego-suza-HA010007210.aspx
              warto się rozejrzeć, czy da się tak zautomatyzować to, o co Ci chodzi.

              Zaś co do programowania dla rozrywki - moim zdaniem to fajna zabawa, ale cóż, trzeba to lubić. Jeśli chce się po prostu pobawić, to każdy język będzie dobry. Z racji studiów najlepiej znam Fortran, ale chcę się też uczyć innych języków. Będzie Ci do tego potrzebne trochę książek/kursów i kompilator (są płatne i darmowe), a potem to już miłej zabawy :).
            • szarsz Re: Nauka programowania (LWW) 28.11.12, 11:29
              Nie znam open office, czy jest tam jakakolwiek możliwość programowania? Jeśli nawet nie, to taką rzecz da się uzyskać wyłącznie funkcjami matematycznymi.

              Najpierw wyciągnęłabym z liczby logarytm dziesiętny i zaokrągliła w górę, żeby mieć liczbę cyfr. Potem można je pogrupować w trójki, osobno na miliony, tysiące i resztę.
              Przepisanie każdej trójki na słowa wyglądałoby już podobnie, jak myślę, a dokładność zapisu jest kwestią wymagań i perfekcjonizmu - czy będziesz tolerować "42 tysięcy" czy nie.
              • magdalaena1977 Re: Nauka programowania (LWW) 28.11.12, 11:43
                szarsz napisała:

                > Nie znam open office, czy jest tam jakakolwiek możliwość programowania?

                Można tworzyć makra, używać wyrażeń regularnych, w arkuszu kalkulacyjnym budować skomplikowane funkcje. Wszystko to znam i lubię. Niestety nie wychodzi mi ingerowanie w już napisane makra.

                > Jeśli nawet nie, to taką rzecz da się uzyskać wyłącznie funkcjami matematycznymi.
                >
                > Najpierw wyciągnęłabym z liczby logarytm dziesiętny

                Nie wiem, co to jest logarytm ;-)
                Chodziłam do klasy humanistycznej i niestety miałam mocno okrojoną matematykę.

                > i zaokrągliła w górę, żeby mieć liczbę cyfr.

                Na to chyba jest funkcja.

                > Potem można je pogrupować w trójki, osobno na miliony, tysiące i resztę.
                > Przepisanie każdej trójki na słowa wyglądałoby już podobnie, jak myślę, a
                > dokładność zapisu jest kwestią wymagań i perfekcjonizmu - czy będziesz
                > tolerować "42 tysięcy" czy nie.

                Ma być elegancko ;-) bez tekstów typu "zero złotych" czy "jeden tysiąc".
                Tylko ja bym najbardziej chciała żeby to się działo w pliku tekstowym (odt czy doc), np. w czasie pisania. Tworzenie dokumentów w arkuszu kalkulacyjnym to nie jest dobre rozwiązanie na dalszą metę.
                • szarsz Re: Nauka programowania (LWW) 28.11.12, 11:56
                  magdalaena1977 napisała:
                  > > Najpierw wyciągnęłabym z liczby logarytm dziesiętny
                  > Nie wiem, co to jest logarytm ;-)

                  Dla potrzeb takiego programiku można przyjąć, że dziesiętny logarytm z grubsza mówi o liczbie cyfr w danej liczbie.
                  czyli np. milion to 1 z sześcioma zerami, więc log10 z miliona to 6.
                  100 tysięcy to 1 z pięcioma zerami, więc log10 z 10 tysięcy to 5.

                  Każda liczba między 100 tysięcy a milion da logarytm dziesiętny o wartości większej niż pięć a mniejszej niż 6. Więc jak wyciągniesz log 10 z liczby powyżej 100 tysięcy to dostaniesz 5 z kawałkiem. Wystarczy ją zaokrąglić w dół, to pełnej piątki, żeby dostać liczbę cyrf.

                  To samo, tylko bardziej upierdliwie, da się uzyskać, dzieląc sekwencyjnie liczbę przez dziesięć i sprawdzając, czy wynik jest większy czy równy zero. Jak zero -> koniec pętli.

                  > Tylko ja bym najbardziej chciała żeby to się działo w pliku tekstowym (odt czy
                  > doc), np. w czasie pisania.

                  No to tylko makro. Możesz zapisać (nagrać? da się?) jakieś najprostsze w świecie makro, czyli napisanie literki 'a' i wtedy próbować zmodyfikować.
            • magdalaena1977 Re: Nauka programowania (LWW) 19.12.12, 01:28
              Eureka!
              znalazłam banalną metodę robiącą prawie dokładnie to, o co mi chodzi. Jest to rozszerzenie do OO, które instaluje się intuicyjnie jak Adblock i które dokłada nowe funkcje do Calca.
              extensions.services.openoffice.org/en/project/numbertext
        • miss-alchemist Re: Nauka programowania (LWW) 28.11.12, 12:41
          > Na pewno byłoby fajnie móc podkręcić działanie programów biurowych (marzę o fun
          > kcji "Pani Kasiu, proszę w tym dokumencie po każdej kwocie dopisać w nawiasie j
          > ej wartość słownie") czy lepiej zarządzać nazywaniem plików np. zdjęć. Może mog
          > łabym sobie zaprojektować kalendarz taki, jak lubię (w tej chwili działa jako p
          > lik w calcu), który działałby na komórce i na komputerze. Mógłby ściągać dane n
          > p. z ceneo i umieszczać je w arkuszu kalkulacyjnym. Albo zmieniać układ kolumn
          > na układ wierszy.

          Wydaje mi się, że najlepszy do zastosowań biurowych byłby Visual Basic for Applications.

          Tu na szybko znalazłam jakiś kurs:
          dzono4.w.interia.pl/
          Ale sama nie używam VBA (liznęłam ledwie), więc wiele nie pomogę w tej kwestii. Najlepszym źródłem wiedzy odnośnie tego języka jest imo MSDN:
          msdn.microsoft.com/en-us/library/office/aa188202(v=office.10).aspx
          Natomiast jeśli chodzi o jakieś aplikacje okienkowe na windowsa, to od tego roku jestem wielką fanką C#. C i C++ wydają mi się takie prymitywne w porównaniu z C#, w zasadzie w tym ostatnim program niemal sam się pisze. A jeśli chciałabyś aplikację (jak ten kalendarz), która zadziała Ci zarówno na kompie, jak i na komórce, to wydaje mi się, że najlepsza będzie Java. Java i C# to języki obiektowe, bardziej naturalne dla człowieka (nasz świat jest bowiem obiektowy ;)) i łatwo znaleźć do nich jakiś support. Tylko pisząc na system mobilny trzeba znacznie większą uwagę zwrócić na zarządzanie pamięcią, więc to raczej dalszy etap nauki ;)
          • kasiamat00 Re: Nauka programowania (LWW) 28.11.12, 20:46
            C to taki współczesny assembler dla tych, co im bardzo zależy na wydajności ;) C++ też uznaję za zabawkę dla ludzi, którzy mają konkretny powód żeby tego używać. Uczenie się programowania na przykładzie jednego z nich to IMHO poroniony pomysł.

            Java jest OK, ale w porównaniu ze współczesnymi językami skryptowymi (Python, Ruby, Scala, chyba również Groovy) jest potwornie "przegadana" i bez dobrego IDE typu Eclipse (które choćby wygeneruje ci jednym klikiem wszystkie gettery i settery) pisanie w niej jest trochę uciążliwe. No i języki kompilowane na początek? Dodatkowa bariera wejścia jakby nie patrzeć. Współczesne języki skryptowe są przyjemnie czytelne i można w nich pisać obiektowo, nie mówimy o potworkach w Perlu :>

            Tak, jestem fanatykiem Pythona :D
            • miss-alchemist Re: Nauka programowania (LWW) 28.11.12, 21:37
              > C to taki współczesny assembler dla tych, co im bardzo zależy na wydajności ;)
              > C++ też uznaję za zabawkę dla ludzi, którzy mają konkretny powód żeby tego używ
              > ać. Uczenie się programowania na przykładzie jednego z nich to IMHO poroniony p
              > omysł.

              Ja jestem takim trochę zboczeńcem programistycznym, bo mimo wszystko lubię C ;) Ale to jest język, który trzeba znać, jeśli chce się pisać na mikrokontrolery (zakładam, że Magdalaeny ten problem nie dotyczy). Ale wiesz, ja chcę pisać magisterkę w VHDL albo w Verilogu, więc to już szczyt zboczenia niskopoziomowego ;) Jeszcze trochę, a będę rzeźbić dłutem w krzemie ;) Do C++ wróciłam w tym semestrze, żeby zapoznać się z MMX i SSE2 oraz OpenGL. A po OpenGL przyszedł czas na XNA i wiem, czemu kocham C# :D (pisałam dzisiaj Arkanoid połączony z Pongiem i napisałam przeciwnika, który oszukuje, tj teleportuje się i jeszcze nie wiem, jak to naprawić).
              Naukę programowania od C zaczęłam, bo tego wymagał ode mnie program studiów :P Ale ten język dla elektronika jest niezbędny.

              > Java jest OK, ale w porównaniu ze współczesnymi językami skryptowymi (Python, R
              > uby, Scala, chyba również Groovy) jest potwornie "przegadana" i bez dobrego IDE
              > typu Eclipse (które choćby wygeneruje ci jednym klikiem wszystkie gettery i se
              > ttery) pisanie w niej jest trochę uciążliwe. No i języki kompilowane na począte
              > k? Dodatkowa bariera wejścia jakby nie patrzeć. Współczesne języki skryptowe są
              > przyjemnie czytelne i można w nich pisać obiektowo, nie mówimy o potworkach w
              > Perlu :>

              O Pythonie i Ruby nie mam niestety zielonego pojęcia ;) Dobrym IDE do Javy jest ponoć NetBeans. Natomiast do C# Visual Studio, gdzie kompilacja nie stanowi najmniejszego problemu, klika się taką małą zieloną strzałeczkę i wszystko za nas załatwia .NET. I VS jeszcze podpowiada, jaką przestrzeń nazw załączyć. Ale tak, do każdego tego typu języka dobre IDE jest absolutnie niezbędne, pisanie programu w notatniku i kompilowanie w gcc to płacz, masakra i zgrzytanie zębów (pisałam w tym semestrze echoserwer w C z użyciem linuksowych socketów, kil mi :( ).

              Magdalaeno, nie przejmuj się tym, co my tu sobie piszemy ;) Na sam początek nadal polecam VBA :)
              • magdalaena1977 Re: Nauka programowania (LWW) 28.11.12, 22:53
                miss-alchemist napisała:

                > Magdalaeno, nie przejmuj się tym, co my tu sobie piszemy ;) Na sam początek
                > nadal polecam VBA :)

                Na razie zainstalowałam sobie program do pythona i szukam odpowiednio prostej instrukcji, która wytłumaczy mi, co jest plikiem z kodem, a co działającym programem.
                • kasiamat00 Re: Nauka programowania (LWW) 29.11.12, 08:25
                  > co jest plikiem z kodem, a co działającym programem

                  W pythonie to jest ten sam plik.
            • magdalaena1977 Re: Nauka programowania (LWW) 29.11.12, 00:42
              Czy mogłabym prosić o przykład programu w pythonie, który coś ROBI?
              Tzn. makro działa, aclogo dawało proste animacje, a wszystkie proste przykłady z pythona wydają się takie ... bezużyteczne (np. print """Witaj w swiecie Pythona"""). Ewentualnie zupełnie nie potrafię docenić, że "Platforma Google App Engine dla rozproszonego hostingu aplikacji internetowy oparta została o Pythona i oferuje serwisom www taką samą skalowalność, jaką posiadają wszystkie aplikacje i usługi tej firmy". Taka sama skalowalność, panie dzieju ...
              • szarsz Re: Nauka programowania (LWW) 29.11.12, 13:11
                Magda, ja nie mam przekonania co do tego, że python jest dla samouków. Którzy nigdy nie programowali do tego. Tak jak piszesz trudno jest o sensowne źródła, a składnia, wbrew temu, co pisze Kasiamat, nie jest bardzo intuicyjna dla laika. Chyba :)

                Z tego wszystkiego, co próbowałaś, to chyba jednak ten Visual Basic jest najprostszy.
                • magdalaena1977 Re: Nauka programowania (LWW) 29.11.12, 13:30
                  szarsz napisała:

                  > Z tego wszystkiego, co próbowałaś, to chyba jednak ten Visual Basic
                  > jest najprostszy.

                  Dzisiaj wieczorem dam mu szansę ;-)
    • joana.mz Re: Nauka programowania (LWW) 28.11.12, 11:51
      magdalaena - w temacie nie pomogę, ale piszesz, że używasz Open Office - może pomożesz mi rozwiązać problem. Coś od pewnego czasu stało się z wszystkimi dokumentami stworzonymi i zapisanymi. nie mogę edytować danej komórki. Tj zazwyczaj tworzę nowy dokument na podstawie starego wcześniej zapisanego. I np w daną komórkę wpisany jest jakiś tekst; ja chcę zmienić tylko jedno słowo. Kiedyś klikałam w tę komórkę i do góry na pasku zadań pojawiała mi się cała zawartość komórki - mogłam sobie ją zmieniać. W tej chwili po kliknięciu na komórkę nie pokazuje się jej zawartość nigdzie do góry i muszę za każdym razem wpisywać cały tekst od nowa. Czy wiesz może co i dlaczego się stało?
      • magdalaena1977 Re: Nauka programowania (LWW) 28.11.12, 14:18
        może odptaszkował Ci się widok - pasek formuły?
        • azmb podepnę się z pytaniem 28.11.12, 15:53
          niedawno zainstalowałam program OpenOffice i z trudem przyzwyczajam się do niego (jestem dzieckiem worda). Wiem już prawie wszystko, tylko nie umiem znaleźć polecenia, które automatycznie będzie numerowało strony (na górze, na dole czy jak tam zechcę:). Proszę o podpowiedź, jak to rozwiązać?
          • magdalaena1977 Re: podepnę się z pytaniem 28.11.12, 18:15
            azmb napisała:

            > niedawno zainstalowałam program OpenOffice i z trudem przyzwyczajam się
            > do niego (jestem dzieckiem worda).

            Ja się przedstawiłam 8 lat temu, kiedy MS Office kosztował tyle co pół laptopa, a ja chciałam używać legalnego oprogramowania. I chociaż teraz MS kosztuje dużo mniej, a ja zarabiam sporo więcej, tonie widzę powodu żeby płacić za coś co mogę dostać za darmo.
            Zresztą w pracy mamy worda powiązanego z bazą danych, niedawno dostałam nowego laptopa z Windows7 i Wordem2010 i do tej pory nie doszłam z nim do ładu.
            Może ktoś mi podpowie, jakim skrótem klawiszowym wejść do właściwości akapitu?

            > Wiem już prawie wszystko, tylko nie umiem znaleźć polecenia, które
            > automatycznie będzie numerowało strony (na górze, na dole
            > czy jak tam zechcę:). Proszę o podpowiedź, jak to rozwiązać?

            Ja zawsze dodaję nagłówek, a potem wklejam pole z numerem strony.
          • ciociazlarada Re: podepnę się z pytaniem 28.11.12, 18:43
            W wersji 3.3 (agnielskiej): Insert - Field - Page Number. Insert jest czwarte z kolei na górnym pasku, pomiędzy View a Format.
        • joana.mz Re: Nauka programowania (LWW) 28.11.12, 20:50
          pewnie coś zrobiłam (albo współpracowniczka) nieświadomie. Jak będę w pracy sprawdzę to co sugerujesz, dzięki.
          • azmb Re: Nauka programowania (LWW) 29.11.12, 00:31
            Dziękuję Magdzie i Ciocizłejradzie:)
            • azmb do Ciocizłej (dobrej) rady:) 29.11.12, 00:38
              Znalazłam już "wstaw stronę", ale grymaszę dalej:) Teraz automatycznie numeruje mi w górnym lewym rogu, a ja bardzo chcę w dolnym prawym. Poleceń jest całe mnóstwo, pewnie nie umiem znaleźć odpowiedniego:)
              • magdalaena1977 Re: do Ciocizłej (dobrej) rady:) 29.11.12, 10:04
                edytujesz stopkę i robisz ctrl + R
              • ciociazlarada Re: do Ciocizłej (dobrej) rady:) 29.11.12, 10:43
                Polecenie jest "footer" albo stopka, a potem tak jak Magdalaena napisała.
                Czyli najpierw wstawiasz footer (z menu insert), potem do tej stopki numer strony (też z menu insert), jak chcesz po prawej, to już wiesz, jak chcesz w każdym innym miejscu to po kliknięciu prawym klawiszem na ten numer masz do wyboru opcje "alignment", albo normalnie z paska na górze wybierasz czy chcesz z lewej, z prawej czy pośrodku.
        • joana.mz Re: Nauka programowania (LWW) 04.12.12, 09:48
          magdalena - dziękuję Tobie bardzo - faktycznie to był pasek formuły :-)
    • paulinago Re: Nauka programowania (LWW) 30.11.12, 12:09
      Wszystko zależy co chcesz robić, ale na pewno da się :) Poniżej podsyłam Ci kilka linków do różnych inicjatyw, które pomagają w rozpoczęciu nauki, oraz ciekawych miejsc, gdzie zebrano dużo fajnych źródeł:
      geekgirlscarrots.pl/ - dziewczyny ostatnio organizowały kurs Django Carrots, wiem że będzie kolejna edycja - może Cię zainteresuje;
      railsgirls.com/ - inicjatywa fińska, ale w Wwie na jesieni już była i chodzą plotki, że również na początku roku coś się wydarzy;
      webmus.es/materialy - dzieczyny z Krakowa, ale na stronie mają tak kompletne kompendium, że właściwie nic więcej nie trzeba dodawać :)
      • paulinago Re: Nauka programowania (LWW) 30.11.12, 12:16
        paulinago napisała:


        > webmus.es/materialy - dzieczyny z Krakowa, ale na stronie mają tak kompletne kompendium, że właściwie nic więcej nie trzeba dodawać :)

        Właściwie jednak dodam :)
        www.codecademy.com/ - znajdziesz tu kursy i Pythona i Ruby (co osobiście polecam).
        • azmb babciun vel azmb dziękuje 30.11.12, 19:48
          i chwalę się, że już umiem numerować strony:) Wielkie, wielkie dzięki!!
Inne wątki na temat:

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka