CSharp oraz Java

0

Witajcie, która technologia polecilibyscie zainteresować się osobie, która przechodzi z funkcyjne języka? Aktualnie pisze w JS (Nodejs + vue/React) jednak chciałbym poznać coś bardziej korporacyjnego, "poważnego". Myślałem nad dotnetem oraz Java. Zastanawiam się, czy wybór technologii M$ nie jest trochę zamknięciem się na ich ekosystem co jak zauważyłem jest czasami zarzucane dotnetowcom przez javowców -chodź czy nie działa to w dwie strony? Tylko, że tu stoi Oracle? Chciałbym domyślnie iść mimo wszystko w stronę aplikacji webowych, chodź na pewno spróbować sił w aplikacjach mobilnych (xamarin?), jeśli chodzi o desktop to jakoś mnie on nie interesuje. Co polecicie osobie "pokrzywdzonej przez JSa :D"?

3

lekarza;)

0

wybierz co Ci się bardziej podoba :) ASP -> łatwiejsze wejście, ciut mniejsza kasa, mniej ciekawych ofert. Java trudniejsze wejście, większa kasa, więcej ofert i większa konkurencja - ale też większe zapotrzebowanie na programistów :)

0

Off-top:

Witajcie, która technologia polecilibyscie zainteresować się osobie, która przechodzi z funkcyjne języka? Aktualnie pisze w JS (Nodejs + vue/React) jednak chciałbym poznać coś bardziej korporacyjnego, "poważnego".

Stawiam, że nie wiesz co oznacza programowanie funkcyjne, a opis z https://en.wikipedia.org/wiki/Functional_programming jest dla ciebie abstrakcyjny.

On-top:

Myślałem nad dotnetem oraz Java. Zastanawiam się, czy wybór technologii M$ nie jest trochę zamknięciem się na ich ekosystem co jak zauważyłem jest czasami zarzucane dotnetowcom przez javowców -chodź czy nie działa to w dwie strony? Tylko, że tu stoi Oracle?

Nie. Nie działa to w dwie strony. Jest mnóstwo osób, które narzekają na to, że w świecie Javy jest mnóstwo frameworków do wyboru, a w świecie .NETa jest łatwiej, bo Microsoft narzuca co jest teraz aktualne, a co przestarzałe. Bardzo dziwny problem, ale w obie strony nie działa.

Chciałbym domyślnie iść mimo wszystko w stronę aplikacji webowych, chodź na pewno spróbować sił w aplikacjach mobilnych (xamarin?), jeśli chodzi o desktop to jakoś mnie on nie interesuje. Co polecicie osobie "pokrzywdzonej przez JSa :D"?

W mobilnych pisze się osobno aplikacje na Androida w Javie/ Kotlinie i na iOSa w Swifcie/ Objective-C. Pisanie pod Xamarina oznacza pałowanie się z trzema środowiskami naraz zamiast z dwoma. Zysk z jednej bazy kodu jest tylko teoretyczny, bo z tego co czytałem na wymyślanie dobrze działających rozwiązań pod Xamarina spędza się sporo więcej czasu niż na napisanie wprost pod docelowe środowiska.

1

Total bez różnicy :D :D :D

Zobacz jak w twoim regionie z zatrudnieniem w tych technologiach, zależy to od miasta/okresu w jakim szukasz (ale myślę że zapotrzebowanie jest podobne więc tym nie ma co sie sugerować chyba że mieszkasz w mieście gdzie są 2 firmy i z jednego uciekasz do drugiej :D), czasem więcej oferty może wynikać z pracy w utrzymaniu kobył więc też trzeba patrzeć na ich jakość ;).

Poziom wejścia podobny moim zdaniem ale niezaczynajmy kolejnej wojny. Napisz jakieś małe programy w obu technologiach i będziesz wiedział co Ci bardziej odpowiada ;)

Odnośnie .Net argument że jest zamknięty na ekosystem M$ już przestał być aktualny .Net Core pozdrawia ;) jednak jeśli chcesz iść typowo w mobilki to chyba Android i Java, mam mieszane uczucia na ten moment co do Xamarina na pewno pracy w tym jest o wiele mniej niż typowo w Androidzie.

1

Atwood's Law:

Any application that can be written in JavaScript, will eventually be written in JavaScript.

Także zastanów się, czy nie popełniasz błedu życia :D

0

Jak chcesz zostać przy funkcyjnym to nie widzę powodu żeby nie zainteresować się Scalą. Ofert jest mniej niż w Javie, trzeba uważać na firmy które piszą w tej Scali jak w Javie, ale nadal jest to ciekawa alternatywa.

Co do zamknięcia ekosystemu to Oracle nie dostarcza większości narzędzi z których się korzysta. IDE, biblioteki, serwery i inne takie rzeczy to zwykle nie-oracle. JRE używa się głównie oraclowe albo openjdk (rozwijane głównie przez oracle), ale jak nie chcesz to są inne implementacje. Możesz pisać równie wygodnie na dowolnym systemie (o ile uznajesz że na windowsie cokolwiek wygodnie da się zrobić) i targetować też dowolny inny. Ekosystem C# o ile idzie w dobrym kierunku nie umywa się pod kątem wieloplatformowości do ekosystemu Javy.

0
  1. Umiesz JavaScript
  2. Oducz się Scriptu
  3. Umiesz Javę
  4. Zarobki 15k na rękę
  5. Profit.
0

Zarobki 20k? Not to Scala.
Lubisz Android? No to Kotlin.
Xamarin vs Swift, to wolę Apple.
Nie cofajcie się wstecz, promujcie nowsze technologie.
https ://www .youtube.com/watch?v=X0XvobFhs5o

0

Dzień bez glupiego tematu jest dniem straconym.

0

Dopisując się nieco do @Wibowit - JS obsługuje pewne aspekty programowania funkcyjnego, a React wręcz wymusza, ale funkcyjnym językiem w pełni tego słowa znaczeniu to jest Haskell i jemu podobne ;) Tak samo PHP można by nazwać funkcyjnym :D

Co do tematu - nie pchałbym się ani w .Net ani w Javę. Jeżeli już to Kotlin albo Scala - siedzą na JVM, ale jednak zupełnie inny komfort pisania.

0

@Pipes: Bez przesady, nie zrównuj PHP z JSem pod kątem progrmowania funkcyjnego. PHP nie ma nawet porządnych domknięć, przez co w praktyce ten paradygmat jest tam mało użyteczny (co widać zresztą po ekosystemie, gdzie dominuje OOP). W JSie OOP i FP są traktowane w miarę równorzednie, zresztą wystarczy spojrzeć na ilość materiałów w temacie:

https://github.com/stoeffel/awesome-fp-js
https://github.com/stoeffel/awesome-frp-js
https://github.com/xgrommx/awesome-functional-programming

0

Pchanie sie w ulomne .NET Core to poroniony pomysl. Chyba, ze chcesz budowac wszystko z Windowsa. Jedno jest pewne: z rozwiazaniem wieloplatformowym nie ma to nic wspolnego. A istnieje od jakichs 3 lat.

0

@theacid:
A co z JetBrains Rider? Ostatnio dorobił się obsługi Entity Framework https://blog.jetbrains.com/dotnet/2018/04/06/entity-framework-support-rider-2018-1/ Powinien wystarczyć do robienia aplikacji webowych z poziomu Linuksa czy Maca, czyż nie?

0

@Wibowit: Nie tego sie czepiam. Bardziej irytuje mnie fakt niedopracowania .NET Core pod innymi systemami niz Windows. I tak poltora miesiaca temu byl mi potrzebny .NET Core na Linuxie. Jakiez bylo moje zdziwienie gdy przystapilem do instalacji i napotkalem bledy:
- libcurl3 but it can not be installed

Dorzucilem libcurl3. Dostalem:
- libicu57 but it can not be installed

Dorzucilem libcurl57. Dostalem:
- dotnet-hostfxr-2.0.6 but will not be installed

I tak dalej. Doszlo do momentu w ktorym nie moglem dalej uzupelniac instalacji kolejnymi bibliotekami z powodu ich braku. I to chyba juz na etapie hostfix-2.0.6. Byla to wersja SDK 2.0.5 i 2.0.6 o ile dobrze pamietam. Tylko te byly wtedy w obiegu.
Koniec koncow okazalo sie, ze na razie brak wsparcia dla Ubuntu 18.04 (odpowiedz z githuba).
Dla mnie to jest 'lekkie' nieporozumienie. Nie widze w tym rozwiazaniu zadnej wieloplatformowosci. Nie przypominam sobie zeby np. jdk nie chcialo sie instalowac gdziekolwiek. Dobry marketing i nic wiecej.

A co do rozwiazania od JetBrains to jakis czas temu bylo bardzo okrojone i zabugowane. Jednakze nie mam wiedzy na ten temat. Nie probowalem Ridera...
Natomiast nie zapominajmy, ze .NET Core to nie tylko web.

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