C#/java/c++ na poczatek ktory? Dokladne wymagania :)

C#/java/c++ na poczatek ktory? Dokladne wymagania :)
Prędki_Lopez
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

Hej ;)
Mam zamiar zadać milionowe to samo pytanie, jednak z pewnymi dokładnymi kryteriami. Chodzi o wybór języka na początek.

Studiowałem EiT na PWr i tam programowałem cpp. Niestety na obiektowym się wysypałem z powodu bardzo mocnej grupy i sredniego nauczyciela oraz lenistwa ( wczesniej nie mialem stycznisci z programiwaniem). Mianowicie podstawy bardzo mi sie podobaly i lubiłem klepac te programiki :)

Chcę bardzo wrócić do programowania, standardowo wybieram między C++/Java/ C#.

Ze wzgledu na to, że niebawem inżynierka ( w tym semestrze i studiuje na mechanicznym) to mam krótki czas na podjęcie decyzji gdzie na magisterke isć. Celuje w Infe na w8/w4 zaocznie ale do tego potrzebne by mi było złapanie roby jako developer poczatkujacy :)

Kryteria według których chcę wybrać to:
A) Spore zapotrzebowanie na programistów na wrocławskim rynku pracy ( chcę dosyc szybko znalezc robe na start i leciec z nauka innych jezykow dalej)

B) Chcę na początek czegoś "stosunkowo " przyswajalnego, mniej topornego aby nie zniechecic sie przy zagłebianiu w jezyk.

C) W ktorym robi się cos wyzszego poziomu rzeczy w miare " zaciekawiające" poczatkujących ( z czasem możliwe ze przerzuce sie na kodowanie czegos blizej sprzętu, procki itp) Chodzi mi tutaj aby to bylo ciekawe i mialo wymierne efekty dla świeżaka. Do reszty, bardziej zlozonych mam wrazenie trzeba dorosnac

D) Głównie interesuja mnie rzeczy typu aplikacje mobilne, programy okienkowe ogolnie bezpośredni kontakt z użytkownikiem. Wydaje mi sie to ciekawe i satysfakcjonujące zagadnienie. Czy moze sie myle?

E) Uczy dobrych nawyków :)

Generalnie szukam szybkiej drogi do znalezienia pracy ( taki juz czas 24 lata), zaś z czasem bede się rozwijał w tej dziedzinie.

spartanPAGE
  • Rejestracja: dni
  • Ostatnio: dni
2

C#/Java. Rzuć monetą.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

Co do głównego pytania: random z Java/C#

Ale tak przy okazji: nie dostaniesz pracy nie umiejąc programować a skoro na obiektowym się wysypałem to znaczy ze nie znasz nawet sensownie składni tego C++ o programowaniu jako takim w ogóle nie mówiąc. Twoje szanse na pracę w Javie/C# za kilka miesięcy szacuje na 0.

Poza tym taki bieda-poziom jest tam gdzie chcesz tą mgr robić? Bo ja sobie nie potrafię wybrazić kogoś kto robi mgr z infy będąc zielonym z programowania. Bo robi sie rzeczy generalnie dość skomplikowane a jak ktoś ma braki na poziomie samego programowania to mogiła. To trochę tak jakby posadzić i kazać całkować komuś kto ma problem z dodawaniem/odejmowaniem/dzieleniem/mnożeniem.

niezdecydowany
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Bieszczady
1

( chcę dosyc szybko znalezc robe na start i leciec z nauka innych jezykow dalej)

bez sensu, skup się na jednym :/

C++/Java/ C#.

to c++ nie jest standardem... jest niewypałem.

D) Głównie interesuja mnie rzeczy typu aplikacje mobilne, programy okienkowe ogolnie bezpośredni kontakt z użytkownikiem. Wydaje mi sie to ciekawe i satysfakcjonujące zagadnienie. Czy moze sie myle?

Jak chcesz mieć bezpośrednio kontakt z użytkownikiem to może chcesz zostać sales'em ? I znowu, zdecyduj się, ktoś kto klepie aplikacje mobilne nie robi okienek, bo to są dwa różne środowiska.

B) Chcę na początek czegoś "stosunkowo " przyswajalnego, mniej topornego aby nie zniechecic sie przy zagłebianiu w jezyk.

może Ruby i Ruby on Rails ? JavaScript + Node.js + express ?

katecpp
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0

C++ chyba ma najwyższy próg wejścia, czyli język jest najbardziej wymagający (moim zdaniem). Rzeczy bliżej sprzętu i procki to chyba w większości C++, choć słyszałam coś o C# dla embedded - nie wiem na ile jednak to się sprawdza w praktyce.
Niemniej z tego co piszesz to co by Ci odpowiadało: urządzenia mobilne - np. Java pod Androidem, programów okienkowych w C++ się już raczej prawie nie pisze, także tu Java/C#. Czyli w kierunku Java/C#.

Z tych dwóch języków wybrałabym Javę, m.in. dlatego że ma więcej ofert pracy - np. na stackoverflow jest 650 ofert dla Javovców, 280 dla C++ i 250 dla C#.

Prędki_Lopez
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

Co do tego, że sie na obiektowce wysypalem to tak jak pisałem zero tłumaczenia i moje lenistwo. Wtedy nie szedlem na te studia z zamiarem prpgramowania i byla to dla mnie totalna egzotyka.Fakt tylko strukturalne ogarnialem ale na tyle spoko sobie to przyswoilem ze kolegom kolokwia pisalem. I lubiłem to. Jest to przynajmniej jakiś zalążek.O studia magisterskie sie nie martwie. Doucze sie jak bd trzeba. Pisząc aplikacje mobilne/ programy okienkowe / blizej uzytkownika ogolnie nakreslilem co wydaje mi sie interesujace. ( w ogolnym pojeciu jestem laikiem wiem). Chodzi mi tylko o to ze pisanie pod procesory typowo czy assemblero podobne rzeczy poki co mnie przeraża.

katelx
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Hong Kong
0

biorac pod uwage twoje wymagania java jest najlepszym wyborem:
A) byle baran w javie znajdzie prace
B) java jest chyba najbardziej zblizona do jezyka naturalnego jesli chodzi o zapis intencji programisty
C) jest wysokiego poziomu
D) jedna z czolowych technologii do appek mobilnych, da sie tez robic okienka (multiplatformowe tj. brzydkie ;))
E) zdecydowanie java sprzyja nauce wzorcow projektowych

Prędki_Lopez
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

Co do Ofert pracy to nie jest tak przypadkiem, że w C# jest mniej ofert ale też mniej programistów więc to jakoś się wyrównuje ?
2 znajomych polecaja mi c#, że lekki w przyswajaniu jest itd. Chyba faktycznie monetą musze rzucić

Chodzi mi też o wybór takiego, w którym trochę bardziej się zagłebie w pojęcie obiektowości i ogolnie jak to działa. Jak sie siadzie na mega uproszczony jezyk to wiadome, że coś tam działa w tle i ciężko jest wykminić samemu co to :)

drorat1
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Krasnystaw
  • Postów: 1190
0

A dlaczego akurat C++ vs. C# vs. JAVA a nie np. PHP vs. python vs. ruby??? Skoro tu się rozbiega o przyswajalność (oraz ilość nauki i jeszcze ile to czasu zajmie), dlaczego celujecie w języki kompilowane, statycznie typowane, gdzie nie dość że trzeba się martwić o to jaki typ ma być ustalony to jeszcze często trzeba się bawić w odpowiednie rzutowania?

A jak to się ma w językach typowanych dynamicznie? O wiele prościej, szybciej, bez zbędnego klepania, rzutowania, łatwe do nauki, mniej kodu = mniej komplikacji i niepotrzebnych problemów :-)

Może należałoby przede wszystkim ustalić w jakiego typu oprogramowanie (i w jaki obszar) się zamierza celować, bo to chyba nie jest sprawą drugorzędną. I co komu po w miarę łatwej powiedzmy do przyswojenia javie, kiedy po zetknięciu się z zagadnieniami projektowania aplikacji na androida, desktopowych albo webowych wyjdzie że JAVA nie jest tym właściwym wyborem? Po prostu może być tak, że komuś to nie przypadnie do gustu ale za namową społeczności będzie chciał w to dalej brnąć bo to takie modne.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

@drorat1 może dlatego że średnie stawki dla Javy/C# są 2 razy wyższe niż dla PHP? ;]

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1
drorat1 napisał(a):

dlaczego celujecie w języki kompilowane, statycznie typowane, gdzie nie dość że trzeba się martwić o to jaki typ ma być ustalony to jeszcze często trzeba się bawić w odpowiednie rzutowania?

No właśnie w językach statycznie typowanych nie trzeba się martwić o typy, bo ich poprawność sprawdza kompilator. W dynamicznych raczej nie ma tego komfortu.

AreQrm
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Londyn
  • Postów: 873
0
spartanPAGE napisał(a):

C#/Java. Rzuć monetą.

Nic dodać, nic ująć.

Prędki_Lopez
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

No niestety na kwestie finansową jak większość zwracam uwage :) Wiem też, że jak Java nie podejdzie to bedzie mozna sie przerzucić na c# na przykład. No to co w nich sie robi najbardziej mnie interesuje. Przynajmniej na powierzchownym pułapie, bo tematu jeszcze nie zgłębiłem.

GC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 249
0

@Prędki_Lopez

No to co w nich sie robi najbardziej mnie interesuje

Java - głównie aplikacje webowe (nie myl z prostymi stronkami), aplikacje mobilne android.
C#/ASP.NET MVC aplikacje webowe. Pewnie jakieś aplikację okienkowe na Windowsa. Kolega w C# programuje też jakieś urządzenia/mikrokontrolery.

drorat1
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Krasnystaw
  • Postów: 1190
0
somekind napisał(a):

No właśnie w językach statycznie typowanych nie trzeba się martwić o typy, bo ich poprawność sprawdza kompilator. W dynamicznych raczej nie ma tego komfortu.

To poprzeglądaj sobie jeszcze co niektóre rozwiązania słynnego EQUI z codility, gdzieś na stacku czy na blogach, da się zauważyć jeden ważny problem: sumowanie wejściowej tablicy intów, jako sumleft, sumright dawanie integer a nie long będzie błędem - codility wywali informacje o przekroczeniu zakresu. Cóż więc z tego że taki kod się bez problemu skompiluje? Prosty przykład a jak łatwo można kogoś na tym uwalić :-)

Wspomniałem o tych językach typowanych dynamicznie, żeby założycielowi wątku dać do zrozumienia, że java czy tam C# nie koniecznie musi być najlepszym wyborem, zresztą jakoś czarno to widzę, każdy by chciał więcej zarabiać, to jednak nie takie proste bo aplikacje web na frameworkach javowych czy tam ASP.NET są stosunkowo skomplikowane.

Niestety jak było do przewidzenia, wystarczyło jedynie wymienić PHP jako jeden z tych dynamicznie typowanych języków żeby co niektórzy hejtowali :-)

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 496
0

We Wrocławiu jest bardzo dużo ofert pracy dla C# i Java i co wybierzesz, to będzie pod tym kątem bez większego znaczenia. Z tego co słyszałem, to jednak na staż/praktyki łatwiej wejść z C#, ale chyba w Twoim wypadku lepiej od razu szukać roboty jako Junior na pełen etat, więc tym się nie sugeruj.

Jest jeszcze PHP, Python - w każdym z tych języków znajdziesz pracę, a próg wejścia jest ponoć niższy.

drorat1
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Krasnystaw
  • Postów: 1190
0

@Krolik

Ty chyba nie rozumiesz idei jaka przyświeca zastosowaniu języków z typowaniem dynamicznym w zastosowaniach webowych, bo to przede wszystkim tam mają dość ważną zaletę, choć znam poważną aplikację ERP napisaną w pythonie a nie w C++ czy tam C#.

Podchodzisz to tego w ten sposób, że według Ciebie użycie PHP, pythona, rubiego czy czego tam innego z typowaniem dynamicznym jest od razu niegodne zaufania? Gdyby tak było, to PHP, python, ruby i diabeł jeszcze wie co nie miałoby racji bytu, tymczasem to właśnie w PHP jest napisanych wiele poważnych aplikacji webowych które funkcjonują znakomicie.

Oświecę Cię bo chyba czegoś nie widzisz. Idea jaka przyświeca zastosowaniu tych języków, jest taka, że kod może być napisany o niebo szybciej, poza tym nie trzeba kompilować, więc jak sobie coś uaktualnię (coś poprawię) w PHP to tylko uaktualniam na serwer, mój klient dla którego coś robiłem nawet pewnie tego nie zauważy, jeśli dla przykładu chodzi tylko o refaktor kodu albo naprawę jakiegoś mało istotnego błędu. Jest to o tyle fajne, że wystarczy mi użyć transferu FileZilli, podmienić co niektóre pliki i efekty są natychmiastowo dostępne.

W JAVIE tak samo można coś skopać więc nie jest to żadnym argumentem, tym bardziej że i tak jest się zależnym chociażby od środowiska uruchomieniowego które też może mieć czasem błędy.

Mniejsza o to, żeby już nie odbiegać od tematu. Otrzymałem od jednego z headhunterów jakąś listę stanowisk, zorientowałem się że w PHP we Wrocku (jeśli to co przygotowała jedna z headhunterek nie było ściemą albo podpuchą), zarobki rzędu 300 zł netto w PHP dziennie, z tym że pewnie dotyczyło kontraktu + 2K PLN bonusu na start. A jak dużo w porównaniu z tym można osiągnąć celując w JAVA EE albo ASP.NET? Nawet jeśli 2x tyle to z pewnością wymagania które ja widziałem są na tyle wysokie, że daleko do tego komuś kto dopiero co z tym zaczyna.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

@drorat1 jasne że jest niegodne zaufania bo nie masz nawet pewności czy system działa na poziomie typów a co dopiero logiki aplikacji! Żeby to stwierdzić musiałbyś mieć 100% code line coverage, bo tylko wywowanie każdej linijki kodu pozwoliłoby stwierdzyć czy gdzieś nie są kopnięte typy. Dla pythona to jeszcze pół biedy bo PyCharm pozwala dodawać anotacje z typami :)
To eliminuje bardzo wiele potencjalnych błędów i pozwala w ogóle nie myśleć o tym "jakiego typu była ta zmienna".
Twierdzenie że pisanie w Pythonie jest szybsze ze względu na dynamiczne typowanie wydaje mi sie bzdurą. Pisze sie szybciej ze względu na konstrukcje języka a nie na typy. Powiedziałbym nawet że ze względu na typy to pisze sie wolniej bo podpowiadanie składni działa słabiej.

Wbrew pozorom są narzędzia do Javy (np. JRebel) które pozwalaja na podmienianie implementacji na działającym systemie.

300zł netto dziennie b2b to jest wysoka stawka? To jest raptem 6300 zł miesięcznie i to jeszcze nie licząc że musisz z tego opłacić składki. Nawet w optymistycznej wersji dla nowej firmy to jest 5k na rękę, a po 2 latach 4,5k na rękę. Ludzie z 1-2 latami doświadczenia w javie dostaja więcej nawet u Janusza ;] A ci dobrzy po 3-4 latach mają pięciocyfrowe kwoty.
Stawki jakie widziałem dla javowców w b2b były mniej więcej 500-800, zależnie od doświadczenia...

Prędki_Lopez
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

Dziękuje bardzo za odpowiedzi :) Wiele mi rozjaśniliście :) Chyba zaczne od Javy jednak. Pytanie mam takie co polecacie do nauki, niekoniecznie samej składni, a raczej "Programowania" od podstaw?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.