Dlaczego java to bezpieczny wybór i w co byś zainwestował czas?

0

Java to pewny wybór to oczywiste, jednak czas na zostanie najlepiej opłcanym weteranem czyli takim 15 lat + już minął. Zastanawiam się w jaki wschodzący język zainwestować swój czas
GO wygląda obiecująco https://www.google.com/trends/explore#q=golang
D https://www.google.com/trends/explore#q=D%20language czyli pretendent do zastąpienia C++ jest tam gdzie jest od lat
Javascript co prawda już troche ma, jednak teraz przeżywa drugie życie dzięki TS, node i ogólnym hypie na ten język ES6 zapowiada się obiecująco

Tak wiem, można się nauczyć technologi w każdym momencie jej życia, tylko od dłuższego czasu zastanwiam się w którą strone branża pójdzie. Oczywiście nie ograniczam się do frameworka x i języka y dalej znajomość C jest bardzo ważna mam nadzieje na sensowną dyskusję.

0

Ostatnio na forum mieliśmy trochę przebłysków Rusta.

0

Do łask wraca również stary paradygmat funkcyjny (Clojure, Haskell, Scala, F# ...)

2

Disclaimer: ten wątek jest z założenia nastawiony na hipotetyzowanie, więc przewidywania które pisze to przewidywania, a nie fakty.

D https://www.google.com/trends/explore#q=D%20language czyli pretendent do zastąpienia C++ jest tam gdzie jest od lat

Na 'rynku' jest już dłuugo, raczej wątpię żeby nagle zainteresowanie skoczyło. Ciekawy język ale jeśli szukasz "javy przyszłości" to kompletnie nie tędy droga.

GO wygląda obiecująco https://www.google.com/trends/explore#q=golang

Go jest coraz bardziej popularne, ale nie wiem jak będzie z jego użyciem w przyszłości. Może jestem pesymistyczny bo nie lubię go jakoś bardzo :P. W każdym razie javą 2.0 nie będzie, bo ma swoją niszę której się trzyma.

d9e35da1fb.png

Jeśli szukasz czegoś w rodzaju D albo GO, to trendy jest jeszcze rust (ta sama nisza):
http://www.google.com/trends/explore#q=rust%20language
6020f1550c.png

Ciekawie sie zainteresowanie rozkłada:
e355dbc288.png

Javascript co prawda już troche ma, jednak teraz przeżywa drugie życie dzięki TS, node i ogólnym hypie na ten język ES6 zapowiada się obiecująco

Javascript na pewno jest dobrym wyborem (nie widać kompletnie prób wyparcia go z przeglądarek, chyba że wrapperami jak coffeescript albo TS). Na pewno nauka js nie zaszkodzi. Z drugiej strony nie wiem czy node do mainstreamu kiedykolwiek wejdzie (jako narzędzie do tworzenia aplikacji serwerowych, to znaczy).

Historia zatoczyła koło i środek ciężkości stron internetowych przesuwa się z powrotem do klienta, więc na pewno coraz więcej pracy w tym będzie. Nie wiem czy wystarczająco żeby być równie wielka jak java obecnie, ale historia różnie sie może potoczyć.

A odpowiadając na pytanie - może C#?
<fanboy mode="on">

  • Java done right (standardowy slogan żeby rozpocząć flamewar :P)
  • bezpośredni konkurent javy
  • młodszy, wiec być może to teraz jest optymalny moment na rozpoczęcia nauki
  • bardzo dynamicznie się ostatnio rozwija
  • ładny (ok, kwestia gustu)
    </fanboy>
1

jeśli mogę rzucić żartem, czyli trochę zaspamować to:
R logo svg
if you know what I mean..

Mogłbym powiedzieć, że Scala czy inny funkcyjny język, ale tak się nie stanie. Słyszałem, że Scala jest trudna, ale ostatnio dopiero poczułem to na własnej skórze. Język wagi Javy musi byc prosty (składniowo) jak ona sama. Stąd skłaniałbym się ku JS (nie mówie, że jest łatwy, ale ilość frameworków prace w nim np mi bardzo ułatwiła), C# (mniej) lub.. jakiemuś językowi typu Rust, Go, D, F# (których niestety nie znam więc czysto hipotetycznie zakładam, że są nowe więc może niosą coś fajnego :))

0
msm napisał(a):

A odpowiadając na pytanie - może C#?

Z przyczyn ideologicznych nie ta pratforma :)

Tak serio, prób przejścia na windowsa było co najmniej kilka i każda kończyła się ostrą frustracją.

Zobaczymy jak wszystko zrobią opensource i zacznie to działać jeszcze lepiej na linuxach + dojdzie IDE do C# na poziomie IntelliJ to pomyśle, bo w port VS nie wierzę.

0
Świetny Kaczor napisał(a):

bo w port VS nie wierzę.

To sie kolega zdziwi:, bo port VS już jest: https://code.visualstudio.com/Download

1

Z przyczyn ideologicznych nie ta pratforma :)

Ale juz możesz pisać w C# na innych platformach, nawet opensource jest.

Nawet dzisiaj (z 3 godziny temu) wyszło IDE od ms na win/mac/linux ;) - "Visual Studio Code" (https://code.visualstudio.com), chociaż ze zwykłym VS nie ma wiele wspólnego.

Zobaczymy jak wszystko zrobią opensource i zacznie to działać jeszcze lepiej na linuxach + dojdzie IDE do C# na poziomie IntelliJ to pomyśle, bo w port VS nie wierzę.

Nieźle im to opensourcowanie idzie na razie. A VS też by chętnie sportowali, ale to raczej nie będzie proste więc możemy trochę poczekać...

No ale rozumiem kwestie ideologiczne i nie namawiam.

0

Myślę, że Javę mimo wszystko warto znać. Jeżeli planujesz naukę również innych, mniej popularnych języków na poważnie, to rozważyłbym następujące opcje:
Python, Kotlin (działa na JVM), Scala (działa na JVM), Go, Haskell, Rust, Dart, R.
Możesz porobić parę "hello worldów" i małych projekcików w każdym z tych języków, poznać popularne narzędzia i inne tematy z nimi związane (IDE, biblioteki do testów, build systemy, zarządzanie zależnościami, jak duże jest community etc.), a potem zdecydować, co bardziej Ci podchodzi, samemu wyciągnąć wnioski, co zyskuje dużą popularność i skupić się na bardziej dogłębnej nauce jednej z wybranych technologii.
Jest to moja subiektywna opinia, ale tak właśnie podszedłbym do tematu. Sam na co dzień piszę w Javie, ale próbuję się dodatkowo doszkalać z Pythona ze względu na jego praktyczne aspekty (np. możliwość szybkiego pisania małych skryptów i narzędzi) i fakt, że jest to naprawdę fajny język, gdzie community kładzie nacisk na prostotę i czystość kodu, co bardzo mi się podoba. Planuję też bardziej podszkolić się z Kotlina. Na dalszy ogień pewnie pójdzie Go i Haskell. Z resztą zobaczymy. :-)
Microsoftowe języki na razie olewam. Jak wypuszczą Visual Studio na inne systemy, to może spróbuję :-D.

0

Java rządzi i będzie rządzić przez najbliższe lata (szczególnie w WEB), ale zgadzam się, że warto znać Pythona (coraz więcej się w nim robi i Python jest mocny w Desktopie i w Web), a jak ktoś planuje wyłącznie pracować w WEB (to na pewno Ruby, znów Python, a niedługo być może też Elixir - zapowiada się super). Mobile, to trudno powiedzieć, ale chyba najlepsze wyjście to teraz C# i Xamarin (Kivy na razie kuleje; a QT/C++ jest chyba rzadko wykorzystywane (nie wiem dlaczego, ktoś wie?); A Embarcadero ....wypada fajnie, ale chyba tylko na slajdach, no i ta cena :) !!! ), nie mam przekonania do "hybryd" (Cordova, PhoneGap i inne).

0

W Polsce python nie ma wziecia i wedlug mnie to chwilowa moda. No i dalej jest dynamiczny. Nie jest tez za bardzo funkcyjny i jezyki z tym aspektem moga pythona wypierac.

Zreszta rozne wesje 2.7 i 3.x to byla jakas glupota.

0

Mobile, to trudno powiedzieć, ale chyba najlepsze wyjście to teraz C# i Xamarin (Kivy na razie kuleje; a QT/C++ jest chyba rzadko wykorzystywane (nie wiem dlaczego, ktoś wie?)

Nie jestem zwolennikiem technologii Xamarin, którą próbuje lobbować Microsoft. Wg mnie średnio to wygląda i te cross-platformowe projekty są potem wątpliwej jakości choćbyśmy się naprawdę bardzo starali. Uważam, że najlepiej pisać takie projekty "po bożemu", tj. dla iOS-a Obj-C lub Swift, a do Androida Java lub Kotlin. C# możemy użyć do Windows Phone, który ma na razie znikomy procent rynku. O Kivy nie słyszałem. Nie słyszałem też, aby ktoś używał QT do aplikacji mobilnych. Pewnie wynika to z tego, że marketing jest słaby, albo środowisko i język mniej przyjazne, mniej popularne lub trudniejsze do opanowania. Mimo wszystko w Javie, C# lub Swifcie można kod pisać dużo szybciej i łatwiej, niż w C++.

W Polsce python nie ma wziecia i wedlug mnie to chwilowa moda. No i dalej jest dynamiczny. Nie jest tez za bardzo funkcyjny i jezyki z tym aspektem moga pythona wypierac.

Python rzeczywiście nie jest zbyt popularny i jeśli ktoś chce celować w coś "bardziej pewnego", to raczej bym go nie polecał, ponieważ ofert pracy w tej technologii nie ma zbyt wielu, ale zdarzają się też całkiem niezłe. Poleciłbym ten język w ramach poszerzenia horyzontów i jako "narzędzie pomocnicze". Czasami trzeba coś oskryptować w systemie lub na serwerze lub stworzyć jakieś mini-narzędzie i Python się do tego lepiej nadaje, niż np. Java, a Bash jest IMO trochę mniej przyjazny, choć go też warto znać.

0

Poszerzanie horyzontów zawsze na propsie.

Co do skryptowania to przy javie zdarza się mi to robić w groovy.

0

Rozszerzając Javę na ogólnie JVM wcale nie wygląda to tak źle. Banki i inne wielkie korporacje prędko się z Javy nie przestawią (w końcu nadal potrzeba programistów COBOLa), na pewno nie na coś w rodzaju javascriptu który się zmienia jak szalony. Za to do nowych, mniejszych projektów można wykorzystać Scalę ( @Wibowit chyba w tym siedzi?) albo inne JVMowe języki nie rezygnując z bogactwa całej platformy. Poza tym zmiany z Javy 8 pokazały że ten język wciąż jest w stanie się mocno zmienić na lepsze bez wywalania kompatybilności wstecznej.

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