Skocz do zawartości
Limp20

Python początek nauki

Rekomendowane odpowiedzi

Witam.

Z racji dostępności dużej ilości wolnego czasu wziąłem się za naukę programowania w pythonie. Na wstępie od razu powiem, że jestem totalnym laikiem i dopiero uczę się drugi dzień tego języka i mam kilka pytń.

1. Jak najlepiej się uczyć? Z jakich źródeł korzystać? (Obecnie całą swoją naukę opieram na książce "Programista samouk")

2. Jeżeli ktoś ma jakieś wskazówki, rady dla nowicjusza to chętnie je usłyszę.

3. I już niestety na wstępie nauki mam mały problem z zadaniami, które są po każdym rozdziale. Treść zadania:

Dysponując listą ["Zwinny", "lis", "przeskoczył", "nad", "leniwym", "psem", "."], przekształć ja w poprawne gramatycznie zdanie. Pomiędzy poszczególnymi słowami zdania mają być umieszczone odstępy, lecz nie ma być odstępu pomiędzy ostatnim słowem i kropką.

Moje rozwiązanie:

w = ["Zwinny", "lis", "przeskoczył", "nad",
    "leniwym", "psem""."]
one = " ".join(w)

print(one)

I to prawidłowe z książki:

fox = ["Zwinny", "lis", "przeskoczył", "nad", "leniwym", "psem", "."]
fox = " ".join(fox)
fox = fox[0: -2] + "."
print(fox)

to jest tylko jeden z wielu przykład. Problem w tym, że jako dopiero zaczynam to się zastanawiam. Jeżeli moje rozwiązanie jest inne od tego proponowanego to czy to zadanie jest rozwiązane błędnie? Efekt uzyskuje się taki sam a różni się składnią kodu. Proszę o wypowiedzenie się bardziej doświadczonych programistów. Chciałbym od początku uczyć się prawidłowych praktyk.

Edytowane przez Limp20

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

"psem""."

Zjadłeś przecinek ;)

Przez (wygodną) literówkę w swoim rozwiązaniu omijasz problem spacji między ostatnim wyrazem i kropką.

 

Nie ma czegoś takiego jak jedyne poprawne rozwiązanie w programowaniu. Jeżeli robi to, co ma robić, to jest poprawne. Można dyskutować które lepsze/gorsze w zależności od różnych kryteriów, np. czytelność, zwięzłość, debugowalność, wydajność...

 

W tym zadaniu to... najlepiej by było gdyby tej kropki w ogóle nie było w liście wejściowej ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

"psem""."

Zjadłeś przecinek ;)

Przez (wygodną) literówkę w swoim rozwiązaniu omijasz problem spacji między ostatnim wyrazem i kropką.

 

Nie ma czegoś takiego jak jedyne poprawne rozwiązanie w programowaniu. Jeżeli robi to, co ma robić, to jest poprawne. Można dyskutować które lepsze/gorsze w zależności od różnych kryteriów, np. czytelność, zwięzłość, debugowalność, wydajność...

 

W tym zadaniu to... najlepiej by było gdyby tej kropki w ogóle nie było w liście wejściowej ;)

 

(Wygodną) literówkę xd Po prostu efektywnie rozwiązałem problem, skracając kod o "zbędną" linijkę. I czy takie "ominięcie problemu" jest naprawdę złe? Można się czepiać, o rozwiązanie że niekoniecznie tak jak miało być(lecz wynik nadal ten sam), ale nie chodzi w tym wszystkim programowaniu o to, żeby było krótko zwięźle i na temat?

Jak mówiłem, dopiero zaczynam i to jest dla mnie obce i totalnie czasami "czarna magia", ale powoli progresywnie staram się posuwać do przodu.

Po skończeniu tej książki jak najlepiej dalej ćwiczyć, rozwijać te umiejętności, a właściwie ich namiastkę?

Edytowane przez Limp20

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie zawsze będziesz mieć ten komfort by móc zmienić problem by go łatwiej rozwiązać ;)

Ale jak można - czemu nie.

 

Chociaż jak już naginać to zadanie, to jak pisałem wcześniej prędzej bym widział listę z samymi wyrazami. Wtedy join i doklejenie kropki.

W obecnym rozwiązaniu masz listę, ale o trochę niespójnej zawartości - wszystko to wyrazy, ale uwaga, ostatni element jest specjalny i wyjątkowy, bo to wyraz z kropką! :D

 

Najlepiej napisać sobie jakiś mały projekt. Lepiej mniejszy niż większy - ważne by z góry wiedzieć co chce się zrobić, by móc to skończyć.

Z innych rzeczy dobrze jest opanować sprawne posługiwanie się środowiskiem jakiego teraz używasz. Jak efektywnie debugować. No i oczywiście korzystanie z repozytorium.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ale jak można - czemu nie.

I taką odpowiedź chciałem usłyszeć. :):D

Najlepiej napisać sobie jakiś mały projekt. Lepiej mniejszy niż większy - ważne by z góry wiedzieć co chce się zrobić, by móc to skończyć.

Z innych rzeczy dobrze jest opanować sprawne posługiwanie się środowiskiem jakiego teraz używasz. Jak efektywnie debugować. No i oczywiście korzystanie z repozytorium.

Co do projektu to nie wiem co chciałbym zrobić. Nawet nie bardzo wiem co w tym języku można zrobić. Obecnie dopiero zacząłem naukę z wizją, że jak w miarę mi będzie szło to będę w stanie znaleźć jakąś pracę w tym zawodzie(programisty) i liczyć na "lepsze jutro". Wraz ze wzrostem wiedzy i umiejętności pewnie jakieś pomysły na jakieś projekty się pojawią.

Co do środowiska to IDLE jeżeli o to chodzi, a do reszty to Github - przynajmniej ten jest omawiany w książce i chyba na nim się skupie.

Edytowane przez Limp20

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie będę zakładał nowego tematu, tylko napiszę w tym.

Panowie czy panie jest kto tutaj na forum co sam się z siebie uczył się programowania? Jeżeli tak to jak nauka wyglądała w jego/jej przypadku?

A teraz tak ogólniej. Jak u was wyglądała sprawa ze znajomością składni kodu na początku? Uczyliście się tych "formułek" na pamięć, czy podczas tworzenia kodu pomagaliście sobie książkami czy internetem jak daną rzecz zrobić? A z czasem po prostu sam zaskoczy odpowiedni trybik?

I jeszcze jedno. Programowanie wymaga dość nieszablonowego myślenia, i czy podczas tworzenia kodu od razu wiecie co napisać, żeby spełniało swoje zadanie i dawało oczekiwany rezultat? Czy te błędy są nieuniknioną częścią pracy?

Fajnie by było jakby ktoś odpowiedział i napisał, że nie tylko u mnie wygląda to tak niekolorowo xd. Opiszcie jak to wyglądało u was i w jakim wieku zaczęliście się uczyć programowania?

Edytowane przez Limp20

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zacząłem jak miałem 13 lat - za zaoszczędzone pieniądze kupiłem sobie tablet i chciałem stworzyć własną aplikację. Wyczytałem, że można to zrobić w Javie i zeszło mi pół roku na przerabianiu podstaw jakiegoś kursu internetowego. Szybko się zniechęciłem (jak to u dzieciaków) i wracałem do pisania prostych programów co kilka miesięcy. Dopiero w liceum zacząłem siadać do tego regularnie i mniej więcej wtedy "zaskoczył odpowiedni trybik" ;)

Na początku zawsze jest ciężko - raz, że składnia może być na początku trudna do zrozumienia i zapamiętania, a dwa, że myślenie algorytmiczne też zazwyczaj z czasem przychodzi.

Zasada jest prosta - im więcej piszesz, tym łatwiej powinno być.

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie będę zakładał nowego tematu, tylko napiszę w tym.

Panowie czy panie jest kto tutaj na forum co sam się z siebie uczył się programowania? Jeżeli tak to jak nauka wyglądała w jego/jej przypadku?

 

Ja podstaw uczyłem się przez kilka tygodni na próbę, całkiem zresztą niedawno. Po prostu kupiłem podręczniki do samodzielnej nauki: mało (ale wystarczająco) łopatologiczny "Learn Python the Hard Way" i zdecydowanie łopatologiczny (aż za bardzo) "Head First: Learn to Code" (autorzy postawili właśnie na Pythona). Oba ogólnie cieszą się dobrą opinią.

 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dziękuję za odpowiedzi. Fajnie by było jakby ktoś z "wyjadaczy" napisał coś od siebie.

 

łopatologiczny "Learn Python the Hard Way" i zdecydowanie łopatologiczny (aż za bardzo) "Head First: Learn to Code" (autorzy postawili właśnie na Pythona). Oba ogólnie cieszą się dobrą opinią.[/size]

Uczyłeś się dla zaspokojenia ciekawości, hobby czy wiążesz dalsze plany z programowaniem i tą ścieżką zawodową?

 

Macie jakieś strony gdzie są zadania do poćwiczenia w pythonie.

Jestem po 3 dniu nauki. Przerobiłem pierwszy dział książki "programista samouk". Gdzie były całe podstawy pythona.(Bardziej podstawy podstaw) i chciałbym sobie to przećwiczyć. Interesowały by mnie najlepiej stonki, czy nawet jakieś książki gdzie jest zadanie, a później mamy rozwiązanie i możemy sobie sami sprawdzić poprawność naszego rozwiązania. W drugim dziale są już bardziej hardcorowe rzeczy a nie chciałbym "blokować" się poprzez słabą znajomość podstaw.(pętli, funkcji itp.) Każda pomoc mile widziana. Inaczej jak już ktoś siedzi w temacie, a inaczej jak ktoś dopiero zaczyna i nie wie czego dokładnie szukać. Mam kilka ćwiczeń z google ale chętnie zrobiłbym więcej :cool: :cool:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie będę zakładał nowego tematu, tylko napiszę w tym.

Panowie czy panie jest kto tutaj na forum co sam się z siebie uczył się programowania? Jeżeli tak to jak nauka wyglądała w jego/jej przypadku?

A teraz tak ogólniej. Jak u was wyglądała sprawa ze znajomością składni kodu na początku? Uczyliście się tych "formułek" na pamięć, czy podczas tworzenia kodu pomagaliście sobie książkami czy internetem jak daną rzecz zrobić? A z czasem po prostu sam zaskoczy odpowiedni trybik?

I jeszcze jedno. Programowanie wymaga dość nieszablonowego myślenia, i czy podczas tworzenia kodu od razu wiecie co napisać, żeby spełniało swoje zadanie i dawało oczekiwany rezultat? Czy te błędy są nieuniknioną częścią pracy?

Fajnie by było jakby ktoś odpowiedział i napisał, że nie tylko u mnie wygląda to tak niekolorowo xd. Opiszcie jak to wyglądało u was i w jakim wieku zaczęliście się uczyć programowania?

Na wstępie zaznaczę, że NIE JESTEM programistą. Ale tak, jakiś tam kod nauczyłem się klepać - najpierw, baaaaardzo dawno temu BASIC (bez dostepu do komputera, a poetm z dostępem raz na dwa tygodnie), potem Pascal (to juz majac komputer) i nawet trochę Assemblera (Z-80), a bardziej współcześnie kilka lat temu - Java. Zarabiam na życie robiąc całkiem inne rzeczy, a pisanie programików rozwiazujących mniej lub bardziej praktyczne problemy to raczej forma odpoczynku, czy moze raczej gimnastyki umysłu, żeby Alzhaimera złapać nieco później ;-)

Uczyłem się sam - z książek, z czasopism, potem - gdy już był - to z Internetu i powiem tak: składnia kodu na początku jest - IMHO - wtórna, bo zawsze możesz zajrzeć do notatek, coś sobie sprawdzic. Najważniejsze w tej poczatkowej fazie jest zrozumienie jak wtłoczyć problem w jakiś algorytm, stworzyć sobie w głowie czy (lepiej) na papierze schemat blokowy, ideę działania programu. Potem można to zakodować w dowolnym języku. Oczywiście, myśląc o zarabianiu na życie jako programista - musisz tę składnię ostatecznie opanować, nie tylko żeby sprawnie pisać, ale także, żeby sprawnie czytać co napisali inni, bo dziś mało kto w branży pisze wszystko od początku do końca sam (może apki na telefon - tak, ale poważniejsze projekty - zdecydowanie nie). Oczywiście często wystarczy wiedzieć, jak jakaś klasa działa: jak i jakie przekazać argumenty i co, oraz w jakiej formie dostanie się na wyjściu, bez zagłębiania się w sam mechanizm - ale czasem jednak możliwość rzucenia okiem na kod i załapania, jak to zostało napisane jest bezcenna - sporo się można nauczyć. Poza tym musisz opanować wszelkie 'oboczne' niuanse danego jezyka, neizwiazane może z samą implementacją pomysłu na działajacy program, ale ze specyfiką danego 'narzecza': obsługa błędów, struktura bardziej złozonych programów, kwestia obsługi zbiorów danych etc... Ja się właśnie w takiej kolejności uczyłem - najpierw zmusiłem się do 'myślenia jak komputer' nad problemem i znajdowania rozwiazań w oparciu o algebrę Boole'a i generalnie logikę formalną (teoria mnogości, zbiory, definiowalnośc etc), potem starałem się opanować składnie wybranego jezyka tak, by znalezione rozwiazanie przełożyć na wykonywalny kod, a na koniec zgłębiałem tajniki poprawnego i efektywnego pisania w danym jezyku z uwzględnieniem jego specyfiki.

Być może bardziej doświadczeni koledzy, prawdziwi programisci tu obecni wyśmieją moje podejście starego człowieka - nie obrażę się. Jednak mi właśnie taka metoda pozwoliła osiągnąć sukces - oczywiście na małą, amatorską skalę, ale nigdy nie zakładałem nic innego.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Szanuje za szczerość i odwagę.

Dla mnie każda nawet najmniejsza podpowiedź jest bardzo cenna.

Składnia kodu na początku jest - IMHO - wtórna, bo zawsze możesz zajrzeć do notatek, coś sobie sprawdzic. Najważniejsze w tej poczatkowej fazie jest zrozumienie jak wtłoczyć problem w jakiś algorytm, stworzyć sobie w głowie czy (lepiej) na papierze schemat blokowy, ideę działania programu. Potem można to zakodować w dowolnym języku.

Też w ten sposób staram się każdy problem "ugryźć", a dopiero później szukam odpowiedniej składni która odzwierciedli to. Dość czasochłonne podejście, ale w ten sposób mi najłatwiej. :)

Szkoda, że doświadczone osoby nie chcą się wypowiedzieć.

 

I takie pytanie:

 if n%3==0:

Czy ==0 jest niezbędne do dzielenia zbioru przez 3 bez reszty? Bo bez tego działa normalnie, ale może w określonych przypadkach musi być bo podzieli do licz zmiennoprzecinkowych?

Edytowane przez Limp20

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem po co ci opinia doświadczonej osoby. Python był moim n-tym z kolei językiem, na początek przeczytałem jakiś sieciowy tutorial o podstawach, a potem z dokumentacji. Zupełnie inaczej uczysz się pierwszego języka w ogóle, inaczej nowego paradygmatu (np. obiektowy, funkcyjny), a inaczej już któregoś kolejnego języka. Swojego pierwszego języka uczyłem się z książki i mam z nią całkiem miłe wspomnienia, ale ogólnie to z perspektywy czasu niezbyt ją polecam do nauki. No, ale w tamtych czasach jak byłeś młodym użytkownikiem Commodore 64 to korzystałeś z tego co było pod ręką i nie wybrzydzałeś.

 

Co do projektów - u mnie to zawsze przychodziło samo. Im lepiej poznawałem jakiś język tym więcej miałem pomysłów jak poznane elementy wykorzystać do stworzenia czegoś własnego - choćby prostej gry tekstowej, programu do przepytywania ze słówek itd. Może po prostu jesteś niecierpliwy, za mało jeszcze umiesz, żeby to się poukładało w coś sensownego?

 

P.S. Rozwiązanie z książki nie podoba mi się bo zakłada, że na końcu zawsze będzie kropka. Przy nie niewielkim wysiłku można zrobić, żeby zadziałało z wykrzyknikiem czy znakiem zapytania, a trochę większym nawet z trzema kropkami i innymi zmiennej długości.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A ja w ogóle nie jestem fanem książek na start, bo ludzie je tylko czytają zamiast pisać kod. Oczywiście problem leży między krzesłem a monitorem, ale jednak. Mało kto przepisze ten kod. Dlatego ja wolałem tutoriale online. Para nie idzie w przepisywanie i jest więcej czasu na eksperymentowanie z projektem. Można zobaczyć, co się stanie, jak zmienię to i owo. A jak już czuję, że kumam, próbuję zrobić samemu od zera i patrzę, co mnie zaskoczy.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

I takie pytanie:

 if n%3==0:

Czy ==0 jest niezbędne do dzielenia zbioru przez 3 bez reszty? Bo bez tego działa normalnie, ale może w określonych przypadkach musi być bo podzieli do licz zmiennoprzecinkowych?

Pythona nie znam ale zakładam, że tak samo jak w większości języków == jest operatorem porównania, = to operator przypisania.

 

W tym przykładzie masz 3 operacje:

-dzielenie z resztą: n%3 - da wynik 0 lub 1 lub 2

-porównanie wyniku dzielenia z resztą do 0: n%3 == 0 - da wynik true lub false

-instrukcja warunkowa: if - jeżeli wyrażenie pod if-em jest prawdziwe, to wykona się kolejna instrukcja, tutaj nie masz żadnych nawiasów, więc trzeba uważać na kolejność działań. Warto na początku nie skracać sobie składni takim brakiem nawiasów (nie wiem czy python w ogóle je ma), bo łatwo można się pomylić i wykonać inną operację niż się chciało.

 

Jeżeli pominie się ==0, to if będzie próbował zinterpretować n%3 jako wartość logiczną. Np. w C liczba 0 jest interpretowana jako false, a każda inna jako true. Jeżeli Python się tu nie wyróżnia to będzie działać analogicznie.

Jeżeli jest to element jakiejś pętli, to działanie się lekko zmieni. Zakładając prostą pętlę (pseudokod, C):

for(n=0;n<10;n++)
{
 if(n%3==0) cout<<"tak\n";
}

napis "tak" pojawi się 4 krotnie, dla n równego 0, 3, 6 i 9.

 

Dla:

for(n=0;n<10;n++)
{
 if(n%3) cout<<"tak\n";
}

napis "tak" pojawi się 6 krotnie, dla n równego 1, 2, 4, 5, 7, 8.

 

Proponuję powtórzyć sobie rozdział o operatorach, podstawowych działaniach, kolejności wykonywania i instrukcjach warunkowych.

Edytowane przez Bono[UG]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem po co ci opinia doświadczonej osoby.

 

Może po prostu jesteś niecierpliwy, za mało jeszcze umiesz, żeby to się poukładało w coś sensownego?

 

Ciekawy jestem po prostu jak to wygląda w praktyce. Osoba doświadczona może spojrzeć z perspektywy czasu na daną naukę i po prostu doradzić czego unikać, a na czym się skupiać. Wie co robiła i czego później się wymaga, czy jest mile widziane.

Nie sprecyzowałem pytania, a głównie chodziło o to jak wyglądała nauka języka jakiegokolwiek pierwszego niekoniecznie pythona. I później dalsze kroki takiej osoby. Pierwsza pracy czy może jakieś projekty opensources.

Mimo wszystko dziękuję za odpowiedź.

Co do cierpliwości i poziomu wiedzy. Mam jakieś pomysły ale nie są to rzeczy, które "wyczaruje" się po kilku dniach nauki. Cierpliwy jestem chyba.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
' date='15 Kwiecień 2020 - 16:33' timestamp='1586961189' post='15869639']

Jeżeli pominie się ==0, to if będzie próbował zinterpretować n%3 jako wartość logiczną. Np. w C liczba 0 jest interpretowana jako false, a każda inna jako true. Jeżeli Python się tu nie wyróżnia to będzie działać analogicznie.

W C to w zasadzie wynika z tego, że typy logiczne czy wskaźnikowe są w zasadzie intami - tam nie zachodzi nawet konwersja. A python rzeczywiście wewnątrz if-a próbuje zrzutować wartość na boola i wszystkie wbudowane typy mają "sensowne" i "spodziewane" konwersje: fałszem są liczby 0 (także zmiennoprzecinkowe), puste napisy, puste kolekcje, None (taki pythonowy null), a w klasach użytkownika szuka metody __bool__() lub __len__(). Z resztą można sobie to potestować w interaktywnej konsoli funckją bool().

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
' date='15 Kwiecień 2020 - 15:33' timestamp='1586961189' post='15869639']

Pythona nie znam ale zakładam, że tak samo jak w większości języków == jest operatorem porównania, = to operator przypisania.

 

Proponuję powtórzyć sobie rozdział o operatorach, podstawowych działaniach, kolejności wykonywania i instrukcjach warunkowych.

for n in range(1,21):
   if n%3==0:  # podzielne przez 3
       print(n)
       continue

Tak wygląda pełny kod. Tego zadanka - chodziło o wyświetlenie wszystkich liczb które dzielą się bez reszty przez 3. Ja dopiero zaczynam naukę tego języka stąd takie banalne pytania.

Dziękuję za tak obszerne wyjaśnienie.

 

Ale mam jeszcze jedno pytanie. Po jakim czasie zaczęliście tak dobrze kodzić i posiadać tak obszerną wiedzę. Czy niezbędne były do tego studia? I czy w ogóle możliwe jest nauczenie się tego wszystkiego samemu w domu?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ja akurat już wyrosłem z przekonania, że wymiatam - za dużym leniem jestem ;)

 

Pierwsze kontakty miałem chyba jeszcze przed szkołą podstawową lub jej same początki ale to było bezwiedne przepisywanie kodu basica z czasopism oraz ciut bardziej świadome zabawy logo.

Potem w 8 klasie był Pascal.

W liceum przerwa i dopiero na studiach coś konkretniejszego i więcej, choć większość w związku z nimi. W sumie jak się policzy, to przewinęło mi się przez palce w tym okresie około 10 różnych języków: Pascal, C, html, Java, Prolog (ten jest dziki), Scheme (Lisp), Perl, PHP, postgreSQL, jakieś urywki JavaScript, Bash, R.

Potem to już praca i douczanie się co w danej chwili potrzebne. W czasie wolnym już mi się nie chce, wolę się czymś innym zająć.

 

Do nauki języków i programowania nie są potrzebne studia, mogą jedynie ułatwić bo podają pewne rzeczy na tacy (zarówno podstawy składni, algorytmów i struktur danych ale też tematów, zadań, nie trzeba samemu wymyślać co by tu napisać), przymuszają, żeby coś robić, może też być łatwiej w grupie wytłumaczyć sobie nawzajem, czy zapytać prowadzących zajęcia.

W domu jak najbardziej się da, tylko trzeba mieć samodyscyplinę, bo nikt nie pogania.

 

Studia (brane na poważnie) dadzą przede wszystkim inną wiedzę i narzędzia niż kodzenie. Z takich czystszych informatycznie rzeczy, to teorię stojącą za metodami numerycznymi, kryptografią, bazami danych, statystyką itp. rzeczami.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
' date='16 Kwiecień 2020 - 15:30' timestamp='1587047441' post='15870947']

Do nauki języków i programowania nie są potrzebne studia, mogą jedynie ułatwić bo podają pewne rzeczy na tacy (zarówno podstawy składni, algorytmów i struktur danych ale też tematów, zadań, nie trzeba samemu wymyślać co by tu napisać), przymuszają, żeby coś robić, może też być łatwiej w grupie wytłumaczyć sobie nawzajem, czy zapytać prowadzących zajęcia.

W domu jak najbardziej się da, tylko trzeba mieć samodyscyplinę, bo nikt nie pogania.

 

Studia (brane na poważnie) dadzą przede wszystkim inną wiedzę i narzędzia niż kodzenie. Z takich czystszych informatycznie rzeczy, to teorię stojącą za metodami numerycznymi, kryptografią, bazami danych, statystyką itp. rzeczami.

Na dzienne nie pójdę, bo nie będę tego w stanie pogodzić z obecnymi obowiązkami. Zaocznie to chyba efekt będzie mniej więcej taki jak praktycznie nauka samemu w domu?

Co do nauki w domu możesz polecić jakieś serwisy gdzie szukać informacji, wskazówek itp?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ciężko mi coś polecić, z jednej strony jak czegoś szukam to do C++ (np. na http://www.cplusplus.com/reference/ ), z drugiej to rozwiązań konkretnych problemów.

 

Najczęściej korzystam z googla wklejając błąd z kompilaotra lub zadając pytanie związane z problemem (np. c++ vector memory leak). Czasem takich pytań trzeba zadać 5, 10 zanim wstrzeli się we właściwe i znajdzie identyczny lub chociaż podobny przypadek.

Wyniki często prowadzą do stron typu https://stackexchange.com https://stackoverflow.com/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ciekawy jestem po prostu jak to wygląda w praktyce. Osoba doświadczona może spojrzeć z perspektywy czasu na daną naukę i po prostu doradzić czego unikać, a na czym się skupiać. Wie co robiła i czego później się wymaga, czy jest mile widziane.

Nie sprecyzowałem pytania, a głównie chodziło o to jak wyglądała nauka języka jakiegokolwiek pierwszego niekoniecznie pythona. I później dalsze kroki takiej osoby. Pierwsza pracy czy może jakieś projekty opensources.

Mimo wszystko dziękuję za odpowiedź.

Co do cierpliwości i poziomu wiedzy. Mam jakieś pomysły ale nie są to rzeczy, które "wyczaruje" się po kilku dniach nauki. Cierpliwy jestem chyba.

Pewnie jakbym miał się cofnąć w czasie to bym pewnie też poświęcił trochę czasu rzeczom pozaprogramistycznym. Systemy kontroli wersji, bazy danych, sieci komputerowe itp.

 

Poza tym są pewnie umiejętności, których nawet po 10 latach klepania kodu w piwnicy się nie nauczysz dopóki nie pójdziesz do pracy. Część z nich można jednak nabyć właśnie działając w projektach open source. Zresztą teraz wiele z nich ma zwykle w bug trackerach pulę zadań dobrych na początek. Można wziąć, zrobić i wykorzystać jako punkt wejścia do zespołu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pewnie jakbym miał się cofnąć w czasie to bym pewnie też poświęcił trochę czasu rzeczom pozaprogramistycznym. Systemy kontroli wersji, bazy danych, sieci komputerowe itp.

Dzięki za odpowiedź, cenne uwagi. Sam osobiście kończyłeś studia na kierunku związanym w jakiś sposób z programowaniem, czy całą swoją naukę oparłeś na samodzielnej nauce?

Co do przyszłości to jeżeli będę miał możliwość i umiejętność to chciałbym pójść do pracy z tym związanej. Nawet na początek jakiś płatny staż, który pozwoli mi rozwinąć umiejętności mnie zadowoli. Od czegoś trzeba zacząć. A jak to mówią nie od razu Kraków zbudowano. Powoli byle do przodu.

Możesz jakąś stronkę podesłać gdzie takie projekty znajdę z tymi bugtrackerami?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie będę zakładał kolejnego tematu i napisze w tym.

Szukam dokumentacji pythona w języku polskim. Chodzi mi o to co mamy do dyspozycji w idle tylko przetłumaczone na polski i najlepiej w pdf. Jest w ogóle takie coś stworzone?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zły kierunek. Jakkolwiek byłoby to na początku trudne, przekopuj się przez angielską dokumentację i w międzyczasie doszkalaj angielski. W rodzimym języku może coś znajdziesz, ale jest ryzyko, że będzie to niekompletne czy nieaktualne.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...