Java, Python czy JavaScript

Java, Python czy JavaScript
D3
  • Rejestracja:8 miesięcy
  • Ostatnio:8 miesięcy
  • Postów:7
0

Co jest dalej na topie z tej trójcy. Który z tych języków zapewni mi posadkę na 15 lat? Zwłaszcza że Jave zastępuje Go i Kotlin, JS zastępuje TS, a Pythona też atakuje Go i inne Elixiry. @szatkus1 ale odnieś się do tych nowych języków które atakują te starą wielką trójcę.

edytowany 1x, ostatnio: dawid35
szatkus1
  • Rejestracja:prawie 22 lata
  • Ostatnio:około 16 godzin
1

Wszystkie trzy są popularne i długo nie wyjdą z użycia 🤷🏻‍♂️

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10064
4

Nie ma sensu przywiązywać się do języków. Poświęć czas na rozwijanie się w dziedzinach które są przekrojowe na wszystkie technologie: clean code, devops, agile, praca w zespole, komunikacja, praca w iteracjach, tdd, separation of conerns, modularność, loose-coupling, etc.

M0
@Riddle: jakie jeszcze tematy polecasz do nauki? Mógłbyś wymienić jeszcze kilka?
Riddle
@mariusz00: kohezja, pair programming, lean, feedback loops, continuous delivery (ale nie ci/cd jak jenkins, tylko CD jak np. w książce "Continuous Delivery" od David Farley), YAGNI, jak pracować z ludźmi (szacunek, granie do jednej bramki), interactions over processes (z agile manifesto), usuwanie silosów, cross-functional-teams.
Riddle
Wielu terminów trochę boję się używać, bo ich znaczenie się rozmyło, np "user story", czyli patrzenie na program przez pryzmat pewnego problemu użytkownika, tego co chce zrobić, bez żadnych technicznych terminów - rzecz która jest 100% super. Ale została rozmyta jako "rzecz do zrobienia", dodana do jiry, kojarzona ze story points; i jeśli tak się patrzy na user story, to już nie jest tak wartościowa :/
M0
fajnie dzięki, troche nowej wiedzy mi wpadnie
D3
  • Rejestracja:8 miesięcy
  • Ostatnio:8 miesięcy
  • Postów:7
0

@Riddle Ja chyba jestem starej szkoły i lubię skupić się na jednym języku jak kiedyś ludzie od C, C++ i Javy, gdzie prawie całe swoje życie programowali w jednym języku i byli w nim najlepsi. Nie pasuje mi takie skakanie po językach i frameworkach jak w JavaScript. Jakoś tak mi się wydaje że takie osoby nie potrafią dużo znają tylko na pamieć tysiące konfiguracji i poleceń do instalowania tych zewnętrznych bibliotek przez npm. Patrze na te polecajki zawodowych programistów.

https://przemelek.blogspot.com/2010/01/java-javascript-python-c-c-co-ma.html
https://przemelek.blogspot.com/2017/03/java-javascript-python-c-c-co-ma.html

Na przykład ten youtuber ciągle poleca do nauki Jave i Python ponieważ on w nich pisze i uważa te języki za najlepsze. Znając Jave i Pythona znajdziesz pracę wszędzie. Gdy ludzie go proszą aby zrobił tutorial do innych nowszych języków jak Kotlin i Scala to nie chce, dlatego że Java jest całkiem dobra i woli zrobić kurs do C++ w wersji C++11.

edytowany 1x, ostatnio: dawid35
AD
  • Rejestracja:ponad rok
  • Ostatnio:około godziny
  • Postów:326
0

15 lat szmat czasu przy obecnej dynamice. 3 razy może się zmienić.

D3
To co wybrać Swift? Język stworzony w 2014 roku czyli całkiem nowy z bardzo czytelną składnią. https://www.youtube.com/watch?v=8Xg7E9shq0U https://www.youtube.com/watch?v=J239BhLvOCA
AD
Cokolwiek co ci da pracę teraz i się rozwijać żeby za 15 lat język nie miał znaczenia.
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:minuta
  • Postów:8414
0
dawid35 napisał(a):

Java, Python czy JavaScript
Co jest dalej na topie z tej trójcy. Który z tych języków zapewni mi posadkę na 15 lat?

Żaden z tych. W tych językach masę juniorów jest, którzy po upływie czasu staną się seniorami z 15 letnim doświadczeniem.

Poza tym narzędzia no-code, AI oraz SaaS zaorają potrzebę zatrudniania programisty do wszystkiego. Jeśli już, to będzie się szukać programisty do specjalistycznych rozwiązań.

Pewną nadzieją może napawać fakt, że zostanie mnóstwo legacy, więc jakaś praca będzie przy utrzymywaniu starych projektów.


edytowany 2x, ostatnio: LukeJL
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:3 dni
  • Postów:5112
0

@dawid35

@Riddle Ja chyba jestem starej szkoły i lubię skupić się na jednym języku jak kiedyś ludzie od C, C++ i Javy, gdzie prawie całe swoje życie programowali w jednym języku i byli w nim najlepsi. Nie pasuje mi takie skakanie po językach i frameworkach jak w JavaScript. Jakoś tak mi się wydaje że takie osoby nie potrafią dużo znają tylko na pamieć tysiące konfiguracji i poleceń do instalowania tych zewnętrznych bibliotek przez npm.

Osoby piszące w różnych językach prędzej mają problemy z tymi wszystkimi g**no package managerami, systemami budowania, konfigami tooli itd

No bo nie oszukujmy się, ale zazwyczaj to jest wiedza nieprzenaszalna, na którą często po prostu szkoda czasu (patrz na jakieś dzikie skrypty cmake).

Osoba która piszę w wielu językach ma na pewno szerszą perspektywę:

co do pryncypiów, patternów (bo różne patterny są popularne w różnych językach ze względu m.in na featuresy języków),

co do podejść do danego problemu (w różnych językach mogą być popularne różne podejścia do danego problemu).


Na pewno taka osoba widzi gdzie dany język ssie w jakimś miejscu, a gdzie robi coś bardzo dobrze. Jest to w stanie ocenić, bo ma perspektywę.

Taka osoba widzi czy dany język sprawdza się przy danych problemach czy też nie.

Osoba która zna wiele języków ma łatwiej jeżeli chce robić różne rzeczy:

Chcesz robić web backend? no to np Java/C#

Chcesz pisać firmware? no to np C

Chcesz rozwijać Firefoxa? no to pewnie C++/Rust

i tak dalej

Oczywiście wadą jest że taka osoba ma pewnie bardziej powierzchowną wiedzę jeżeli mocno się nie przyłoży do każdego nowego języka, a często pewnie tego ludzie nie robią, bo nie mają takiej potrzeby, bo wystarczy im wiedza z innych języków aby dowozić tematy.

Patrze na te polecajki zawodowych programistów.

A tutaj nie ma 'zawodowych programistów'?

edytowany 5x, ostatnio: WeiXiao
D3
I co uważasz że osoba co zna 20 języków to wszystko zapamięta aby napisać dobry kod? Porównując ją z osobą która codziennie pisze tylko w C i zna ten język na wylot.
WeiXiao
ale po co wskakujesz w skrajny przypadek 20 jezykow, a nie np. 3-4? zresztą, a co ma pamiętać jeżeli większość rzeczy jest przenaszalna pomiędzy językami - jak projektowac kod, jak projektowac abstrakcjne, etc.
D3
W innych językach poza C jak Java czy C# musisz też znać frameworki i inne technologie więc nawet 4 języki z 4 frameworkami, frontend, SQL to sporo wiedzy do przyswojenia. No chyba że mówimy tylko o podstawach i nie wgłębiamy się dokładnie. To może napisz czego się uczyć zaczynając w tym roku, aby wejść w branżę Jave, C#? Jaką technologię powinien wybrać mądry programista gdyby miał zaczynać od zera?
WeiXiao
Nie da się odpowiedzieć na to pytanie. Przecież nikt nie wie jakie są oferty pracy w twoim miejscu zamieszkania, nikt nie wie jak będzie wyglądał rynek, nikt nie wie jaka ścieżka byłaby najlepsza dla ciebie, nikt nie wie jakie firmy/projekty ci się będą podobać. Jeżeli wolisz być bliżej HW to C/C++, jeżeli web to C#/Java. Jeżeli toole/skrypty to może go/python? Jeżeli nie lubisz topornych technologii to unikaj C/CPP itd itd
RJ
  • Rejestracja:ponad 2 lata
  • Ostatnio:około 4 godziny
  • Postów:436
1

@Riddle: popieram w 100%. Nie skupialbym się na językach, ale na mechanizmach. Wzorce projektowe da się wszędzie zaimplementować, a jak się zrozumie idee za czymś to technologia nie robi różnicy, bo wiesz o co chodzi pod spodem.

AN
  • Rejestracja:prawie 19 lat
  • Ostatnio:8 minut
1

Na tak postawione pytanie nie ma jednoznacznej odpowiedzi i nie da się przewidzieć, co się stanie. Sugestia zapoznania się z tematami przekrojowymi, jak devops, clean code, modularność ma większy sens niż sam język.

Należy wziąć pod uwagę, że oprócz samego języka istnieje cała otoczka, od której znajomości zależy "dostanie się" do firmy i utrzymanie się w niej. Na przykład w Java jest Hibernate, Spring. Za to w C# jest na przykład Razor lub Blazor (nie pamiętam teraz jak się to nazywa, bo i tak tego nie znam i nie korzystam z tego), ASP.NET, ADO. Chodzi o to, że o ile samą logikę można w identyczny sposób zbudować w każdym języku, o tyle pewne operacje robi się z wykorzystaniem różnych narzędzi i bibliotek w bardzo różny sposób.

Rzecz w tym, że na przykład Java, C# i C++ są prawie takie same, jak chodzi to samo programowanie obiektowe, ale bardzo różnią się pod względem wymienionej wyżej otoczki.

Taki JavaScript wydaje się być nieśmiertelny, bo to jedyny w pełni obsługiwany język do skryptów na aplikacjach webowych. Kiedyś do przeglądarek był VBScript, ale działał tylko w Internet Explorer. TypeScript to taka jakby nadbudowa do JavaScript tym bardziej, że kompilacja polega na konwersji do JavaScript.

Dobrym przykładem jest Macromedia/Adobe Flash, który ma o tyle ciekawą historię, że jeszcze kilkanaście lat temu był bardzo popularny i wydawać by się mogło, że nieśmiertelny, to obecnie zostało po tym wspomnienie. Z moich obserwacji wynika, że w najpopularniejszym zastosowaniu (czyli reklamy i proste gierki), programiści bardzo szybko przestawili się na to, co oferuje HTML5+JS.

Język np. C, C++ obecnie wydaje się nieśmiertelny, ale z drugiej strony niektórzy uważają, że ustąpią miejsca językowi Rust. Co do samego Rusta to też zdania są podzielone, bo choć on sam ma swoje zalety nad C++, to jedni uważają, że ma świetlaną przyszłość, a drudzy uważają, że jest i będzie to raczej niszowy język.

edytowany 4x, ostatnio: andrzejlisek
WeiXiao
ja tę otoczkę nazywam ekosystemem
D3
Tylko że ludzie piszą że w JS + HTML5 jest 1000 podań na kilka miejsc. W Javie i C# tak samo jest przesyt programistów, a C/C++ nie jest przyszłościowe. To może warto zwrócić jeszcze uwagę na PHP, Ruby, Elixir, R, Julia?
LukeJL
przyszłościowe to nadużywane słowo. Obstawiam, że w przyszłości wciąż dużo miejsc pracy będzie w przeszłościowych technologiach, w których będzie trzeba utrzymywać legacy kod. W tych przyszłościowych pewnie będzie mniej miejsc pracy, boi firmy będą pewnie mniej innowacji robić niż teraz. Widać już, co się dzieje z AI. Kiedyś trzeba było robić samemu machine learning, teraz są API i wystarczy napisać prompta. Albo teraz do prawie wszystkiego można znaleźć jakieś gotowe rozwiązanie, jakiś SaaS, który robi coś z automatu. Albo powstają też narzędzia low-code
GO
  • Rejestracja:12 miesięcy
  • Ostatnio:4 miesiące
  • Postów:358
0

Może powinieneś podejść do tego odwrotnie najpierw się zatrudnij, a potem się dokształcaj z tego języka, do którego cię zatrudnili.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)