Będąc dziś w Inmedio natrafiłem na takie coś:
https://www.komputerswiat.pl/python
Nie miałem dotąd styczności z programowaniem i jest to dla mnie na tą chwilę "czarna magia". Czy ten język jest, faktycznie jak piszą w tej książeczce, bardzo prosty? Czy jako osoba nie mająca nic wspólnego z programowaniem dam radę się tego nauczyć? Myślałem o...przekwalifikowaniu w stronę informatyki, ale nie wiem czy bez studiów informatycznych ma to sens....
Jest to język interpretowany, więc to prawda, że jest prosty.
Jak jesteś dobry z matmy to i poradzisz sobie z programowaniem.
Z języków kompilowanych polecam od razu C++ i Java czy C#.
Ja w tej chwili myślę o kierunku Automatyka i Robotyka tylko czasem zastanawiam się czy już na to nie jestem za stary... Wiek 30+
Jedno ale, C++ odradzam. Albo C# albo Java, albo coś do frontu (Angular lub React), Czemu odradzam C++? Jest to język niezwykle trudny by opanować go dobrze. Studentom wydaje się, że go znają ale w rzeczywistości nie mają pojęcia jak korzystać z jego możliwości prawidłowo. W rezultacie nie jest to język, którego można nauczyć się samemu. No i z pracą sytuacja wygląda średnio, bo dobry programisty C++ jet rozchwytywany i zarabia naprawdę dużo, jednak jest stosunkowo mało ofert na juniorów więc i start ciężki. Podczas gdy klepaczy C# czy Jay rynek przyjmie każdą ilość tak długo jak potrafią cokolwiek praktycznego.
C++ ma sens jak chce się w branży growej robić, ale trzeba być do tego naprawdę dobrym.
Tak, język jest prosty i jestem żywym dowodem tego, że można się go nauczyć "na samouka", na takim poziomie, by umieć pisać w nim narzędzia potrzebne do zrobienia... czegoś.
Polecam skupić się jak najwięcej na zrozumieniu podstaw, czyli:
zmienne, typy, listy, słowniki, funkcje, pętle, warunki, klasy itd. itp.
Nim zaczniesz korzystać z gotowych bibliotek, których jest multum, warto posiedzieć trochę nad "czystym językiem" i porozkminiać, co się da, a czego się nie da zrobić, na najprostszych przykładach.
Ja się w sumie przekwalifikowałem jakiś czas temu na programistę, a pierwszym krokiem było opanowanie Pythona "na samouka". Dopiero ostatnio zacząłem trochę bardziej zgłębiać wiedzę z informatyki i matematyki jako takiej, ale to już z czystej chęci poszerzania wiedzy, bo nauczenie się "kodzenia" jest do zrobienia przez każdego, kto myśli logicznie :). Informatyka daje narzędzia, by zrozumieć, jak działa komputer, jak zarządzać pamięcią. Gdy znasz np... nie wiem - teorię zbiorów przybliżonych, to jesteś w stanie ją wykorzystać, by stworzyć jakiś bardziej wydajny algorytm, niż stworzony przez kogoś, kto takiej wiedzy nie ma. Albo będziesz wiedział krok po kroku, co robi interpreter i dlaczego. Ale żeby używać języka, pisać wydajne i w miarę szybkie, funkcjonalne programy, potrzebujesz zrozumienia języka, praktyki, czasu i paru wyzwań.
Python to moja pierwsza miłość i nie ma tygodnia, bym czegoś w tym nie "kodził" w wolnym czasie. Python jest wysokopoziomowy, więc bardzo krótkimi poleceniami i prymitywną składnią jesteś w stanie coś zaprogramować.
Co do samej nauki. Nie wiem, jak będzie u Ciebie, ale mnie ciężko było iść przez kursy i rozwiązywać krótkie zadanka, które mi tam zadawano. Najwięcej nauczyłem się wymyślając sobie projekt i męcząc się, szukając metod do jego realizacji.
Z matmy zawsze byłem noga...Ot, gówniani nauczyciele, zwłaszcza w okresie podstawówkowo - gimnazjalnym. No i też jestem już po 30tce więc ze szkoły to ja wiele nie pamiętam, jeśli cokolwiek....Trudno.
Ogólnie powiem tak: Programowanie jest inne niż matma. Braki z matmy rozumiem. Chodzi o to czy masz umysł do nauk ścisłych? Nic poprubuj. Jak ujażmisz Pythona to znaczy, że masz głowę do tego. Programowanie to ciągłe uczenie się czegoś i abstrakcyjne myślenie. Jak dla mnie to nie to. Wolę coś z obsługą maszyn, urządzeń, robotów, elektronika.
Jeśli chcesz mogę ocenić twoje predyspozycje, zostałem programistą w dwa lata ucząc się po szkole, udzielałem korepetycji itp. także co nieco wiem :D
Nie uważam, żebyś do programowania potrzebował zaawansowanej wiedzy z matmy.
Oczywiście, jeśli robisz jakieś programowanie statystyczne z analizą interakcji i testowaniem hipotez, to matma się przydaje, ale są całe GAŁĘZIE programowania, gdzie matematyki jest po prostu mało lub jest ona na niskim poziomie.
Jesteś w stanie stworzyć cuda, korzystając niemalże wyłącznie z dodawania, odejmowania, mnożenia i dzielenia.
Chcesz np. stworzyć narzędzie, które policzy średni wiek dla wszystkich osób, które... nie wiem... brały udział w ankiecie.
Matematyka w Pythonie do zrobienia czegoś takiego, to zliczenie rekordów/elementów, odpowiadających ludziom, którzy się wpisali i policzenie lat między datą wpisu, a datą ich urodzenia. Ot, po prostu zależy, co chcesz stworzyć. Python zapewnia Ci wiele narzędzi, które może i opierają się na zaawansowanych koncepcjach matematycznych, ale Ty ich nie musisz znać, żeby z nich korzystać. Przykładowo taka biblioteka seaborn, czy plotly. Od dawna korzystam z tego do produkowania wypasionych, interaktywnych wykresów z fajerwerkami, ale nawet przez sekundę nie miałem ochoty zaglądać do kodu źródłowego, żeby wiedzieć, jak to jest napisane. Ot, wystarczy mi wiedza, że muszę wskazać, jakie liczby stworzą oś x, jakie liczby stworzą oś y i czy legenda po prawej.
Daj sobie szansę :). To nie jest czarna magia.
EDIT - albo jeszcze inaczej. Ok, nie jesteś matematykiem, nie jesteś informatykiem. Ja też nie. Jestem biologiem i znam się na genetyce i genomice. Wiem np., że potrzebuję każdej mutacji przyporządkować zasocjowaną z nią chorobę. I wiem, że muszę zakomunikować to w jakiś sposób komputerowi, by zrobił to sprawnie za mnie. Alternatywą byłoby ręczne wklepywanie excela przez cały zespół, przez trzy miesiące. Ty nie jesteś matematykiem, ani informatykiem, ale prawdopodobnie wyspecjalizowałeś się w czymś, czego niuanse rozumiesz. Rozumiesz problematykę, wyjątki, dane, specyfikę działki, w której działasz. Programowanie umożliwi Ci zautomatyzowanie części rzeczy i ułatwienie sobie życia. Będzie to po prostu przydane narzędzie w skrzynce, po które warto sięgnąć :). A nawet jeśli nie jesteś w stanie znaleźć zastosowania w zawodzie, to chociażby w hobby?
Edit2 - wyjdzie z tego wpisu epopeja, ale Ty de facto nie wiesz, czy potrafisz myśleć ściśle. To, że zrazili Cię nauczyciele i wmówiłeś sobie, że jesteś noga, to jedno. Ale co innego, gdy ktoś Ci każe liczyć przy tablicy i drze ryj, gdy się pomylisz, a inaczej, gdy próbujesz przejść fajną grę, a na Twojej drodze staje łamigłówka :).
Pominąłeś jeden dział matematyki, który trzeba znać dość dobrze, mianowicie logikę. To jest potrzebna na każdym poziomie. Bo jeżeli masz się przez pół godziny zastanawiać nad każdym bardziej złożonym ifem to może być ciężko :P
Oczywiście przy klasycznym programowaniu wystarczy poziom z ogólniaka. Byleby płynny.
To nie jest trudne. Co do matmy to najbardziej przydatnym matematycznym przedmiotem są "algorytmy i struktury danych".
Też zaczynałem uczyć się w późnym wieku i byłem humanistą ale tak naprawdę... Matematyka wydawała mi się niezbyt interesującą. Udało mi się nadrobić zaleglosci i na studiach zaliczyć wszystkie matematyczne przedmioty. Fajne są kursy z etrapez, gość tak potrafi wytłumaczyć matematykę, że nauczy każdego.
Dobrze, skoro już jest taki temat to ktoś poleca jakiś konkretny kurs/cokolwiek do nauki?
Ja jestem zdania, że nie ma znaczenia co robisz, byle by robić. Niektórzy dłużej planują i się zbierają do czegoś niż faktycznie coś robią. Po jakimś czasie nabędziesz obycia i będziesz wiedział jak się mniej więcej ukierunkować. Ja jako początkujący zacząłbym chyba od najbardziej popularnego kursu na udemy.com, czyli python bootcamp.
Ja patrząc na dzisiejszy rynek, zapotrzebowanie o stopnie trudności to poleciłbym googlowy kurs angulara. Jest konkretny, praktyczny, uczy czegoś na co jest popyt i gdzie nie trzeba mieć kosmicznej wiedzy. Idealne na początek, zwłaszcza, że sam framework jest popularny.
Chyba, że jest się nastolatkiem i myśli o studiowaniu infy, wtedy poleciłbym C#. W przeciwieństwie do Javy jeżyk jest bardziej uporządkowany i nie ma dziwnych naleciałości ze względu na wsteczną kompatybilność, więc na początek idealny. Jednakże tutaj jest wyższy próg wejścia na rynek. Samouk frontendowiec znajdzie robotę, programista C# bez żadnych papierów może mieć dużo ciężej.