Programowanie JAVA czy Webmastering

Programowanie JAVA czy Webmastering
0

Hej,

Mam takie przyszłościowe pytanie.
Jak myślicie która profesja bedzie miała większe powodzenie za okolo 5-10 lat? programista java czy ogolnie webmaster.
Interesuje się bardzo obiema 'kierunkami' tylko chciałbym właśnie postawić na jednym.

Pozdrawiam

0

Jestem przekonany, że bardziej będzie się (wciaż) opłacało być programistą Javy niż "ogólnym webmasterem".

"Ogólne" (nie)specjalizacje uważam za zdecydowanie kiepskie pomysły na informatyczną karierę. Nie bądź "ogólnym webmasterem" od HTML/CSS/JavaScriptu, jednocześnie też od PHP/Pythona/Ruby'ego/Javy EE... + baz danych, i jednocześnie też grafikiem. Czemu? Bo z każdej z tych trzech dziedzin będziesz albo bardzo cienki, albo co najwyżej przeciętny. OK, jeśli będziesz miał samozaparcie i naprawdę będziesz się przykładał, możesz być "dobry" z jednej z tych grup. Bardzo rzadko zdarzają się osoby, które są naprawdę dobre z dwóch. Nie znam osobiście ani jednej, która byłaby naprawdę dobra ze wszystkich trzech i nie jestem pewien, czy o takiej osobie w ogóle słyszałem.

Znacznie bardziej opłaca się wybrać jedną z tych grup i w niej stać się specjalistą. Np. bądź designerem ("grafikiem"). Po prostu. Co lepsi designerzy, projektujący strony www, kampanie reklamowe i tak dalej, też zarabiają 5-10k miesięcznie i nie mówię tu o nie wiadomo jakich nazwiskach, tylko o osiągalnym poziomie.

Albo rób sam front-end (HTML/CSS/JS).

Albo właśnie... back-end.

Czyli np. Javę EE, wspartą (zwykle -- nie zawsze) jakąś tradycyjną bazą danych. Bardzo dużo aplikacji enterprise'owych, tj. korporacyjnych, to tak naprawdę aplikacje webowe. Internetowe, ale też -- w dużej części -- intranetowe. Więc poniekąd faktycznie "robisz stronki", tyle że są to narzędzia dla Twojej liczącej dziesiątki tysięcy pracowników korporacji ;). Zresztą, serwisów internetowych na Javie EE stoi przecież też całkiem sporo (choćby witryny zdalnego dostępu do kont bankowych).

ZDECYDOWANIE specjalizuj się. Ludzie pracujący jako "informatycy" np. w urzędach, czyli zajmujący się odrobinkę serwisem hardware'u, trochę bezpieczeństwem, siecią, wreszcie nawet będący swoistymi "webmasterami" często zarabiają grosze. Mają sporo roboty, ale w żadnej z tych dziedzin nie są dobrzy. Siłą rzeczy, takich ludzi zatrudniają raczej ci, co chcą oszczędzić i wydawać kasy na np. czterech różnych specjalistów. Tną więc koszty czasem nawet poniżej pewnego logicznego minimum. Więc temu jednemu kolesiowi "od wszystkiego" dadzą mniej niż któremukolwiek z tych czterech.

Powiem Ci nawet, że specjalizacja może być jeszcze większa. Nie są rzadkością kolesie, którzy w (bogatych) firmach zajmują się TYLKO warstwą bazy danych. Nawet niespecjalnie się tykają tej Javy. Piszą w PL/SQL-u ;). Ja z kolei "zatrudniam" we front-endowym teamie, w którym pracuję, kolesi niemalże czysto... JavaScriptowych. Nie to, że nie mają pojęcia o HTML-u czy CSS-ie, ale są to skille dla nich zdecydowanie drugorzędne i zdecydowaną większość czasu babrają się w samym JavaScripcie. Są to porządane stanowiska, w dodatku coraz lepiej płatne.

To powiedziawszy, jeśli się dopiero uczysz, polecam jednak ogarnać trochę innych warstw. Jeśli pójdziesz w Javę, to znaj chociaż podstawy HTML-a, podstawowe zagadnienia. Ale koncentruj się na jednej, wyraźnej drodze. Żadnych "ogólnych" stanowisk.

02
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 8 lat
  • Postów:1176
0

http://www.smashingmagazine.com/2011/07/26/defending-the-generalists-in-the-web-design-industry/
Akurat pod branże webową, chociaż tak na prawdę ten artykuł pasuje do dowolnej innej branży w obrębie IT.
Opcja bycia wszechstronnym jest dla ludzi, którzy szybko przyswajają wiedzę, którzy mają wiele zainteresowań, którzy poświęcają większą część wolnego czasu na naukę i którzy są w stanie myśleć elastycznie. Jeżeli wybierzesz taką opcję to masz szansę na różnorodną, ciekawą pracę.
Opcja bycia specjalistą jest dla ludzi, którzy lubią znać każdy szczegół danej technologi ale także dla ludzi, którzy chcą odbębnić 8h w pracy i mieć spokój (tacy najczęściej nazywają się specjalistami). Praca specjalisty nie jest różnorodna, nie wymaga żadnej elastyczności umysłowej, tylko wytrwałości i cierpliwości w przyswajaniu kolejnych szczegółów. Im bardziej się specjalizujesz tym bardziej tracisz umiejętność uogólniania swojej wiedzy. Stąd też często specjaliści mają takie zdanie, że "nie da się być dobrym we wszystkim" tudzież w bardziej obraźliwej formie "jak ktoś jest od wszystkiego to jest do niczego".
Jeżeli chodzi o finanse to bardziej się opłaca być specjalistą, im bardziej niszowa technologia tym większą kase można wyciągnąć. Z drugiej strony specjalista ma znacznie większą szanse na wysiudanie z rynku, jeżeli jego niszowa technologia przestanie być używana.
Firmy różnie podchodzą do specjalizacji - małe firmy wolą ludzi wszechstronnych którzy są w stanie przeprowadzić projekt od początku do końca samodzielnie, korporacje stawiają na specjalizowanie się (czyli jesteś właśnie takim małym wyspecjalizowanym owadem w dużym roju).

@bswierczynski - przykład z ynformatykiem z urzędy jest totalnie bezsensu. W urzędach są zatrudniani ludzie którzy tak na prawdę nie mają pojęcia o niczym, więc i tak będzie cud jak zdołają liznąc po łebkach kilka dziedzin.

edytowany 2x, ostatnio: 0x200x20
PoziomeQ
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 8 lat
  • Postów:133
0

z drugiej jednak strony, nie warto zamykać się w jednym języku programowania(co gorsza w jednym frameworku) tylko poznać podstawy kilku języków
potem dopiero gdy jakiś przypadnie nam do gustu zacząć poznawać go dogłębnie
np. skąd mamy wiedzieć czy naszym ulubionym językiem i takim w których chcielibyśmy pisać całe życie jest java, skoro w życiu nie widzieliśmy kodu C# na oczy :)

Wibowit
C# się bardzo niewiele różni od języka Java. C# przed wersją 2.0 był w zasadzie taką gorszą Javą. Jak chcesz poznać różnorodne języki to np polecam taki skład: Haskell, Prolog, Smalltalk, czysty Asembler, APL. Dowolne dwa różne języki z tego zbioru różnią się o wiele bardziej niż Java i C#.
0

Porównywanie Javy i webmasteringu jest jak porównywanie kota z psem - bez sensu.

Zobacz pozostałe 6 komentarzy
Wibowit
Pewnie dlatego, że dla ciebie Java to czarna magia :]
EgonOlsen
No bo to jest czarna magia. Przyczaj: 5 "programistow" javy "pisze program" od pol roku ktory jako input dostaje 80kb plik a ma wygenerowac z tego xml. Cala operacja przetwarzania jak na razie trwa od 20 do 45 minut (80kb danych do przetworzenia!). No i teraz pytanie: o ile ci "programisci" nie sa do d**y, ta java nie jest do d**y to chyba czary nie?
Koziołek
@egon, Programiści są do d**y, Manager jest do d**y, projekt jest do d**y. Możliwości jest cale multum.
02
Firma w której robisz jest do d**y
EgonOlsen
tyz prowda, juz niedlugo :D
0

@0x200x20:
Ciekawa hipoteza o tej generalizacji, ale zupełnie nie zgadza się z moim doświadczeniem. Choć nie wiem, czy tak naprawdę jest z nim sprzeczna i nie da się obu rzeczy jakoś (jednak) pogodzić, w końcu moje doświadczenie jest ograniczone.

A co z ofertami pracy? Widujesz dobre oferty dla "generalistów" (użyję tej kalki językowej z artykułu)? Jak często? Jak łatwo znaleźć taką ofertę, w porównaniu do ofert dla specjalistów?

Zauważ, że nawet bycie dobrym lub przynajmniej w miarę dobrym specjalistą nie jest takie łatwe. I nie jest aż tak łatwo znaleźć dobrą pracę na stanowisku specjalisty -- widać to po ludziach, którzy odpadają na rekrutacji. A dobrych ofert dla specjalistów ja widzę znacznie, znacznie więcej niż dla generalistów. Choć może to dlatego, że nie rozglądam się pracą dla tych drugich ;).

Sam pracuję na stanowisku specjalisty. To nie znaczy, że przez cały czas miałem oczy otwarte tylko na jeden język programowania. Znam "jakoś tam" więcej niż pięć innych. "Znam jakoś tam", czyli w każym z nich napisałem pięciocyfrową liczbę linii kodu. Ja jednak nie do końca jestem przeciętniakiem; uczę się naprawdę sporo, a pierwsze lekcje programowania miałem koło 6 klasy podstawówki. Obok tego wszystkiego, o samym designie/użyteczności (to niemal jedno i to samo) przeczytałem coś koło 7 książek, zaprojektowałem troszkę interfejsów, ale nie uważam się za profesjonalnego designera. Tak jak nie uważam się za profesjonalnego programistę Javy czy C, pomimo sporych przygód z tymi językami.

Osobiście nie stosuję zasady zamykania oczu na wszystko, co nie dotyczy jednego języka/technologii. Ale jakbym miał dać prostą radę osobie, której nie znam: doradzałbym specjalizację i obcięcie tych drugorzędnych rzeczy. One pomagają, ale znam sporo osób, które olały te drugorzędne rzeczy i mają się całkiem nieźle. Prościej jest chyba być dobrym w jednej dziedzinie, niż dobrym w jednej oraz całkiem nie takim złym w pięciu innych. Tyle osób nie daje rady być dobrych w tej jednej rzeczy, że boję się sugerować komuś to drugie.

I uważam, że znacznie bardziej opłaca się -- na rynku pracy -- być dobrym w tej jednej rzeczy, niż bardzo mocno przeciętnym w kilku. Najlepiej zaś jest -- i sam to kultywuję -- mieć wiedzę w kształcie litery L. Szeroka, solidna podstawa, a w jednym miejscu naprawdę dogłębna wiedza.

Mam paru znajomych, których można nazwać generalistami za umiejętności i którym się powodzi. Kolesie niby od Front-Endu www, którzy piszą pomocnicze narzędzia w Pythonie, zarządzają w całkiem zaawansowany sposób dodatkowymi serwerami, w domu piszą stery do Linuxa itp. W rubryce "stanowisko" wpiszą jednak "Front-End Specialist", bo to ich podstawowe skille w pracy.

Bardzo bym się bał doradzać generalizację młodemu człowiekowi, który szuka swojej ścieżki w kontekście przyszłego rynku pracy. To IMO zły pomysł.

0x200x20 napisał(a)

@bswierczynski - przykład z ynformatykiem z urzędy jest totalnie bezsensu. W urzędach są zatrudniani ludzie którzy tak na prawdę nie mają pojęcia o niczym, więc i tak będzie cud jak zdołają liznąc po łebkach kilka dziedzin.

Ano są tacy zatrudniani w urzędach. Specjaliści zresztą też.

Widuję trochę takich słabych ofert pracy. Nie wszystkie z urzędów. Również z -- niewielkich zwykle -- firm. W rubryce stanowisko piszą "informatyk", oferują coś koło minimalnej krajowej, wymagają X, Y, Z oraz A, B i C i... trafiają nawet czasem na Wykop ;).

Nie kojarzę za to oferty pracy, która wymagałaby tylu różnorodnych rzeczy związanych z programowaniem i wydawała się atrakcyjna, czyli choćby dobrze płatna.

MasterBLB
bswierczynski,jak można się z tobą skontaktować?
BS
Np. napisać do mnie PM lub napisać w temacie, w którym się udzielam? Mam tu konto, owszem, nawet moderatorskie, tylko czasami nie jestem zalogowany -- zależy to głównie od terminalu, z jakiego w danej chwili korzystam.
0

W ofertach dla 'generalistów' najczęściej pracodawca nie wymaga X lat w konkretnej technologii, co najwyżej doświadczenia w programowaniu w ogólności. Miejsce generalistów jest głównie w małych firmach, gdzie liczba osób jest ograniczona i nie ma podziału na wąskie specjalizacje, oraz w startupach gdzie jest się odpowiedzialnym za napisanie i wdrożenie całego projektu. Jednakże są też wyjątki, np. z tego co wiem google preferuje ludzi wszechstronnych i jak widać w ich przypadku ta strategia się sprawdza. Czytałem też artykuł jak się pracuje w firmie Valve (stworzyli między takie gry jak Half-Life oraz Portal), też preferują ludzi wszechstronnych. Warto przeczytać, http://m.garrettamini.com/2011/08/lessons-from-valve-how-to-build-a-designers-paradise/ . Są dokładnie wymienione powody dlaczego wolą generalistów od specjalistów.

As I was finishing up my contract at Valve, I spoke with one of the lead designers for Steam about what he did, and how he got there. He had done print design, flash prototyping, HTML and CSS UI, and even some hardware hacking before he made the move to Valve. “We don’t hire someone who can only do one thing, even if they’re the very best at that one thing,” he said (I’m paraphrasing from memory).

LA
  • Rejestracja:około 16 lat
  • Ostatnio:prawie 13 lat
0
renault12 napisał(a)

Hej,

Mam takie przyszłościowe pytanie.
Jak myślicie która profesja bedzie miała większe powodzenie za okolo 5-10 lat? programista java czy ogolnie webmaster.
Interesuje się bardzo obiema 'kierunkami' tylko chciałbym właśnie postawić na jednym.

Pozdrawiam

Cześć!

W zasadzie to dwie różne rzeczy, webmastering jest skoncentrowany na budowaniu interfejsów dla użytkownika, natomiast programowanie w javie (zapewne masz na myśli tutaj głównie JavaEE) skoncentrowane na przetwarzaniu danych, dodawania czy odczytu do bazy danych i takich tam. I dzisiaj i jutro i za kilkanaście lat będzie potrzeba budowania zarówno UI jak i programów do przetwarzania danych, tak samo bazy danych nie znikną - może tylko wejdą inne technologie. Warto uczyć się myślenia na temat danego zagadnienia a nie konkretnych rozwiażań.

Mocno generalizując na dzień dzisiejszy wydaje mi się, że warto wybrać jedno z zagadnień (które nam najbardziej się podoba, czy też dobrze idzie): bazy danych, aplikacje web i webdesign (oczywiście zakładając z tytułem tematu, że celem jest web), wyspecjalizować się w nim, a pozostałe znać (czy poznawać) na tyle, na ile nam są potrzebne.

Na marginesie - nie za 5-10 lat, ale już dzisiaj widać niezły trend w kwestii mobile development, może warto się dodatkowo zainteresować :)

02
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 8 lat
  • Postów:1176
0

Osobiście nie stosuję zasady zamykania oczu na wszystko, co nie dotyczy jednego języka/technologii. Ale jakbym miał dać prostą radę osobie, której nie znam: doradzałbym specjalizację i obcięcie tych drugorzędnych rzeczy. One pomagają, ale znam sporo osób, które olały te drugorzędne rzeczy i mają się całkiem nieźle. Prościej jest chyba być dobrym w jednej dziedzinie, niż dobrym w jednej oraz całkiem nie takim złym w pięciu innych. Tyle osób nie daje rady być dobrych w tej jednej rzeczy, że boję się sugerować komuś to drugie.

Zgadzam się, że to opcja zdecydowanie nie dla wszystkich. Z drugiej w początkowej fazie kariery lepiej spróbować wielu rzeczy, chociażby żeby zobaczyć co się na prawdę lubi. Pisanie kodu dla siebie/na studia znacznie się różni od pisania kodu produkcyjnego tak więc trzeba po prostu popracować na danym stanowisku, żeby zobaczyć czy ci dana specjalizacja odpowiada.
Inna kwestia jest taka, że od pewnego poziomu specjalizacja przestaje się opłacać (wiesz coraz więcej rzeczy o coraz mniejszych szczegółach aż w końcu wiesz wszystko o niczym ;)). Raczej rzadko się zdarza, żeby znajomość kolejnych szczegółów technologii byłą krytyczna dla projektu. Zgodnie z zasadą Pareto wystarczy 20% wiedzy, żeby robić 80% rzeczy (proporcje pewnie są różne, ale idea pozostaje ta sama).

Mam paru znajomych, których można nazwać generalistami za umiejętności i którym się powodzi. Kolesie niby od Front-Endu www, którzy piszą pomocnicze narzędzia w Pythonie, zarządzają w całkiem zaawansowany sposób dodatkowymi serwerami, w domu piszą stery do Linuxa itp. W rubryce "stanowisko" wpiszą jednak "Front-End Specialist", bo to ich podstawowe skille w pracy.

Zauważ, że są na pewno mniejszymi specjalistami niż ludzi, którzy klepią wyłącznie frontend (chociażby z tego wzlględu na to, że 'tracą' czas w domu na pisanie sterowników zamiast napisać kolejny frontend). Dlaczego więc wpisują, że są specjalistami? Prawdopodobnie ze względu na mentalność ludzi - specjaliści są jednak obecnie bardziej cenieni w przeciętnej firmie. Tak więc trik polega na tym, żeby znaleźć sobie specjalizacje, która jest dosyć szeroka (czyli w zasadzie nie jest specjalizacją). Ja np. mógłbym sobie wpisać 'Distributed Systems Specialist', bo ten motyw przewijał się poprzedniej i obecniej pracy. Sęk w tym że systemy rozproszone są pisane w różnych językach (od C++ przez Javę do F#), stoją na różnych systemach (Windows, Unix, Linux...) i wykonują różne funkcję (od prostego tłumaczenia protkołów z jednego na drugi, po zrównoleglanie obliczeń) i oprócz programowania wymagają jeszcze administracji. Ale Specjalista od razu ładniej brzmi niż 'Generalista' (WTF takiego słowa nawet nie ma SJP).

BS
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 12 lat
0
0x200x20 napisał(a)

Zauważ, że są na pewno mniejszymi specjalistami niż ludzi, którzy klepią wyłącznie frontend (chociażby z tego wzlględu na to, że 'tracą' czas w domu na pisanie sterowników zamiast napisać kolejny frontend). Dlaczego więc wpisują, że są specjalistami? Prawdopodobnie ze względu na mentalność ludzi - specjaliści są jednak obecnie bardziej cenieni w przeciętnej firmie.

Nie za bardzo. Są na tyle dobrzy w tej specjalistycznej dziedzinie, że kwalifikują się na "specjalistę". Nie muszą być najlepsi z Front-Endu w całym teamie "specjalistów", ale też nie są najgorsi. W nazwę stanowiska wpisują sobie to, co każe im wpisywać firma. A firma oficjalnie zatrudnia specjalistów i to właśnie specjalistyczna wiedza jest podstawą przy rekrutacji. To ona jest sprawdzana. Jeśli ktoś oprócz tego Front-Endu umie jeszcze pogrzebać w Pythonie czy przy bardziej skomplikowanej konfiguracji serwera linuksowego, to jego bonus. Nie aż taki duży przy zatrudnianiu, ale w praktyce czasami się przydaje -- bo ta osoba powie np. "hej, przecież możemy mieć własne serwery, omijając wsparcie IT".

Czemu więc osoby, które są także specjalistami i nie mają tej pobocznej wiedzy nie zawsze są lepsze w swojej specjalizacji od tych, co mają również poboczną wiedzę? Ano może ci typowi specjaliści są po prostu gorsi, a najprawdopodobniej -- mniej pracują w domu. Nie pasjonują się jądrem Linuxa czy Perlem. Może znacznie więcej wolnych chwil przeznaczają na czytanie beletrystyki, rodzinę, imprezy, sport, gry komputerowe czy cokolwiek. Ich sprawa. Może zaś ci, którzy mają równorzędną wiedzę specjalistyczną plus poboczną, wcale nie nerdują więcej, a uczą się efektowniej. Gdy kandydujesz na stanowisko specjalisty nie ma to wielkiego znaczenia. U nas niemalże nie jest sprawdzane podczas rekrutacji (z przyczyn praktycznych), więc bonus jest niewielki i powiedziałbym, że nieopłacalny jeśli ktoś ubiega się jednak o stanowisko specjalisty.

Z tym "generalistą" to termin roboczy. Byłem zbyt głupi/leniwy żeby wymyślić lepszy termin.

02
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 8 lat
  • Postów:1176
0

Nie za bardzo. Są na tyle dobrzy w tej specjalistycznej dziedzinie, że kwalifikują się na "specjalistę". Nie muszą być najlepsi z Front-Endu w całym teamie "specjalistów", ale też nie są najgorsi.

I właśnie na tym polega wszechstronność :]. W szybki sposób dojść do poziomu, który kwalifikuje się pod specjalizacje. Warunek jest taki, że trzeba mieć zdolność do szybkiej nauki (częściowe wrodzone, częściowo można wyćwiczyć)

Czemu więc osoby, które są także specjalistami i nie mają tej pobocznej wiedzy nie zawsze są lepsze w swojej specjalizacji od tych, co mają również poboczną wiedzę?

No właśnie podałeś bardzo dobry powód - większość specjalistów to nie są żadni specjaliści, tylko kolesie którzy wykonują jeden typ pracy, którą się wyuczyli X lat temu i nie mają żadnej potrzeby poznawania niczego nowego . Odbębnić 8h w pracy, iść do domu i nazwać się specjalistą bo w końcu specjaliści są bardzo cenieni.
Istnieje jeszcze jeden powód dlaczego posiadanie pobocznej wiedzy jest korzystne - zdobytą wiedzę z jednej dziedziny często da się uogólnić na inne dziedziny. Przykładowo bazy danych używają b. podobnych algorytmów cachowania oraz algorytmów zapewniania niezawodności co systemy operacyjne. Systemy operacyjne i bazy danych - niby coś totalnie innego - a jednak jak znasz podsawy działania system operacyjnego bardzo łatwo przeniesiesz swoją wiedzę na bazy danych. Takie przykłady można mnożyć.

  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 13 lat
  • Postów:7
0

Czy ktoś daje radę rozumieć sens tych wypocin?

Autor pyta jasno, co ma wybrać? Czemu to tak komplikujecie?


edytowany 1x, ostatnio: Złowieszczy
02
Autor pytał "czy warto postawić na jednym czy niekoniecznie" i własnie o tym dyskutejemy.
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:2 dni
  • Lokalizacja:Wrocław
0

Sugeruję, żeby zamiast słowa "generalista" używać słowa "omnibus". ;)

EgonOlsen
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 12 lat
0
0x200x20 napisał(a)

Czemu więc osoby, które są także specjalistami i nie mają tej pobocznej wiedzy nie zawsze są lepsze w swojej specjalizacji od tych, co mają również poboczną wiedzę?

No właśnie podałeś bardzo dobry powód - większość specjalistów to nie są żadni specjaliści, tylko kolesie którzy wykonują jeden typ pracy, którą się wyuczyli X lat temu i nie mają żadnej potrzeby poznawania niczego nowego . Odbębnić 8h w pracy, iść do domu i nazwać się specjalistą bo w końcu specjaliści są bardzo cenieni.

Znam takich. Ostatnio jeden na głos zadał pytanie: "od kiedy to -1 jest true?".


<img src="http://www.siglaunch.com/sigs/wow/6/2/7/2/5/1762725HEdyN.png" alt="user image" />
I am he who watches they. I am the fist of retribution. That which does quell the recalcitrant. Dare you defy the Warchief? Dare you face my merciless judgement?
Zobacz pozostałe 10 komentarzy
Wibowit
Ale w jakim języku? ;]
KR
W C i C++. Ale tak naprawdę to zależne jest od kompilatora, bo standard nie określa kolejności ewaluacji argumentów. Jednak wszystkie jakie znam obliczają od prawej do lewej.
Wibowit
No to u mnie na GCC, C > C++ zwraca false. Może chodziło ci o C++ > C?
KR
Mogło się coś zmienić od czasu jak to sprawdzałem. Teraz sprawdziłem nowym GCC i faktycznie, false. Później się człowiek dziwi, że mu program napisany 5 lat temu po ponownej kompilacji działa inaczej. :/
02
Jak człowiek nie robi takich rzeczy to się potem nie dziwi :]
KR
Moderator
  • Rejestracja:prawie 21 lat
  • Ostatnio:dzień
  • Postów:2964
0

Znam takich. Ostatnio jeden na głos zadał pytanie: "od kiedy to -1 jest true?"

No, słusznie się zdziwił. U mnie -1 jest false:

Kopiuj
R version 2.13.1 (2011-07-08)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: i386-pc-mingw32/i386 (32-bit)
...

> -1 == TRUE
[1] FALSE
> 0 == TRUE
[1] FALSE
> 1 == TRUE
[1] TRUE

:D

P.S. sorry offtopic w osobnym poście, ale w komentarzu nie działa wklejanie kodu.

edytowany 3x, ostatnio: Krolik
I1
  • Rejestracja:około 16 lat
  • Ostatnio:2 dni
0

Tak czytam sobie posty bswierczynskiiego i 0x200x20 i przypomniał mi się wpis na Coding Horror dotyczący dwóch rodzajów programistów:
http://www.codinghorror.com/blog/2007/11/the-two-types-of-programmers.html
wersja przetłumaczona na polski:
http://www.devblogi.pl/2010/01/dwa-rodzaje-programistow.html

Te 20% programistów, to żadni "generaliści", ani "omnibusy". Już dawno wymyślono dla nich nazwę i nazywa się ich "geekami".
Pytanie czy firmy w Polsce potrzebują geeków? Myślę, że większość firm w Polsce, spokojnie obejdzie się bez geeków. Te 20% programistów potrzebnych jest w takich firmach jak Google, Microsoft, Apple, IBM, Intel, Adobe i innych amerykańskich, które wyznaczają nowe trendy w informatyce.
W większości polskich firm wystarczy dobrze poznać jeden framework i klepać w nim oprogramowanie. W wymienionych przeze mnie amerykańskich firmach trzeba znać wiele frameworków, żeby wiedzieć jakie są zalety i wady konkurencyjnych produktów i trzeba wykazać się pomysłowością w tworzeniu nowych, rewolucyjnych rozwiązań.
To nie znaczy, że w polskich firmach nie ma geeków. Zdarzają się tacy i przeważnie są liderami zespołów programistów. Ale nie każdy team leader w polskiej firmie jest geekiem.

BS
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 12 lat
0

@Igor1981"
Bycie "geekiem", czy też bycie dobrym (niekoniecznie wybitnym) z wielu dziedzin jest pozytywne i się przydaje. Ćwiczy się w ten sposób zdolność uczenia się i elastyczność, dla wielu takie coś jest też ciekawsze. W "Pragmatycznym programiście" radzili poznawać co roku jeden nowy język programowania, choćby hobbystycznie. Od pewnego momentu -- od pewnej ilości zasymilowanej wiedzy i uzyskania elastyczności umysłu -- mamy do czynienia z pewną synergią. Człowiek potrafi łączyć wiele z pozoru zupełnie różnych dziedzin, widzieć w nich podobieństwa i swobodnie pomiędzy nimi przechodzić. Tak jak z programowaniem: paradygmatów jest przecież wiele. Programowanie strukturalne to jedno, proceduralne to drugie. Funkcyjność to osobne, potężne narzędzie, a i sposobów na obiektowość jest wiele. Jeśli pozna się może nie wszystkie, ale wiele z tych rzeczy i połączy kabelki, to wtedy faktycznie dużo łatwiej nam będzie w co najmniej dobrym stopniu opanować kolejny język czy technologię.

Problem w tym, że takich pozytywnych geeków jest niewiele. Większość ludzi zatrzymuje się na niskim poziomie wiedzy. Nawet z jednej dziedziny -- a co dopiero z kilku. Widząc to, prędzej będę komuś radził specjalizację niż powiem "zostań takim geekiem, opanuj wiele dziedzin w stopniu co najmniej 'dobrym'". Przeciętnych "generalistów" nie można nazwać omnibusami -- oni po prostu naprawdę są ze wszystkiego albo słabi, albo co najwyżej tacy-se, a maksymalnie "w miarę całkiem ;) nieźli". Z moich obserwacji wynika, że oni nie są dużo warci na rynku pracy. Oferty dla "informatyków" nie są atrakcyjne. Obycie w różnych dziedzinach technologicznych może pomóc w szukaniu pracy managerskiej, ale tam z kolei wymagane są zupełnie inne skille, których geekowie (nawet ci pozytywni) często zresztą nie spełniają ;).

Igor1981 napisał(a)

To nie znaczy, że w polskich firmach nie ma geeków. Zdarzają się tacy i przeważnie są liderami zespołów programistów.

To ciekawe. Skąd masz te dane? Ja paru leaderów znam i nie wiem, czy choćby jeden z nich jest geekiem.

LA
  • Rejestracja:około 16 lat
  • Ostatnio:prawie 13 lat
0

@Igor1981
wiesz co, ja raczej bym zaklasyfikował to inaczej : albo ktoś myśli pewnymi kategoriami, albo nie. Ten pierwszy będzie lepiej tworzył, ten drugi odtwarzał schematy. Moim zdaniem robota tego drugiego jest tak cholernie nudna i wypalająca że nie ma sensu, natomiast pierwszy będzie miał frajdę z tego, bez względu czy tylko zaprojektował schemat prostej bazy, czy stworzył przełomowy algorytm.

Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 2 godziny
0
Igor1981 napisał(a)

Te 20% programistów, to żadni "generaliści", ani "omnibusy". Już dawno wymyślono dla nich nazwę i nazywa się ich "geekami".

A to ci nowość. Zawsze myślałem, że geek to pasjonat czegoś (niekoniecznie nawet nowoczesnej technologii), będący głównie nonkonformistą, indywidualistą i głównie to niezrozumiały przez społeczeństwo. I patrząc stereotypowo to raczej ma słaby kontakt z ludźmi, więc średnio się nadaje na team leadera...

I1
  • Rejestracja:około 16 lat
  • Ostatnio:2 dni
0
Ktos napisał(a)

Zawsze myślałem, że geek to pasjonat czegoś (niekoniecznie nawet nowoczesnej technologii)

Zgadza się

będący głównie nonkonformistą, indywidualistą i głównie to niezrozumiały przez społeczeństwo. I patrząc stereotypowo to raczej ma słaby kontakt z ludźmi, więc średnio się nadaje na team leadera...

A tu już mylisz geeka z nerdem. Geek różni się od nerda tym, że ten pierwszy nie ma problemów z nawiązywaniem kontaktów z innymi ludźmi, a ten drugi ma cechy, które wymieniłeś w powyższym cytacie.

bswierczynski napisał(a)
Igor1981 napisał(a)

To nie znaczy, że w polskich firmach nie ma geeków. Zdarzają się tacy i przeważnie są liderami zespołów programistów.

To ciekawe. Skąd masz te dane? Ja paru leaderów znam i nie wiem, czy choćby jeden z nich jest geekiem.

Szczerze mówiąc to nie mam takich danych. Tak sobie pomyślałem, że jak ktoś czymś mocno się pasjonuje, a co za tym idzie - mocno odstaje poziomem wiedzy od reszty zespołu, to naturalnym jest, że zostaje liderem zespołu. Ale takich danych nie mam. To tylko moje przypuszczenie.

edytowany 2x, ostatnio: Igor1981
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)