Informatyk co wybrać

0

Witam mam zagwozdkę, studiuję informatykę, jestem na 3 roku. Możliwe ze te pytanie kieruję już zbyt późno żeby nadrobić jakiś materiał, ale może mi pomożecie obrać właściwą drogę.
Interesuję się sieciami (co się z tym wiąże bezprzewodowymi, przewodowymi i serwerami tym trochę mniej), tworzeniem stron internetowych (html, xhtml) i programowaniem (trochę mniej ale mam już zasobną przygodę z językiem c i c++). Jak wiemy informatyka jest dość sporawą dziedziną, która dzieli się na rożne specjalizacje. Ja zdecydowałem że zajmę się sieciami i w wolnym czasie tworzeniem website + programowaniem niezbędnym do pracy na sieciach i website'ach.
Ostatnio tworzyłem aplikacje okienkowe i miałem wielki problem otóż nic mi nie wychodziło a pracuje już jakiś czas na c++ (głównie progr. w konsolach). Chciałem zrobić żeby w programie była jakaś grafika, co mi się nie udało i trafiłem na ten temat:http://4programmers.net/Forum/viewtopic.php?id=76530&start=20. Zdałem sobie sprawę jak wiele nie wiem. Nie miałem pojęcia co to za biblioteki te wxWidget (aktualnie w nim robiłem w.w program) itp. Jak by ktoś mógł prosto powiedzieć w czym mogę stworzyć ładnie wyglądający (ładne efekty graficzne w okienku) program (zachowując czytelny kod)?? Czyli jaki edytor wybrać bibliotekę jak dla początkującego.
Teraz odnośnie obrania dobrego kierunku skoro chce mieć specjalizacje związana z sieciami i tworzeniem stron www, jakie niezbędne umiejętności powinienem posiąść? tzn. jakie przedmioty na studiach powinienem dobrze rozumieć ( a nie tylko zal. i fajrant). Jaki język programowania dokładnie wałkować (który będzie przydatny po ukończeniu studiów i w ich trakcie?)
jakie kursy poukańczyać (mam namyśli coś w stylu cisco)? Czy matematyka (np analiza) ktora wakowałem będzie przydatna?

Proszę o odpowiedz tych co coś konkretnego mają do powiedzenia i posiadają jakieś już doświadczenie za co zgóry dziękuje. Pozdrawiam!

0
Beginnnnner napisał(a)

Jak by ktoś mógł prosto powiedzieć w czym mogę stworzyć ładnie wyglądający (ładne efekty graficzne w okienku) program

google -> gui toolkit

Beginnnnner napisał(a)

(zachowując czytelny kod)?
?
google -> refactoring, kiss, dry, yagni

Beginnnnner napisał(a)

jakie niezbędne umiejętności powinienem posiąść?

google -> unix administration, web developer

Beginnnnner napisał(a)

Czy matematyka (np analiza) ktora wakowałem będzie przydatna?

nie

0
cepa napisał(a)
Beginnnnner napisał(a)

Jak by ktoś mógł prosto powiedzieć w czym mogę stworzyć ładnie wyglądający (ładne efekty graficzne w okienku) program

google -> gui toolkit

Beginnnnner napisał(a)

(zachowując czytelny kod)?
?
google -> refactoring, kiss, dry, yagni

Beginnnnner napisał(a)

jakie niezbędne umiejętności powinienem posiąść?

google -> unix administration, web developer

Beginnnnner napisał(a)

Czy matematyka (np analiza) ktora wakowałem będzie przydatna?

nie

Dzięki za szybką odpowiedz ale tylko to mi wystarczy? Miałem nadzieje ze zamiast bezposrednio mnie odwołasz do google powiesz jaki lepiej jest jezyk programowania obrać? np czy java czy c++ bedzie lepsze na wybrana przez mnie specjalizację?

0

Przecież ty jesteś na 3 roku... Po twojej wypowiedzi wnioskuję, że nie jeden pierwszo roczny jest bardziej obcykany w temacie... Jesteś pewien, że dobry kierunek obrałeś???

0
Beginnnnner napisał(a)

jaki lepiej jest jezyk programowania obrać? np czy java czy c++ bedzie lepsze na wybrana przez mnie specjalizację?

Może być COBOL (było ostatnio nawet ogłoszenie, że dwóch pensjonariuszy z domu starców do programowania w COBOLu potrzeba). Może być FORTRAN i masz super wydajną matematykę. Jednak odpowiedź zawsze jest taka sama język jest tylko narzędziem i to co wybierzesz powinno odpowiadać zadaniu, które przed tobą postawiono.

0
Sid_ napisał(a)

Przecież ty jesteś na 3 roku... Po twojej wypowiedzi wnioskuję, że nie jeden pierwszo roczny jest bardziej obcykany w temacie... Jesteś pewien, że dobry kierunek obrałeś???

ehh 3 rok studiów zaoczynch. waHam sie po prostu. Zdałem szybko i nie miałem wielkich trudnosci, a przebrnołem analize, metody nr, logike itp matematyki, fizyke, elektronikę, programowania w strukturach, obiektówkach aplikacjach www, modelowania. waHam sie odnośnie takich rzeczy jak: czy dobrze ze wybralem c++ ktory moze mi sie przydać w w.w specjalizacji, A te pojecia co podał "cepa" mozliwe ze udzielaja mi odpowiedzi ale chodziło mi o rady, Np: lepiej weź skup sie na javie w programowaniu bo to ci sie przyda do tego czy tego, A bazy danych sobie daruj bo niewiele bedo miały z twoim kierunkiem wspolnego.

0

Ale mi chodzi konkretnie o specjalizacjię sieci (na róznych uczelniach roznie sie to zwie np. 1. sieci systemów informatycznych 2. telekomunikacja i sicie łacznosci 3. elektronika telekomunikacja)
Np co jest leprzym rozwiazaniem dla kogoś kto chce zajac sie telekomunikacja i sieciami (ad.3)
java czy c++. Bo np wiem ze na stronach www sa uzywane java scripty.

0
Beginnnnner napisał(a)

java czy c++. Bo np wiem ze na stronach www sa uzywane java scripty.

o0... java != javascript i na 3 roku powinieneś to wiedzieć. Jeżeli telekomunikacja to tylko w c/c++. W Javie się nie pisze za dużo w tej dziedzinie, a C to podstawa.

0

@Beginnnnner:
Jeśli chcesz być profesjonalnym webdeveloperem, to mogę Ci powiedzieć, czego trzeba w tej robocie. Pracowałem na stanowisku senior webdevelopera. Nie piszę Ci tego od razu, bo muszę Cię najpierw uświadomić, że aby być dobrym specjalistą, to na początku musiałbyś się zajmować tylko kilkoma rzeczami. Gdzie kilka oznacza bardziej 2 niż 10. A może wręcz jedną.

Mam na myśli więc bardzo konkretną pracę: tzw. cięcie layoutów stron www. Wygląda to tak, że dostajesz od projektanta layout w pliku photoshopa/gimpa lub nawet w paru plikach PNG i przerabiasz to na stronę w HTML-u i CSS. Czasem dodajesz do tego skrypty JavaScript, choć na początek nie potrzeba zbyt wielkiej wiedzy w JS (tj. poradzisz sobie korzystając głównie z gotowych bibliotek i skryptów). Tylko tyle. To nie jest nawet cały kod odpowiedzialny za stworzenie strony www, nie wspominając już o całości rzeczy które trzeba wykonać, by taką stronę od zera zrobić. Więc strony sam nie zrobisz (żeby samodzielnie zrobić stronę na odpowiednim poziomie, trzeba ŁADNYCH paru lat doświadczenia i nauki, w dodatku owocnych). Nie będziesz więc się za bardzo interesował bazami danych. Nie będziesz kodował zachowania strony, tj. nie będziesz np. implementował dodawania newsów, czy koszyka w sklepie internetowym. Będziesz tylko kodował same widoki i zajmował się z początku samymi "statycznymi" stronami. Po jakimś czasie, gdy lepiej opanujesz JavaScript (wraz z DOM/BOM i XMLHttpRequest), będziesz mógł tworzyć aplikacje ajaxowe -- ale na razie tylko warstwę po stronie klienta.

Robota nie jest wcale monotonna. Jest raczej ciekawa, bo każdy projekt jest inny. Nie wymaga wielkich umiejętności w programowaniu, ponieważ HTML i CSS mają bardzo prostą składnię (JavaScript też ma stosunkowo prostą, choć wiele osób go nie rozumie i nie jest aż tak łatwym językiem do nauki; różni się bardzo od C, Javy, czy PHP). Zarobki na tym stanowisku są na początku całkiem niezłe. Na ostatnich latach studiów (włącznie z czwartym) jak będziesz dobry i będziesz już umiał JavaScript, to wyrobisz i 3 tys. netto pracując w dużym mieście (ale nie w Warszawie -- tam pewnie więcej).

Potem możesz rozszerzać swoje kompetencje na język po stronie serwera: PHP (albo Python, Ruby, J2EE, czy Perl) plus bazy danych (SQL). Gdy będziesz próbował ogarnąć obie te rzeczy (klient + serwer) od początku, to będziesz niezbyt dobry w obu. Wiele firm, w których pracowałem/z którymi współpracowałem miało podział na koderów po stronie klienta (właśnie HTML, CSS i JS) oraz po stronie serwera.

Jeśli interesuje Cię ta praca, to mógłbym Ci coś więcej podpowiedzieć.

Miałem na razie nic nie pisać, a wyszło dość sporo, no ale widzę że masz problemy z rozróżnieniem co będziesz robił na jakim stanowisku, więc te informacje mogą Ci się przydać.

0

Dzięki, wasze odpowiedzi troche wyprostowaly moj pkt widzenia. Czyli w telekomunikacji bedzie przydatna cnajomosc c++ (czyli c tez tylko ++ to rozwiniecie obiektowe), natomiast przy tworzeniu serwisów www bedą przydatne jawa + jawa script. W css robilem juz style kaskadowe itp najgorsze bylo wklejanie tych pocietych fragmentow ale jakos przebrnołem. Bardzo dobrze ze opisałeś dokladnie historie co jak wyglada. Tworzeniem serwisów zajmuje sie hobbistycznie bo na moch studiach naprawde z tym było niewiele. Mam pytanie czy mozna łaczyć telekomunikacje z webdeveloperem czy jak niekturzy zwą webmasterem?
Chciałbym ukonczyć telekomunikacjie z sieciami i do tego robić serwisy www na boku. A później zdecydować w czym mam powołanie ;D Pozdro

0

W Javie się nie pisze za dużo w tej

Oj nieprawda. Większa część sieci inteligentnych jest pisana w Javie.
W C++ dla komunikacji pisze się głównie oprogramowanie na BTSy.

0
Beginnnnner napisał(a)

ehh 3 rok studiów zaoczynch. waHam sie po prostu. Zdałem szybko i nie miałem wielkich trudnosci, a przebrnołem analize, metody nr, logike itp matematyki, fizyke, elektronikę, programowania w strukturach, obiektówkach aplikacjach www, modelowania. waHam sie odnośnie takich rzeczy jak: czy dobrze ze wybralem c++ ktory moze mi sie przydać w w.w specjalizacji, A te pojecia co podał "cepa" mozliwe ze udzielaja mi odpowiedzi ale chodziło mi o rady, Np: lepiej weź skup sie na javie w programowaniu bo to ci sie przyda do tego czy tego, A bazy danych sobie daruj bo niewiele bedo miały z twoim kierunkiem wspolnego.

programista to gosc od rozwiazywania problemow klientow, o ktorych oni nigdy nie wiedzieli, w sposob ktorego nigdy nie zrozumia, a zeby rozwiazac problem music ow programista urzyc odpowiednich narzedzi jakimi sa m. i. jezyki programowania, wiec nie zadawaj durnych pytan o to jakiego jezyka sie uczyc (3ci rok sic!) ;p

0
Beginnnnner napisał(a)

Dzięki, wasze odpowiedzi troche wyprostowaly moj pkt widzenia. Czyli w telekomunikacji bedzie przydatna cnajomosc c++ (czyli c tez tylko ++ to rozwiniecie obiektowe), natomiast przy tworzeniu serwisów www bedą przydatne jawa + jawa script. W css robilem juz style kaskadowe itp najgorsze bylo wklejanie tych pocietych fragmentow ale jakos przebrnołem. Bardzo dobrze ze opisałeś dokladnie historie co jak wyglada. Tworzeniem serwisów zajmuje sie hobbistycznie bo na moch studiach naprawde z tym było niewiele. Mam pytanie czy mozna łaczyć telekomunikacje z webdeveloperem czy jak niekturzy zwą webmasterem?
Chciałbym ukonczyć telekomunikacjie z sieciami i do tego robić serwisy www na boku. A później zdecydować w czym mam powołanie ;D Pozdro

ja pier... idz ty lepiej do urzedu miasta na jakiego informatyka, bo jak ty na 3cim roku nie widzisz roznicy miedzy telekomunikacja a webdev to faktycznie chyba kierunki pomyliles

0
Koziołek napisał(a)

Jeżeli telekomunikacja to tylko w c/c++. W Javie się nie pisze za dużo w tej dziedzinie, a C to podstawa.

A to mnie zaskoczyles, przez 2 lata pracowalem dla pewnej firmy robiacej soft dla firm telekomunikacyjnych i myslalem ze pisze w Javie ;d

0
bswierczynski napisał(a)

Mam na myśli więc bardzo konkretną pracę: tzw. cięcie layoutów stron www. Wygląda to tak, że dostajesz od projektanta layout w pliku photoshopa/gimpa lub nawet w paru plikach PNG i przerabiasz to na stronę w HTML-u i CSS.

to akurat robota dla kodera a nie dla deva.

bswierczynski napisał(a)

Czasem dodajesz do tego skrypty JavaScript, choć na początek nie potrzeba zbyt wielkiej wiedzy w JS (tj. poradzisz sobie korzystając głównie z gotowych bibliotek i skryptów).

to robi front end developer, ew normalny programista

bswierczynski napisał(a)

Więc strony sam nie zrobisz (żeby samodzielnie zrobić stronę na odpowiednim poziomie, trzeba ŁADNYCH paru lat doświadczenia i nauki, w dodatku owocnych).

od projektowania stron to jest grafik i tu przede wszystkim talent i gust sie liczy.

bswierczynski napisał(a)

Nie będziesz więc się za bardzo interesował bazami danych. Nie będziesz kodował zachowania strony, tj. nie będziesz np. implementował dodawania newsów, czy koszyka w sklepie internetowym. Będziesz tylko kodował same widoki i zajmował się z początku samymi "statycznymi" stronami. Po jakimś czasie, gdy lepiej opanujesz JavaScript (wraz z DOM/BOM i XMLHttpRequest), będziesz mógł tworzyć aplikacje ajaxowe -- ale na razie tylko warstwę po stronie klienta.

juz ja widze jak koles bez pojecia o tym jak dziala app pobiera z niego dane poprzez xml czy json i robi z nim co trzeba

bswierczynski napisał(a)

Robota nie jest wcale monotonna.

po ch*ju...

bswierczynski napisał(a)

Jest raczej ciekawa, bo każdy projekt jest inny.

ta jak sie pisze, throw away code to moze :S

bswierczynski napisał(a)

Nie wymaga wielkich umiejętności w programowaniu, ponieważ HTML i CSS mają bardzo prostą składnię

jeszcze raz - programista nie jest od kodowania html/css

bswierczynski napisał(a)

JavaScript też ma stosunkowo prostą, choć wiele osób go nie rozumie i nie jest aż tak łatwym językiem do nauki; różni się bardzo od C, Javy, czy PHP)

www.extjs.com TO jest javascript :P
i fakt skladnia identyczna nie jest, ale podobienstw jest duzo zarowno do C jak i Javy jak i PHP

bswierczynski napisał(a)

Zarobki na tym stanowisku są na początku całkiem niezłe.

nom, najnizsze w it w dziale programowanie

bswierczynski napisał(a)

Na ostatnich latach studiów (włącznie z czwartym) jak będziesz dobry i będziesz już umiał JavaScript, to wyrobisz i 3 tys. netto pracując w dużym mieście (ale nie w Warszawie -- tam pewnie więcej).

3tys netto to okolice normalnej stawki dla stoodenta, bedac po studiach na pewno nie bylbym z tego dumny

bswierczynski napisał(a)

Gdy będziesz próbował ogarnąć obie te rzeczy (klient + serwer) od początku, to będziesz niezbyt dobry w obu.

jakies argumenty? bo ja z tym zdaniem calkowicie nie zgadzam

bswierczynski napisał(a)

Wiele firm, w których pracowałem/z którymi współpracowałem miało podział na koderów po stronie klienta (właśnie HTML, CSS i JS) oraz po stronie serwera.

to powiienes na poczatku napisac...

bswierczynski napisał(a)

Miałem na razie nic nie pisać, a wyszło dość sporo

ten post, to chyba jeden z twoich krotszych, bo niektore to pod powiesci podchodza :P

0

heh nie mialem na myśli łaczyć telekomunikacji z webdev. możliwe ze źle się wyraziłem. Chodziło mi tylko o krótkie wyrobienie światopoglądu na daną specjalizacje co nie znaczy ze trzeba Od razu drwić... moja wiedza jest wiele uboższa ale pytania (jeśli nawet dla niektórych są to głupie pytania) troche wyjasnią mi to i owo.
Po prostu miałem na studiach wszystkiego po trochu, i chciałem się poradzić was żeby nie mieć wątpliwości za co dziękuje. Na pewno z wasze rad pomogły mi dokonać wyboru ;P

0

@::, miałem na myśli raczej coś niżej. Gdzieś na poziomie systemu operacyjnego. JVM zresztą całą obsługę sieci deleguje do systemu właśnie.

0
cepa napisał(a)

to akurat robota dla kodera a nie dla deva.
(...)
to robi front end developer, ew normalny programista

Kwestia nazewnictwa, które jest używane BARDZO niespójnie. Moim zdaniem dobrą nazwą na to stanowisko (CSS+HTML+JS) jest "front end (web)developer". Ale widziałem już określenia "programista/koder HTML/CSS", czy wręcz zwięzłe "webdeveloper". Tak, w niektórych firmach frontendowcy nazywani są "webdeveloperami", a backendowcy "programistami".

Tymczasem już np. kodowanie w JavaScripcie jest robotą dla tak samo profesjonalnego i hardcorowego programisty jak w Rubym, PHP-ie, czy czymkolwiek innym. Oczywiście niektórzy twierdzą, że piszący w tych językach to nie są "hardcorowi programiści", ale ja się z tym zdaniem akurat nie zgadzam. Fakt, w branży www jest wyjątkowo dużo amatorów, ale dobrze napisana aplikacja w Rubym czy JavaScripcie wymaga bardzo podobnych umiejętności jak taka napisana w Javie, czy C++. Choć -- jak powiedziałem -- JavaScript jest pod tym względem nieco inny, bo ogromne znaczenie ma w nim programowanie funkcyjne i dziedziczenie przez prototypy. Ale architektura aplikacji, podział MVC, testy jednostkowe (i inne), wzorce projektowe, reużywalnośc, hermetyczność etc. mają w nim podobne znaczenie jak w przypadku innych języków.

cepa napisał(a)

juz ja widze jak koles bez pojecia o tym jak dziala app pobiera z niego dane poprzez xml czy json i robi z nim co trzeba

Wiedza potrzebna do skutecznego wysyłania żądań do serwera i przetwarzania odpowiedzi po stronie klienta jest jednak nieporównywalnie mniejsza niż ta konieczna do napisania złożonej, bezpiecznej aplikacji po stronie serwera.

cepa napisał(a)

ta jak sie pisze, throw away code to moze :S

Ogromna większość kodu HTML i CSS jest poniekąd kodem throw-away (w sensie: w innych aplikacjach go się nie używa). I to nie jest oznaka, że coś jest z tym nie tak. Nie dotyczy to jednak JavaScriptu.

cepa napisał(a)

jeszcze raz - programista nie jest od kodowania html/css

Twoje zdanie zostało odnotowane, ale oprócz tego odnotowania zostało na razie zignorowane. Zbyt dużo widziałem niespójności nazewnictwa, by jeden cepa był w stanie dać mi tę (szczęśliwą i miłą) wiadomość, że zna to jedyne słuszne :).

cepa napisał(a)

3tys netto to okolice normalnej stawki dla stoodenta

U nas na czwartym roku dobrej, technicznej uczelni był to niezły wynik.

cepa napisał(a)

jakies argumenty? bo ja z tym zdaniem calkowicie nie zgadzam

Oba zagadnienia w dużym stopniu się jednak różnią. Żeby je opanować, trzeba sporo nauki i praktyki. Widzę mnóstwo słabego kodu zarówno po stronie klienta, jak i serwera. Bardzo, bardzo rzadko widziałem koderów, którzy i tu i tu byliby rzeczywiście dobrzy. To temat na dość długą dyskusję, a gdy ja mówię "długą", to mam na myśli DŁUGĄ :D. Po jednej stronie (HTML/CSS) mamy przede wszystkim niekompatybilności w przeglądarkach i obsługę silnika renderującego. Mamy właśnie ten "throw-away code" pisany pod konkretny projekt. Trzeba się skupić na semantyce, dostępności, optymalizacji rozmiarowej kodu. Po drugiej stronie bazy danych, które same w sobie są cholernie złożonym zagadnieniem. Kod proceduralny i obiektowy. Reużywalność. Warstwy. Bezpieczeństwo, które również jest tematem rozległym (i ważnym).

A gdzieś pośrodku jest JavaScript.

To są tak rozległe dziedziny, że bycie profesjonalistą -- i to dobrym! -- w obu z nich należy do rzadkości. To nie jest coś, o czym mówisz gościowi, który nie rozróżnia Javy od JavaScriptu.

cepa napisał(a)

od projektowania stron to jest grafik i tu przede wszystkim talent i gust sie liczy.

To świadczy raczej o tym, że nie bardzo znasz się na DESIGNIE. To nie jest sztuka. To projektowanie skutecznych interfejsów. Gust ma bardzo małe znaczenie na pewnym poziomie. Talent ma większe, ale i to można przeskoczyć zwykłą, tępą nauką. Tak, nawet z kodera zrobisz profesjonalnego projektanta (nie: artystę, projektanta). Stworzenie skutecznego designu to bardzo złożony proces. Po pierwsze trzeba opanować pewne narzędzia, zasady tworzenia designu. Po drugie trzeba je odnieść do konkretnego medium i do wiedzy z dziedziny użyteczności.

Bez tego niemal na pewno stworzysz mało skuteczny design. Choć znajdziesz w branży pracę, jeśli tworzone przez Ciebie projekty będą ładne z punktu widzenia pracodawcy lub klienta. Ale nie na tym to polega. To nie takie designy przynoszą kasę ostatecznym klientom (tj. praktycznie nie powodują tego, że bez nich zysk byłby niski, a z nimi wysoki). A projekt, który tak robi, jest tak naprawdę najcenniejszy. Na (nie)szczęście klienci bywają na tyle głupi, że nie zdają sobie z tego sprawy i tracą przez to spore potencjalne zyski.

Jeśli jesteś koderem, to powiem Ci może taką analogię... Sama typografia to w designie dziedzina tak rozległa jak bazy danych w programowaniu. Oczywiście ci (z wielu) "grafików", którzy kierują się gustem i wszystko robią na oko, wybierają fonty na pałę i ustawiają wszystko na pałę. Czasami ich designy i tak działają, ale to nie dzięki temu, tylko pomimo tego.

0
bswierczynski napisał(a)

Tymczasem już np. kodowanie w JavaScripcie jest robotą dla tak samo profesjonalnego i hardcorowego programisty jak w Rubym, PHP-ie, czy czymkolwiek innym. Oczywiście niektórzy twierdzą, że piszący w tych językach to nie są "hardcorowi programiści", ale ja się z tym zdaniem akurat nie zgadzam. Fakt, w branży www jest wyjątkowo dużo amatorów, ale dobrze napisana aplikacja w Rubym czy JavaScripcie wymaga bardzo podobnych umiejętności jak taka napisana w Javie, czy C++. Choć -- jak powiedziałem -- JavaScript jest pod tym względem nieco inny, bo ogromne znaczenie ma w nim programowanie funkcyjne i dziedziczenie przez prototypy. Ale architektura aplikacji, podział MVC, testy jednostkowe (i inne), wzorce projektowe, reużywalnośc, hermetyczność etc. mają w nim podobne znaczenie jak w przypadku innych języków.

no z tym sie zgodze, dlatego tez napisalem ze nie widze byle kodera w roli programisty js, do tego nie widzialem jeszcze speca od js ktory by nie znal zadnego "serwerowego" jezyka...

bswierczynski napisał(a)

Wiedza potrzebna do skutecznego wysyłania żądań do serwera i przetwarzania odpowiedzi po stronie klienta jest jednak nieporównywalnie mniejsza niż ta konieczna do napisania złożonej, bezpiecznej aplikacji po stronie serwera.

ooj nie zgodze sie z tym, faktycznie jak masz tylko pobrac dane z akcji i wypluc je gotowym skryptem w przegladarce to ok, ale co innego napisac od zera taki skrypt a tym bardziej cos takiego jak extjs, nie wazne czy po stronie przegladarki czy na serwerze, programowanie to programowanie, a co do bezpieczenstwa to imho zrobienie wydajnej aplikacji to duzo ciezsze zadanie

bswierczynski napisał(a)

Ogromna większość kodu HTML i CSS jest poniekąd kodem throw-away (w sensie: w innych aplikacjach go się nie używa). I to nie jest oznaka, że coś jest z tym nie tak. Nie dotyczy to jednak JavaScriptu.

tak i nie, wszystko zalezy od tego jak masz zorganizowana aplikacje, jak tworzysz widoki itd, gdybym mial za kazdym razem przerabiac 300plikow z widokami to znaczylo by ze mam naprawde bad design,
przyklad z zycia: formularze, w tej chwili musze zmienic jakies 30 lini w jednym pliku css aby dostosowac dowolny formularz to wlasciwie dowolnego layoutu...

bswierczynski napisał(a)

Oba zagadnienia w dużym stopniu się jednak różnią. Żeby je opanować, trzeba sporo nauki i praktyki. Widzę mnóstwo słabego kodu zarówno po stronie klienta, jak i serwera. Bardzo, bardzo rzadko widziałem koderów, którzy i tu i tu byliby rzeczywiście dobrzy. To temat na dość długą dyskusję, a gdy ja mówię "długą", to mam na myśli DŁUGĄ :D. Po jednej stronie (HTML/CSS) mamy przede wszystkim niekompatybilności w przeglądarkach i obsługę silnika renderującego. Mamy właśnie ten "throw-away code" pisany pod konkretny projekt. Trzeba się skupić na semantyce, dostępności, optymalizacji rozmiarowej kodu. Po drugiej stronie bazy danych, które same w sobie są cholernie złożonym zagadnieniem. Kod proceduralny i obiektowy. Reużywalność. Warstwy. Bezpieczeństwo, które również jest tematem rozległym (i ważnym).

Ostatnio zauwazylem, ze tacy "specjalisci" z jednej dziedziny gesto odpadaja na rozmowach kwalifikacyjnych...

bswierczynski napisał(a)

To świadczy raczej o tym, że nie bardzo znasz się na DESIGNIE. To nie jest sztuka. To projektowanie skutecznych interfejsów. Gust ma bardzo małe znaczenie na pewnym poziomie. Talent ma większe, ale i to można przeskoczyć zwykłą, tępą nauką. Tak, nawet z kodera zrobisz profesjonalnego projektanta (nie: artystę, projektanta). Stworzenie skutecznego designu to bardzo złożony proces. Po pierwsze trzeba opanować pewne narzędzia, zasady tworzenia designu. Po drugie trzeba je odnieść do konkretnego medium i do wiedzy z dziedziny użyteczności.

Bez tego niemal na pewno stworzysz mało skuteczny design. Choć znajdziesz w branży pracę, jeśli tworzone przez Ciebie projekty będą ładne z punktu widzenia pracodawcy lub klienta. Ale nie na tym to polega. To nie takie designy przynoszą kasę ostatecznym klientom (tj. praktycznie nie powodują tego, że bez nich zysk byłby niski, a z nimi wysoki). A projekt, który tak robi, jest tak naprawdę najcenniejszy. Na (nie)szczęście klienci bywają na tyle głupi, że nie zdają sobie z tego sprawy i tracą przez to spore potencjalne zyski.

usability to jedno a wymyslenie orginalnego layoutu to juz kwestia talentu imho :P

0

@Koziołek:
W Javie można nawet napisać cały system operacyjny. Z wyjątkiem bootowania:

http://en.wikipedia.org/wiki/JNode

0
cepa napisał(a)

ooj nie zgodze sie z tym, faktycznie jak masz tylko pobrac dane z akcji i wypluc je gotowym skryptem w przegladarce to ok, ale co innego napisac od zera taki skrypt a tym bardziej cos takiego jak extjs, nie wazne czy po stronie przegladarki czy na serwerze, programowanie to programowanie,

Z tym to ja się akurat zgadzam. Nawet chyba coś takiego napisałem: ze stworzenie złożonych aplikacji w JS wymaga podobnych umiejętności co stworzenie aplikacji w innych językach (przy czym trzeba oczywiście umieć wykorzystać elementy JS charakterystyczne dla niego, a nie dla C++/Javy/PHP). Jednak nie wszyscy frontendowcy muszą takie rzeczy robić. Naprawdę nie widujesz kolesi, którzy z CSS (i HTML-a) wymiatają, a programiści z nich kiepscy? I jedyne, co robią, to używają jQuery (bez głębokiego rozumienia jak działa) i ewentualnie podstawowej funkcjonalności ajaxowej typu poproś-serwer i wstaw wynik-tu-i-tu...? Taki Eric Meyer myślę że pociąłby po mistrzowsku dowolny layout, ale programista z niego marniutki. Coś tam próbuje, bystry z niego gość, ale dobry z tego nie jest.

cepa napisał(a)

przyklad z zycia: formularze, w tej chwili musze zmienic jakies 30 lini w jednym pliku css aby dostosowac dowolny formularz to wlasciwie dowolnego layoutu...

Tak, layout formularzy da się zakodować w HTML-u w miarę elastycznie. Bo też i poszczególne formularze są raczej do siebie podobne jeśli chodzi o strukturę.

Z reużywalnością w przypadku HTML-a jednak bym nie przesadzał. Pracowałem kiedyś w firmie, która przesadzała i skutkowało to kodem niższej jakości. Bardziej nadmiarowym i nie do końca dopasowanym do projektu. Odnoszę wrażenie, że większość naprawdę dobrych koderów robi jednak HTML/CSS praktycznie od podstaw. Jasne, że są pewne szablony, ale IMO wychodzenie poza standardowy, bardzo szkieletowy plik HTML (ewentualnie podzielony na nagłówek, treść i stopkę wraz z menu) i bardzo podstawowe style (głównie chodzi o reset) już może być niebezpieczne dla jakości.

cepa napisał(a)

Ostatnio zauwazylem, ze tacy "specjalisci" z jednej dziedziny gesto odpadaja na rozmowach kwalifikacyjnych...

A to ciekawe. Możesz powiedzieć coś więcej na ten temat? Jakiś konkretniejszy przykład? Np. koleś znał się świetnie na X, ale odpadł bo nie wiedział nic o Y? Ja raczej zawsze myślałem, że większa specjalizacja = lepiej.

usability to jedno a wymyslenie orginalnego layoutu to juz kwestia talentu imho

Do stworzenia dobrego, skutecznego layoutu nie trzeba inspiracji ani specjalnej oryginalności. To trochę dziwne gdyby klient płacił szmal designerowi nie za jego umiejętności i profesjonalizm tylko za tę magiczną inspirację, która może -- ale nie musi -- się pojawić. Design można załatwić w zasadzie algorytmicznie z efektem nie dość, że skutecznym, to jeszcze przyjemnym dla oka (bo tym, czy coś jest przyjemne dla oka, czy nie, rządzą określone zasady). Może nie dokona się przełomu na miarę designów Apple, ale ile projektów jest tak przełomowych? Nawet tworzonych przez zainspirowanych designerów? Tak mało, że nie ma co na to liczyć.

Nie mówię tu oczywiście, żeby popadać w skrajność i skompromitować się tak, jak Google. Google kiedyś testowało np. 50 różnych odcieni niebieskiego (bodajże) żeby sprawdzić, który działa na użytkowników najskuteczniej. To debilizm i całkowite pozbawienie się jakiegoś kierunku. Chciałoby się powiedzieć: smaku. Smak ten można uzyskać na bazie niemal mechanicznych zasad popartych doświadczeniem projektanta, ale nie można go uzyskać samą ślepą statystyką.

Sam designer jest bardzo ważny. Musi być jakąś konkretną osobą, która nadaje projektowi określony kierunek. Która ma w głowie jego całość, styl. Brzmi to jak sztuka i może nią jest (pomimo że design != art). Ale chodzi mi o to, że designer -- jego styl, jego osoba -- może zostać... wytworzona praktycznie sztucznie. Nie potrzeba do tego talentu. Trzeba dużo nauki, praktyki, doświadczenia. Trzeba odpowiedniego podejścia, którego też można się nauczyć. Designu można się nauczyć! Możesz "sztucznie" (brzmi brzydko, ale takie nie jest) zrobić z siebie kogoś, o kim inni powiedzieliby, że ma talent, ładną kreskę, czy coś w tym stylu.

0

@bswierczynski, czyli jako webdeveloper tworzysz strony w HTML, CSS i JavaScript?

0

@somekind:
Jako front-end-developer nie tworzę całych stron, a jedynie ich część po stronie klienta we wspomnianych przez Ciebie językach. Dodam jeszcze, że w więcej niż jednej firmie, z którą współpracowałem, to stanowisko nazywało się po prostu "webdeveloperem" (a od backendu to byli "programiści" :) ).

(Gwoli ścisłości: umiejętności mojej skromnej osoby nie ograniczają się bynajmniej do frontendu... czy nawet do branży www)

0

Z tego, co wiem, to termin Web Development dotyczy wszelkiej działalności z tworzeniem aplikacji webowych. Ja muszę umieć napisać działającego CSSa, zrobić stronę, obsłużyć żądania użytkowników, oprogramować logikę biznesową, zająć się ORM, utworzyć i oprogramować bazę danych, itd...
Jeśli to nie jest Web Development, to burzysz moją koncepcję świata :(

0

@somekind:
Nie twierdzę, że nie jest, a nawet gdybym tak twierdził, to bym Ci niczego nie zburzył. Nie uwierzę w Twoje szczęście, jeśli mi powiesz, że współpracowałeś z kilkoma firmami i tam nazewnictwo było spójne :).

Wg mnie jeśli już stanowiska są dzielone na backend i frontend, to najlepiej by było, jakby miały w nazwie "backend" lub "frontend". A jak ktoś robi wszystko, to "webdeveloper" wydaje mi się bardzo na miejscu (podbudowałem Twoją koncepcję świata?).

Jednocześnie twierdzę, że umiejętność zrobienia tego wszystkiego co wymieniłeś na naprawdę wysokim, profesjonalnym poziomie jest naprawdę niełatwa do uzyskania. Chodzi mi tu nie o "polski" poziom, bo u nas np. do kodu frontendowego rzadko przywiązuje się bardzo dużą wagę -- mam na myśli wysoki poziom "światowy". Czy Tobie udało się to uzyskać -- nie wiem. Jeśli tak, to szczerze gratuluję. Zresztą zawsze można tworzyć np. backend na piątkę z plusem i frontend na czwórkę i efektu nikt przecież nie nazwie mizernym. Ale wszystko zrobić na piątkę (w dodatku z plusem)... to już potrafi niewiele osób.

0
bswierczynski napisał(a)

Z reużywalnością w przypadku HTML-a jednak bym nie przesadzał. Pracowałem kiedyś w firmie, która przesadzała i skutkowało to kodem niższej jakości. Bardziej nadmiarowym i nie do końca dopasowanym do projektu. Odnoszę wrażenie, że większość naprawdę dobrych koderów robi jednak HTML/CSS praktycznie od podstaw. Jasne, że są pewne szablony, ale IMO wychodzenie poza standardowy, bardzo szkieletowy plik HTML (ewentualnie podzielony na nagłówek, treść i stopkę wraz z menu) i bardzo podstawowe style (głównie chodzi o reset) już może być niebezpieczne dla jakości.

to ze kod jest miejscami nadmiarowy ma raczej nikle znaczenie w sytuacji kiedy nad nowym projektem bedziesz siedzial dwa tygodnie a nie dwa miesiace... niektorzy nawet chca zastopic widoki czystym xml'em ktory dopiero na samym koncu jest skladany do kupy i wyswietlany jako poprawny html

bswierczynski napisał(a)
cepa napisał(a)

Ostatnio zauwazylem, ze tacy "specjalisci" z jednej dziedziny gesto odpadaja na rozmowach kwalifikacyjnych...

A to ciekawe. Możesz powiedzieć coś więcej na ten temat? Jakiś konkretniejszy przykład? Np. koleś znał się świetnie na X, ale odpadł bo nie wiedział nic o Y? Ja raczej zawsze myślałem, że większa specjalizacja = lepiej.

sam sie zdzwilem ze odpadaja osoby ktore kilka lat pracowaly w webie, znaja frameworki, wzorce itd, okazalo sie ze niektorym zalezy na elastycznosci i zeby developer ogarnial projekt jako calosc a nie jedyne drobne fragmenty

bswierczynski napisał(a)

[design]...

mi sie design kojarzy z architektura, kazdy potrafi narysowac domek ale stworzyc cos wybitnego juz nie, i nie wystarcza tylko studia i wycwiczone metody, trzeba miec jeszcze to "cos", gdyby projektowanie bylo takie mechaniczne, juz dawno ktos zrobil by automatyczne generowanie najbardziej zajebistego designu do wszystkiego :P

ps. obrabianie twoich postow zajmuje dluzej niz odpowiadanie na nie :P starasz sie ksiazke na forum napisac czy co ;>?

0
cepa napisał(a)

to ze kod jest miejscami nadmiarowy ma raczej nikle znaczenie w sytuacji kiedy nad nowym projektem bedziesz siedzial dwa tygodnie a nie dwa miesiace...

Jeśli uzyskujesz taki wzrost efektywności przy tylko nieznacznym spadku jakości, to IMO postępujesz jak najbardziej słusznie. Ja jednak spotkałem się z czymś takim tylko od negatywnej strony. Np. takiej, że designer był mocno ograniczany: możesz zrobić tylko to, to i to. Nasza strona ma tylko moduły takie i takie. Na każdej stronie może być jeden moduł i od dwóch do czterech boksów. Bo tak, musisz użyć boksów.

cepa napisał(a)

niektorym zalezy na elastycznosci i zeby developer ogarnial projekt jako calosc a nie jedyne drobne fragmenty

IMO ogarnianie to jedno, natomiast osiągnięcie w tym polu profesjonalnego poziomu to coś zupełnie innego. Wypadałoby, żeby webdev miał jakieś pojęcie o tym, jak witryna działa. Ale to wciąż jest ten model wiedzy typu "T". Zwany tak, bo wygląda jak litera T (ew. odwrócona :P). Szeroka podstawa, ale tylko w jednym miejscu słupek oznaczający naprawdę głęboką wiedzę.

cepa napisał(a)

mi sie design kojarzy z architektura, kazdy potrafi narysowac domek ale stworzyc cos wybitnego juz nie, i nie wystarcza tylko studia i wycwiczone metody, trzeba miec jeszcze to "cos",

Mi też design kojarzy się z architekturą. To nie jest programowanie, ale nie jest też sztuka. Studia w designie potrzebne nie są. Można się nauczyć samemu i osiągnąć poziom mistrzowski. Trzeba na to tylko... 100 000 (słownie: stu tysięcy) godzin praktyki. Tak czytałem, choć liczba jest dość kontrowersyjna :).

cepa napisał(a)

gdyby projektowanie bylo takie mechaniczne, juz dawno ktos zrobil by automatyczne generowanie najbardziej zajebistego designu do wszystkiego

Trudno wytłumaczyć, o co mi chodzi. Nie chodzi mi o mechaniczność Google, której w żadnym razie nie popieram. Twierdzę, że designu da się nauczyć "mechanicznie". Tzn. ktoś zupełnie nie mający talentu ani predyspozycji jest w stanie to ogarnąć. Jednocześnie musi być istotą ludzką. Podczas nauki dojrzewa w nim designer. Można użyć w stosunku do niego tych strasznie brzydkich określeń: wykwalifikowany, oczytany, wyuczony, profesjonalny, czasem wręcz... errm, "zimny". Ale maszyną go nazwać nie można.

cepa napisał(a)

ps. obrabianie twoich postow zajmuje dluzej niz odpowiadanie na nie

Przepraszam, ale brakuje mi czasu by ujmować to wszystko zwięźlej. A chcę być w wypowiedziach w miarę kompletny.

cepa napisał(a)

starasz sie ksiazke na forum napisac czy co ;>?

Na forum na pewno nie, choć przyznam, że trochę się szkolę by móc napisać jedną w przyszłości. (BTW: Prawie wszyscy myśleli kiedyś o czymś takim, ale mało kto ćwiczy i doskonali się w pisaniu).

0

IMHO ścisła specjalizacja ssie pałe. Można się specjalizować w jednym ale też warto wiedzieć co się dzieje w innych częściach systemu.

0

@sdds, tak, ale jego JVM nie jest zgodny z Sunową specyfikacją. Swoją drogą IBM się ostatnio był chwalił że mają taka maszynkę, która działa na czystej Javie z ich JVMem. W praktyce był to okrojony do minimum Linux z JVMem.

0

@Koziołek: Jednak jest to wciąż Java ;]

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