Początki programowania

0

Hej, kończę studia z dziedziny elektryki, pracuję już w zawodzie itd. ale nie do końca to czuję.
Na studiach miałem podstawy C, C# i generalne trochę zajmuje się programowaniem PLC.
Z własnej ciekawości chciałem na takim dość niskim poziomie opanować z grubsza te języki jak html, c++, c#, java i zobaczyć czy coś spodoba mi się bardziej.
Niestety nie jestem w stanie stwierdzić co wolę a nauka idzie mi w podobny sposób bez większych komplikacji.
W związku z tym chciałbym zapytać się Was jaki kierunek obrać. Chciałbym za kilka lat (bez żadnej presji) spróbować jako junior dev.
Od jakiego języka zacząć i będę miał po tym największe perspektywy podjęcia pracy za te np. 2-3 lata. Chciałbym się skupić na jednym i go opanować jak najlepiej.

0

Naturalnie JavaScript.

0
tsz napisał(a):

Naturalnie JavaScript.

Czemu?
Co prawda kiedyś miałem stronę internetową i forum, na jakimś laickim poziomie tą stronkę napisałem w html i css. Nawet to było przyjemne jakieś głupoty dodawać w stylu rozwijanych bloków po najechaniu kursorem czy wstawianie buttonów na podobnej zasadzie itd.
Jak się nie mylę to jest część front-endu, pytanie czy to będzie opłacalne finansowo w porównaniu z back-endem?
Ogłoszenia o pracę dla juniora front-endu zawierają w większości multum wymagań, np. php, js, html, css, jquery, mysql, git itd.

1
Amba napisał(a):
tsz napisał(a):

Naturalnie JavaScript.

Czemu?
Co prawda kiedyś miałem stronę internetową i forum, na jakimś laickim poziomie tą stronkę napisałem w html i css. Nawet to było przyjemne jakieś głupoty dodawać w stylu rozwijanych bloków po najechaniu kursorem czy wstawianie buttonów na podobnej zasadzie itd.
Jak się nie mylę to jest część front-endu, pytanie czy to będzie opłacalne finansowo w porównaniu z back-endem?
Ogłoszenia o pracę dla juniora front-endu zawierają w większości multum wymagań, np. php, js, html, css, jquery, mysql, git itd.
Oryginalną wypowiedź napisałem trochę śmieszkowo, ale tylko trochę.

JS się mocno zmienił przez... no, właściwie przez całość swojego istnienia. Teraz to jest dojrzały ekosystem. Praca w tym jest, czy to frontend czy backend.
Pobaw się i zdecyduj. Kierunek nie jest wcale taki najgłupszy, bo teraz sporo softu powstaje w JS. Nawet pomimo tego, że przez większość mojej kariery zawodowej nie miałem delikatnnie mówiąc dobrego zdania o tym języku, to teraz muszę uczciwie przyznać, że jest fajny bardzo.

2

Zacznij sobie od javy/C#/pythona/php. Wszystko się nada oprócz javascriptu - już Common Lisp będzie lepszy od js-a jeżeli chcesz nauczyć się dobrych praktyk. No chyba, że od razu zaczniesz klepać we frameworkach - z reactem i setką bibliotek do sprawdzania, czy liczba jest parzysta ten język staje się całkiem użyteczny.

Ale jednak myślę, że taki php+laravel będzie lepszy na początek (jeżeli chodzi o normalność ekosystemu i próg wejścia). Jeżeli chcesz iść w enter-price to java/c#.

Potem js-a i tak będziesz musiał się nauczyć, ale będziesz miał wyrobione dobre praktyki z innych języków.

0

Czy generalnie byłby to dobry plan, żeby zacząć od c# i dopiero później iść w js i ewentualnie potem html+css na przykład?

1
Amba napisał(a):

Czy generalnie byłby to dobry plan, żeby zacząć od c# i dopiero później iść w js i ewentualnie potem html+css na przykład?

Jeżeli wybrałeś sobie C# (korporacyjna droga dla tych, co nie mają żyłki do archeologii), to zacznij od niego. Z tym że html-a/css-a powinieneś nauczyć się przed js-em.

0
part napisał(a):
Amba napisał(a):

Czy generalnie byłby to dobry plan, żeby zacząć od c# i dopiero później iść w js i ewentualnie potem html+css na przykład?

Jeżeli wybrałeś sobie C# (korporacyjna droga dla tych, co nie mają żyłki do archeologii), to zacznij od niego. Z tym że html-a/css-a powinieneś nauczyć się przed js-em.

Wiem, że równie dobrze mogę nauczyć się javy. W sumie jednego i drugiego uczyłem się dopiero 30~40 godzin.
Pytanie tylko czy ten obrazek jest prawdziwy w praktyce:
https://www.wykop.pl/cdn/c320[...]uSNkqqBdwL1yN0fj8kCHUvYLg.jpg

Jeśli tak to wychodzi, że jednak może java i wtedy html, css, js i sql.
Wiem, że głupio się zastanawiam ale chciałbym teraz to dobrze przemyśleć i nie znaleźć się w sytuacji, gdzie uczę się czegoś pół roku i stwierdzam, że to jednak nie to.

3

Ten obrazek jest dość stary, C# nie wiąże się ściśle ani z wielkimi firmami, ani z programowaniem desktopa na Windowsie. A od jakiegoś czasu w ogóle z programowaniem na Windowsie.

Zasadnicza różnica między .NET a Javą jest taka, że rynek Javy ma więcej ofert, ale też i więcej chętnych, tak więc konkurencja mniej więcej ta sama. Ponoć przeciętna stawka w Javie jest niewiele wyższa niż w .NET, ale to znowuż dotyczy raczej większych firm i konieczności utrzymania bardzo starego kodu. Ja zresztą w ogóle nie ufam tego typu ankietom.

3

Jeśli chcesz mieć pewną robotę za te kilka lat to:

  • COBOL / REXX / RPG / PL-1 - w banku (jeśli najbardziej lubisz programować m. 9 a 17)
  • Java - w banku, firmach finansowych, korpo, mobile
  • C# - aplikacje w podobnych obszarach co Java plus gamedev (Unity)
  • JavaScript/TypeScript - front-end (React, Angular, Vue.js), back-end (node.js), cloud / AWS / GCP / lambdy, gamedev (html5)
  • Python - często jako narzędzie dodatkowe, automatyzacja zadań, uczenie maszynowe, data science (Jupiter), czasem back-end (Flask), do zabawy (PyGame)
  • PHP - back-end (tylko / aż)
  • Fortran (HPC - astrofizyka, przewidywanie pogody - OpenMP, MPI itd)
  • C - rozwiązania blisko sprzętu, programowanie systemowe, HPC (astronomia, przewidywanie pogody)
  • C++ - machine learning, programowanie systemowe, HPC
  • Kotlin - mobile (trudno orzec czy będzie za x lat), poza tym front-end (kompilacja do JS) i native
  • Go - DevOps
  • Lua - skryptowanie gier
  • R - machine learning, data science

Jest jeszcze kilka ciekawszych języków, ale trudno powiedzieć czy zdobędą jakiś obszar na wyłączność:

  • Julia - uczenie maszynowe (wydajniejsze od Pythona, wygodniejsze od C)
  • Nim - nowocześniejsze C
  • Clojure / Racket - LISP
  • Haskell - FP
  • Elixir (back-end, FP, bazuje na Erlangu)
  • Elm - front-end, FP
  • Scala.js - Scala na front-end (?)
  • Swift - język fanów Apple'a

Inne:

  • Scala / Scalaz - trochę chyba to zarosło, nie wiem czy i gdzie ma / będzie miało dominującą rolę, chyba najczęściej jako zabawka dla dżawowców chroniąca przed wypaleniem
  • D - czy ktoś widział zastosowanie produkcyjne?
  • Pascal - kiedyś język dominujący (80'), dzisiaj ciekawostka edukacyjna
  • Perl - jeśli lubisz wyrażenia regularne

Na czas studiów do programowania zadań na zaliczenie proponuję Ci Pythona, ma jedno z najszerszych zastosowań (obok C# i Javy), nie jest tak upierdliwy jak C/C++, jest popularny, działa wszędzie.
10-minutowy kurs: https://www.stavros.io/tutorials/python/

P.S. Jeśli któraś z szufladek powyżej jest nieaktualna, proszę o poprawienie mnie.

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