Język, scieżka nauki.

0

Witam.
Pewnie temat był wałkowany milion razy, ale wolę zapytać bezpośrednio.
Od dłuższego czasu myślałem na temat nauki programowania w wolnym czasie, wiążąc z tym większe lub mniejsze nadzieje z późniejszą pracą w kierunku programisty. Aktualnie mam 21 lat i studiuję ekonomię, więc nie mam nieograniczonej ilości na nauke programowania.

Na początku czerwca zdecydowałem, że jeśli chcę zacząć, to teraz, bo nie ma na co czekać, a zwlekanie mi nie pomoże. Poszukałem informacji, popytałem wśród znajomych i większość poradziła mi naukę C++ na początku (moja jedyna styczność do tej pory to podstawy w Pascalu), a poźniej ew. zmianę języka.

W związku z tym mam pytanie: czy taki scenariusz jest sensowny? Przykładowo nauczyć się C++ do jakiegoś w miarę porządnego stopnia, a następnie kierować się popytem w moim mieście i zacząć uczyć sie np. Javy czy c#?

0

Programista musi umieć szukać informacji i to jest jego najważniejsza umiejętność.

https://www.quora.com/Which-is-more-beneficial-to-learn-as-a-first-programming-language-Java-or-C++-Why

C++ vs Java, Java vs C#, Java vs Python, jaki język na początek itp. tematów jest od metra, bo zazwyczaj zadają je początkujący, a takich jest najwięcej.

1

Pytanie czy jest sens się uczyć C++, żeby potem z niego rezygnować ;)
Równie dobrze możesz zacząć od razu od Javy lub C#, jeśli będziesz wiedział co chcesz osiągnąć. Poświęć tydzień na każdy z tych języków i zobacz który wygląda najlepiej dla Ciebie.

1

Najpierw weź coś funkcjonalnego jak elixir, wyrób dobre nawyki i dopiero uderzaj w masówki typu java/c#

0
Pipes napisał(a):

Pytanie czy jest sens się uczyć C++, żeby potem z niego rezygnować ;)
Równie dobrze możesz zacząć od razu od Javy lub C#, jeśli będziesz wiedział co chcesz osiągnąć. Poświęć tydzień na każdy z tych języków i zobacz który wygląda najlepiej dla Ciebie.

Nie wiem czy będę musiał z niego rezygnować, ale też nie wiem jak wygląda sytuacja: które języki stają się coraz bardziej popularne, a które mniej.

4

Ja bym zrobił tak, jak ty -- ale nie dla wszystkich taka droga jest dobra...

C++ to bardzo obszerny język, ma możliwości (w samym języku, nie w bibliotekach) dużo więcej niż Java i ma tę zaletę, że jak się go już nauczysz (porządnie), to przesiadka na inny będzie zawsze (prawie) na prostszy, więc szybko się przestawisz (aczkolwiek pewnie paru ficzerów z C++ w tym czy innym języku będzie Ci brakowało). Bo prawie każdy inny język mainstreamowy różni się od C++ tym, że czegoś mu brakuje w stosunku do C++, a nie daje nic w zamian -- poza biblioteką (co jest bardzo ważne, oczywiście!).

Natomiast moim zdaniem kierowanie się popytem przy wyborze pierwszego języka jest słabe -- poza przypadkiem, gdy szybko chcesz znaleźć pracę.

Natomiast dobrym językiem do nauki programowania -- wręcz rewelacyjnym, moim zdaniem -- jest Python.

0

Dla kogoś kto nie miał dużej styczności z IT nie polecam C++, chyba, że masz dużo czasu i chęci.

Polecam język skryptowy Python i wraz z nim naukę podstaw linuxa.

Jeśli chodzi o Python na pewno znajdziesz jakieś źródła.

Co do linuxa polecam "The LINUX Command Line - Complete Introduction" - przynajmniej pierwsze 130 stron.

Powodzenia.

0

@maryiusz -- nie chodzi o możliwości w sensie, że czegoś Java nie może; chodzi o to, że Java NIE MA pewnych mechanizmów i musi robić pewne rzeczy inaczej. Niektórzy wręcz uważają, że te braki Javy (czy Pythona, Haskella, C, PHP itp... właściwie każdego języka) to ficzer, bo nie trzeba się uczyć dodatkowych (niepotrzebnych?) rzeczy, a więc ma się wolniejszą głowę i można skupić się na meritum. Ja tak nie uważam. :)

A co do konkretów: Java/Python nie ma na przykład przekazywania obiektu przez wartość; nie ma arytmetyki wskaźników. Java nie ma przeciążania operatorów. Itd.

Jeszcze raz: nie chodzi mi o to, że Java/Python czegoś nie może, tylko, że trzeba użyć innych narzędzi. Inaczej: Żeby coś zrobić w C++ jest więcej sposobów niż w większości innych języków mainstreamowych.

PS. Nie mówię też o bibliotekach, w szczególności standardowych. :)

1

Już Tobie napisali, język na początku - ważne by nie przeszkadzał w nauce programowania, czyli taki do którego masz dobre materialy/dobrego nauczyciela oraz filozofia języka jest dla Ciebie w miarę przyswajalna, C++ to trudny język, ale to jeszcze niczego nie przesądza. Jeśli zdecydujesz się juz na C++ jednak, to raczej (co też w wielu miejscach polecaja niestety) to raczej nie Symfonię, ona była bardzo dobrym podręcznikiem w latach 90, gdy C++ było tak na prawdę C z klasami. Jak już się zdecydujesz to raczej weź tego Stroustrupa, albo podążaj za kursem, który pisze @fasadin tutaj

1
koszalek-opalek napisał(a):

C++ to bardzo obszerny język, ma możliwości (w samym języku, nie w bibliotekach) dużo więcej niż Java i ma tę zaletę, że jak się go już nauczysz (porządnie), to przesiadka na inny będzie zawsze (prawie) na prostszy, więc szybko się przestawisz (aczkolwiek pewnie paru ficzerów z C++ w tym czy innym języku będzie Ci brakowało).

Taa...

Ci "szybko przestawieni" znawcy C++ mają niezwykle częstą tendencję do pseudomikrooptymalizacji, stosowania notacji węgierskiej, prób wpychania na siłę rzeczy na stos (np. definiując struct zamiast class w C#), niepotrzebnego używania preinkrementacji i pisania kompletnie proceduralnego kodu, mimo że nawet takie archaiczne języki jak Java mają już prawie funkcyjne elementy.

Może są tacy, którzy potrafią po nauce C++ pisać w innych językach, ale na podstawie swojego kilkuletniego doświadczenia w pomaganiu takim ludziom na tym forum oraz innych kanałach, stwierdzam, że jedyne co C++ potrafi, to nauczyć antywzorców i niepragmatycznego podejścia do rozwiązywania problemów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1