komentarze
zapsuZobacz profil
Poziom ostrzeżenia: 0%
zapsu2017.09.30, 20:03
revcorey @ 2017.09.30 18:00  Post: 1098452
zapsu @ 2017.09.30 17:55  Post: 1098451
(...)

Co zatem polecasz dla osoby która chce wejść w tą branżę, ale nie może sobie pozwolić na darmowe staże (rodzina na utrzymaniu, chęć zmiany zawodu)?

pisanie dla opensource i tyle, później rzucasz na stół podczas rekrutacji. Często się też może zdarzyć że na początku będziesz pracował za grosze więci tak potrzebujesz odłożonego hajsu żeby żyć jak człowiek.
Ja tak zaczynałem pare miesięcy za gó**** stawkę a dopiero później lepiej. O tyle ja maiłem lepiej że pracowałem w takim można powiedzieć pokrewnym zawodzie(chociaż nadal to nie było typowe programowanie), i moje studia były pokrewne z infą(i moje prace inz. i mgr. były napisane w C) to miałem łatwiej. Jak twoją jedyną motywacją jest hajs to daj sobie spokój. Teraz jest sielanka, myślę za dwa lata będzie lekka korekta i poleca najsłabsi.

Jestem świadom, że początek może być trudny. Zobaczymy.
Będę szukał swoich szans na wdrożenie. Liczę się z tym, że początki mogą być bez profitów finansowych.

Pytasz o motywację - akurat finansowa jest żadna. Niestety moja obecna praca, pomimo tego że pozwala mi na zdobywanie dużego doświadczenia, nie daje mi spełnienia. Brak mi w niej zadań wymagających kreatywności. Póki co potrzebę realizacji zadań kreatywnych spełniam ucząc się Java i pisząc programy w trakcie nauki.

Mój plan jest taki, by skończyć kilka sensownych kursów online, przerobić kilka ważniejszych książek i napisać 1-2 aplikacje w Java na system Android, które będą przedstawiały moje umiejętności.
revcoreyZobacz profil
Poziom ostrzeżenia: 0%
revcorey2017.09.30, 20:26
zapsu @ 2017.09.30 20:03  Post: 1098474
revcorey @ 2017.09.30 18:00  Post: 1098452
(...)

pisanie dla opensource i tyle, później rzucasz na stół podczas rekrutacji. Często się też może zdarzyć że na początku będziesz pracował za grosze więci tak potrzebujesz odłożonego hajsu żeby żyć jak człowiek.
Ja tak zaczynałem pare miesięcy za gó**** stawkę a dopiero później lepiej. O tyle ja maiłem lepiej że pracowałem w takim można powiedzieć pokrewnym zawodzie(chociaż nadal to nie było typowe programowanie), i moje studia były pokrewne z infą(i moje prace inz. i mgr. były napisane w C) to miałem łatwiej. Jak twoją jedyną motywacją jest hajs to daj sobie spokój. Teraz jest sielanka, myślę za dwa lata będzie lekka korekta i poleca najsłabsi.

Jestem świadom, że początek może być trudny. Zobaczymy.
Będę szukał swoich szans na wdrożenie. Liczę się z tym, że początki mogą być bez profitów finansowych.

Pytasz o motywację - akurat finansowa jest żadna. Niestety moja obecna praca, pomimo tego że pozwala mi na zdobywanie dużego doświadczenia, nie daje mi spełnienia. Brak mi w niej zadań wymagających kreatywności. Póki co potrzebę realizacji zadań kreatywnych spełniam ucząc się Java i pisząc programy w trakcie nauki.

Mój plan jest taki, by skończyć kilka sensownych kursów online, przerobić kilka ważniejszych książek i napisać 1-2 aplikacje w Java na system Android, które będą przedstawiały moje umiejętności.

robota skutecznie zabije w tobie chęć, szczególnie jak trafisz do korpo. Jeśli idzie o obszar np. C/C++ w tym kraju maintanace to 80%. Nie wiem jak w javie ale podejrzewam że podobnie więc nie nastawiaj się że będziesz kreatywnie coś robił, pisał nowe featuery raczej poprawki bugów, analiza logów i jakiś innych zrzutów, debbugery. A być może raz na jakis czas featuer. Ale może się zdarzyć że człowiek trafi do firmy robiącej jakiś nowy projekt. Także jak idzie o spełnienie to tak sobie. Ja osobiście spełniam się po pracy klepiąc, w robocie nie ma szans, raczej się demotywuję.
mleczanZobacz profil
Poziom ostrzeżenia: 0%
mleczan2017.09.30, 20:37
revcorey @ 2017.09.30 20:26  Post: 1098478

robota skutecznie zabije w tobie chęć, szczególnie jak trafisz do korpo. Jeśli idzie o obszar np. C/C++ w tym kraju maintanace to 80%. Nie wiem jak w javie ale podejrzewam że podobnie więc nie nastawiaj się że będziesz kreatywnie coś robił, pisał nowe featuery raczej poprawki bugów, analiza logów i jakiś innych zrzutów, debbugery. A być może raz na jakis czas featuer. Ale może się zdarzyć że człowiek trafi do firmy robiącej jakiś nowy projekt. Także jak idzie o spełnienie to tak sobie. Ja osobiście spełniam się po pracy klepiąc, w robocie nie ma szans, raczej się demotywuję.


W pracy też można klepać i tworzyć nowe produkty, trzeba tylko lepiej jej szukać i dokładnie zagłębiać się w informacje o projekcie przy rekrutacji omijając rozwijanie starych.
Sam kiedyś męczyłem się w maintanace c++, ale zmieniłem i klepie ciągle coś nowego dostając jakiegoś starego buga max raz na kilka miesięcy.
Znajomi którzy już tez mieli dość ciągłego maintanace znaleźli inną prace w której tworzą nowe produkty i też są zadowoleni. Można spełniać się w pracy i po pracy :)
zapsuZobacz profil
Poziom ostrzeżenia: 0%
zapsu2017.09.30, 20:45
revcorey @ 2017.09.30 20:26  Post: 1098478
zapsu @ 2017.09.30 20:03  Post: 1098474
(...)

Jestem świadom, że początek może być trudny. Zobaczymy.
Będę szukał swoich szans na wdrożenie. Liczę się z tym, że początki mogą być bez profitów finansowych.

Pytasz o motywację - akurat finansowa jest żadna. Niestety moja obecna praca, pomimo tego że pozwala mi na zdobywanie dużego doświadczenia, nie daje mi spełnienia. Brak mi w niej zadań wymagających kreatywności. Póki co potrzebę realizacji zadań kreatywnych spełniam ucząc się Java i pisząc programy w trakcie nauki.

Mój plan jest taki, by skończyć kilka sensownych kursów online, przerobić kilka ważniejszych książek i napisać 1-2 aplikacje w Java na system Android, które będą przedstawiały moje umiejętności.

robota skutecznie zabije w tobie chęć, szczególnie jak trafisz do korpo. Jeśli idzie o obszar np. C/C++ w tym kraju maintanace to 80%. Nie wiem jak w javie ale podejrzewam że podobnie więc nie nastawiaj się że będziesz kreatywnie coś robił, pisał nowe featuery raczej poprawki bugów, analiza logów i jakiś innych zrzutów, debbugery. A być może raz na jakis czas featuer. Ale może się zdarzyć że człowiek trafi do firmy robiącej jakiś nowy projekt. Także jak idzie o spełnienie to tak sobie. Ja osobiście spełniam się po pracy klepiąc, w robocie nie ma szans, raczej się demotywuję.

Może zatem warto zainteresować się .NET (C#)?
revcoreyZobacz profil
Poziom ostrzeżenia: 0%
revcorey2017.09.30, 21:01
zapsu @ 2017.09.30 20:45  Post: 1098483
revcorey @ 2017.09.30 20:26  Post: 1098478
(...)

robota skutecznie zabije w tobie chęć, szczególnie jak trafisz do korpo. Jeśli idzie o obszar np. C/C++ w tym kraju maintanace to 80%. Nie wiem jak w javie ale podejrzewam że podobnie więc nie nastawiaj się że będziesz kreatywnie coś robił, pisał nowe featuery raczej poprawki bugów, analiza logów i jakiś innych zrzutów, debbugery. A być może raz na jakis czas featuer. Ale może się zdarzyć że człowiek trafi do firmy robiącej jakiś nowy projekt. Także jak idzie o spełnienie to tak sobie. Ja osobiście spełniam się po pracy klepiąc, w robocie nie ma szans, raczej się demotywuję.

Może zatem warto zainteresować się .NET (C#)?

To nie jest tak że weźmiesz sobie .net i nagle ciach nowe projekty tylko będą. Podejrzewam że i tu meitenancu nie brakuje. Sprawa jest taka że na początku kariery wybrzydzać nie będziesz mógł, dopiero po ja wiem 2 latach. Jak kolega wyżej wspomniał można poszukać nowej roboty ale to nie zawsze tak fajnie i super(a jak wspomniałem 80% c++ w Polsce to utrzymanie kodu). Pewnie na początku będzie trzeba zacisnąć zęby i jak okażesz się dobry to będziesz przebierał w ofertach a jak nie to ofert będzie mniej ;)

Wiem że z zewnątrz IT wydaje się pełne innowacji, klepania nowego kodu nie wiadomo ile ale tak nie jest. Czasami się coś utrzymuje, czasami coś pisze nowego. Zależy od firmy, trochę języka itd.
Jako osoba która już nie raz zmieniała pracę a i branżę też zmieniłem powiem tak. Trawa wydaje się bardziej zielona u sąsiada.
Powodzenia w zmianie branży jeśli się zdecydujesz.
zapsuZobacz profil
Poziom ostrzeżenia: 0%
zapsu2017.09.30, 21:22
revcorey @ 2017.09.30 21:01  Post: 1098486
zapsu @ 2017.09.30 20:45  Post: 1098483
(...)

Może zatem warto zainteresować się .NET (C#)?

To nie jest tak że weźmiesz sobie .net i nagle ciach nowe projekty tylko będą. Podejrzewam że i tu meitenancu nie brakuje. Sprawa jest taka że na początku kariery wybrzydzać nie będziesz mógł, dopiero po ja wiem 2 latach. Jak kolega wyżej wspomniał można poszukać nowej roboty ale to nie zawsze tak fajnie i super(a jak wspomniałem 80% c++ w Polsce to utrzymanie kodu). Pewnie na początku będzie trzeba zacisnąć zęby i jak okażesz się dobry to będziesz przebierał w ofertach a jak nie to ofert będzie mniej ;)

Wiem że z zewnątrz IT wydaje się pełne innowacji, klepania nowego kodu nie wiadomo ile ale tak nie jest. Czasami się coś utrzymuje, czasami coś pisze nowego. Zależy od firmy, trochę języka itd.
Jako osoba która już nie raz zmieniała pracę a i branżę też zmieniłem powiem tak. Trawa wydaje się bardziej zielona u sąsiada.
Powodzenia w zmianie branży jeśli się zdecydujesz.

Dzięki za wszelkie porady. Czy mogę liczyć na kontakt: lukasz_java@onet.pl ?
Pozdrawiam
HydeZobacz profil
Poziom ostrzeżenia: 0%
Hyde2017.09.30, 21:29
zapsu @ 2017.09.30 20:45  Post: 1098483

Może zatem warto zainteresować się .NET (C#)?

Ja pracuję w .NET, tu jest jak wszędzie. Tak jak koledzy piszą: 80% to utrzymanie.
Nie próbuj wybierać języka na samym początku, z czasem sam zobaczysz, w którym Ci się dobrze pracuje. Po za tym każdy szanujący się programista nie zna biegle więcej niż jeden język.

zapsuZobacz profil
Poziom ostrzeżenia: 0%
zapsu2017.09.30, 21:42
Jeśli też możesz się odezwać: lukasz_java@onet.pl

Nie ukrywam, że chętnie dowiem się więcej na temat tej branży od osób które mają duże doświadczenie.
borizmZobacz profil
Poziom ostrzeżenia: 0%
borizm2017.10.01, 01:28
Wibowit @ 2017.09.30 14:02  Post: 1098432
borizm @ 2017.09.30 11:44  Post: 1098413
Java wydaje się językiem biznesowym, ale jest bardzo słabym językiem biznesowym, ponieważ daje za dużo możliwości zrobienie tego samego w zupełnie inne sposoby i za mocno obciąża projekt rozwiązaniami technicznymi, dlatego taki Cobol, lub dowolny 4GL jest lepszy dla długoterminowego rozwoju systemu, choć powstaje pytanie: jak długo runtime i narzędzia będą wspierane, podczas gdy Java to mainstream i będzie wspierana jeszcze przez dziesiątki lat.

Java jest bardzo dobrym językiem do tworzenia dużych aplikacji biznesowych gdyż:
1. Aplikacje Javowe potrafią działać i zarabiać dla swoich właścicieli przez dziesiątki lat.
2. Język Java to rozsądny kompromis. Przechodzenie w 'skrajności' powoduje aktualnie problemy. Np pisanie w C/ C++ oznacza spędzanie dużej ilości czasu na szukanie problemów z wyciekami pamięci czy nieprawidłowymi odwołaniami do pamięci. Debugowanie w C/ C++ oznacza znaczne spowolnienie programu - zupełnie inaczej niż w Javce, gdzie debugowanie przez większość czasu odbywa się z praktycznie pełną prędkością. Z drugiej strony mamy języki kaczo typowane, a więc niespecjalnie współgrające z automatycznym refaktoringiem oferowanym przez IDE. Brak jawnego typowania wyklucza w ogólności niezawodny refaktoring, nawigację w kodzie, statyczną analizę kodu itd - to jest tym bardziej bolesne im większy jest projekt.
3. Jest duża podaż programistów (w tym duża podaż dobrych programistów) i wobec tego łatwo ich zrekrutować, nawet gdy wakatów jest dużo i trzeba je szybko obsadzić.
4. Java jest cały czas najpopularniejszym językiem w takich zastosowaniach i nic nie wskazuje na to, by miało się to zmienić. Śmierć Javy wieszczono już ze 20 lat, a Java dalej ma się dobrze. Referencyjny JVM (Hotspot) ma w zasadzie najbardziej zaawansowanego JITa spośród wszystkich VMek, a Oracle dalej inwestuje w rozwijanie JVMa - mam na myśli https://github.com/graalvm
5. W Javie jest napisanych mnóstwo biznesowych komponentów. By zastąpić Javę jakimś innym językiem te biznesowe komponenty musiałyby zostać przepisane do tego nowego języka. Przepisywanie dla samego przepisywania się nie opłaca, więc ten nowy język musiałby mieć jakieś naprawdę mocne zalety, by wyprzeć Javę z korporacji.
6. Jedynym poważnym konkurentem Javy w aplikacjach biznesowych jest C#/ .NET. Za obiema platformami stoją ogromne firmy. .NET jednak cały czas jest w cieniu Javy i mimo okresowych ekscytacji .NETowców i ich wieszczenia o końcu dominacji Javy nic się na tym polu nie zmienia.
7. Język Java nadal się rozwija chociaż powoli. Ma to swoje wady i zalety. Wada jest taka, że miłośnicy innych języków narzekają, że w Javie czegoś tam brakuje. Zaletą jest to, że Java nie jest przeładowana bajerami i dzięki temu nie trzeba spędzać ogromnej ilości czasu na jej dobre opanowanie. Ponadto Oracle zamiast na szybko małpować swojego konkurenta (C#) spogląda także na inne języki, zwłaszcza te które chodzą już na Javie (jak Kotlin czy Scala) i dzięki temu może wprowadzić mniej bajerów, ale za to przydatniejszych. Dla przykładu zamiast wprowadzać N sposobów na zapisanie propertiesów Oracle może skopiować case class ( https://docs.scala-lang.org/tour/case-classes.html ) ze Scali, gdzie w jednej linijce można zapisać klasę którą dotychczasowo w Javie czy C# zapisuje się w kilkunastu linijkach.
8. Java jest w ogólności szybka, a zwłaszcza w zastosowaniach biznesowych. Jednak z prymitywnych benchmarków często wynika, że Java jest sporo wolniejsza od konkurentów. Wynika to z tego, że w Javie genericsy operują tylko i wyłącznie na obiektach i nie da się ich sparametryzować np małym intem (mały int jest dużo lżejszy od Integera, który jest intem opakowanym w obiekt). To ma się zmienić wraz z wprowadzeniem http://openjdk.java.net/projects/valhalla/ Wtedy Java wyjdzie na prowadzenie w prymitywnych benchmarkach (oraz pewnych algorytmicznych zastosowaniach) i tym samym odejdzie kolejny powód by nie używać Javy. W aplikacjach biznesowych wiele się nie zmieni, bo tam już jest dobrze.

1. Aplikacje pisane na Mainframe działają od ponad 50 lat do dziś, więc to nie argument.
2. Java to wyłącznie kompromis, a .NET to już proszenie się o kłopoty i single-vendor-lock-in.
3. Java jest popularna, ale JavaScript wydaje się tę popularność doganiać.
4. Nie nie wspominałem o śmierci Java. To nie będzie śmierć, ale spadnięcie na boczny tor, bo nie będzie ona oferować zadowalającej produktywności w stosunku do języków napisanych z większym przemyśleniem od początku, albo nawet w stosunku do TypeScript. JVM jest szybka, czasem szybsza niż typowy kod C++, ale JVM pisana była pod Spark, które nie miały rejestrów, więc bytecode jak i sama JVM to maszyna ze stosem, która nie używa, a przynajmniej nie używała jeszcze do Java 6 rejestrów nowoczesnych procesorów (zapomnij o znanym z C __fastcall), więc LLVM może łatwo zjeść na śniadanie nawet JIT z tą całą optymalizacją w trakcie wykonywania. Poza tym Java ma ciągle problem z GC, efektem stop-the-world niezależnie od GC (tylko jedna implementacja, komercyjna była tego pozbawiona, ale nie wiem co musiała za to poświęcić) i ogólnie zwalnianiem pamięci, które jest zbyt lazzy.
5. Z czasem wszystko zostanie zastąpione, albo przepisane - pytanie tylko na co? Co będzie miało tak silne wsparcie jak Java, a będzie od niej lepsze? Może faktycznie nic, a może będzie to właśnie TypeScript, albo inny dialekt JavaScript podobny.
6. .NET nie jest już poważnym konkurentem Java, ale JavaScript + Node.JS zaczyna być, a Scala stara się być, tam gdzie chcą mieć pewność, że programista nie będzie słabym ogniwem i Scala (+ framework) wymusi na nim odpowiedni sposób implementacji.
7. Java ma dużo zaszłości, wiele rzeczy jest od 15-20 lat nieposprzątanych, mimo że mogło by być. Java rozwija się, ale nie w sposób jaki jest optymalny i wiele ułatwień z innych języków wygląda w Java jak protezy i wcale nie można tego zwalić na chęć zachowania wstecznej kompatybilności, ale na nieporadność, czy brak jednomyślności wspólnoty, czy może autorytatywność Oracle Corporation.
8. Java jest szybka, choć pamięciożerna i pod dużym obciążeniem dostaje czkawki, ale nie można zapominać, że na ogólną wydajność ma wpływ całość stosu runtime, a tu mamy do czynienie z produktami, frameworkami, które potrafią zniweczyć cały trud i dużo firm woli napisać własną obsługę protokołów sieciowych niż użyć gotowy web serwer (np. Tomcat), napisać własne biblioteki, niż używać gotowych, szczególnie tam gdzie chodzi o systemy czasu rzeczywistego. Dlatego też ucieka się w Scala i inne, bo ich rozszerzenia próbują rozwiązać problemy rozwiązane już ponad 30 lat temu (np. actor model, który powszechnie był używany pod wszystkimi POSIX, zmniejszenie ilości obiektów alokowanych na stercie, bardziej bezpieczna obsługa wielowątkowości).
Java ciągle ma zalety, może jest dobrym wyborem obecnie, ale nie wiem jak długo jeszcze. Czas uciekać w coś innego.
WibowitZobacz profil
Poziom ostrzeżenia: 0%
Wibowit2017.10.01, 12:28
borizm @ 2017.10.01 01:28  Post: 1098513
1. Aplikacje pisane na Mainframe działają od ponad 50 lat do dziś, więc to nie argument.
2. Java to wyłącznie kompromis, a .NET to już proszenie się o kłopoty i single-vendor-lock-in.
3. Java jest popularna, ale JavaScript wydaje się tę popularność doganiać.
4. Nie nie wspominałem o śmierci Java. To nie będzie śmierć, ale spadnięcie na boczny tor, bo nie będzie ona oferować zadowalającej produktywności w stosunku do języków napisanych z większym przemyśleniem od początku, albo nawet w stosunku do TypeScript. JVM jest szybka, czasem szybsza niż typowy kod C++, ale JVM pisana była pod Spark, które nie miały rejestrów, więc bytecode jak i sama JVM to maszyna ze stosem, która nie używa, a przynajmniej nie używała jeszcze do Java 6 rejestrów nowoczesnych procesorów (zapomnij o znanym z C __fastcall), więc LLVM może łatwo zjeść na śniadanie nawet JIT z tą całą optymalizacją w trakcie wykonywania. Poza tym Java ma ciągle problem z GC, efektem stop-the-world niezależnie od GC (tylko jedna implementacja, komercyjna była tego pozbawiona, ale nie wiem co musiała za to poświęcić) i ogólnie zwalnianiem pamięci, które jest zbyt lazzy.
5. Z czasem wszystko zostanie zastąpione, albo przepisane - pytanie tylko na co? Co będzie miało tak silne wsparcie jak Java, a będzie od niej lepsze? Może faktycznie nic, a może będzie to właśnie TypeScript, albo inny dialekt JavaScript podobny.
6. .NET nie jest już poważnym konkurentem Java, ale JavaScript + Node.JS zaczyna być, a Scala stara się być, tam gdzie chcą mieć pewność, że programista nie będzie słabym ogniwem i Scala (+ framework) wymusi na nim odpowiedni sposób implementacji.
7. Java ma dużo zaszłości, wiele rzeczy jest od 15-20 lat nieposprzątanych, mimo że mogło by być. Java rozwija się, ale nie w sposób jaki jest optymalny i wiele ułatwień z innych języków wygląda w Java jak protezy i wcale nie można tego zwalić na chęć zachowania wstecznej kompatybilności, ale na nieporadność, czy brak jednomyślności wspólnoty, czy może autorytatywność Oracle Corporation.
8. Java jest szybka, choć pamięciożerna i pod dużym obciążeniem dostaje czkawki, ale nie można zapominać, że na ogólną wydajność ma wpływ całość stosu runtime, a tu mamy do czynienie z produktami, frameworkami, które potrafią zniweczyć cały trud i dużo firm woli napisać własną obsługę protokołów sieciowych niż użyć gotowy web serwer (np. Tomcat), napisać własne biblioteki, niż używać gotowych, szczególnie tam gdzie chodzi o systemy czasu rzeczywistego. Dlatego też ucieka się w Scala i inne, bo ich rozszerzenia próbują rozwiązać problemy rozwiązane już ponad 30 lat temu (np. actor model, który powszechnie był używany pod wszystkimi POSIX, zmniejszenie ilości obiektów alokowanych na stercie, bardziej bezpieczna obsługa wielowątkowości).
Java ciągle ma zalety, może jest dobrym wyborem obecnie, ale nie wiem jak długo jeszcze. Czas uciekać w coś innego.

1. No i dzięki temu w przypadku mainframe też jesteś w stanie w miarę sensownie ocenić przyszłość projektu. Wiesz jak wyglądało wsparcie na przestrzeni wielu lat, dostępność programistów, kompatybilność rozwiązań itp itd Natomiast biorąc pod uwagę np Node.JS i TypeScript to musisz wróżyć na podstawie ich krótkiej i burzliwej historii.
3. Zależy na które statystyki patrzysz. Najszybciej zyskującym popularność językiem skryptowym jest Python: https://stackoverflow.blog/2017/09/14/pyth...rowing-quickly/ Popularność jednak zyskuje w zupełnie innych dziedzinach niż biznesowe krowy (tzn duże aplikacje tworzone w korporacjach).
4a. Większym przemyśleniem? W 1995 realia były inne. Ludzie programowali mocno strukturalnie, a takie np lambdy to byłaby praktycznie herezja. Java by się wybić musiała wyglądać atrakcyjnie dla aktywnych wtedy programistów. Z tego powodu Java przypomina trochę C/ C++, chociaż sam twórca Javy stwierdził, że wolałby gdyby Java przypominała bardziej składnię Scali, ale ze względów marketingowych nie poszedł w takim kierunku.
4b. Co do bajtkodu i maszyny ze stosem to to nie jest żaden problem dla HotSpota. HotSpot udostępnia opcje do wypisywania kodu asemblerowego: http://jpbempel.blogspot.com/2015/12/print...-explained.html Wytłumacz mi na podstawie tego asma jakie niby Java ma problemy z wykorzystaniem rejestrów. Trwają też prace nad optymalizacją wywołań metod natywnych z poziomu JVMa: http://openjdk.java.net/projects/panama/
4c. Trzecia sprawa w tym punkcie to bezpauzowe GC. Komerycjnym i zamkniętym rozwiązaniem jest Azul C4. RedHat natomiast pracuje nad otwartoźródłowym rozwiązaniem: http://openjdk.java.net/projects/shenandoah/
5. Jest zdecydowanie zbyt wcześnie, by opierać wieloletni biznes na świeżynce takiej jak Node.JS + TypeScript. No chyba, że ktoś np oprze architekturę aplikacji o mocno niezależne mikroserwisy i wtedy można by płynnie te mikroserwisy przepisywać do innych języków jednocześnie rozwijając pozostałe (czyli nie wstrzymując rozwoju projektu na wiele lat wielkim przepisywaniem).
7. W przypadku zastosowań biznesowych wsteczna kompatybilność to praktycznie świętość. Nawet nie tylko zastosowań biznesowych. Jakie popularne języki zrywały wsteczną kompatybilność? Weźmy dla przykładu Pythona. Python 3 (wprowadzony w 2008 roku) jest niekompatybilny z Pythonem 2 i to wciąż powoduje istny dramat z migracją i mnóstwem niekompatybilnych bibliotek. Wprowadzenie Pythona 3 spowodowało silny opór programistów, którzy wymusili dalszy rozwój Pythona 2 przez portowanie czego się da z Pythona 3 do Pythona 2. Ja sam programuję komercyjnie w Scali, a sama Scala ze wszystkich popularnych języków chyba w najmniejszym stopniu zachowuje wsteczną kompatybilność. Każde nowe wydanie (np 2.10, 2.11, 2.12, itd) jest niekompatybilne i jeśli chcę się zmigrować na nową wersję Scali to najpierw muszę poczekać, aż autorzy wszystkich bibliotek, których używam opublikują ich wersje dla nowej wersji Scali. Czasami się to w ogóle nie zdarza i trzeba rezygnować z bibliotek. Takie podejście byłoby samobójstwem w przypadku korporacyjnych molochów, gdzie zależności jest ogromna ilość.
WibowitZobacz profil
Poziom ostrzeżenia: 0%
Wibowit2017.10.01, 13:05
revcorey @ 2017.09.30 21:01  Post: 1098486
To nie jest tak że weźmiesz sobie .net i nagle ciach nowe projekty tylko będą. Podejrzewam że i tu meitenancu nie brakuje. Sprawa jest taka że na początku kariery wybrzydzać nie będziesz mógł, dopiero po ja wiem 2 latach. Jak kolega wyżej wspomniał można poszukać nowej roboty ale to nie zawsze tak fajnie i super(a jak wspomniałem 80% c++ w Polsce to utrzymanie kodu). Pewnie na początku będzie trzeba zacisnąć zęby i jak okażesz się dobry to będziesz przebierał w ofertach a jak nie to ofert będzie mniej ;)

Wiem że z zewnątrz IT wydaje się pełne innowacji, klepania nowego kodu nie wiadomo ile ale tak nie jest. Czasami się coś utrzymuje, czasami coś pisze nowego. Zależy od firmy, trochę języka itd.
Jako osoba która już nie raz zmieniała pracę a i branżę też zmieniłem powiem tak. Trawa wydaje się bardziej zielona u sąsiada.
Powodzenia w zmianie branży jeśli się zdecydujesz.

Moim zdaniem przede wszystkim nikt poważny nie zatrudni niedoświadczonego programisty do stawiania dużego projektu. Na początku kariery będzie więc tylko i wyłącznie rozwijanie tego co napisali bardziej doświadczeni koledzy.

Z drugiej strony języki statycznie typowane takie jak Java czy C# (a także np Scala w której sam programuję) mają bardzo dobre możliwości w zakresie refaktoringu kodu. Kiepsko napisany kod można odizolować warstwami abstrakcji, podzielić na kawałki i przepisywać po kawałku, a IDE zadba o to, by refaktoring był kompletny (np zmiana nazwy pola jest poprzedzona wyszukaniem wszystkich użyć w projekcie). Są książki o tym jak pracować z legacy kodem i poprawiać jego stan. Np tutaj jest dyskusja o jednej: https://softwareengineering.stackexchange....ith-legacy-code
Od pracy ze starym kodem się nie ucieknie, bo tworzenie dużych systemów zajmuje tyle czasu, że zdążą się miejscami zestarzeć zanim osiągną docelowy rozmiar (w sensie ilości funkcjonalności i spełnianych wymagań). To jest w ogólności niezależne od języka programowania.

Pewnym obejściem problemu jest jednak architektura mikroserwisowa, gdzie mikroserwisy są dość mocno niezależne i mogą być np niezależnie przepisywane. Z racji rozmiaru mikroserwisu (czyli 'mikro' ) jest sporo okazji by stworzyć nowego, a samo stawianie nowego mikroserwisu (obok kilku poprzednich) to dość prosta sprawa (i można ją zlecić komuś ze średnim doświadczeniem). W nowym mikroserwisie można zastosować nieco inną architekturę i tym samym mieć frajdę z robienia czegoś nowego. Wydaje mi się jednak, że architektura mikroserwisowa nadal ma małą popularność.
revcoreyZobacz profil
Poziom ostrzeżenia: 0%
revcorey2017.10.01, 13:34
Wibowit @ 2017.10.01 13:05  Post: 1098538
revcorey @ 2017.09.30 21:01  Post: 1098486
To nie jest tak że weźmiesz sobie .net i nagle ciach nowe projekty tylko będą. Podejrzewam że i tu meitenancu nie brakuje. Sprawa jest taka że na początku kariery wybrzydzać nie będziesz mógł, dopiero po ja wiem 2 latach. Jak kolega wyżej wspomniał można poszukać nowej roboty ale to nie zawsze tak fajnie i super(a jak wspomniałem 80% c++ w Polsce to utrzymanie kodu). Pewnie na początku będzie trzeba zacisnąć zęby i jak okażesz się dobry to będziesz przebierał w ofertach a jak nie to ofert będzie mniej ;)

Wiem że z zewnątrz IT wydaje się pełne innowacji, klepania nowego kodu nie wiadomo ile ale tak nie jest. Czasami się coś utrzymuje, czasami coś pisze nowego. Zależy od firmy, trochę języka itd.
Jako osoba która już nie raz zmieniała pracę a i branżę też zmieniłem powiem tak. Trawa wydaje się bardziej zielona u sąsiada.
Powodzenia w zmianie branży jeśli się zdecydujesz.

Moim zdaniem przede wszystkim nikt poważny nie zatrudni niedoświadczonego programisty do stawiania dużego projektu. Na początku kariery będzie więc tylko i wyłącznie rozwijanie tego co napisali bardziej doświadczeni koledzy.

Z drugiej strony języki statycznie typowane takie jak Java czy C# (a także np Scala w której sam programuję) mają bardzo dobre możliwości w zakresie refaktoringu kodu. Kiepsko napisany kod można odizolować warstwami abstrakcji, podzielić na kawałki i przepisywać po kawałku, a IDE zadba o to, by refaktoring był kompletny (np zmiana nazwy pola jest poprzedzona wyszukaniem wszystkich użyć w projekcie). Są książki o tym jak pracować z legacy kodem i poprawiać jego stan. Np tutaj jest dyskusja o jednej: https://softwareengineering.stackexchange....ith-legacy-code
Od pracy ze starym kodem się nie ucieknie, bo tworzenie dużych systemów zajmuje tyle czasu, że zdążą się miejscami zestarzeć zanim osiągną docelowy rozmiar (w sensie ilości funkcjonalności i spełnianych wymagań). To jest w ogólności niezależne od języka programowania.

Pewnym obejściem problemu jest jednak architektura mikroserwisowa, gdzie mikroserwisy są dość mocno niezależne i mogą być np niezależnie przepisywane. Z racji rozmiaru mikroserwisu (czyli 'mikro' ) jest sporo okazji by stworzyć nowego, a samo stawianie nowego mikroserwisu (obok kilku poprzednich) to dość prosta sprawa (i można ją zlecić komuś ze średnim doświadczeniem). W nowym mikroserwisie można zastosować nieco inną architekturę i tym samym mieć frajdę z robienia czegoś nowego. Wydaje mi się jednak, że architektura mikroserwisowa nadal ma małą popularność.

Pracuję przy projekcie c++ co ma więcej chyba niż 12 binarek(albo coś koło tego), moja ma chyba z 400 tys. lini kodu. Także wiem jak utrzymuje i rozwija się stare bagno ;) I dlatego koledze chciałem naprostować trochę myślenie, bo on myśli że my tu siedzimy i non stop trzaskamy nowe projekty, czy sterczymy przy tablicy i prowadzimy wielogodzinne dyskusje jak w filmach o hakerach :) A mamy prozę życia.

C++ ma ten minus że się rozrósł, z kolei C cóż narzekalibyśmy że nie ma potrzebnej funkcjonalności. Java czy python nie wchodzą w grę(ograniczona pamięć i ogólnie performance), chociaż np. siemens na przekładkach do protokołów ma appkę w javie.
HydeZobacz profil
Poziom ostrzeżenia: 0%
Hyde2017.10.01, 14:33
revcorey @ 2017.10.01 13:34  Post: 1098539
, bo on myśli że my tu siedzimy i non stop trzaskamy nowe projekty, czy sterczymy przy tablicy i prowadzimy wielogodzinne dyskusje jak w filmach o hakerach :) A mamy prozę życia.

Dorzuć do tego pisanie testów, dokumentacji, robienie review itd.
ropsZobacz profil
Poziom ostrzeżenia: 0%
rops2017.10.01, 16:27
Dzięki za cynk, dziś kupiłem za 35 zł :)
gregory003Zobacz profil
Poziom ostrzeżenia: 0%
gregory0032017.10.01, 21:00
borizm @ 2017.09.30 00:00  Post: 1098358
Co do kursu 'pierdziawy', to Java jest współczesnym Cobol'em - językiem z dużym długiem technicznym, przerażającymi zaszłościami, przekombinowaniem i różnorodnością - podobnie jak .NET, ale .NET to bardziej jak monolit źle zaprojektowany przez jednego człowieka.

Nie masz pojęcia o czym piszesz dziecko…
gregory003Zobacz profil
Poziom ostrzeżenia: 0%
gregory0032017.10.01, 21:04
W cenie dobrej książki otrzymujecie kurs ułożony przez profesjonalistę, artykuły, materiały wideo i pomoce naukowe. Możecie w ten sposób poszerzyć swoją wiedzę, albo użyć tych narzędzi w formie trampoliny.

Co za bzdura! Dobra książka kosztuje znacznie więcej niż 65 zł!
W zeszłym roku kupiłem sobie taką tanią, ale wychwalaną (zapewne przez samych „programistów” i „hackerów” ) książkę o C#, bo bliższy mi C++/CLI umiera powoli śmiercią naturalną, o .Net i jego bibliotekach już sam sporo wiem, więc uznałem, że takie wprowadzenia mi wystarczy, a potem popracuje już sam. Nie doszedłem nawet do programowania obiektowego, a książeczka poszła na allegro, bo takich-pseudo informacji nie potrzebuję. Co mi po kursie, skoro nie znając C# wiem więcej od autora kursu?

Dobre książki o programowaniu to 700 stronicowe kobyły (co najmniej), zaczynają się od stówy i tylko takie warto kupować.

Edit. Już jakiś debil zminusował? Ciekawe za co? Czyżby ci wszyscy „wielcy programiści” i „hakerzy” komentujący tą nachalną promocję Udemy byli jednocześnie zwolennikami pozycji typu: „C++ dla kretynów”?
DavidPRGZobacz profil
Poziom ostrzeżenia: 0%
DavidPRG2017.10.01, 21:48
Specjalnie dla PCLab ? Na trzech innych portalach widziałem tą samą promocje...

clickbait
mleczanZobacz profil
Poziom ostrzeżenia: 0%
mleczan2017.10.02, 00:04
DavidPRG @ 2017.10.01 21:48  Post: 1098569
Specjalnie dla PCLab ? Na trzech innych portalach widziałem tą samą promocje...

clickbait


Specjalnie dla Pclab jest w cenie 65zł. Dla innych jest po 35 :)
szmonZobacz profil
Poziom ostrzeżenia: 0%
szmon2017.10.02, 08:07
-2#79
Dthlfwp @ 2017.09.29 10:04  Post: 1098145
Kurs za 65 zł i po tym praca za 5k zł brutto. Większych bzdur dawno nie czytałem.


Programista zarabiający 5k brutto? Większych bzdur dawno nie czytałem : )
dapeZobacz profil
Poziom ostrzeżenia: 0%
dape2017.10.02, 09:04
Dthlfwp @ 2017.09.29 10:26  Post: 1098157
duda007 @ 2017.09.29 10:15  Post: 1098151
(...)

5k brutto to wg Ciebie jakoś dużo? Szczególnie przy umowie typu B2B? Tyle w większych miastach dostają juniorzy 'do wyszkolenia'... Rynek programistów po studiach jest wręcz tragiczny (a raczej ich poziom wiedzy). To czego nie pytało się jeszcze rok czy 2 lata temu na rekrutacji bo było oczywiste że gościo wie, dzisiaj 3/5 osób się wykłada na tym. Także nieraz osoby po takich właśnie kursach wiedzą więcej niż osoby po licencjatach/inżynierach ;) Oczywiście warunkiem KONIECZNYM jest programowanie we własnym zakresie (nie tylko klepanie tego co na kursach).

to jest bardzo dużo jak na programistę, który tydzień temu nie widział jeszcze co to jest java i przerobił kursik internetowy za 65 zl. Sorry, ale taka osoba nawet jak nauczy się porządnie składnię języka i jakieś dodatkowe biblioteki, to nadal wie tyle co nic. Gdzie wiedza przykładowo nt. algorytmow, wzorców projektowych, optymalizacji, jakiegoś systemu kontroli wersji, w przypadku Javy np. jak działa garbage collector, JNI, ogolnych zasad projektowania, pisania kodu??
Nie uwierzę, że choć 1 firma w Polsce zatrudniłaby takiego amatora za 5k zł brutto.
zobacz sobie zaklądkę 'czego sie nauczę' w tym kursie: pokazują po prostu składnię Javy, czyli to samo (a w sumie to mniej), co jest w dokumentacji. Plus podstawy Android Studio, cokolwiek to oznacza, pewnie pokazują jak wygląda IDE i stworzyć aplikację typu Hello World z pewnie jednym Activity i tyle.
Ja bym mógł taką osobę co najwyżej na bezplatny staż przyjąć (po wstępnej rozmowie sprawdzającej czy gość się nadaje).


To musisz mieć fajny rynek tam gdzie jesteś jeśli możesz sobie na to pozwolić. My ostatnio bierzemy juniorów do przeszkolenia, ze względu na zupełny brak midów na rynku i 5k brutto to standardowy budżet bo inaczej nikt nie przyjdzie. Na szczęście, póki co trafiamy w 80%.
Funkcja komentowania została wyłączona. Do dyskusji zapraszamy na forum.