Jak odkryliście, że interesuje was pisanie na web/desktop/smartfon/embedded?

0

Witajcie!

Borykam się z problemem. Już od dłuższego czasu nie mogę sobie znaleźć miejsca w programowaniu. Uczę się Javy, już trochę czasu (tak z 1,5 roku, teraz mam mniej czasu ze względu na maturę), lecz ciągle nie wiem, co chciałbym programować. Uwielbiam kodować, mógłbym spędzać całe dnie na tym, jest to zajęcie, które sprawia mi przyjemność. Nie wiem tylko co chciałbym kodować.
Kiedyś myślałem, że desktop i choć ciągle nie porzucam tej możliwości wiem, że Java to średni pomysł w tym kierunku. Musiałbym przejść (najprawdopodobniej) na C++, a to mi się średnio uśmiecha.
Z innej strony, żeby dowiedzieć się czy mnie jara web muszę się nauczyć sporo, nawet bardzo sporo.
Embedded też brzmi fajnie, ale wiąże się to z zejściem na bardziej niskopoziomowy język, no i trzeba mieć sprzęt. Raspberry i tak planuję kupić w tym roku, też oczywiście po maturze (miało być na początku roku, jednak z pewnych względów zakup musiałem przełożyć).

Jestem w kropce, bo ciężko jest spróbować wszystkiego (zostawiam to jako ostateczną decyzję). Jak wy odnaleźliście swoje środowisko i swój język?

1

Najwięcej na rynku jest pracy przy aplikacjach internetowych i mobilnych. W obu wypadkach Java to dobry wybór: albo idziesz w Spring boota albo w Androida. Tak czy inaczej musisz też wiele rzeczy ogarnąć np. IDE, Gita, REST, HTTP etc. Nie wiem też jak stoisz z tą Javą, ale w Java 8 to już standard.

Desktopowe aplikacje to przeżytek, nie ma się co w nie pakować. Jak ja odnalazłem swoje środowisko? W zasadzie przed pójściem na studia wiedziałem, że nie kręci mnie w ogóle frontend i że nie będę pisał gier, a lubię programować, więc poszło na backend- najpierw web dev, a teraz backend apki mobilnej. Po pracy sprawdzałem sobie co jakiś czas różne języki i tak wpadłem na Elixir, w którym teraz pracuję i jestem z tego bardzo zadowolony. Programowanie funkcyjne pozwala uniknąć wielu problemów związanych z obiektowością, jest przy tym zwięzłe i przejrzyste. Elixir zaś jest stworzony do pracy równoległej, więc idę z duchem czasu ;)

1

lecz ciągle nie wiem, co chciałbym programować. Uwielbiam kodować, mógłbym spędzać całe dnie na tym,
jest to zajęcie, które sprawia mi przyjemność. Nie wiem tylko co chciałbym kodować.

Nie rozumiem. To co w takim razie kodujesz obecnie? Bo jeśli coś kodujesz (skoro sprawia ci to przyjemność), to czemu nie wiesz co? To kodujesz czy nie?

1

Programowanie gier jest ciekawe, ale nie wiem jaki poziom trzeba reprezentować, aby później mięć z tego jeszcze jakieś pieniądze.

0

@Pipes: Gita znam, narzędzie budowania też w miarę, do tego html, css, trochę php, mysql też co nieco. Http musiałbym podszkolić, ale też nie jest źle + wszystko to co technik informatyk: podstawy komputera, sieci, baz danych, stron i aplikacji internetowych.

@LukeJL: Ostatnim projektem było sprawdzanie czy content się zmienił na stronie www. Wrzuciłem to na serwer, ale to ani web ani desktop. Piszę głównie desktopy, ale taki niepełne, w końcu nie działa to nie wiadomo jak wydajnie

1

@Burdzi0: Masz, w ogóle jakichś kolegów co programują?
Samemu jest zawsze trudniej.

1

W Rust i Go można już pisać na Desktop, nie wymagają JVM więc są szybkie w nich programy na PC. Wygląda też na to że przyszłość programowania to mikroserwisy, firmy nowoczesne uciekają od Monolitów napisanych w Javie lub C#. A Rust, Go, Swift są nowoczesne i jak by stworzone do takich mikroserwisów a zarazem wydajnych.
http://www.pzielinski.com/?p=2485
http://itwiz.pl/mikroserwisy-czym-sa-jak-nich-korzystac-praktyce/

4
Burdzi0 napisał(a):

Jak wy odnaleźliście swoje środowisko i swój język?

Zacząłem pisać potrzebne mi rzeczy i mi przypasowało. Najpierw dla siebie desktopowe biedaprogramy, potem znalazłem pracę w desktopie. W międzyczasie zorientowałem się, że to się nie sprawdzi na dłuższą metę, bo już wtedy 95% w .NET to był web, więc szybko znalazłem następną pracę w webie.
A ogólnie, to praca nad GUI jest dla mnie strasznie nudna, więc staram się go unikać i zająć czymś ciekawym, czyli backendem.

Zimny Polityk napisał(a):

W Rust i Go można już pisać na Desktop, nie wymagają JVM więc są szybkie w nich programy na PC. Wygląda też na to że przyszłość programowania to mikroserwisy, firmy nowoczesne uciekają od Monolitów napisanych w Javie lub C#.

Zazwyczaj do mikroserwisów pisanych w Javie lub C#.

A Rust, Go, Swift są nowoczesne i jak by stworzone do takich mikroserwisów a zarazem wydajnych.

Co za różnica w jakim języku powstaje mikroserwis? Są jakieś cechy samego języka, które czynią go "stworzonym do mikroserwisów"?

2

Smutne jest to że mamy 2017 rok a ludzie nadal wierzą że Java jest wolniejsza od innych języków. Otóż nie, nie jest. Fakt że Java jest na JVM a C# na CLR nie sprawia że są wolniejsze. Z różnych benchamarków wynika że np. Java jest porównywalna z C++, C# pewno też, jedyny problem to może być dłuższe wstawanie aplikacji i tylko tyle...

1

Nie wiesz co chcesz robić? Idź w JavaScript + TypeScript / Flow :P

frontend: wiadomo
backend: Node.js
desktop: Electron
mobile: React Native / Ionic
robotics & IoT: Johnny-Five

0
Wielki Pomidor napisał(a):

@Burdzi0: Masz, w ogóle jakichś kolegów co programują?
Samemu jest zawsze trudniej.

No niestety nie... Takie zadupie, nie poradzę.

Tak samo jak @somekind nie przepadam za tworzeniem jakiegokolwiek interfejsu użytkownika (chyba, że chodzi o konsolowe :P)

scibi92 napisał(a):

Smutne jest to że mamy 2017 rok a ludzie nadal wierzą że Java jest wolniejsza od innych języków. Otóż nie, nie jest. Fakt że Java jest na JVM a C# na CLR nie sprawia że są wolniejsze. Z różnych benchamarków wynika że np. Java jest porównywalna z C++, C# pewno też, jedyny problem to może być dłuższe wstawanie aplikacji i tylko tyle...

Nie znam się, ale wiem, że desktopy w Javie potrafią mulić i to bardzo. Jakiś JDownloader czy chociażby to co sam stworzyłem w JavieFX potrafiło nieźle zeżreć pamięć i czasami się elegancko scrashować.

@Maciej Cąderek Jakoś mi Javascript nie podpasował nigdy.

O Rust myślałem, nawet mi się język spodobał, kwestia tylko czy jest szansa na znalezienie później w tym pracy. Wiecie, chciałbym od razu upiec 2 pieczenie na jednym ogniu ;)

2

@Burdzi0 to że ktoś nie potrafi napisać szybkiej aplikacji nie znaczy że język jest zły ;) W Javie można pisać takie demony szybkosci jak Minecraft i JDownloader, a można https://martinfowler.com/articles/lmax.html

1

tez nie wiedzialam w czym sie specjalizowac jak zaczynalam (choc wybor byl duzo mniejszy). o decyzji przesadzilo to ze w pierwszej pracy moim zadaniem bylo rozwijanie aplikacji desktopowej. w miedzyczasie mialam epizod z webem, teraz robie praktycznie wylacznie backend i chyba juz tak do emerytury ;)
imo rob ta jave i idz gdzies na staz/juniora jak bedziesz mial okazje, dalej bedzie juz z gorki.

1

@Burdzi0: problem z Javowymi desktopami aplikacjami w Javie jest taki że JVM może się powoli ładować, ale jak już się załaduje to nie jest specjalnie wolniejsze od C++ :)

0

W takim razie zapytam: jak uważacie taki pomysł, aby nie rezygnować z Javy i iść w web (a może mi się spodoba backend) a jednocześnie próbować swoich sił w Rust?

2

Uważam że lepiej skupić się na jednym :)
A co do JavaFX może @Burdzi0 robiłeś jakies operacje który z góry trzeba założyć że mogą potrwać dłużej a robiłeś je wątku głównym?
Tak mi się wydaje że to może być jedna z przyczyn mrożenia aplikacji niezależnie od języka :)

2

@Burdzi0 musisz sam sprawdzic. dla jednego web to sieczka i gimbaza dla innego to zyciowa pasja. tak jak kolega wyzej uwazam ze zacznij robic jedna rzecz dobrze (a jeszcze lepiej profesjonalnie) a potem bedziesz kombinowal z hipsterstwem albo przekwalifikowaniem.

juz pomijajac ze program w dowolnym jezyku moze szybki gdy sie rozumie co sie robi to java jest imo w czolowce jesli chodzi o wydajnosc vs czas spedzony na optymalizacji wiec po prostu posiedz nad tym troche, poczytaj i bedzie dobrze :)

0

@scibi92: @katelx w sumie macie rację, dziękuję wam bardzo za pomoc :)

0

@Burdzi0: a co z tymi wątkami? Obstawiam że to może być problematyczne :)

0

@scibi92: Jeszcze nie przerobiłem javovego api dotyczącego wątków (tylko podstawy do tej pory). Lubię taką zabawę, przy czym ostatnio jak zapytałem na tym slacku o materiały do bycia wątkowym czarodziejem to otrzymałem odpowiedź: "a po co? przecież już to ktoś zrobił, itp.". Raczej nie będzie problematyczne o ile przestanę zaglądać na slacka :P

0

@Burdzi0: a robiłeś w tej JavieFX jakieś bardziej skomplikowane rzeczy np. nie wiem łączyłeś się z jakimś API zewnętrznym czy coś w tym stylu?

0

@scibi92: Wyświetlałem wyniki z bazy mysql :P nic poza tym

1

@Burdzi0: a masz ten kod gdzieś ? :)

0

@scibi92: No mam, ale wiesz... wypala oczy xd

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