• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Którą ścieżkę wybrać w moim przypadku: Programowanie Java Android czy PC/urządzenia w C++?

VPS Starter Arubacloud
0 głosów
502 wizyt
pytanie zadane 7 września 2017 w Android, Swift, Symbian przez niezalogowany
Witam
Od dłuższego czasu nie mogę podjąć decyzji w czym powinienem się rozwijać. Studiuję elektronikę i telekomunikację, podczas tych studiów spodobało mi się programowanie, mieliśmy obiektowe C++ i C pod mikrokontrolery. Ponadto sam na własną rękę uczyłem się C++ i Javy gdyż spodobało mi się tworzenie aplikacji na androida. Zarówno w C++ jak i w Javie zrobiłem kilka swoich projektów. Jednak mam dylemat którą z tych technologii powinienem wybrać jeśli chodzi o pracę i karierę. Dla obu jest praca w moim mieście(Kraków), jednak co do wymagań to trochę gorzej bo dla Androida to muszę lepiej poznać API i inne kwestie związane z tworzeniem aplikacji na tą platformę(oczywistość), i niestety rzeczy związane ze sieciami (SQL, JSON, pewnie trochę backendu). Dla C++ to sam język i nowości, standardy w nim wprowadzane np.C++ 17 są trudnoscią samą w sobie, ponadto czasem wymagają QT creatora czy innego frameworka.

Podsumowując, mam ograniczony czas i chcę wybrać jeden język i kierunek, by się w tym dalej rozwijać. Bardziej podoba mi się programowanie na Androida, lecz prawdopodobnie oprócz samego tworzenia aplikacji na androida będę musiał się uczyć wiele innych rzeczy związanych z sieciami. Czy ktoś kto nie był na studiach informatycznych da radę to ogarnąć (kwestie sieciowe dla aplikacji na andka)?

Z góry dziękuje za pomoc :)

2 odpowiedzi

0 głosów
odpowiedź 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
Wybierz to co lubisz, czyli Java, moim zadniem Twoje martwienie sie o "trudnosc" Javy jest przesadzony; STUDIA NIC NIE DAJA, nauka protokolow itp. to kwestia paru miesiecy, wiec spokojnie dasz rade w pol roku, a nie w 3,5 roku
komentarz 7 września 2017 przez niezalogowany
Jave znam, sama w sobie jest łatwa, trudniej dla mnie jest z ogarnięciem komponentów i API używanych przy tworzeniu aplikacji na androida. Przypuszczam, że studia może i niewiele dają, ale na pewno ma się szansę poznać wiele jezyków i technologii.

PS. Nie chcę iść w javę uzywaną w backendzie, ani w żadne technologie sieciowe, serwery
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
hmyyy 99% aplikacji napisanych w javie komunikuje sie z serverem, wiec raczej nie masz wyboru, znajomosc sieci to podstawa. Po co Ci znajomosc wielu technologi skoro idziesz w kierunku javy? Wiem, ze w javie wszystkiego nie zrobisz i czasem przyda sie inna technologia, ale jak bedzie Ci potrzebna to zaczniesz sie nia interesowac, przynajmniej ja mam takie podejscie, ze jak cos jest mi potrzebne dopiero wtedy zaczynam sie tego uczyc. Jak znasz angielski na poziomie chociazby podstawowym, czyli takim w ktory jest napisana 90% dokumentacja techniczna to wystarczy Ci do napisanie kazdego projektu. Z czasem te "trudne" komponenty i API beda "latwe" tylku musisz ich uzywac, a wiec ROB PROJEKTY
komentarz 7 września 2017 przez niezalogowany
Akurat angielski znam na poziomie zaawansowanym, techniczny też więc to nie problem. StackOverflow na porządku dziennym :)

Javy po prostu nauczyłem się pod androida bo wcześniej swoja pierwszą aplikację to udało mi sie stworzyć tylko dzięki znajomosci c++ :) (java jest do c++ dość podobna pod względem składni). Rozważam androida albo c++ gdyż wolę po prostu pisać bliżej sprzętu, pod jakieś urządzenie, niż tworzyć kod backendowy do obsługi serwera.
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
zle mnie zrozumiales z tym serverem, poprostu poprostu nawet piszac rozklad autobusow i tak musisz pobierac dane z servera/strony wiec od tego nie uciekniesz; moim zdaniem te dwa jezyki calkowicie sie roznia, jezeli blizej sprzetu to java odpada, z oczywistych wzgledow, moze tak, co bys chcial robic?
komentarz 7 września 2017 przez niezalogowany
edycja 7 września 2017
I tu własnie mam dwie drogi wyboru:

-Z jednej strony podoba mi się tworzenie aplikacji na androida z racji możliwości jakie oferuje wykorzystanie tego co telefon ma "na pokładzie" typu kamera czy gps i możliwosć zrobienia z tego fajnie działajacej apki którą zawsze, jeśli osiągnie sukces, mogę udostępnić na google play i ewentualnie czerpać z tego zyski.

Niestety (jak mi się wydaje) na rynku jest duża konkurencja i taka nawet średnia osoba po informatyce (a mnóstwo ludzi teraz studiuje/skończyło informatykę) ma lepsze rozeznanie w technologiach i jeśli zdecyduje się na androida to ma juz ogarniete SQL jakąś teorie jak działa kod związany z sieciami itp czego ja musiałbym się dopiero uczyć. Ponadto obawiam się, ze nawet jak będę robił bardziej zaawansowane aplikacje nawet zwiazane SQL i backendem, to i tak jak trafię do jakiejś grupy programistów w pracy to będę we wszystkim zielony ze względu na mnogość używanych bibliotek i api w aplikacjach androida i ilość stosowanych technologii.

-C++: miałem to na studiach, przyjemnie mi się w tym pisze (w czystej javie też, nawet lepiej), jak na razie to tworzę sobie projekt konsolowy co bardziej ma liczyć niż być atrakcyjny wizualnie (sieci neuronowe), nie lubię czystego C ze względu na jego toporność także pisane pod mikrokontrolery odpada (chyba że Arduino, bo tam można obiektowo w C++)

Niestety tu z kolei moje obawy tworzy złożoność c++, mocno rozbudowana biblioteka STL i że tak mocno zaawansowany c++ będzie konieczny w przyszłej pracy.  Myślałem o pracy we firmach telekomunikacyjnych (Ericsson, Nokia) gdzie oprogramowywuje się stacje BTS. Nie wiem jak tu wygląda złożoność projektów w których będę musiał pracować, jednak patrząc po wymaganiach, przypuszczam że z dobrym c++ będę po prostu wdrożony gdyż C++ jest najważniejszym i prawie jedynym wymogiem.

Dodam że gamedev mnie nie interesuje.
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
samodzielna nauka w ciagu 3,5 roku(tyle chyba trwa inzynier) przebijesz studentow wiedza praktyczna, ktora jest owiele wazniesza dla przyszlego pracodawcy, C++ jest "przyjemny" na poczatku, kwestia nauki STL i powiazanych rzeczy to kwestia potrzeby, nie ma sensu uczyc sie calej biblioteki, podstawy STL musisz znac(samo wejdzie, przy wiekszych projektach), pisanie blisko sprzetu akurat dla mnie jest meczace, ale lubie pogrzebac przy arduino(ale pisze w C), SQL raczej kwestia tygodnia do opanowania podstaw, wlasnie swietnie jezeli bedziesz najslabszy zdobedziesz owiele wiecej wiedzy, niz jak bys byl najlepszy z grupy, jak jestes najlepszy, zmiana pracy, bo Cie ogranicza, kazdy Ci pomoze na poczatku, wiec sie nie boj,

http://nokiawroclaw.pl/oferty-pracy/java-engineer/

http://nokiawroclaw.pl/oferty-pracy/cc-engineer/

przepraszam za brak kropek, musze nauczyc sie konczyc zdanie
komentarz 7 września 2017 przez niezalogowany
A jeśli brać pod uwagę aspekt popularności to lepiej iść w popularnego androida czy specjalizowany C++ np. aplikacje desktopowe które są raczej niszą (QT)?
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
zdecydownie Java, ogolnie w C++ nie pisze sie aplikacji desktopowych(glownie C#), ogolnie jak celujesz w latwa prace to javascript, jest wszedzie; ogolnie jak chcesz miec polaczenie javy i c++ to zostaje c#, mozesz pisac i na desktopy i na mobilne(xamarin)

https://insights.stackoverflow.com/survey/2017#technology
komentarz 7 września 2017 przez niezalogowany
myślałem o xamarinie, ale jednak wydaje mi się, że lepiej wybrać oficjalną jave i android studio, zwłaszcza że c# i java są prawie takie same. Natomiast co do javascript to jak już wspomniałem, raczej coś pod sprzęt (nie poziom C i sterowników, bez przesady) czyli androida albo windows, ale prędzej to pierwsze. Raczej wybiorę androida, będę tworzył jakieś projekty, jak github sie wzbogaci o kilka apek to będę szukał pracy. Natomiast co do technologii sieciowych, to raczej będę sie tego uczył jak np będę chciał dodać możliwośc założenia konta i wymiane danych z serwerem do aplikacji.
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
c++ jest moim zdanie owiel trudniejszy w nauce niz java lub c#, jak chcesz polaczyc androida i windowsa to tylko c#, java marna wydajnosc na windowsie, jak chesz robic dla korporacji, btw chyba najlepsza kasa, to java ee, a tak to spring, ogolnie o javie nic Ci nie powiem, bo sie tym nie interesuje, wole c/c++; obsluga servera to podstawa w javie
komentarz 7 września 2017 przez niezalogowany
Abstrahując od tego to jak wygląda rynek pracy jeśli chodzi o c++? Jakie projekty i z czym związane są wykonywane za pomocą tego języka? Czy tylko rzeczy bardziej sprzętowe i gamedev czy coś jeszcze?
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
C++ wykorzystuje sie tam gdzie jest potrzebna predkosc, mala przestrzen robocza(malo pamieci, slabe CPU) wszedzie tam gdzie inne jezyki sa za "ciezkie", w C++ zrobisz wszystko, w javie nie, ale nie oznacza to, ze do wszystkiego sie nadaje, glownie OS, gamedev i aplikacje wymagajace przetwarzania ogromnych ilosci danych, tam gdzie Ty musisz miec 100% kontroli nad tym co dzieje sie z pamiecia podczas alokacji, przenosnoosc, przy apikacjach desktopowych C++ jest slabym wyobrem, szkoda czasu, w c# mozna zrobic owiele szybciej, nie trzeba sie bac o pamiec i inne "pierdoly"
komentarz 7 września 2017 przez niezalogowany
ok dzięki za info, chyba będę szedł w stronę androida
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
jak nie lubisz az tak zarzadzac kodem, to java bedzie spoko, rob to co lubisz, najlepiej na tym wyjdziesz
komentarz 7 września 2017 przez niezalogowany
Patrzę na to co mi sprawi większą przyjemność, fajnie mi się pisze zarówno aplikacje mobilne jak i rożne bardziej złożone algorytmy w c++ tylko staram sie patrzyć na to jak w pracy będzie to wyglądać, bo zapewne inaczej jest jak się tworzy cos samemu dla zabawy a inaczej jak trzeba to zrobić w pracy.
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
raczej system pracy bedzie wygladal tak samo w obu przypadkach, dostajesz z gory nalozone wymagnia i masz je spelnic
komentarz 7 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
http://i.imgur.com/bB5DK1f.jpg moze Ci pomoze, ale watpie
komentarz 7 września 2017 przez niezalogowany
edycja 7 września 2017
dzieki za ikonografike, szukałem jej:) Jeszcze przemyślę co wybrać ale raczej pójdę w javę i androida
0 głosów
odpowiedź 7 września 2017 przez Jedras Maniak (54,860 p.)

Bardziej podoba mi się programowanie na Androida

Tu masz odpowiedź co robić.

prawdopodobnie oprócz samego tworzenia aplikacji na androida będę musiał się uczyć wiele innych rzeczy związanych z sieciami

W innych technologiach też będziesz musiał, bo rzadko się zdarza, że obecny soft nie korzysta z sieci w żaden sposób.

Czy ktoś kto nie był na studiach informatycznych da radę to ogarnąć (kwestie sieciowe dla aplikacji na andka)?

Teoria jest w sieci (anglojęzyczne materiały polecam) + dokumentacja do Androida (https://developer.android.com/index.html). 

Podobne pytania

0 głosów
0 odpowiedzi 125 wizyt
0 głosów
1 odpowiedź 655 wizyt
0 głosów
1 odpowiedź 420 wizyt
pytanie zadane 5 września 2020 w Android, Swift, Symbian przez Zaqu93 Gaduła (4,850 p.)

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...