Hej.
Jestem na 2 roku studiów informatycznych i pora już zacząć specjalizować się w jakiejś technologii, żeby nie było że umiem dużo rzeczy, w małym stopniu. Podobają mi się języki Java oraz C# i tu moje pytanie, w którą stronę według was w 2017r. się kierować? Gdzie mniejszy próg wejścia? Jeśli mielibyście znowu 20~~ lat i musielibyście wybrać jakąś technologię, to w co byście poszli? Chodzi mi o duże możliwości znalezienia pracy głównie.
Niskim progiem wejścia bym się nie sugerował, do pracy nad AS/400 swojego czasu przyjmowali każdego bo nikt sensowny nie chciał się z tym dziadostwem babrać.
JAVA jest bardziej popularna... a nie myślałeś może nad mobilem? java ma duużo wspólnego z Androidem... ;)
C# ma coraz więcej wspólnego z mobilem za sprawą Unity 3D (Mono) i Xamarinu :)
IMO Unity jest wygodniejsze do robienia aplikacji na Androida niż jakiekolwiek środowisko do Javy.
A ta nowoczesna Scala nadaje się do mobile czy lepszy Kotlin, Ceylon, ponoć są łatwiejsze do nauczenia od Javy i niski próg wejścia.
Kotlin ma mniejszy próg wejścia? Ech, chyba się starzeję...
Popatrz na rynek i na przewidywania rynków. Ogólnie będzie brakować programistów, nie będę się rozczulał nad tym, z jakim skillem, sam jestem lichy.
Prognozy wskazują, że Java/C#, ale to nie jest żaden wyznacznik. Bardziej bym się kierował w stronę C/C++. W naszym kraju zaczyna się dopiero boom na IoT, a to dopiero ukształtuje rynek na najbliższe 3-6 lat.
Jak miałem 20 lat to nie wybierałem technologię tylko rozglądałem się po wszystkim.
Java jest bardziej wiekowa i wolniej się rozwija, ale ma przed sobą dalszą perspektywę wg mnie (przynajmniej na polu finansowym i pewnie mobilnym).
Nie znam .NET, ale z tego co słyszę jest on łatwiejszy do nauczenia.
C# to dzisiaj głównie Windows, ew. Xbox.
Jeśli ufasz, że Microsoft jest wieczny to C# będzie dobrym wyborem (C# to produkt jednej firmy).
Niestety Java teraz też jest mocno zależna od jednej firmy (patrz sprawa Google vs Oracle, Java EE Guardians, Netbeans) i tak naprawdę przewidywanie co będzie nawet za 10 lat jest jak wróżenie z fusów.
Lepiej przygotuj się na zmiany, bo w tym zawodzie to jedno jest pewne że trzeba być na nie gotowy.
No chyba że pracujesz z AS/400.
Jak lubisz Maka, Linuksa, Androida lub rozważasz pracę w banku lub branży e-commerce, to Java, a jak nie, to C#. W przeciwnym wypadku, rzuć monetą.
Języki są podobne, w obu jest zapotrzebowanie i porównywalne zarobki. Java składniowo może trochę odstawać od C#, ale dla równowagi zaległości nadrabiają inne języki JVM-owe.
Zresztą, wybór języka do nauki, to nie żaden ślub. Sam głównie piszę w Javie, ale miałem krótki epizod, gdzie robiłem poprawki w aplikacji pisanej w C#. Jak będziesz dobrym koderem, to we wszystkim się jakoś odnajdziesz. Kwestia tego, co Ci bardziej podchodzi.
Teoretycznie powinno sie mowic ze java to lepszy wybor, tyle ze za java stoi oracle i... pozamiatane ;)
Ja bym wybrał Jave ale to dlatego że lubię Linuxa, poza tym też chciałbym ogarnąć Scale a Scala stoi na JVM. A ostatnio Java wcale się tak wolno nie rozwija, Java 8 to dużo nowych ficzerów, a co ciekawe w Javie 9 też będzie dużo ciekawych rzeczy, chyba nigdy nie było tak dużo nowości w 2 kolejnych odsłonach Javy :)
vpiotr napisał(a):
C# to dzisiaj głównie Windows, ew. Xbox.
C# na Windows to jakieś 5%, a na Xbox to jakieś 0,5%. C# to wieków to enterprise web i webserwisy, dokładnie tak jak Java.
Jeśli ufasz, że Microsoft jest wieczny to C# będzie dobrym wyborem (C# to produkt jednej firmy).
Znowu ta piętnastoletnia legenda... Kompilator i runtime są opensource, C# nie miałby teraz problemu z przetrwaniem bez Microsoftu.
scibi92 napisał(a):
ostatnio Java wcale się tak wolno nie rozwija, Java 8 to dużo nowych ficzerów, a co ciekawe w Javie 9 też będzie dużo ciekawych rzeczy, chyba nigdy nie było tak dużo nowości w 2 kolejnych odsłonach Javy :)
No tak, Java 8 dogoniła C# 4 (czyli wersję z 2007 roku). Teraz jest C# 7, którego poziomu Java nigdy nie osiągnie - bo musiałaby stać się Scalą.
Nie, nie polecam nikomu C# ani żadnego innego języka, jedynie koryguję bzdety.
Tylko Common Lisp. Każdy język i tak dąży do bycia jego ubogą wersją.
Tylko Common Lisp. Każdy język i tak dąży do bycia jego ubogą wersją.
Tak właściwie to trochę dziwne że nie ma żadnego nowego Lispa-2. Common Lisp w oczy kole (STRING<) ale pewnie dałoby radę zrobić nowoczesną wersję.
Jest Clojure z dużą liczbą bibliotek webowych.