Zmiana języka programowania - po jakim czasie?

0

Witam

Od razu napiszę, że jestem totalnym amatorem jeśli chodzi o programowanie, ale wiem, iż chcę wiązać przyszłość z tym zawodem, ponieważ programowanie to moja pasja. Uczę się C++ intensywnie od 3 miesięcy. Jestem uczniem pierwszej klasy technikum, ale niestety poziom nauczania programowania nawet na profilu informatycznym (na który uczęszczam) jest według mnie dość niski dlatego korzystam z książki pt. "Symfonia C++ Standard".

Na ten moment nie tknąłem żadnego innego języka prócz C++. Uczę się go, ponieważ uważam, że da mi on podstawy do szybszej nauki języków, które będą mi towarzyszyć w zawodzie. Cały świat informatyki jest dla mnie bardzo ciekawy, a więc chciałbym nauczyć się też podstaw: PHP, SQL, Pythona, HTML i CSS'a. Natomiast w stopniu eksperckim chciałbym opanować JS. Wiem, że jest to proces na lata i jestem na to w pełni przygotowany. Teraz po wstępie przejdę do pytania, które nurtuje mnie praktycznie od początku mojej przygody z kodowaniem.

1. Po jakim czasie nauki C++ mogę spokojnie przejść do nauki JS i reszty języków wyżej wymienionych?

2. Czy na tym etapie nauki mogę zaopatrzyć się w ten tytuł książki? http://helion.pl/ksiazki/php-i-mysql-tworzenie-stron-www-vademecum-profesjonalisty-wydanie-czwarte-luke-welling-laura-thomson,phms4v.htm
Jeśli chodzi o czas do nauki, chęci i cierpliwość to zdecydowanie nie brakuje mi żadnego z nich. Chodzi tylko o to, żeby wszystkie te informacje mi się "nie pomieszały" w głowie dlatego chciałbym zaczerpnąć opinii bardziej doświadczonych programistów, którzy być może przechodzili przez ten sam problem co ja.

Przed napisaniem tego tematu czytałem artykuł, w którym autor opisywał, że zmieniać język programowania można średnio co 1,5 - 2 lat, nie wiem ile jest w tym prawdy.

Z góry dziękuję za wszystkie poważne opinie dotyczące mojego problemu.

0

Po co Ci się uczyć Pythona, PHP i JS jak jeden z nich wystarczy Ci do backendu. W Pythonie będziesz pisał aplikacje desktopwe jak znasz C++, nie sądzę. Teraz jak jest Node wystarczy sam JS, lub PHP czy Python z Django. Najszybciej się piszę serwisy w Ruby on Rails.

0
Shizzer napisał(a):

Witam Od razu napiszę, że jestem totalnym amatorem jeśli chodzi o programowanie, ale wiem, iż chcę wiązać przyszłość z tym zawodem, ponieważ programowanie to moja pasja. Uczę się C++ intensywnie od 3 miesięcy. Jestem uczniem pierwszej klasy technikum, ale niestety poziom nauczania programowania nawet na profilu informatycznym (na który uczęszczam) jest według mnie dość niski

Kiedys za takie cos byly bany

1

Z mojego doświadczenia wynika, że jeżeli masz teraz jakąś książkę/kurs, z której się uczysz to najpierw przerób ją do końca i dopiero wtedy rozglądaj się za czymś innym. Jeżeli kupisz sobie dwie, trzy czy pięć książek (lub rozpoczniesz dwa, trzy lub pięć kursów) to prawdopodobnie żadnej nie przeczytasz do końca i będą się kurzyć na półce, do czasu gdy kupisz kolejne tytuły i tak w koło Macieju. Będziesz znał wszystko po trochu ale w niczym nie będziesz ekspertem, tymczasem programista w dzisiejszych czasach musi się specjalizować.

C++ to nie jest zły język do nauki, oczywiście ktoś powie, że są łatwiejsze języki np. Pascal czy Python i będzie miał rację, ale znajomość C++ poszerzy już na samym początku horyzonty. Moją jedyną propozycją dla Ciebie w tej chwili jest zmiana książki z Grębosza na Prata, a dokładnie na książkę "Język C++. Szkoła programowania.". Książka Grębosza jest nieaktualna i warto gdybyś od razu dowiedział się czym jest C++11 i STL.

0

Kiedy już wejdzie na dobre C++17?

0
Krzywy Terrorysta napisał(a):

Kiedy już wejdzie na dobre C++17?

Pewnie wtedy gdy komercyjne kompilatory będą to wspierać.
Póki co tylko GCC 7 i clang 4 jakoś wyglądają.

http://en.cppreference.com/w/cpp/compiler_support

1

Sam to poczujesz. Poczujesz, że chcesz spróbować czegoś innego bo do zadania x uznasz, że aktualny język się nie nadaje. Byleć nie leciał ze wszystkim naraz w takim momencie, tzn jeśli już idziesz w strony to robisz html +css potem js lub coś serwerowego lub sam js tez do serwera, chociaż osobiście polecam znać coś innego do serwerów. Ja przykładowo znam php które wspieram node.js od pewnego czasu, ale z racji szybkości pisania wole główną część strony napisać w php bo czas to pieniądz. wracając do sedna, sam wyczujesz, że potrzebujesz zmienić język byle nie skakać co tydzień na inny, oczy wiście możesz uznać, że język x nie jest dla ciebie i zrezygnować z niego, ja tak miałem z java, która poznałem po C# i jednak uznałem, ze wole apki na dekstopa pisać w C# i jave odpuściłem.

1

Zamiast korzystać na przemian z dwóch technologii PHP i Node, nie lepiej było wybrać Ruby on Rails, od wersji 2.4.1/5.1 znacząco przyspieszyło, napiszesz szybciej od PHP, a wspiera sockety i wielordzeniowość jak Node. Co do C++ to słyszałem że pan Jerzy Grębosz jest w trakcie pisania Symfonii 3, szkoda tylko że nadal w standardzie C++11. Przecież poprzednia też opisywała nowości C++11. Mógł chociaż pójść w C++14.

0

Nie sugeruj sie tym co piszą trole na forach, ucz sie tego czego chcesz

0
Wielki Stach napisał(a):

Zamiast korzystać na przemian z dwóch technologii PHP i Node, nie lepiej było wybrać Ruby on Rails, od wersji 2.4.1/5.1 znacząco przyspieszyło, napiszesz szybciej od PHP, a wspiera sockety i wielordzeniowość jak Node.

Patrzyłem, nie spodobała mi się składnia tak samo jak składnia pythona mi się nie podoba.

1

Jeśli chodzi o pierwszy podpunkt, to mi wystarczył rok średnio intensywnej nauki C++, aby potem bez żadnego trudu poradzić sobie z JS w takim zakresie jaki jest w technikum informatycznym.

0

W RoR nie ma sie czego uczyc, a juz na pewno nie programowania

0

To napisz czat na socketach w RoR, bez dobrej znajomości Ruby.

0

Dziękuję wszystkim za odpowiedzi te bardziej treściwe i mniej. Zdecydowałem, że dokończę Symfonię, a po niej wezmę się za JS. W międzyczasie poczytam też jakieś książki o sieciach komputerowych. Co do właśnie tych tytułów o sieciach to jakie polecacie na ten moment?

0

Uczę się C++ intensywnie od 3 miesięcy
...
.Na ten moment nie tknąłem żadnego innego języka prócz C++
...
Natomiast w stopniu eksperckim chciałbym opanować JS.

Skąd pomysł na opanowanie eksperckiego języka, w którym nigdy nie pisałeś?

Cały świat informatyki jest dla mnie bardzo ciekawy, a więc chciałbym nauczyć się też podstaw: PHP, SQL, Pythona, HTML i CSS'a.

"Cały świat informatyki" nie kończy się na znajomości języków programowania. Nawet zawężając "informatykę" do samego programowania, można w jednym języku pójść głębiej (np. nauczyć się robić gry, poznać algorytmy sztucznej inteligencji, tworzenia animacji, przetwarzania różnego rodzaju plików itp.). To będzie pewnie bardziej rozwijające niż skakanie po językach.

0
LukeJL napisał(a):

Uczę się C++ intensywnie od 3 miesięcy
...
.Na ten moment nie tknąłem żadnego innego języka prócz C++
...
Natomiast w stopniu eksperckim chciałbym opanować JS.

Skąd pomysł na opanowanie eksperckiego języka, w którym nigdy nie pisałeś?

Cały świat informatyki jest dla mnie bardzo ciekawy, a więc chciałbym nauczyć się też podstaw: PHP, SQL, Pythona, HTML i CSS'a.

"Cały świat informatyki" nie kończy się na znajomości języków programowania. Nawet zawężając "informatykę" do samego programowania, można w jednym języku pójść głębiej (np. nauczyć się robić gry, poznać algorytmy sztucznej inteligencji, tworzenia animacji, przetwarzania różnego rodzaju plików itp.). To będzie pewnie bardziej rozwijające niż skakanie po językach.

Źle się wyraziłem co do JS, masz rację. Może nie chciałbym opanować go w stopniu eksperckim, ponieważ rzeczywiście jeszcze się z nim na tyle nie zaznajomiłem, ale chciałbym się w przyszłości zacząć uczyć tego języka stąd pytania o czas jaki muszę poświęcić na C++ żeby łatwiej wejść w JavaScript.

Co do "całego świata informatyki" to nie interesuję się tylko i wyłącznie językami programowania. Odniosłem się w tym temacie akurat do języków programowania, ponieważ chciałem dowiedzieć się czy warto się w nie zagłębiać przed skończeniem lektury Symfonii.

0

Jak dla mnie JavaScript + ECMAscript 6 + Angular + React + jQuery + Node.js + Express jest tak samo trudne jak opanowanie Javy z całą jej otoczką.

0

ale chciałbym się w przyszłości zacząć uczyć tego języka stąd pytania o czas jaki muszę poświęcić na C++ żeby łatwiej wejść w JavaScript.

Źle patrzysz. Nie ucz się języków programowania, tylko ucz się programowania.

Znajomość języka C++ może ci przeszkodzić w nauce JavaScriptu (bo to zupełnie inne języki i będziesz się musiał przestawiać na myślenie JavaScriptowe, które jest skrajnie odmienne, i JavaScript generalnie całkiem inaczej działa niż C++ i tylko będziesz miał ciągłe niespodzianki).

Z drugiej strony samo programowanie w C++ może ci pomóc potem programowaniu w JavaScripcie, ponieważ wiele rzeczy w programowaniu jest niezależnych od języka (np. wieczną pętlę albo przepełnienie stosu możesz zrobić niechcący zarówno w C++ jak i w JS)

0

Dlaczego profesjonalni programiści innych języków tak nie lubią JavaScript, jest dla nich zbyt skomplikowany?

1
Wesoły Tony napisał(a):

Dlaczego profesjonalni programiści innych języków tak nie lubią JavaScript, jest dla nich zbyt skomplikowany?

Każdy trzyma przy swoim i próbuje podbudować swoją samoocenę określaniem innych języków jako beznadziejnych. Nie tylko JS, parę postów wyżej to samo jest z RoR.

0
Wesoły Tony napisał(a):

Dlaczego profesjonalni programiści innych języków tak nie lubią JavaScript, jest dla nich zbyt skomplikowany?

Jest "inny". Jego działanie jest asynchroniczne i z racji tego, że przeglądarki muszą wspierać cały js można w nim użyć sporo naleciałości które się zbierały przez dziesiątki lat. I w sumie tylko o to biega. No i niektórzy backendowcy że boja, że nagle ich pracodawca powiem "teraz backend robimy w node.js więc potrzebujemy w firmie tylko fullstacków" :) Żeby nie było sam w nim robie jak napisałem w poście wyżej ale do osiągnięcia tego poziomu który mam potrzeba było przejść drogę przez mękę :)

2

Siema,
Akurat jestem js'owcem. I generalnie jak chcesz skończyć na JS to pomiń wszystko co wymieniłeś oprócz HTML i CSS.
Naucz się najpierw HTML, przejdź do CSS, a na końcu do JS. Jeżeli nie masz problemu ze zrozumieniem C++ to dwa pierwsze będą dla Ciebie banałem i tylko kwestia praktyki.
A co do JS'a to niestety większość osób ma o nim znikome pojęcie tutaj.I budują swoją opinie na opini innych. JS jest inny niż C++, PHP czy Python ale bez tragiedii. To nadal język programowania :)
Ja serdecznie polecam. Świetny język. Jest BARDZO nowoczesny, z czym dużo ludzi nie potrafi sobie poradzić bo myślą że to nowe rzeczy w przyszłości jakimś cudem przestaną działać i w ogóle okarze się że pół internetu jest do przepisania :)

Mam doświadczenie też w Pythone, C++ i PHP więc jest to moja obiektywna opinia.

ps. No i widełki na JS'a zaczynają się często tam gdzie w innych językach się kończą :)

Pozdrawiam

0

Po Symfonii, dalej nic nie będziesz umiał z c++;
A co do JS, to jedyny wartośiowy post zamieszony w tym temacie jest @Stiffler'a.

Poproś rodziców aby fundnęli Ci jakąś książkę z podstawiami np. Stroustrupa po angielsku koniecznie;

Jak ją przerobisz to będziesz mógł uznać, że coś wiesz z c++;

http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

I zapomnij o wszystkich kursach/książkach w języku polskim, one są dla pseudo-programistów.

Zapraszamy na irc.freenode.net #c++ #c++-general i chyba jeszcze jest jakiś kanał dla początkujących lub quakenet #c++

4

@Shizzer

  1. Po jakim czasie nauki C++ mogę spokojnie przejść do nauki JS i reszty języków wyżej wymienionych?

A jak bardzo chcesz znać C++? Bo jak chcesz znać JS a nie C++ to polecałbym jednak naukę JS. Języki inne niż C++ nie są jego sub/supersetami. Mimo że maja elementy wspólne, to żeby nauczyć się fora możesz się go uczyć w JS, nie musisz w C++.

0
Maciej Cąderek napisał(a):

@Shizzer

  1. Po jakim czasie nauki C++ mogę spokojnie przejść do nauki JS i reszty języków wyżej wymienionych?

A jak bardzo chcesz znać C++? Bo jak chcesz znać JS a nie C++ to polecałbym jednak naukę JS. Języki inne niż C++ nie są jego sub/supersetami. Mimo że maja elementy wspólne, to żeby nauczyć się fora możesz się go uczyć w JS, nie musisz w C++.

Kupiłem sobie książkę i chciałbym przerobić ją do końca, (chodzi o Symfonię rzecz jasna) dodatkowo w szkole aktualnie "uczymy się" języka C++ chociaż ciężko to nauką nazwać. Z tego właśnie powodu ciężko mi przerzucić się na JS, ale wiem, że czas leci. Chodzi też o to, że programuję na poważnie dopiero 3 miesiące i zaznajamiam się w ogóle ze strukturą C++. Uważacie, że w tym momencie powinienem przerwać naukę C++ i zająć się JavaScript? (dodam, że w C++ jestem aktualnie przy dynamicznym alokowaniu tablic)

2

@Shizzer:
Ja nic nie uważam - jak chcesz lub potrzebujesz się uczyć C++ to się ucz. Próbuję tylko zdementować durny mit, jakoby C++ było jakąś podstawą, bez której nie można się dobrze nauczyć innych języków.

0

W który język do backendu warto teraz inwestować naukę Ruby on Rails czy Node? Kiedyś zapytałem programistę który pracuje w tych dwóch technologiach, czy jak by teraz miał wybór zmienić technologię odpowiedział że tak.

0
Zimny Programista napisał(a):

W który język do backendu warto teraz inwestować naukę Ruby on Rails czy Node? Kiedyś zapytałem programistę który pracuje w tych dwóch technologiach, czy jak by teraz miał wybór zmienić technologię odpowiedział że tak.

Zamiast myslec w co sie oplaca inwestowac lepiej pomyslec 'co mi sie podoba' i zaczac sie tego uczyc.

0
Maciej Cąderek napisał(a):

Ja nic nie uważam - jak chcesz lub potrzebujesz się uczyć C++ to się ucz. Próbuję tylko zdementować durny mit, jakoby C++ było jakąś podstawą, bez której nie można się dobrze nauczyć innych języków.

Ogólnie na ten moment moje programowanie wygląda tak, że czerpię z niego radość i korzyść intelektualną, a nic poza tym. Umiejętności wykorzystuje jedynie w szkole i w pisaniu programów, które znajdę w internecie jak i w książce.

Myśląc jednak pod kątem przyszłości, dobrym wyborem byłaby nauka JS'a. C++ uczę się dlatego, ponieważ kupiłem sobie książkę, którą chciałbym skończyć, dlatego, że chcę zaznajomić się z "myśleniem programisty" i dlatego, że będąc w szkole złapałem bakcyla do programowania, a jak wiadomo w szkole "uczą" C++. Nie uczę się C++ pod kątem tego, by zostać programistą C++. Mój problem polega na tym, że teraz jako początkującemu ciężko mi podjąć decyzję czy uczyć się dalej C++ i za około rok zacząć zmieniać język na JS czy zmienić to już teraz. Trochę boję się konsekwencji tej zmiany na tak wczesnym etapie mojej przygody z programowaniem. Obawiam się, że uciekając od standardów C++ będę musiał uczyć się JS od początku. Dlatego opierając się o moje powyższe wypociny, niech ktoś napiszę mi czy warto, abym w tym momencie zrezygnował z C++ i zajął się JS? Przepraszam za nachalność, ale jest to dosyć ważna dla mnie kwestia.

1

@Shizzer:

No to podsumujmy:

  • chcesz programować w JS,
  • uczysz się programować w C++.

Wniosek wyciągnij sam.

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