Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przyszłość z PHP?
Forum PHP.pl > Inne > Hydepark
Stron: 1, 2
mat-bi
Cytat
Nie mówię, że PHP nie ma racji bytu, jednak trzeba pamiętać, że ma niezbyt duże pole popisu w porównaniu do takiego J2EE(JEE). Co prawda, duże serwisy także są pisane w php, jednak np. takie strony banków są w J2EE/.NET i nie tylko, np. Gazeta.pl była pisana w Javie, MySpace, StackOverflow w .NET


Czytanie ze zrozumieniem się kłania.

Facebook ma farmę serwerów, o SF i Fb nie słyszałem.

Cytat
Umówmy się że mimo wszystko kompilowany kod tak czy siak będzie szybszy od każdego języka skryptowego czy "półkompilowanego".


Co ty powiesz? A słyszałeś o nowej maszynei wirtualnej Javy? prekompilowany kod potrafi być znacznie szybszy niż podobny w C++, już skopilowany.

Dalej uważam, że PHP to nie język dla dużych portali.
wookieb
Cytat(mat-bi @ 14.04.2011, 16:14:43 ) *
Co ty powiesz? A słyszałeś o nowej maszynei wirtualnej Javy? prekompilowany kod potrafi być znacznie szybszy niż podobny w C++, już skopilowany.

Nie wnikam czy to prawda czy nie, ale jeżeli tak jest naprawdę to rozumiem, że netbeans przy podpowiadaniu specjalnie robi sobie losowego "sleep"-a? Cool!
mat-bi
Może wyjdzie na to, że jestem niezłym politykiem, ale co tam wink.gif. Nigdzie nie napisałem, że Java jest zawsze szybsza niż C++

http://blog.cfelde.com/2010/06/c-vs-java-performance/

Chociaż potrafi. Ma tez dużo fajnych ficzerów - garbage collector, just-in-time compilation i tak dalej.

wookieb
Cytat(mat-bi @ 14.04.2011, 17:12:41 ) *
Chociaż potrafi. Ma tez dużo fajnych ficzerów - garbage collector, just-in-time compilation i tak dalej.

Aha, czyli nie sleep tylko "just-in-(late)-time compilation of my freaking system in super slow php" + "garb pamięciowy"?
Wystarczy naprawdę. Doskonale wiemy że c++ w końcowym wyniku (w całym programie a nie skrawku kodu) zawsze będziesz szybszy od Javy i nic z tym nie zrobisz/my.
Nie twierdzę, że Java jest zła tylko ludzie ją czasem przeceniają.
Fifi209
Nie zabrakło Facebook'a i zarazem dyskusji o jego wydajności. Facebook to nie jest samo PHP, sam system rozmów został napisany w Erlang'u.

Nie ma uniwersalnych narzędzi, nie oszukujmy się, albo kilka różnych technologii albo męka z jedną, nie wiem dlaczego ludzie wybierają opcję drugą.
everth
Cytat
Doskonale wiemy że c++ w końcowym wyniku (w całym programie a nie skrawku kodu) zawsze będziesz szybszy od Javy i nic z tym nie zrobisz/my.

Te parę ms różnicy za całą resztę zalet JVMa? To już budowanie olbrzymich aplikacji w oparciu o PHP wygląda bardziej absurdalnie smile.gif

PS: @Wookieb tuningowałeś może ustawienia JVM dla NetBeans? Przy włączeniu paru eksperymentalnych opcji przynajmniej u mnie dało to sporego kopa w Eclipse.
SHiP
@mike: To prawda, Facebook jest kompilowany do języka C++, ale w sieci jest do pobrania biblioteka, z której korzystają - HipHop, więc każdy może sobie to u siebie odpalić. To właśnie pokazuje, że społeczeństwo jest w stanie sobie część rzeczy dopisać(coś jak bajery Javowe podpinane do Ruby). Dla mnie to jest fajne. Piszę w baaaardzo prostym języku i mam niesamowicie wydajny kod. Nie muszę szukać kompromisu pomiędzy wydajnością a wygodą pisania. Jednak moim zdaniem nawiększym plusem php jest to, że php można zrobić najszybciej pieniądze. I mimo, że jest w nim ogromny burdel, to ze względu na jego prostotę i dużą bazę programistów jest najcześciej wybieranym narzędziem. Co więcej, dużo łatwiej jest znaleźć dobrego programistę, który nie zagnie Cię oczekiwaniami wobec pensji.

Java jest całkiem szybka. Argument z NetBeansem jest bez sensu bo ten edytor jest po prostu źle napisany. Komercyjny edytor z którego korzystam(phpStorm) działa 10x szybciej, a też jest w javie napisany. Bajerów też ma 10x więcej. Pewnie to wynika również z tego, że NetBeans to multijęzykowy kombajn. Nie wiem dlaczego Java wypada lepiej niż c++, bo to trochę nielogiczne, ale podejrzewam, że jej maszyna próbuje rozdzielić część operacji na różne rdzenie nawet jeśli aplikacja nie jest pisana w sposób wielowątkowy.

PS: skoro Java jest taka wolna to czemu większość nowych aplikacji okienkowych nie powstaje w c++? Bo to się po prostu mniej opłaca. W javie można napisać wszystko 10x szybciej. Tak samo jest z aplikacjami webowymi i pehapem.
wookieb
Cytat(SHiP @ 15.04.2011, 15:59:38 ) *
PS: skoro Java jest taka wolna to czemu większość nowych aplikacji okienkowych nie powstaje w c++? Bo to się po prostu mniej opłaca. W javie można napisać wszystko 10x szybciej. Tak samo jest z aplikacjami webowymi i pehapem.

Po prostu więcej jest programistów Javy - dlatego.
Identycznie mógłbym powiedzieć, dlaczego nie robi się większości naprawdę dobrych aplikacji webowych we flashu skoro jest w takim zastosowaniu o niebo lepszy od JS-a i jego udawanych "animacji".
everth
Cytat
Nie wiem dlaczego Java wypada lepiej niż c++, bo to trochę nielogiczne

A dlaczego? wink.gif

@wookieb
Cytat
Po prostu więcej jest programistów Javy - dlatego.

Nie tylko dlatego.
wookieb
Cytat(everth @ 15.04.2011, 16:40:13 ) *
Nie tylko dlatego.

No i w Javie piszę się łatwiej takie rzeczy. Tak? O to chodzi?
everth
Rozróżnijmy - Java jako język programowania, Java jako platforma (czyli de facto JVM). Co do języka to faktycznie - chyba tylko dlatego że przez dłuższy okres czasu był to jedyny język na platformę Java (C# został już lepiej zaprojektowany). Wszystkie pozostałe zalety to już JVM - czyli właśnie JIT, GC, duża przenośność napisanego kodu. No i subiektywnie - bogactwo gotowych bibliotek dla języka Java.

Gdyby się czepiać to można powiedzieć że Zend Engine + Optimizer + akceleratory oferują podobne rzeczy. Tylko że PHP jako język nie został zaprojektowany do profesjonalnych zastosowań - jest mniej wszechstronny. To samo co w PHP można osiągnąć i w Javie,przy czym na odwrót jest zdecydowanie trudniej. Inna sprawa to problemy związane z natywnymi rozszerzeniami do PHP - już samo to różnicuje środowisko w jakim będzie działać aplikacja. Jak nie masz wpływu na hosting to rodzi dodatkowe problemy.

Dobra, ponarzekałem sobie a teraz idę pisać znowu w PHP smile.gif
marcio
@everth podpisuje sie pod twoim postem w 100%

Sama java nie jest taka wspaniala....pisany w niej kod jest bardziej zagmatowany niz ten z C# i czesto wydaje mi sie ze jest dlugi...za bardzo jest tam wszystko przekombinowane....java wszystkiemu zasluguje dzieki jvm...bo to platforma jest jej sila...bo sama jako jezyk jest pospolita oferuje to co kazdy inny...jak nie mniej wink.gif
Crozin
Cytat
Gdyby się czepiać to można powiedzieć że Zend Engine + Optimizer + akceleratory oferują podobne rzeczy. [...]
Nie, nie oferują. Nawet nie są blisko tego.
A pisanie, że "cała reszta to zalety JVM-a, nie Javy" jest trochę dziwne. Bo język i maszyna wirtualna są ze sobą w znakomitej większości przypadków tak mocno związane, że można je wręcz traktować jako jedność.

Swoją drogą, trzeba pamiętać, że C# jest nieco młodszy od Javy. I tak jak Java była projektowana jako "better C++", tak C# był projektowany jako "better Java". I trzeba również pamiętać o tym, że nie wszystko w tym "better" im wyszło (zarówno jednym jak i drugim).
everth
@Crozin
Cytat
Nie, nie oferują. Nawet nie są blisko tego.

Wiem o tym. Dlatego napisałem o czepianiu się.
Cytat
A pisanie, że "cała reszta to zalety JVM-a, nie Javy" jest trochę dziwne. Bo język i maszyna wirtualna są ze sobą w znakomitej większości przypadków tak mocno związane, że można je wręcz traktować jako jedność.

Może inaczej - czym byłaby Java gdyby nie była powiązana z JVM (była klasycznym językiem kompilowanym)? Zalety Javy to platforma, nie język. Mimo że są one blisko związane to nie są tym samym. Przynajmniej od czasu gdy JVM umożliwia uruchamianie innych języków niż czysta Java.

Co do .NETu to dla mnie Microsoft wykorzystał szansę jaką dało olewanie przez Suna platformy desktopowej. Nie będę wnikał co jest "better" w C# bo praktycznie nie miałem styczności z tym językiem. Gdyby Sun dopracował wreszcie profil client w HotSpocie to .NET prawdopodobnie nigdy nie uzyskałby takiej popularności. Podobno w Javie 7 mają zupełnie znieść podział na client i server - poczekamy, zobaczymy.
itsme
miło się czyta taka dyskusję.
Chciałbym aby jednak trzymała się tematu - gdyż wątków o różnicach w językach, o tym który język jest lepszy było co nie miara.

Temat Przyszłość z PHP.
Wszem jeżeli nie PHP to co ? (ale nie wchodźmy już dalej)
yevaud
moim zdaniem nie ma wiekszego znaczenia w jakim jezyku piszecie. Mozesz pisac w PHP albo Javie czy Rubym, mozesz pisac skrypty w Bashu i AWK, mozesz pisa w assemblerze albo brainfucku. Niezaleznie od tego w czym "siedzisz" i tak musisz interesowac sie innymi jezykami i technologiami. Jesli pare lat siedzisz tylko w jednym jezyku i nie czujesz potrzeby poznania czegos wiecej to nie nadajesz sie na programiste. Kazdy(ee no prawie) jezyk na swoje plusy i jesli jestes programista to warto sie nim zainteresowac - nie ma rozwiazan uniwersalnie dobrych do wszystkiego nawet jesli chodzi o technologie webowe.

Pytanie przewodnie "czy warto wiazac swoja przyszlosc z PHP" nie ma sensu. Nie warto wiazac swojej przyszlosci z ZADNYM jezykiem. Jezyk i technologie zmieniaja sie kazdego dnia, to tylko narzedzie w ktorym wyrazasz swoje myslenie i tworzysz. Jesli pojawia sie nowa technologia np. oklepane programowanie aspektowe to jesli jestes programista musisz rzucic na nie okiem inaczej zmien zawod bo jestes tylko klepaczem kodu smile.gif Nic dobrego Cie w tym zawodzie nie czeka. Swiat pojdzie naprzod i nagle obudzisz sie z reka w nocniku.

Jesli znasz swietnie PHP i myslisz czym by tu sie zajac to odpowiedz brzmi NIE MA TO ZADNEGO ZNACZENIA. Wybierz losowy jezyk z czolowki i sprawdz jak sie w nim czujesz, moze bedzie sie lepiej sprawdzal w zastosowaniach do ktorych planujesz go uzyc niz jezyk ktorego uzywasz aktualnie. Jesli tak, przesiadz sie, jesli nie to sprawdz nastepny. To koniec filozofii.

Nikt Ci nie da poprawnej rady co powinienes robic, co wybrac. Dla kazdego ta odpowiedz jest inna wiec nie pytaj tylko bierz sie za kodzenie smile.gif Mozemy sie w nieskonczonosc klucic nad zaletami jednego jezyka nad drugim i wszyscy bedziemy mieli racje, bo kazdy bedzie mial swoja prawdziwa dla niego odpowiedz

Jesli pytanie brzmi "dopiero zaczynam, czy warto uczyc sie php skoro podobno ten jezyk umiera", odpowiedz znowu brzmi TO NIE MA ZNACZENIA. ZADNEGO. Mozesz sie uczyc BASICA jesli tylko masz go do czego uzyc(!). Dla kazdego jezyk od ktorego warto zaczac jest inny(no dobra, jest ograniczona liczba jezykow), wiec nikt Ci nie da dobrej rady. Niektorzy najlepiej sobie radza gdy zaczna od programowania obiektowego, niektorzy gdy zaczna od strukturalnego, inni sa bogami bo zaczeli pisac w asm, a ich kod to na poczatku bylo jedno wielkie "goto" i zupa polecen, niektorzy potrzebuja wskaznikow zeby poczuc sie jak w domu. Nikt Ci nie da robrej rady w co isc, musisz znalezc swoja droge. Tak naprawde nie uczysz sie jezyka tylko sposobow(wielu!) rozumowania wiec i tak na jednym jezyku nie mozesz skonczyc bo to Cie uwsteczni i bedziesz baranem ktoremu nikt nie da wiecej niz 5zl/h niezaleznie od jezyka. Jesli na poczatek wybierzesz prymitywny jezyk to po prostu szybciej go opanujesz niz jezyk trudny i szybciej zmienisz go na inny - doswiadczenie ktore dala ta Ci nauka i tak bedzie Ci potrzebne w przyszlosci

edit: ok 5zh/h to byla przesada wink.gif powiedzmy 25/h
marcio
Cytat
Wszem jeżeli nie PHP to co ? (ale nie wchodźmy już dalej)

A skad mamy to wiedziec ;p nikt przyszlosci nie przewiduje na tym forum a jesli ktos taki sie tutaj znajduje to dawajcie na priv haha.gif

Ogolnie kazdy jezyk/technologia/platforma na ktora jest trend i duze zainteresowanie, cos co ma racje bytu na rynku "informatycznym" cos z solidnym zapleczem,spoleczenstwem,cos z popartymi jakimis projektami ktore sa znane najlepiej open source!

Ja stawiam na C#/python/Asp.Net a Cpp i Java utrzymaja sie na rynku jeszcze pare jak nie parenascie ladnych lat...o ile kiedys w ogole odejda do lamusa wink.gif

Taki D zly nie jest...ale brak spolecznosci,srodowisk, o ile dobrze pamietam z kompilatorami tez jest slabo pod rozne platformy....bibliotek no niby troche jest bo mozna importowac z Cpp

Ciekawie sie zapowiadaja tez Scala/Groovy i Clojure pod jvm...bo pod .net'a procz C# i asp do zastosowan dla web'a nic innego raczej nie ma racji bytu....vb.net jest cianki,ubogi i ulomny...ma pewne ograniczenia wedlug mnie!A Cpp/Cli jest malo popularne w porownaniu do C#!
itsme
@marcio: pisząc nie wychodzić dalej miałem na myśli - analizę różnic pomiędzy językami. Przedstawianie wyższości jednego nad drugim. itp.
everth
@yevaud
Jeśli chcesz zawsze liznąć wszystkiego co akurat przewija się w mainstreamie to podziwiam. Rynek już dawno usadowił się na kilku językach i jak na razie to nikt jeszcze nie wymyślił czegoś na tyle odkrywczego by coś miało się w tej materii radykalnie zmienić. Nowe języki łatają niedogodności starych ale jak widać nie są to rzeczy takiego ciężaru by nagle wszyscy się na to przerzucali. Po prostu lepiej wybrać sobie jeden z wiodących języków i specjalizować się. Języki niszowe są fajne jako ciekawostki - mają krótki żywot. Inwestować swój czas w coś takiego jest trochę niepoważne.

Obserwując środowisko lekarskie zauważyłem jedno - tam też mówi się o ciągłym kształceniu. Tylko że starsi stażem lekarze mają swoje przyzwyczajenia i doświadczenie w swojej specjalizacji. Młodzi po studiach mają często lepszą wiedzę dot. aktualnego stanu (i trendów) medycyny w dziedzinie. Tylko co z tego skoro ich wiedza jest teoretyczna. Po prostu mniej widzieli. Tak więc moja odpowiedź brzmi - jeśli nie PHP to doświadczenie. Cała reszta jest bez znaczenia.
mrok
Cytat
dopiero zaczynam, czy warto uczyc sie php skoro podobno ten jezyk umiera


A jakieś argumenty dlaczego ten jezyk umiera? Sorrka ale czasami mam wrazenie ze ktoś rzucił takie hasło i nagle połowa phpwego świata zaczeła w nie wierzyć? Jesli wszyscy w to uwierzą to faktycznie tak będzie.

Dla uspokojenia ducha polecam te prezentację http://vimeo.com/22377522 - co jak co ale developerzy phpa to pewnie wiedzą lepiej wink.gif

wiewiorek
Jeśli nie PHP to co ? No cóż, np. ASP.NET MVC, bo połączenie C#, SQL Servera, IIS to świetna sprawa, a dodatkowo jQuery aktywnie wspierany w ASP.NET MVC oraz ogólnie wspierany finansowo przez Microsoft. A dlaczego świetna sprawa ? Bo ma wsparcie giganta, bo wszystkie te rzeczy są ze sobą powiązane i idealnie współgrają (C#, SQL Server, IIS) i co najważniejsze mamy do wyboru tylko dwa frameworki ASP.NET WebForms oraz ASP.NET MVC - brak takiej mnogości frameworków jak w PHP jest zaletą, bo z punktu widzenia pracodawcy nie trzeba wdrażać nowego pracownika w nieznany mu framework lub jeśli przychodzi do modyfikacji istniejącego serwisu to wiadomo, że powstał on w ASP.NET a nie we frameworku, którego się nie zna i trzeba poświęcać czas (a czas to pieniądz) na zapoznanie się z nim. Co do przenośności - no nikt mi chyba nie powie, że w przypadku serwerów, ktoś raz stawia stronę na Linuxie, w następnym dniu zmienia serwer na Windowsa, a w kolejnym na coś innego.

A co do PHP - to osobiście nie wierzę żeby ten język umarł, przynajmniej w najbliższych kilku latach - jest on stosowany tak powszechnie, że nie ma na to szans. tongue.gif
batman
PHP na to do siebie, że bardzo szybko dochodzi się do momentu, że zaczyna czegoś brakować. W końcu język ten jest najlepszym systemem szablonów jaki powstał. Na szczęście co pewien czas powstają ciekawe projekty pozwalające wykorzystać PHP tam, gdzie wcześniej nie było to możliwe lub było mało wydajne. Wystarczy wspomnieć o PHP for Android, Windows Azure, IIS, PHP Fog i kilku innych większych przedsięwzięciach. Wiadomo, że nie każde z nich odniesie sukces, niemniej każde spowoduje, iż pozna się kawałek innego świata IT. W przypadku Windows Azure/PHP Fog jest to Cluod Computing, IIS - ASP.NET MVC, PHP for Android - programowanie na urządzenia mobilne, itd. A stąd już tylko krok do poznania nowej technologii.
Odpowiadając na pytanie - tak z PHP można wiązać przyszłość, pod warunkiem, że nie ograniczymy się tylko do PHP.
ano
Moim zdaniem, żeby być "dobrym programistą" niezbędne jest poznanie teorii - programowania: wzorców projektowych, paradygmatów i bazy matematycznej (matematyka dyskretna; logika itp). Sam język, w którym się pisze jest dla mnie sprawą drugoplanową.
Dlaczego?
Powód jest prosty - nauka nowego języka to góra pół roku. Przez ten okres myślę, że spokojnie można już nabyć wystarczającego doświadczenia. A potem no cóż, praktyka czyni mistrza. A jak natrafisz na coś czego nie umiesz to google szybko Ci pomoże smile.gif
Bez teorii daleko nie zajedziesz. Będziesz umiał klepać kod, ale czy chcesz to robić całe życie? Ja nie wink.gif

Idź na studia informatyczne - tam 80% czasu spędzisz na poznawanie modeli matematycznych i teorii informatyki ale wierz mi, że jak już to ogarniesz to samo napisanie jakiegoś programu w c/php/java nie będzie dla Ciebie problemem.

Więc konkludując - nie skupiaj się na jednym języku. Poznaj teorie, a wtedy nauczenie się nowych języków to będzie dla Ciebie pestka.
SHiP
Cytat(wookieb @ 15.04.2011, 14:46:59 ) *
No i w Javie piszę się łatwiej takie rzeczy. Tak? O to chodzi?

To zdecydowanie ale Java ma kilka mądrych rzeczy jak chociażby wymuszanie obsługi wszystkich wyjątków. To redukuje ilość występujących błędów w wypuszczonej aplikacji więc i z supportem jest mniej roboty. I dlatego moim zdaniem poza kilkoma specyficznymi rynkami(typu gry, aplikacje do obróbki grafiki etc) najlepiej będą rozwijały się języki/technologie proste w obsłudze, w których aplikacje pisze się bardzo szybko, a jednocześnie są dobrze zabezpieczone.

Ja bym stawiał na technologie z dużą bazą bibliotek i z dużym rynkiem. Bo o ile po nauczeniu się Ruby (zamiast np. PHP czy Javy) będziesz sporo ciekawych rzeczy widział, to ze znalezieniem pracy będziesz mógł mieć dużo większe problemy. Co do umierania PHP, to raczej to nie nastąpi ponieważ ciągle ten język jest rozwijany i ciągle rozwijane są aplikacje napisane w PHP(typu Wordpress, Drupal) i mimo, że to wszystko jest słabo napisane to napędza rynek, wprowadzając programistów w błędne koło i tak np. Wordpress to zbitek funkcji oraz zmiennych globalnych, a jego rynek szacuje się w milionach dolarów.

Pytanie czy chcesz zarabiać pieniądze grzebiąc w porytym kodzie, czy pracując przy nowoczesnych technologiach.

To raczej kwestia upodobań co się wybierze. Ja osobiście planuję 2 lata z porytym kodem w php(głównie wordpress), a później, mając pieniądze inwestować w nowsze technologie(programowanie gier(i tutaj PHP raczej odpada)).

@ano, @yevaud: okej, można się uczyć wszystkiego po kolei ale przez 5 miesięcy trzeba za coś przeżyć. Wybiorę VB poświęcę pół roku i co? Nie mam pracy. I znowu marnować pół roku na uczenie się kolejnego języka? Nie każdy ma odłożone pieniądze, bogatą żonę lub mieszka z mamą ;]. A zamiast na studia lepiej zatrudnić się w różnych firmach np. w jednej od php, drugiej od Javy, trzeciej od elektroniki. Nauczysz się tysiąc rzeczy więcej niż na studiach.

Cytat
Bez teorii daleko nie zajedziesz. Będziesz umiał klepać kod, ale czy chcesz to robić całe życie? Ja nie

Teoria jest ważna, ale praktyka dużo bardziej(swoją drogą, ja uważam wzorce za praktykę, bo na bazie doświadczenia wiem kiedy, którego użyć). Aby nie klepać kodu trzeba mieć pieniądze, aby zatrudnić kogoś, kto będzie to robił za Ciebie. Z wiedzą, a bez pieniędzy dalej będziesz klepał(no żechyba po n latach w korporacji liczysz na stanowisko project managera lub kogoś takiego, ale to po prostu zmiana rodzaju klepania).
ano
Cytat(SHiP @ 18.04.2011, 08:50:05 ) *
To zdecydowanie ale Java ma kilka mądrych rzeczy jak chociażby wymuszanie obsługi wszystkich wyjątków.

Nie, Java nie wymusza obsługi wszystkich wyjątków.

Wspominałeś o (typu gry, aplikacje do obróbki grafiki etc) no ok, ale, żeby to pisać trzeba mieć bardzo dużą wiedzę z zakresu matematyki (grafika komputerowa => logika, zbiory rozmyte itp; gry => fizyka, również matematyka).
Tego w firmie Cię nie nauczą, w firmie zdobędziesz praktykę w pisaniu w danym języku, ale ciągle będziesz klepaczem kodu - nie zajdziesz dalej tongue.gif
Jak chcesz pisać "proste" programy (no np. CMS'y) to może się obejdzie bez takiej wiedzy, ale do bardziej skomplikowanych rzeczy (z których będziesz miał 100x więcej kasy) poznanie teorii jest niezbędne.
itsme
Cytat(ano @ 18.04.2011, 11:05:08 ) *
Tego w firmie Cię nie nauczą, w firmie zdobędziesz praktykę w pisaniu w danym języku, ale ciągle będziesz klepaczem kodu - nie zajdziesz dalej tongue.gif

NIe wiem gdzie Ty pracowałeś ale każdemu pracodawcy zależy na rozwoju. To co napisałeś jest spotykane rzadko.
wookieb
Cytat(itsme @ 18.04.2011, 11:40:44 ) *
NIe wiem gdzie Ty pracowałeś ale każdemu pracodawcy zależy na rozwoju.\

Chyba firmy, niekoniecznie pracowników.


Cytat(ano @ 18.04.2011, 11:05:08 ) *
Tego w firmie Cię nie nauczą, w firmie zdobędziesz praktykę w pisaniu w danym języku, ale ciągle będziesz klepaczem kodu - nie zajdziesz dalej tongue.gif

I to jest prawda. Albo pracujesz w mega kolosie albo programujesz coś sam i stajesz się coraz lepszy.
SHiP
Nie chcę odbiegać od tematu(ten był trochę inny) ale odpowiem.

Pisząc oprogramowanie do obsługi lotniska muszę znać nie tylko fizykę ale również sposób w jaki funkcjonują lotniska oraz mechanikę samolotów. To znaczy, że mam studiować lotnictwo i budowę maszyn? Bez przesady. Grunt to dobra literatura, najlepiej zagraniczna. Może to zależy od uczelni ale np. o moich ulubionych kwaternionach nie miałem NIC na studiach, a w programowaniu gier się ich używa. No okej, były liczby zespolone ale te można śmiało przerobić samemu w tydzień (do poziomu użyteczności przy kodowaniu).

Przedstawiając firmy miałem na myśli języki programowania ale jeżeli poszedłbyś pracować do firmy zajmującej się programowaniem gier to też byś się wiele matematyki nauczył. Po prostu musiałbyś kupić ze dwie książki na temat całek i przerobić je aby zrozumieć co koledzy do Ciebie mówią.

Co to teorii: nie każdy zna różnice pomiędzy funkcją, procedurą oraz funkcjonałem, a wiele z tych osób to na prawdę nieźli programiści. Po prostu pewnych rzeczy nie ma sensu uczyć się na siłę.

Podsumowując moje zdanie jest proste: zaczepiać jak najwięcej praktycznych aspektów. W przypadku braku znanych wydajnych sposobów rozwiązywania pewnych problemów szukać odpowiedzi w książkach. Poza tym otaczać się ludźmi mądrzejszymi od siebie. Dzięki temu cały czas się rozwijasz. Nawet jeśli czegoś nie wiesz, to ktoś Cię uświadomi i powie - użyj tutaj programowania dynamicznego. Wtedy chwytasz ksiażkę w dłoń i czytasz...
thek
I tutaj właśnie uderzamy w różnicę między klepaczem i programistą. Klepacze to maszynki - mają dużo kodu szybko zrobić by działało. Programista jest klepaczem "wyższego rzędu", że tak to nazwę. Podałeś przykład lotniska i tego się uczepię i ja. Nie musisz w tym wypadku znać fizyki czy aerodynamiki. Do obsługi konieczna jest w takim wypadku znajomość zagadnień związanych z tym, co miałoby obejmować oprogramowanie. Albo więc uczysz sie tego sam, albo sięgasz po eksperta danej firmy i z jego wiedzy korzystasz. To on Ci może powiedzieć co i jak działa, z czym się wiąże. Programista to więc osoba, która potrafi skorzystać z wiedzy i ją poszerzać o konieczne w danej chwili elementy. Także wychodząc poza technologie samemu używane. Innymi słowy, nie ogranicza się, ale wciąż świadomie rozwija swoje zasoby wiedzy i umiejętności. Klepacz kodu jest z reguły zamknięty w obrębie znanych sobie technlogii i jedyne nowości wynikają z rozwoju samego języka. Programista działa na wyższym poziomie i do pewnego stopnia może nawet rozwojem tego języka pokierować(!). Wystarczy zauważyć, że programiści to osoby z reguły biegłe w kilku językach/technologiach i czerpiące z nich wszystkich, a więc mogące zasugerować korzystne lub nie, zmiany w języku dla określonej społeczności. Stąd choćby właśnie te zmiany w php, które mają na celu udostępnienie funkcji czy konstrukcji obecnych w innych językach programowania. Klepacze kod składają, programiści go tworzą. Klepacz nie jest w stanie samodzielnie zaprząc znanych sobie możliwości języka w celu wytworzenia nowej, gdyż nie jest to działanie schematyczne, a tym samym ucieka jego postrzeganiu języka. Klepacz nie wychodzi poza znane mu schematy pisania i to jest mocne ograniczenie. Poznaje nowe rzeczy głównie poprzez analizę kodu programistów. Stąd tak wielu klepaczy, a tak mało programistow. Nie każdy jest w stanie samodzielnie coś nowego stworzyć z dostępnych dla niego narzędzi i funkcji języka.
mike
Cytat(SHiP @ 18.04.2011, 11:53:23 ) *
Pisząc oprogramowanie do obsługi lotniska muszę znać nie tylko fizykę ale również sposób w jaki funkcjonują lotniska oraz mechanikę samolotów. To znaczy, że mam studiować lotnictwo i budowę maszyn? Bez przesady.
Piardu, piardu.
Pisząc oprogramowanie lotniska masz do dyspozycji analityków, którzy znają dziedzinę. Podobnie jest w przypadku kiedy piszesz dowolne oprogramowanie.

Cytat(SHiP @ 18.04.2011, 11:53:23 ) *
(...) jeżeli poszedłbyś pracować do firmy zajmującej się programowaniem gier to też byś się wiele matematyki nauczył. Po prostu musiałbyś kupić ze dwie książki na temat całek i przerobić je aby zrozumieć co koledzy do Ciebie mówią.
Żadna firma zajmująca się grafiką nie zatrudni matoła, który nie potrafi pomnożyć macierzy lub nie zna algebry na solidnym poziomie i nie przerobił już dawno kilku książek na temat całek i nie policzył ich solidnej ilości. I nie wmawiaj, że pójdziesz i Cię nauczą bo to jest właśnie próg wejścia a jak się masz zamiar czegoś nauczyć to ponad to a nie tego co jest wymagane.
everth
Programista jak artysta. Był już taki trend (tyle że dotyczył właśnie artystów) - patrzcie Młoda Polska. Wracając do tematu - @thek rozumiem twoje przeświadczenie że programista to twórca a klepacz kodu to rzemieślnik. Tylko że szeroki rynek bardzo rzadko potrzebuje prawdziwej innowacyjności. Tu chodzi głównie o ulepszanie już sprawdzonych rozwiązań - a to sprowadza się głównie do przepisywania kodu.

Druga rzecz - rynek gier. Owszem jest tutaj potrzebna znacznie większa wiedza - ale według mnie zasadza się to na tym że gra musi lepiej oddawać skomplikowany charakter rzeczywistości na ograniczonym sprzęcie. Dla mnie jest to główna różnica między aplikacjami użytkowymi a grami - te pierwsze ograniczają się tylko do pewnych aspektów rzeczywistości ale muszą to robić niezawodnie - gry muszą oddać tych aspektów jak najwięcej, przy czym nie trzeba tego robić dokładnie. Już samo to powoduje że programista gier musi posiadać lepszą wiedzę z fizyki i matematyki i nie tylko. Zresztą prawdziwy biznes w tej branży robi się chyba i tak na produkcji silników do gier i późniejszych zysków z licencji niż na samych grach.

Nie zapominajmy też o tym że koszt reprodukcji oprogramowania jest praktycznie zerowy. Oznacza to że jeśli powstanie rewolucyjny algorytm to pomijając aspekty patentowe i licencyjne może być wdrożony wszędzie gdzie będzie przydatny w minimalnym czasie. A np. zaprojektowanie nowego silnika samochodowego to dopiero początek drogi.

Mam też inną wątpliwość - skoro prawdziwy programista musi posiadać tak szeroki zakres kompetentnej wiedzy to czy się to w ogóle mu opłaca? Nie chcę drwić ale w jednej polskiej firmie powstało takie powiedzenie że "Każdego wykwalifikowanego programistę da się zastąpić skończoną liczba studentów - zazwyczaj jednym". Firma ta nie jest krzakiem i radzi sobie na razie bardzo dobrze wink.gif
itsme
Cytat(wookieb @ 18.04.2011, 11:42:51 ) *
Chyba firmy, niekoniecznie pracowników.
I to jest prawda. Albo pracujesz w mega kolosie albo programujesz coś sam i stajesz się coraz lepszy.

Rozwój pracownika = rozwój firmy.
NIe wiem skąd masz takie doświadczenia ale mówmy o firmach a nie firemkach.
Czyli takich gdzie jest wiecej niż 3 programistów.
wookieb
Zatem pochwal się jak ostatnio rozwinęła się Twoja firma pod względem programistów. Bo widzę, że do tego zmierzasz.
itsme
trzymaj sie tematu i nie do tego zmierzalem.
Oczywistym faktem jest to że nawet zatrudniony programista jako jeden sam ma male szanse na rozwoj (rozwija sie w orkeślonym kierunku bycia 100% hiper mózgiem).
Nawet w 2 osobowym zespole ciezko o rozwoj. W 3 osobowym już się robi ciekawie a w 4 nawet fajnie.
W 20 osobowym jesteś trybykiem.

Oczywiscie wszystko zalezy od ludzi. ALe nie zmienia to faktu ze wspolczesny wlasciciel firmy rozni sie nieca od tego sprzed 5 lat (mowie o IT).
wookieb
Cytat(itsme @ 18.04.2011, 19:05:33 ) *
Oczywistym faktem jest to że nawet zatrudniony programista jako jeden sam ma male szanse na rozwoj (rozwija sie w orkeślonym kierunku bycia 100% hiper mózgiem).
Nawet w 2 osobowym zespole ciezko o rozwoj. W 3 osobowym już się robi ciekawie a w 4 nawet fajnie.
W 20 osobowym jesteś trybykiem.

Pracowałem w mniejszych i większych firmach, w zespołach nie zespołach, jako lider, nie jako lider i powiem szczerze... nigdzie nie nauczyłem się tyle co sam w domu pisząc swoje moduły, po mojemu, obserwując trendy wokoło, projektując i co najważniejsze nie tylko w php, nie poznawałem tylko mysql-a.

I w całym moim dorobku ludzi, których poznałem na żywo znam tylko i wyłącznie 5 dobrych programistów. Dobrych to takich którzy wiedzą do czego służą wzorce projektowe, jak powinno projektować się większe aplikacje, z bagażem doświadczeń na temat poszczególnych rozwiązań, ze znajomością zagadnień pisania testów aplikacji oraz kumatych na tyle by nie widzieć tylko i wyłącznie własny konserwatywny koniec nosa. 5 z około 100 których poznałem. Czy to dobry wynik? Bardzo słaby. Żeby było jeszcze śmieszniej, znam 11 osób posiadających ZCE. Dobrych jest tylko dwóch z nich (z poprzedniej 5). Co z tego wynika? Że nawet takie "renomowane" szkolenie mało co daje.

Jaki wniosek? Ludzie uczcie się sami i nie tylko w jednym języku a będziecie kozakami. No i przede wszystkim poznawajcie nowe narzędzia bo to was rozwija.

Cytat(itsme @ 18.04.2011, 19:05:33 ) *
Oczywiscie wszystko zalezy od ludzi. ALe nie zmienia to faktu ze wspolczesny wlasciciel firmy rozni sie nieca od tego sprzed 5 lat (mowie o IT).

Niestety nie wypowiem się na temat różnic ale powiem tyle: pracodawca nie powie Ci "rzuć PHP a idź do (pythona|scali|ruby|javy|c#)" bo po prostu dla niego nie będzie to ważne.
Żaden pracodawca nie będzie nawet w stanie wysłać każdego pracownika na system szkoleń z wielu działów (nie opłaca się + poddaję w wątpliwość jakość wielu ze szkoleń).
Pozostaje (tak jw) uczyć się samemu, tylko że nie każdy ma na tyle "pokory" i chęci, oczekując tego wszystkiego od "pracodawcy".
thek
@everth: masz rację, że rynek chce rozwiązań, które się sprawdzają, nie patrząc na wiele innych rzeczy. Problem jest jednak jeden -> Nawet te "sprawdzone" rozwiązania ktoś musi najpierw wymyślić i wdrożyć, by rzemieślnicy mieli się na czym wzorować. Rynek klepaczy jest jak w tym żarcie o wynalazcy, że jeśli czegoś się nie da zrobić według "betonu", to przyjdzie jeden, który nie wie, że się nie da (programista) i on to zrobi, udowadniając, że jest to możliwe.

Co do Twojego zdania o szerokim wachlarzu wiedzy programisty, to nie do końca tak jest, że musi on być omnibusem. Bardziej sugestywne byłoby powiedzenie, że posiada pewien katalog biblioteczny. Nie musi znać każdej książki na pamięć, może nawet nie przeczytać kilku procent... Ważne by wiedział gdzie sięgnąć w razie potrzeby i co ewentualnie przeczytać by luki uzupełnić.

Co do opłacalności to szczerze mówiąc programista akurat średnio na to zważa. Ten prawdziwy patrzy na własny rozwój i tutaj właśnie wookieb ma rację pisząc o samodzielnym kształceniu, co popieram każdą kończyną. Moim zdaniem problem postawiony przed klepaczem i programistą będzie miał zupełnie inny finał. Dla klepacza będzie wyjściem do znalezienia gotowca sprawdzonego, by jedynie go wdrożyć. Programista z racji szybkości także to weźmie pod uwagę, ale zawsze go będzie korcić, by jednak zrobić coś po swojemu i czasem temu pragnieniu ulegnie. Właśnie w ten sposób potem powstają "sprawdzone" rozwiązania, o których wspominaliśmy. To nie są efekty pracy klepaczy kodu, ale pasjonatów, którzy wychodzą poza utarte z góry schematy lub podchodzą do nich od nieco innej strony.
everth
@thek
Racjonalny programista i klepacz podejdą do sprawy w ten sam sposób - "sprawdzą literaturę". Bo jeśli tego nie zrobią to prawdopodobnie do niczego nie dojdą albo wymyślą coś już istniejącego.

Klepacz kodu/rzemieślnik też ma katalog sprawdzonych rozwiązań - musi mieć. To przychodzi z praktyką. To że często są to rozwiązania niekoniecznie optymalne to już sprawa normalna - 'prawdziwi' programiści też kończą na pierwszym rozwiązaniu które spełnia ich minimalne założenia. I jest to rozsądne. W warunkach ustalonych terminów nie można pozwolić sobie na dowolne eksperymentowanie - od tego są ośrodki akademickie + działy R&D w dużych firmach. Ale w małych tego nie uświadczysz. Tam rozwój dokonuje się kosztem wolnego czasu własnego, dla niektórych ludzi to naprawdę duże poświęcenie.

Opłacalność to temat rzeka - ja powiem tylko tyle, mądrzy ludzie to wcześniej czy później zamożni ludzie (bez względu na fach), reszta to naiwni marzyciele. Moim zdaniem zarobki w IT byłyby dużo wyższe gdyby nie działalność "marzycieli" (Richard Stallman). Open source deprecjonuje wartość wiedzy - widać to szczególnie po rynku PHP i nie tylko. To co powiedziałem może jest niepopularne i trąci hipokryzją ale tak to widzę.
itsme
@wookieb: to że poznałeś tylko 5 dobrych programistów zależy od Twojego zdefiniowania pojęcia dobry. Czy wg. Twojej opinii też tam jesteś ? to tak na marginesie.
a tak poważniej dyskusja pomiędzy nami to tak naprawdę różnice w doświadczeniu zawodowym programisty a pracodawcy/programisty.

Co doświadczeń uzyskanych samodzielnie to odpowiem CI inaczej - wyobraź sobie świat programistów bez wsparcia społecznościowego, bez forum. I co nadal jesteś zdania że sam osiągniesz tyle samo co w zespole ? Dla mnie to co napisałeś jest nieprawdziwe. Żaden szanujący się pracownik nie siedzi na tyłku i nie czeka aż pracodawca go wyśle na szkolenie. Każdy z nas wciąż się rozwija na co dzień. Zatem to co opisujesz każdy z nas ma w sobie i nie jest jakąś bliżej nie określoną czynnością.
Twój wniosek: LUDZIE UCZCIE SIĘ SAMI. to nie jest wniosek każdy z nas to robi codziennie na różnym poziomie.
Mój wniosek: NIC TAK NIE ROZWIJA JAK PRACA ZESPOŁOWA.

oczywiście wszystko wciąż zależy od ludzi są osoby, które nauczą się same więcej niż w zespole ale to są wyjątki.

ale widzę że odchodzimy od tematu zatem już dalej nie będę rozpisywał się o oczywistych oczywistościach bo dostanę warna ...
SHiP
Cytat(mike @ 18.04.2011, 13:38:47 ) *
Piardu, piardu.
Pisząc oprogramowanie lotniska masz do dyspozycji analityków, którzy znają dziedzinę. Podobnie jest w przypadku kiedy piszesz dowolne oprogramowanie.

Żadna firma zajmująca się grafiką nie zatrudni matoła, który nie potrafi pomnożyć macierzy lub nie zna algebry na solidnym poziomie i nie przerobił już dawno kilku książek na temat całek i nie policzył ich solidnej ilości. I nie wmawiaj, że pójdziesz i Cię nauczą bo to jest właśnie próg wejścia a jak się masz zamiar czegoś nauczyć to ponad to a nie tego co jest wymagane.

1. To była analogia do rzeczy związanych z matematyką przedstawianych przez kogoś powyżej. Codziennie logika rozmyta raczej nie jest potrzebna. Dopiero przy konkretnych przypadkach zasięga się czyjejś pomocy. Albo w książkach albo tak jak piszesz u analityków. Każda lepsza firma ma jakiegoś matematyka lub fizyka u siebie, który liczy wszystko to co jest bardziej skomplikowane niż całka potrójna wink.gif.

2. Przecież nie napisałem, że firma cię tego nauczy. Samemu trzeba do książek zajrzeć. A jeżeli chodzi o takie stanowisko to raczej wyższa półka, ale na staż/praktyki zawsze możesz pójść. Chociażby na tydzień, dwa aby dowiedzieć się czego musisz się jeszcze nauczyć.

Popieram zdanie itsme. Ja bardzo chwalę swoją pracę w firmie. W prawdzie pracuję w małym zespole(3 programistów) i mimo, że głównie klepiemy jakieś durne projekty unijne na Zendzie, to poznając nowych ludzi sporo uczę się od nich. Codziennie w firmie dyskutuje się o wzorcach, algorytmach, strukturach, bezpieczeństwie, html5, trendach etc etc. I mimo, że te 8h klepię kod to sporo się uczę w przerwach + wieczorem w domu(bo trzeba nasze dziwne pomysły przetestować).

@itsme: jesteś w Zarządzie. Chyba nie możesz dostać warna tongue.gif (From thek: To prawda... Moderatorowi też nie można, choć już kiedyś wnosiłem o to wink.gif )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.