Opis języków programowania 2018

0

Doświadczeni programiści zalecili mi mniej więcej: "wybierz byle jaki język i pisz kod!" - tak też zrobiłem i już prawię rok czasu piszę hobbystycznie w C/C++. Głównie przeróżne zadanka z internetu, ale były też bardzo małe niedokończone projekty. Założenie było, że wezmę na start byle jaki język i po prostu sprawdzę czy kodzenie mi się podoba, no i okazuje się że się podoba i to bardzo.

Za niedługo kończę liceum i wypadałoby już zacząć robić coś więcej niż "hobbystyczne pisanie". Chciałbym wybrać jakiś konkretny język i go całkiem dobrze ogarnąć, później znaleźć pracę juniorską i być może zacząć studia.

Do C++/C nic nie mam, podoba mi się, ale od kilku miesięcy odświeżam sobie oferty pracy no i... w porównaniu do innych języków jest bardzo mało ofert dla juniorów w tych językach. Serio mało. Więc wolałbym zmienić na coś co jest bardziej junior-friendly. (ofc dalej będę się doszkalał w C++ ale bardziej tylko 'przy okazji')

Problem jest taki że nie wiem dokładnie jakie generalnie najczęściej zastosowania mają przeróżne języki i jakie możliwości na rynku pracy miałbym znając dany język. Byłoby fajnie gdyby ktoś mi to objaśnił. Np. Kiedy korpo X w projekcie Y decyduje się na użycie Javy zamiast np. .NET albo Pythona? Czym się kierowała firma X wybierając do swojego projektu Ruby zamiast Pythona? itd.

Wiem, jedynie że programowanie front-endowe nie jest dla mnie. Trochę się pobawiłem z html, css, podstawami JS i nie mam po prostu na to nerwów (ani skilla).

PHP, Java, C#, Python, Ruby - te języki mnie najbardziej interesują. Może mi ktoś coś więcej o nich napisać? Co najprawdopodobniej będę w pracy robił jako [nazwa języka] Developer (pomijając jakieś niszowe zastosowania). Np.:

Java:

  • miejsce pracy: głównie banki i korpo
  • najczęstsze zastosowania: android, web

Python:

  • miejsce pracy: głównie małe firmy i start-upy
  • najczęstsze zastosowania: web, machine learning, big data, tam gdzie jest dużo obliczeń

^ to co napisałem jest ofc wyssane z palca, tylko jako przykład napisałem na jakich informacjach mi zależy.

Oczywiście nie skreślam innych języków typu Scala albo Haskell, choć przeczuwam że one podobnie jak C++ nie są za bardzo dla juniora.

Z góry dziękuję doświadczonym za objaśnienie czym głównie różnią się te języki oraz ewentualną pomoc w nakierowaniu mnie ;)

0

Dodam, że jakiekolwiek inne informacje co do języków również byłyby bardzo przydatne. Np (wyssane z palca i niekoniecznie prawdziwe):

  • Java to przyszłościowy język, bo 95% korpo używa Javy i za 10 lat nadal będzie trzeba utrzymywać te projekty
  • Ciężko w Javie znaleźć entry-level job mimo wielu ofert, bo jest olbrzymia konkurencja ze względu na to że jest w programie prawie każdych studiów
1

Może lepiej zastanów się co Ty chcesz robić i do tego wybierz język?

0
teez napisał(a):

Może lepiej zastanów się co Ty chcesz robić i do tego wybierz język?

Zdecydowanie nie front-end. Jakby to było coś niszowego np. forensics albo neural networks, to bym nie zadawał w/w pytań.
Chciałbym robić zapewne coś związanego ogólnie z logiką, backendem, być może algorytmami - więc prawdopodobnie web albo software.

0
Jaskiniowiec napisał(a):

Dylematy maturzysty

Zdecydowanie nie front-end.
AND
Chciałbym [....] - więc prawdopodobnie web

0

Jak spiepszysz coś w korporacji i Javie to odbije się to dużym echem, jak spiepszysz coś w Pythonie i mniejsza strona padnie, odbije się to bez echa.

0
Skromny Terrorysta napisał(a):

Jak spiepszysz coś w korporacji i Javie to odbije się to dużym echem, jak spiepszysz coś w Pythonie i mniejsza strona padnie, odbije się to bez echa.

przepraszam że co ?
przecież kultura korporacyjna, dokumentacja, TDD, dobre praktyki, code reviews, scrum, srum, pierdum i masa innych pierdów które rzekomo dają gwarancję że wszystko musi się udać
to jak tu można coś spieprzyć ?
czyżby te wszystkie madrości mozna było o kant peeezdy potłuc ?

1

Ktoś się chyba naoglądał bajek o tym, że w korporacjach powszechne są dobre praktyki.

0
Chumor zeszytów szkolnych napisał(a):
Jaskiniowiec napisał(a):

Dylematy maturzysty

Zdecydowanie nie front-end.
AND
Chciałbym [....] - więc prawdopodobnie web

Web potrzebuje też backendu i to zwykle on pochłania najwięcej pieniędzy.

Skromny Terrorysta napisał(a):

Jak spiepszysz coś w korporacji i Javie to odbije się to dużym echem, jak spiepszysz coś w Pythonie i mniejsza strona padnie, odbije się to bez echa.

Ale tu już porównujesz skalę firmy, a nie język programowania. Pracuję w różnych korpo już dobrych kilka lat i nawet nie słyszałem specjalnie by ktoś zrobił coś co odbiło się dużym echem. No może oprócz legendy z Sabre, gdzie koleś wstawił checkboxa, którego niezaznaczenie powodowało anulowanie biletu bez ostrzeżenia (czy jakoś tak - ktoś o tym opowiedział by rozbawić towarzystwo). Nie siej paniki.

0

A z nowych języków programowania, który jest najbardziej nowoczesny? Scala, Kotlin, Swift, Go, Rust, Elixir, który z nich zdobywa największą sympatię programistów, czyżby Swift i Rust?

0

A z nowych języków programowania, który jest najbardziej nowoczesny?

Hmm, ten który jest najnowszy? :P Co to znaczy najbardziej nowoczesny w tym kontekście? Jak to zmierzyć?

tóry z nich zdobywa największą sympatię programistów

Sympatię programistów możesz sobie na SO obejrzeć: 2017: Most Loved, Dreaded, and Wanted Languages

Wygląda na to, że nie wiesz za co się brać. Poczytaj opisy języków programowania, ich zastosowania, ilość ofert pracy i wybierz ten, który cię przekonuje.

0

Tak jak myślałem Rust i Swit, a do tego co to znaczy nowoczesny. To myślałem o takich językach które pozbyły się null czy innych złych praktyk programowania.

0

Rust nie ma nulla i jest dużym postępem w stosunku do np C++ w wielu aspektach. Jednak jeśli chodzi o zarządzanie pamięcią to nadal automatyczne odśmiecanie pamięci jest najbardziej niezawodnym, wygodnym i kompletnym rozwiązaniem. "Sprytne" wskaźniki ze zliczaniem referencji to ułomna proteza przy braku GC.

0

Proponuję żebyś sam zrobił takie zestawienie i się nim podzielił.
Tutaj każdy będzie głównie chwalił język który zna i jest do niego przekonany.

Co jest popularne na GitHub (czyli tam gdzie realnie ludzie robią coś głównie dla zabawy):
http://www.benfrederickson.com/ranking-programming-languages-by-github-users/

Czego ludzie od algorytmów chcą się uczyć w 2018r:
https://research.hackerrank.com/developer-skills/2018/

Czego używali użytkownicy produktów JetBrains w 2017r:
https://www.jetbrains.com/research/devecosystem-2017/

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