Wątek przeniesiony 2014-02-26 00:18 z Off-Topic przez furious programming.

Czemu programiści nie lubią PHP?

3

Na blogach czy forach programistycznych (m.in. tutaj ;)) można się spotkać z niechęcią programistów do PHP. Moje pytanie: skąd to wynika?
Wiem, że PHP jest trochę dziwacznych językiem, np. bez żadnej kontroli typów, językiem gdzie łatwo samemu zrobić sobie bałagan.

Jednak mimo mocnej konkurencji Pythona i Rubiego wciąż ma silną pozycje na rynku jako język używany do back endu.

Sam obok C++ postanowiłem pobawić się w PHP, bo chcę coś typowo do zastosowań webowych. Ogłoszeń o pracę w PHPie jest sporo, wydaje mi się, że jeśli się już coś ogarnia to całkiem łatwo znaleźć coś na początek, nawet zdalnie.

No ale wracając do tematu, co w PHP jest takie złe, na co uważać, żeby nie wyrobić sobie złych nawyków i jak potem np. z przerzuceniem się z PHP na Pythona? Czego warto być świadomym kodząc w PHP, jeśli się ma niewielkie pojęcie o programowaniu w ogóle, w szczególności dobrym stylu itp?

2

Myślę, że poniższe linki zarówno wyjaśniają niechęć, jak i wskazują czego należy unikać:
http://ferrante.pl/frontend/php/mamo-umiem-php/
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

1

skąd to wynika?
Stąd, że z makaronu robi się rosół, albo spaghetti, a nie strony internetowe.

Google: tag soup

1

Co do samego języka. Prawdą jest że PHP nie posiada kontroli typów i łatwo sobie narobić w nim bałaganu. Jednak problemem nie jest język, a ludzie którzy w nim piszą. Programuje w nim ~4 lata i jakoś w swoim kodzie nie posiadam makaronu ani tym bardziej spagetii wystarczy przestrzegać paru zasad i pisać z głową. Rozdzielać jak w innych językach warstwy aplikacji i utrzymywać dokumentację. Wszak w samym języku są napisane odpowiedniki popularnych bibliotek z innych języków. Czasami są to lepsze czasami gorsze implementacje ale są.

Co do jego popularności to jest to spowodowane rynkiem płac. Bardzo ciężko jest otrzymać pracę za 4k+ nawet ze sporym doświadczeniem w programowaniu. Po prostu przez ludzi którzy hejtują ten język osoby w nim piszące nie są postrzegane jako "programiści" tylko raczej nieudacznicy. Jak ostatnio w jednym z wątków na tym forum zobaczyłem że gość po studiach na 1 pracy otrzymał propozycję 6k netto w javie to zrobiło mi się po prostu smutno.

Ogólnie zleceń masz co niemiara jednak musisz uważać ponieważ grzebanie w większości popularnych obecnie open sourcowych aplikacji jest cofające w rozwoju mam tutaj namyśli wordpress'a, joomle, prestashopa czyli to na co obecnie jest popyt ponieważ udostępniają dużą funkcjonalność. Super że są kompatybilne z najnowszymi wersjami języka skoro w bebechach mają wersje sięgające PHP 4/5 (z początku).

Lektura którą musisz tak naprawdę na dzień dzisiejszy przejść

  • Standardy PSR
  • Model HMVC (to co da się zaimplementować w PHP)

A później pozostaje już tylko kodzenie i trenowanie "czystości" ponieważ nikt cię w tym języku tego nie nauczy. Nawet jak weźmiesz jakiś framework to jest szansa że go źle będziesz wykorzystywał. Podsumowując PHP jest idealny do własnych projektów gdzie chcemy ciąć koszty produkcji oprogramowania. Jednak jego cała architektura i podejście do niektórych rzeczy dyskwalifikują go jako główny język aplikacji po tym jak rozrośnie się ona sama. Sądzę że w PHP można pisać śmiało projekty do wartości max 1 mln zł. Sam brałem udział w dwóch projektach do ~300k i spisywał się świetnie.

4

Na początku też nie rozumiałem hejtu, język prosty i wygodny do szybkiego stworzenia czegoś. Problemy się robią kiedy faktycznie chcesz napisać coś PORZĄDNEGO. To żonglowanie typami prowadzi do wielu błędów (a w takim switchu nie masz jak wymusić kontroli typów i trzeba robić ify), panowie od PHP też próbowali pchnąć cuda typu magic_quotes, co spowodowało rozfragmentowanie i różne zachowania skryptu na różnych serwerach, nauczyło programistów, że bezpieczeństwo samo o siebie zadba, potem się z tego wycofali, co sprawiło, że teraz jest jeszcze gorzej. Wszystkie podstawowe funkcje są dostępne "tak sobie", nie są poukładane w klasach, tylko dokładane są "jak leci", CZASEM mają przedrostki (np. str_ [str_replace], ale także str [strlen]), czasem nie mają (ceil, round), kolejność argumentów jest losowa (in_array oraz strstr).

Ja lubię języki słabo typowane, ale to co się dzieje w PHP to chaos. Porównania == najlepiej nigdy nie używać, bo potem się okaże, że niechcący przyrównasz (string) b do (int) 0 i dostaniesz true.

Robota w tym jest. Mnóstwo roboty. Ja do dziś siedzę w tym syfie. Ale zarobki będą niżej niż w poważniejszych językach (choćby z prostego powodu, że w PHP jest mnóstwo klepaczy na zastępstwo w razie czego).

Po więcej argumentów przeciw - przeszukaj forum. Było dużo takich tematów.

0

@up
Nie chce się kłócić ale jaki masz problem poświęcić 2 weekendy i opakować podstawowe metody jakie napisałeś w klasy ? Większym problemem jak dla mnie jest to że sam język jest powolny i nie potrafi przenosić instancji połączeń pomiędzy odwołaniami jak to ma miejsce w javie z bazą danych. Powoduje to bardzo duże czasy requestów i zwiększone obciążenie serwera przy ruchu. A to w pewnym momencie powoduje za duży wzrost kosztów na architekture która musi stanąć.

Co do klepaczy zgadzam się aż nad to. Większość osób które potrafię programować ucieka do innych języków.

0
somekind napisał(a):

http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

@assx Jak przeczytasz ten artykuł to nie będziesz mieć wątpliwości. Ja nie widziałem nic złego w pisaniu w php, dopóki nie zacząłem pisać w nim aplikacji webowej

2

@YourFrog:
Robienie aliasów do funkcji spowoduje tylko większe zużycie zasobów ;) Ale pomyśl przez chwilę? Czy naprawdę TO JA mam naprawiać błędy ludzi, którzy stworzyli PHP? Robią PHP 6, fajnie, to mogliby zerwać kompatybilność wsteczną i przygotować ten język jak trzeba. Dać mu nowe, lepsze życie.

Akurat przekazywanie instancji do bazy jest możliwe. mysql_pconnect/mysqli_connect("p:".$host, $user, $password)? Druga rzecz, że to nie ma raczej sensu jeżeli baza stoi na tym samym serwerze.

0

PHP ogólnie jest złym językiem, bo jest chyba tworzony ad hoc, co robi bałagan.
Da się w nim (szczególnie w nowszych wersjach) jednak pisać porządny kod.
Problem w tym, że wymaga to samodyscypliny.

Osobną kwestią jest to, że większość "programistów" php to wcale nie programiści tylko cholera wie co, bo to co oni robią ciężko nazwać programowaniem.

No i jak zaczniesz programować w normalnym języku już nie chcesz w php.

0

@offtop
Zarejestrowałęm się -

@dzek69
Teraz z tymi instancjami mnie zaskoczyłeś. Mógłbyś przybliżyć mi temat ? Pytam ponieważ spodobało mi się to co dzieje się w Hibernate że można zdefiniować 3 instancje połączeń z bazą danych i aplikacja nimi żongluje w zależności od obciążenia. Z tego co wyczytałem odnośnie "mysqli_connect" to parametr "p" na hoście umożliwia wybranie połączenia. Mi chodziło o utrzymanie go po zakończonym działaniu skryptu. W skrócie aby była możliwość uniknięcia ciągłego nawiązywania połączenia do bazy przy ładowaniu requestu.

co do "mysql_pconnect" to jest oznaczona jako przestarzała. W chwili obecnej najbardziej zaleca się korzystanie z PDO które samo w sobie nie posiada systemu cache -.-

Co do własnych klas. No trudno zwiększy zużycie zasobów jednak otrzymasz w zamian składny kod. W każdym języku znajdują się niedoskonałości które programiści naprawiają. poza tym z tym narzutem bym nie przesadzał. Sam zend żeby się załadować w wersji 1.x.x ładował ponad 200 klas. A o Symfony który bez cache nie ma racji bytu już nie wspomnę.

Ja osobiście przy projektowaniu i wdrażaniu aplikacji najczęściej mam trudności z

  • file_exists w autoloaderze. Doszło do tego że na wersji produkcyjnej zrezygnowałem z tej funkcji (myślę nad przerzuceniem kodu do phar).
  • Ilością połączeń do bazy. Przyzwyczaiłem się że baza ma max 10 połączeń z 1 userem naraz. W php czasami dochodziło do tego że musiałem to zwiększać do 60.
  • Utrzymaniem połączeń z serwerami innych firm. Np przy korzystaniu z SOAP za każdym razem muszę się przedstawiać i identyfikować z serwerem.
  • Cache na windowsie

Jeśli chodzi natomiast o zerwanie z kompatyblinością. Czytałem kiedyś książkę na temat Harshela (?) i tam autor tego języka powiedział "nie mogę zmienić niektórych funkcji ponieważ mam już 12 użytkowników". PHP aby zerwać z historią musiała by jeszcze długo wspierać obecną wersję języka. Powodem jest ogromna ilość aplikacji która działa w sieci. Za dużo programistów by się odwróciło od firmy która z dnia na dzień zmienia swoje oblicze.

@Edit
Polecam książkę "czysty kod". Jest tam łądnie opisane na przykładach w javie jak należy pisać aplikację aby uniknąć instrukcji warunkowych (if/switch).

0

@YourFrog:
Stałe połączenie z bazą.
Przeczytaj sobie: http://www.php.net/manual/en/mysqli.persistconns.php

Kompatybilność.
W PHP przełomów i nie wiadomo jakiego rozwoju nie ma. Nikt nie broniłby korzystać z PHP 5 przy starych skryptach (chyba każdy hosting wspiera PHP w zakresie 5.2-najnowszy, wiele także PHP4, po tylu latach). A szóstkę napisać porządnie, zamiast wiecznie żyć z łatką bylejakości. Aplikacji DOSowych nie uruchomisz pod nowymi Windowsami (tak, są emulatory, ale to nie MS o nie zadbał) i nikt nie płacze. Nie ma sensu robić marny produkt, tylko dlatego, że ktoś 15 lat temu napisał jakiś skrypt.

Książka
Zainteresuję się, ale "uniknąć instrukcji warunkowych"? Program bez if-ów chyba wiele nie potrafi :P Źle to chyba ująłeś, jeżeli mówisz o uporządkowaniu warunków to ok, eliminacja ich to raczej nie?

2

PHP to super język do stron https://bugs.php.net/bug.php?id=54547nie da się przeskoczyć.
Nie chodzi tu o drobnostki w rodzaju brak uint w Java czy nieoptymalność iterator++ w C++ tylko o grube rzeczy w rodzaju:
https://bugs.php.net/bug.php?id=54547

PHP stosuję do własnych stron, które mają być bardzo dynamiczne (proste sklepy, CMS) lub proste (wizytówki).
Ale bałbym się w tym robić coś z kasą (strona banku) lub skomplikowaną logiką biznesową, chociaż widziałem już takie przypadki.

Myślę, że PHP może zostać wyparty przez JavaScript + REST.
Bo PHP i tak był głównie stosowany tam gdzie trzeba było coś szybko i elastycznie pokazać, a teraz to zadanie przejmuje klient (JS).
A w czym się robi serwery REST-owe? We wszystkim co wygodne. Java, Python, Scala, node.js

Jeśli PHP 6 nie wprowadzi jakichś rewolucyjnych zmian, nawet na grubszą skalę niż P3K, to język PHP stanie się kolejną niszą na którą wszyscy będą krzywo patrzeć a nieliczni w tym pracować.

Edit, kilka linków o tym co jest nie tak z PHP:

Edit 2: PHP 6 ma już 8 lat, ciekawe czy dobije do 10...
http://lwn.net/Articles/379909/

0

@Offtopic
Nie wiem czemu nagle FF się zamknął przy odpowiadaniu na temat

@Topic
@dzek69
Chodziło mi oto że w dzisiejszych czasach kiedy piszemy kod zorientowany obiektowo instrukcje warunkowe są niejako jak kula u nogi. Załóżmy prostą rzecz pobieranie danych z bazy danych i zwracanie wyników. Dobrym przykładem jest tutaj lista użytkowników w panelu administracyjnym. W zależności od ilości userów zostają wyświetlone różne widoki.

Stary sposób

 
<?php
$userCount = 0;
$userMaxPerPage = 1;

switch($userCount)
{
	case ($userCount <= 0):
			include('noUser');
		break;
		
	case ($userCount <= $userMaxPerPage):
			include('noPaggination.tpl');
		break;
		
	default:
		include('withPaggination.tpl');
}

Sprawa wiadoma kod nie jest ani ładny ani czytelny. Warunki przemieszane z instrukcjami ładującymi pliki (aż 3!) no i ogólnie be. Istnieje również sposób zorientowany obiektowo gdzie nie będzie nas interesowało to co dzieje się w logice.

Sposób zorientowany czysto obiektowo

Klasy odpowiedzialne za szablony:

interface UserPage
{
	public function getTemplate();
}

class UserPageEmpty implements UserPage
{
	public function getTemplate()
	{
		return 'noUser';
	}
}

class UserPageWithPaggination implements UserPage
{
	public function getTemplate()
	{
		return 'noPaggination';
	}
}

class UserPageWithoutPaggiantion implements UserPage
{
	public function getTemplate()
	{
		return 'withPaggination';
	}
}

Modele (zakładamy że nie używamy żadnego z ORM'ów)

class UserListEmpty 
{
	public function getPage()
	{
		return new UserPageEmpty();
	}
}

class UserList extends UserListEmpty
{
	public function getPage()
	{
		if( $this->count <= $this->perPage )
			return new UserPageWithoutPaggination();
			
		return new UserPageWithPaggination();
	}
}

W pliku z widokiem

$userList = ...;
include($userList->getPage()->getTemplate() . '.tpl');

Kod co prawda dużo dłuższy jednak cała logika została wyeksportowana do klas i już nas w szablonie widoku nie interesuje to jaki plik z szablonem zostanie załadowany. My wiemy po prostu że on zostanie załądowany. Jednego warunku oczywiście nie udało się zlikwidować ale to NIE MA znaczenia. No i z języka w którym pisze się makaron powstaje ładnie wyglądający kod obiektowy. W przykładnie nie pokazuje tego ale musimy zadbać by klasa odpowiedzialna za zwracanie wyników przyjmowała informacje w jakiej klasie te wyniki maja być zwracane i w przypadku błędnych działań / braku wyników dopisywała odpowiednie suffixy do stringów które podaliśmy i z nich tworzyła obiekty.

Z mojego doświadczenia wynika że narzut czasowy będzie tak mikroskopijny że można go pominąć.

@Up People
Linki które podałeś jest to czepianie się na siłe błędów języka. Nie chce wyjść na maniaka ponieważ bardziej podoba mi się Java od PHP jednak takie błędy jak tam podałeś są wynikiem braku typowań w PHP jak ktoś myśli przy pisaniu to większości z nich nigdy nie będzie miał. Mi przez te 4 lata zdarzył się jeden problem wynikający z języka. Gdy w MySQL miałem float'a to php świrował przy porównywaniu.

1
YourFrog napisał(a):

Bardzo ciężko jest otrzymać pracę za 4k+ nawet ze sporym doświadczeniem w programowaniu. Po prostu przez ludzi którzy hejtują ten język osoby w nim piszące nie są postrzegane jako "programiści" tylko raczej nieudacznicy.

Nie wiem, czy to teoria spiskowa czy niezrozumienie działania rynku.
Pensje są niskie, bo:

  1. Najlepszymi klientami są bogate korporacje, w projektach dla nich można zarobić najwięcej. Ponieważ PHP jest niewydajne i pełne błędów, to korporacje nie zamawiają oprogramowania pisanego w nim, wybierają sensowniejsze technologie. Skoro nie ma bogatych klientów, to pozostają biedni klienci, więc zarobki są niższe.
  2. PHP jest "łatwy", ma niski próg wejścia, więc jest więcej programistów tego języka. Ponieważ jest ich więcej, to są tańsi - działa tu prawo podaży i popytu. Kopacze rowów też zarabiają mniej niż programiści Javy.
0

@up
Masz większe doświadczenie ode mnie w pracy z dużymi klientami także ciężko będzie mi na ten temat dyskutować.

Właśnie piszę aplikację dla dość sporej korporacji z rynku medycznego w PHP. Szacowany koszt aplikacji to pół bańki dla nas (firmy wykonującej oprogramowanie). Czas realizacji przed wdrożeniem wyniósł 3 msc. Obecnie jedyne co robię to dostosowuję aplikację do nowych wymagań klienta. Moje wynagrodzenie ? 2.5k zł netto. Wnioskując po waszych wypowiedziach z innego tematu żadne z was nie podjęło by się pracy za moje wynagrodzenie. Rozmowy na temat podwyżki nie dadzą rezultatu bo gdy ostatni raz firma chciała znaleźć programistę do nowego projektu nie chciała przekroczyć 5k zł brutto. Dodam tylko że jestem jedynym programistą. A w okół mnie są jeszcze 3 osoby do kontaktu z lekarzami i firmą zlecającą i to cały zespół. Czy to nadal uważasz za biedny rynek ? Mieszkam w warszawie, mam doświadczenie, a mimo to oferty pracy w jakich mogę wybierać nie przekraczają 4k zł netto.

W poprzedniej firmie zajmującej się sprawami naukowymi podobny zespół robił podobne zlecenie. Programista z Javy wyciągał na moje oko ~8k zł netto.

Co do ilości programistów PHP vs Java śmiem twierdzić że na obecną chwilę jest znacznie więcej tych drugich. I to właśnie oni wytwarzają gorszej jakości oprogramowanie. Pod względem swojego kodu.

Jeśli zaś chodzi o niski próg wejścia w PHP jest on na takim samym poziomie co java. ORM + Framework i piszemy aplikacje webowe. Dla przykłądu Maven => Composer, Spring => Zend, Symfony. A różnica wynagrodzenia na start ~3k zł na łapkę.

0
YourFrog napisał(a):

Jeśli zaś chodzi o niski próg wejścia w PHP jest on na takim samym poziomie co java.

Tu się nie zgodzę.
Żeby znaleźć pierwszą pracę w PHP trzeba poświęcić jakieś 2x (tak sobie strzeliłem) mniej czasu na naukę. PHP jest prostsze, projekty, które się w nim pisze są prostsze itp.

Niedawno rozglądałem się za pierwszą pracą. Rozważałem właśnie stanowisko PHPowiec vs Javowiec ew. C++. Czemu poszedłem w PHP? Bo, żeby ogarnąć sesnownie wymagania na stanowisko młodszy programista Java potrzebowałbym jakieś pół roku nauki, do programisty C++ może jeszcze więcej, za to żeby startować na stanowisko programisty PHP wystarczyło mi 2 miechy podszkolenia się, naskrobania małego cms'a do portolio i podkolorowanie CV podstawową znajomością HTML/CSS/JS.
Jasne, wcześniej już coś umiałem, jednak moja wiedza i doświadczenie były podobne zarówno w PHP jak i Javie.

Z czasem mam zamiar przerzucić się właśnie na Jave, ew. Pythona.

Właśnie PHP ma moim zdaniem jeden z niższych progów wejścia, jeśli chodzi o stanowisko programisty. Chociaż nie mam zbyt dużego doświadczenia w innych technologiach.

@YourFrog nie znam rynku Warszawskiego, ale 2,5k z Twoim doświadczeniem to trochę mało. Nie myślisz nad zmianą firmy? No chyba, że inne warunki bardzo Ci pasują.

3

Ukrócę temat związany z moim wynagrodzeniem zanim zaczniemy robić tutaj mass spam. Oczywiście nie jestem zadowolony ze swoich zarobków. Jednak z przykrością muszę stwierdzić że takie właśnie są realia dla programistów PHP. Możliwe że ja poszedłem w złym kierunku ponieważ nie planuję używać słabej jakości frameworków które obecnie są dostępne dla PHP. I nie rozumiem podniecenia nimi przez pracodawców. A rynek PHP poszukuje właśnie takich "klepaczy" znających dany framework :P

Moim zamiarem nie było nakreślenie tego jak biedni są programiści PHP (jednak jak ktoś ma ofertę pracy w wawie to pisać :D). Chciałem powiedzieć tylko do @somekind że w php również powstają poważne projekty. Mimo wszystkich swoich niedoróbek można w nim pisać aplikacje dobrze prosperujące tylko trzeba być wyczulonym. Większość wad człowiek nie zauważa po pewnym czasie. Inne potrafi ominąć. Problemem jest postrzeganie tego języka przez społeczeństwo. Ponieważ poważni programiści zaczęli emigrować do innych języków przez pewien okres czasu PHP był okupowany przez żółtodzioby które pisały słabej jakości oprogramowanie i ta łatka przyległa do niego. W jave Oracle wpompował grube pieniądze co spowodowało stworzenie dużej ilości bibliotek do języka, a firmie sun nie pozostało nic innego jak pójść za ciosem i wypuszczać tylko następne wersje wirtualnej maszyny na inne urządzenia. Niech mi ktoś powie co stoi na przeszkodzie napisać wirtualną maszynę PHP dla androida zmieniając podejście do niektórych aspektów programowania w PHP ? Potrzebne są tylko pieniądze i wystarczająco szalona firma.

Wydaje mi się że PHP zmierza w dobrym kierunku ponieważ można w nim pisać już naprawdę dobrze zorientowane obiektowo aplikację tylko trzeba chcieć. Czasami przeglądając kod z innych języków wydaje mi się że są one zaśmiecone próbą ułatwienia programiście, a php jest inny jest taki jak C++ w którym NIE MA nic :D poza tym porównywanie Java vs PHP jest według mnie właśnie na korzyść PHP. Pomimo podobnego wieku w Jave wpompowano dużo większe pieniądze, a php od swojej wersji PHP/FI był stworzony jedynie do obsługi HTTP. I tego próbuje się trzymać. Nie wiem czy developerzy mają chęć podbicia rynku usług webowych jednak dobrze stawiają czoła nowym rywalom. A sama rotacja w środowisku programistów jest naturalna. Szkoda tylko że to właśnie po zdobyciu fundamentalnej wiedzy na temat programowania uciekają oni głównie z PHP.

Gdyby firmy zaczęły płacić normalnie pracownikom piszącym w PHP to sądzę że tred zaczął by się mocno nawracać właśnie na ten język. Ale wybaczcie co was kieruje w stronę danej technologi ? Ile osób z was piszę aplikację których naprawdę nie da się napisać w innym języku ? Oczywiście to co was pcha to są pieniądze których w C#, Javie, C++ nie żałuje się dla programistów (Bo kuźwa używacie typów o-o). Wcale nie jest prawdą że w PHP pisze się o wiele wolniej. Pisze się w podobnym czasie co w innych językach. To oprogramowanie może być wolniejsze i bardziej zasobożerne ale na boga nie bardziej dziurawe (bo dziury powstają z powodu braku testów i błędy programistów). Uświadomię od razu osoby które czytają mój post my również posiadamy systemy kontrolli wersji, frameworki do testowania aplikacji, aplikacje zarządzające zależnościami, debuggera, wzorce itp.

I tak jest to wina pracodawców że środowisko odsuwa się od PHP. Przejrzyjcie oferty pracy dla programisty PHP 90% to oferty dla zespołu programistów nie pojedynczej osoby. Pracodawcy nie wiedzą że Powinna być oddzielna osoba od bazy danych, oddzielna od front'endu, back'endu(minimum 2) i kontaktu z klientami. Oni myślą że mogą to załatwić 1 pracownikiem i podają klientom o wiele niższe stawki. Bo my jako grupa ludzi która pracuje w tej technologii ich o tym nie uświadamiamy. A gdy już firma trafia na dobry projekt nie podnosi tych stawek, nie zwiększa zespołu bo my sami oto nie dbamy.

Jeszcze tylko słówko na temat obiektowości Java. W swoich aplikacjach PHP mam całe 3 linijki nie obiektowego kodu. Jest to plik index.php w którym muszę załadować autoloader i wywołać statyczną metodę z kernela. Puf obiektowość javy nagle znika bo okazuje się że w innych językach też się da.

poza tym wszyscy piszemy jaki to PHP jest be zapominając to co jest w nim dobre:

  • Można pisać skrypty (przydatne jak ktoś nie zna bash'a),
  • Łatwo jest zachęcić młodych ludzi do pisania w nim bo jak sami powiedzieliście łatwo uzyskać efekty,
  • Nie kompiluje się (pomijam phar) co daje nam możliwość edytowania bibliotek jakich używamy
  • Obsługuje DLL
  • Domyślnie obsługuje różne protokoły HTTP, FTP
  • Domyślnie obsługuje różne archiwa danych ZIP, TAR, XML, INI
  • Nie wymusza struktury projektu
  • Łatwo zniwelować wąskie gardła
  • Domyślne wartości w funkcjach (hello java)
  • Język skryptowy !! ten co robił fabrykę w javie, a później w php wie o co mi chodzi
  • Czytelna dokumentacja

A minusy ?

  • Możliwość mieszania warstwy prezentacji z kodem php
  • Cuda wianki z dowolną ilością parametrów w funkcjach (to co chcą wprowadzić w nowej wersji z "..." i to co jest z func_get_args)
  • Większość metod wbudowanych nie wie co to jest wyjątek
  • Z racji jego prostoty w internecie jest pełno syfiastych bibliotek które już dawno powinny zostać przepisane (sam korzystam z dwóch :P [PHPMailer, FPDF])
  • Każdorazowa kompilacja kodu (powinni wymyśleć by mógł pracować jak Java na Tomcacie, że mogę wymienić konkretny plik źródłowy, a reszta wisi w pamięci)
  • Ostro tyra dysk twardy przy requestach
  • Nie posiada dobrego systemu szablonów (wliczam w te badziewne również OPT)
  • System tłumaczeń wbudowany w PHP to porażka (gettext)
  • Fatal Error and bye bye requescie :P
  • Brak porządnego systemu Cache APC, Memcache nie wliczam bo to oddzielne projekty
  • Możliwość wyciaszania błędów z poziomu kodu PHP (mowa o @)

Jak mi coś nowego przyjdzie to głowy to dopiszę :P

1

Wydaje mi się (z naciskiem na to wydaje mi się) że próg wejścia w Javę jest dużo niższy jeśli celujemy w Androida - a Android to przecież dalej Java. Androidowcy mają niższe zarobki i chyba nie tak łatwo się przekwalifikować na grzebanie w korporacyjnych krowach, ale mimo wszystko dzięki Androidowi moim zdaniem próg wejścia w Javę jest dużo mniejszy, a płace i tak moim zdaniem wyższe niż u PHPowców. A przejście (w sensie nauczenie się jednego po drugim) z Androida na 'poważną' Javę powinno i tak być sporo łatwiejsze niż przejście z C++ czy dowolnego języka skryptowego (nie opartego o JVM oczywiście).

Właśnie piszę aplikację dla dość sporej korporacji z rynku medycznego w PHP. Szacowany koszt aplikacji to pół bańki dla nas (firmy wykonującej oprogramowanie). Czas realizacji przed wdrożeniem wyniósł 3 msc.

Pół bańki i 3 m-ce to malutki projekcik jeśli przyrównamy je do typowych Javowych biznesowych krów.
W Sabre np pracowałem nad projektem w Javie, który miał ponad 20 lat. Sama Java jest młodsza od tego projektu. Projekt zaczynał w C++ i został przepisany na Javę dość dawno temu. Przy projekcie pracuje mnóstwo osób. Przez czas życia projektu moim zdaniem wpakowano w niego setki milionów zielonych (chociaż może przeliczyłem się i są to tylko dziesiątki milionów). W takich okolicznościach zatrudnienie kogoś na etat za 100k brutto rocznie nie jest jakimś wielkim ryzykiem.

Moim zdaniem PHP nie ma żadnych zalet jeśli chodzi o tworzenie i rozwijanie biznesowych krów. No może oprócz jednej - dużo tanich programistów. Za to wad jest mnóstwo. Po pierwsze w ogólności duże systemy biznesowe są głównie klepane w C# lub Javie, gdyż są to jedyne popularne języki zarządzane i statycznie typowane. Dzięki temu że języki są zarządzane to sporo pułapek z języków niezarządzanych nie występuje, np przepełnienia buforów, wycieki pamięci, etc Dzięki temu że są statycznie typowane to jest mniejszy bałagan, lepsze wsparcie od IDE i sensowny proces refaktoryzacji. PHP jest dynamicznie typowany (konkretnie to dziwnie typowany), a poza tym obsługa błędów w PHP jest tragiczna w porównaniu do większości popularnych platform.

Dostępność hostingów w PHP nie jest żadną zaletą przy robieniu dużych projektów, bo i tak przy dużych projektach stosuje się rozwiązania dedykowane, czyli np wykupuje serwery w chmurze czy stawia własną serwerownię. PHP generalnie nie jest ani trochę bardziej oszczędny jeśli chodzi o zasoby niż Java, .NET, Python, itd w przypadku dużych projektów. A za to kuleje mocno na wydajności w stosunku do Javy, C#, C++, etc

To jest moje zdanie nt użyteczności PHP. A wracając do pytania: czemu programiści nie lubią PHP?

Domyślam się że chodzi też o to, że nie PHP-owcy nie lubią PHP-owców :] Moim zdaniem to wynika z tego, że PHP-owcy lubią chwalić się idiotycznymi i irytującymi (pseudo?) zaletami PHP-ca jak wspomniana dostępność hostingu czy niski próg wejścia. To co najwyżej mogłoby świadczyć o tym, że PHP to platforma dla biedaków i prostaków, których nie stać na wysupłanie stu złotych miesięcznie na serwer czy jednego roku porządnej nauki przed rozpoczęciem pracy.

A argument o dyscyplinie jest z czapy - można go zastosować do każdego języka i jeżeli z PHP dyscyplina robi znośny język to z Javy robi wspaniały. Ale najważniejsze jest to, że dyscyplina się nie skaluje - w dużym projekcie syfu będzie więcej niż w małym przy zastosowaniu tego samego procesu wytwórczego - wynika to z tego że im większy projekt tym więcej trzeba ogarniać by coś poprawnie rozwiązać. Jeśli rozwiązanie problemu syfną łatą jest dużo łatwiejsze niż porządne poprawienie projektu to statystycznie będzie więcej syfnych łat. Java nie jest jakoś mocno pobłażliwa jeśli chodzi o możliwość robienia syfnych łat, bo np nie da się z obiektu wyciachać metody, dodać pola, itd w locie. Z drugiej strony dzięki statycznemu typowaniu w Javie dobre IDE umożliwia szybki, skuteczny i bezpieczny refaktoring.
Argument o rozwiązywaniu problemów jest raczej w kontekście języki statycznie typowane vs języki kaczo typowane, niż Java vs PHP.

Edit:
Widzę, że @YourFrog mocno spina się na tym, że po odpowiednio mocny ściśnięciu pośladów można z PHP zrobić pseudo-Javę. Hmm, jak ktoś chce programować w Javowym stylu to czemu po prostu nie kodować w Javie? Rozwiązanie 100x bardziej sensowne, do tego lepsza kasa i możliwości rozwoju.

I tak jest to wina pracodawców że środowisko odsuwa się od PHP. Przejrzyjcie oferty pracy dla programisty PHP 90% to oferty dla zespołu programistów nie pojedynczej osoby. Pracodawcy nie wiedzą że Powinna być oddzielna osoba od bazy danych, oddzielna od front'endu, back'endu(minimum 2) i kontaktu z klientami. Oni myślą że mogą to załatwić 1 pracownikiem i podają klientom o wiele niższe stawki. Bo my jako grupa ludzi która pracuje w tej technologii ich o tym nie uświadamiamy. A gdy już firma trafia na dobry projekt nie podnosi tych stawek, nie zwiększa zespołu bo my sami oto nie dbamy.

Pracodawców nie interesuje jak bardzo ktoś lubi PHP. Pracodawcę interesują rezultaty. A jeśli podstawową zaletą PHP jest taniość, a w dodatku typowy programista PHP ogarnia zarówno backend jak i frontend to pracodawcy dają PHP-owcom dużo obowiązków za małą kasę, a same projekty są małej ważności (przynajmniej w początkowym okresie rozwoju - NK czy FB nie startowały jako coś poważnego).

Jeżeli boli cię, że jako PHP-owiec zarabiasz mało to się przekwalifikuj na język, który da ci więcej kasy. Proste. No chyba, że PHP jest taki uber-przyjemny, że za nic w świecie nie chcesz zrezygnować. Programiści którzy w miarę dobrze (lub lepiej) zarabiają jednak prawie nikt nie twierdzi, że PHP jest tak fajny by dla niego rezygnować z dobrego poziomu życia.

Ja zostałem Javowcem nie dlatego, że Java (jako język) mnie jakoś mocno urzekła. Wręcz przeciwnie - na początku na studiach była dla mnie WTFem (wcześniej klepałem głównie w asemblerze i troszkę w Pascalu i C). Argumentami decydującymi były np szybkość pisania w stosunku do asm/ C/ Pascal/ C++/ etc, wystarczająca wydajność, przenośność, bezpieczeństwo kodu (typu ochrona przed wyjściem poza zakres, kontrola referencji, itd) itd Do tego trzeba dodać kompilację w locie - to było dla mnie bardzo interesujące (po frustracji przy klepaniu w asmie spowodowanej osobnymi optymalizacjami dla każdej kolejnej architektury CPU). Później zorientowałem się, że Java oznacza też dużo ofert pracy i dobrą kasę, więc zostałem przy Javie. Aktualnie staram się przejść na Scalę, gdyż nie dość że spełnia te same kryteria miałem przy wyborze Javy, to jeszcze przegania ją w kwestii szybkości pisania/ prototypowania, zwięzłości kodu, etc Ofert pracy w PL jest bardzo mało, ale i tak możliwości dobrego zarobku są, więc jest OK pod tym względem moim zdaniem.
Gdyby pojawiło się coś co wywarłoby na mnie lepsze wrażenie niż Scala, a przy okazji dawałoby co najmniej porównywalne możliwości rozwoju kariery zawodowej to nie miałbym wielkich problemów z przestawieniem się. Język to tylko narzędzie, nie widzę sensu traktować go jako partnera na całe życie, któremu ślubuje się wierność.

0
Wibowit napisał(a):

Wydaje mi się (z naciskiem na to wydaje mi się) że próg wejścia w Javę jest dużo niższy jeśli celujemy w Androida - a Android to przecież dalej Java. Androidowcy mają niższe zarobki i chyba nie tak łatwo się przekwalifikować na grzebanie w korporacyjnych krowach, ale mimo wszystko dzięki Androidowi moim zdaniem próg wejścia w Javę jest dużo mniejszy, a płace i tak moim zdaniem wyższe niż u PHPowców. A przejście (w sensie nauczenie się jednego po drugim) z Androida na 'poważną' Javę powinno i tak być sporo łatwiejsze niż przejście z C++ czy dowolnego języka skryptowego (nie opartego o JVM oczywiście).

Nie wiem czy dobrze wnioskuję z Twojego posta - uważasz, że próg wejścia jest niższy w przypadku programowania w Javie na Androida niż w przypadku PHP?
Wiadomo, że nie co patrzeć tylko gdzie najłatwiej się wbić itp. Ale temat dla mnie interesujący, bo sam niedawno zacząłem pracę na etacie (wcześniej amatorskie kodzenie), na razie siedzę w PHP, zawsze to jakieś komercyjne doświadczenie + sporo się uczę jak to wygląda w rzeczywistości, a nie jak w domu klepiesz jakieś malutkie projekty, ale docelowo chcę iść w Javę. Pytam, bo wiem, że siedzisz w Javie.

Na razie interesowałem się głównie pisaniem w javie aplikacji webowych (tutaj wiadomo, java zazwyczaj przeznaczona jest do większych projektów), na androida też coś tam kiedyś próbowałem, ale ogólnie temat wydaje mi się rozległy i trzeba sporych umiejętności już na początku. A można właśnie po prostu wydaje mi się, bo za mało umiem.

0

Ja troszkę może powiem o burdelu w kodzie jak to zostało poruszone. Mamy w końcu programowanie obiektowe w PHP więc nic nie szkodzi na przeszkodzie zastosować jakiś wzorzec projektowy (MVC itp). Sam pisze od jakiegoś czasu w MVC i Framework'u (Dokładnie CakePHP niezła krowa ale daje niezłe rezultaty). I dzięki temu można zachować dosyć przejrzysty kod źródłowy. Druga sprawa jest taka iż zawsze mamy komentarze. Jeśli ktoś się uprze to może przecież ładnie komentować funkcje (np jakie ma parametry, jakiego typu powinny być, co robi i co zwraca). Dzięki takiemu kodowaniu osoba która otwiera nasz projekt może dosyć szybko połapać się co każda funkcja robi (bardzo pomocne gdy mamy jakiś błąd). Dodatkowo mamy jakieś Frameworki które nie dość że ułatwiają pisanie (NP metody CRUD bądź inne komponenty) to jeszcze wymagają od programisty jakiegoś stylu pisania. Myślę że jeśli ktoś naprawdę chce się wziąć za pisanie w PHP powinien bardzo mocno zwrócić uwagę na wzorce bądź bardzo dobrze ogarniać OOP w celu zachowania porządku.

Pozdrawiam

1

Nie wiem czy dobrze wnioskuję z Twojego posta - uważasz, że próg wejścia jest niższy w przypadku programowania w Javie na Androida niż w przypadku PHP?

Nie, chodziło mi o próg wejścia w Androida vs próg wejścia w Javę webową.

Na razie interesowałem się głównie pisaniem w javie aplikacji webowych (tutaj wiadomo, java zazwyczaj przeznaczona jest do większych projektów), na androida też coś tam kiedyś próbowałem, ale ogólnie temat wydaje mi się rozległy i trzeba sporych umiejętności już na początku. A można właśnie po prostu wydaje mi się, bo za mało umiem.

Nie zajmowałem się prawie w ogóle Androidem (tzn zajmowałem się ale bardzo mało), ale opinię mam :] (zauważ że dałem nacisk na 'wydaje mi się' w tekście który cytujesz)

Ogólnie chodzi o to, że moim zdaniem dużo łatwiej zrobić tak ze dwie nietrywialne aplikacje na Androida niż coś nietrywialnego webowego. A w zasadzie jak już zaklepiesz te aplikacje Androidowe to robotę masz praktycznie w ręku. Aplikacje na Andka są względnie małe w stosunku do dużych webówek, wobec czego moim zdaniem pracodawcy nie będzie jakoś super mocno zależało np na umiejętności analitycznego myślenia czy radzenia sobie w krowiastych projektach.

Jeśli klepanie na Andka by cię interesowało to po prostu zacznij coś systematycznie robić w nim i po kilku, max kilkunastu miesiącach zacznij uderzać do firm.

0

@Wibowit
Odpowiem ci tutaj ponieważ nie mieszczę się w komentarzu do twojego posta.

Również uważam że język jest narzędziem które wykorzystujemy do osiągnięcia celu. Na 1 stronie napisałem że PHP nadaje się do projektów maksymalnie za 1 mln zł. Później dzieje się to co napisałeś. Sam w sobie nie wspiera programisty na takim poziomie żeby korporacyjną kobyłe utrzymać i ja to rozumiem.

Nie rozumiem natomiast nagonki jaką się na ten język robi. To że większość osób w nim piszących to osoby raczkujące nie oznacza że sam język jest badziewny. Jak pewnie zauważyłeś nie porównuję go z C# czy C++, C bo ich nie znam. Sama Java podoba mi się dużo bardziej od PHP. I planuje w przyszłości przejść na ten język. Jednak z racji bagażu jaki niosę to rozumiem że sama znajomość języka nie wystarcza do pracy w nim. Dlatego nie będę zmieniał technologi w której zarabiam dopóki jej nie opanuję w stopniu zadowalającym mnie samego.

A to że chciałbym zarabiać godziwe pieniądze to źle ? To że wykorzystuję technologię X do osiągnięcia celu który ktoś inny zrobi w technologi Y nie oznacza że mam zarabiać 2-3x mniej od niego no bez przesady. Rozumiem jeżeli ktoś z własnej woli proponuje mniejszą stawkę żeby pozyskać klienta ale obcinanie wynagrodzenia z powodu używania innej technologi jest trochę nie na miejscu (oczywiście rozpatrujemy że obaj napisalibyśmy daną rzecz w tym samym czasie).

2

Nie ma nic złego w tym, że chcesz zarabiać przyzwoicie. Natomiast, tak jak już napisałem - nie widzę innych zalet PHP niż niski próg wejścia. To oznacza, że PHP praktycznie z definicji będzie wykorzystywane w tanich projektach. Są jednak wyjątki i w PHP da się dobrze zarobić jak ktoś dobrze poszuka.

Rynek programistyczny jest w dużej mierze jeszcze rynkiem dość wolnym od rządowych regulacji, dość mocno zbliżonym do całkowicie wolnego rynku. To oznacza, że duże znaczenie mają prawa popytu i podaży - jeżeli jest dużo programistów PHP gotowych do pracy za niską stawkę to pracodawcy nie muszą oferować wysokich stawek. Ale z drugiej strony skoro PHP jest nastawione głównie na niski próg wejścia, a nie na skalowalność to do wymagających projektów raczej się go nie używa.

Jeżeli zazdrościsz komuś, że zarabia 2x - 3x więcej to rób to co on. Proste. Równie dobrze mógłbyś zazdrościć Niemcowi klepiącemu w PHP, że zarabia X razy więcej od ciebie albo w ogóle komukolwiek kto zarabia więcej od ciebie.

Gdyby ktoś cię dyskryminował z powodów niemerytorycznych (czyli np za rasę, poglądy, wygląd, etc) to bym cię popierał, ale jeśli jesteś na niskiej pozycji ze względu na kiepskie decyzje w przeszłości, no to trudno - sam zdecydowałeś. W tym przypadku nastawiłeś się na PHP zamiast na Javę i to był twój błąd i za niego właśnie płacisz. Masz jednak szansę go naprawić i tak naprawdę nikt cię nie dyskryminuje - inni w podobnej sytuacji jak twoja mają takie same możliwości przecież.

Więc zamiast mieć postawę roszczeniową, płakać i protestować, po prostu spróbuj naprawić swoje błędne wybory życiowe i tyle.

Jeszcze wiele razy w życiu popełnisz błędy, np kupisz coś co jest ci niepotrzebne, kupisz coś co okaże się awaryjne, przeniesiesz się do miasta gdzie perspektywy zawodowe szybko zbledną, zainwestujesz pieniądze w coś co straci wartość, ożenisz się z niewłaściwą kobietą, itp itd Zamiast krzyczeć jaki to świat niesprawiedliwy po prostu ucz się na błędach. Nie tylko swoich, ale też cudzych.

0

Mi tam php się bardzo podoba i uważam że jest świetne, tylko nie do poważnych dużych aplikacji a do stronek domowych/blogów/forów/małych sklepów.
Największą jego zaletą jest to, że od człowieka który nigdy nic nie zaprogramował do napisania pierwszego bloga poświęcisz relatywnie mało czasu więc język ten bardzo się przyczynił do rozwoju stron internetowych.
Fakt, że im dalej w las tym więcej drzew i w skomplikowanych aplikacjach będzie trzeba włożyć w rozwój aplikacji więcej pracy niż np w javie, ale dalej do prostych zastosowań php jest świetny.

AntyFlame: Niniejszy post przedstawiał tylko i wyłącznie moje zdanie i jeżeli zawiera jakieś fakty to tylko przypadkiem.

0
YourFrog napisał(a):

Możliwe że ja poszedłem w złym kierunku ponieważ nie planuję używać słabej jakości frameworków które obecnie są dostępne dla PHP.

Skoro zamiast implementować funkcje biznesowe aplikacji skupiasz się na infrastrukturze, bo wolisz wynajdować koło na nowo, to po prostu jesteś mało wydajny. A mało wydajnym się mało płaci, proste.

I nie rozumiem podniecenia nimi przez pracodawców.

Podniecenie wynika zapewne z tego, że dużo szybciej, można wykonać aplikację, co daje podwójny zysk - projekt trwa krócej, a aplikacja wcześniej zaczyna na siebie zarabiać. Z tego samego powodu pisze się teraz w językach wysokiego poziomu, a nie asemblerach.

Chciałem powiedzieć tylko do @somekind że w php również powstają poważne projekty.

Masz na myśli to?

YourFrog napisał(a):

Właśnie piszę aplikację dla dość sporej korporacji z rynku medycznego w PHP. [...] Czas realizacji przed wdrożeniem wyniósł 3 msc. [...] Dodam tylko że jestem jedynym programistą. A w okół mnie są jeszcze 3 osoby do kontaktu z lekarzami i firmą zlecającą i to cały zespół.

Cztery osoby i trzy miesiące to jest malutki projekcik, a nie poważny projekt.

Niech mi ktoś powie co stoi na przeszkodzie napisać wirtualną maszynę PHP dla androida zmieniając podejście do niektórych aspektów programowania w PHP ? Potrzebne są tylko pieniądze i wystarczająco szalona firma.

Właśnie, szalona.

Gdyby firmy zaczęły płacić normalnie pracownikom piszącym w PHP to sądzę że tred zaczął by się mocno nawracać właśnie na ten język.

Ok, od dzisiaj popieram wprowadzenie pensji minimalnej dla programistów PHP.

Ale wybaczcie co was kieruje w stronę danej technologi ? Ile osób z was piszę aplikację których naprawdę nie da się napisać w innym języku ?

Nie chodzi o to, że się nie da, bo da się prawie wszystko. Chodzi o to, co jest wygodniejsze. PHP na desktop? Integracja z Active Directory? Skalowalność?

Oczywiście to co was pcha to są pieniądze których w C#, Javie, C++ nie żałuje się dla programistów

Gdyby pieniądze miały dla mnie aż takie znaczenie, to zostałbym konsultantem SAPa. Nie myślałem o żadnych pieniądzach. Nie zastanawiałem się też nigdy nad wyborem języka. Po prostu taki mi się trafił, przypadł do gustu i tyle.

(Bo kuźwa używacie typów o-o).

Bo istnienie typów rozwiązuje tysiące problemów, dzięki czemu można się skupić na realizacji potrzeb klienta, a nie na walce z ułomnościami języka.

I tak jest to wina pracodawców że środowisko odsuwa się od PHP. Przejrzyjcie oferty pracy dla programisty PHP 90% to oferty dla zespołu programistów nie pojedynczej osoby. Pracodawcy nie wiedzą że Powinna być oddzielna osoba od bazy danych, oddzielna od front'endu, back'endu(minimum 2) i kontaktu z klientami. Oni myślą że mogą to załatwić 1 pracownikiem i podają klientom o wiele niższe stawki. Bo my jako grupa ludzi która pracuje w tej technologii ich o tym nie uświadamiamy. A gdy już firma trafia na dobry projekt nie podnosi tych stawek, nie zwiększa zespołu bo my sami oto nie dbamy.

Zaraz, pracodawcy są winni, że ich nie uświadamiacie?

YourFrog napisał(a):

Szacowany koszt aplikacji to pół bańki dla nas (firmy wykonującej oprogramowanie). Czas realizacji przed wdrożeniem wyniósł 3 msc. Obecnie jedyne co robię to dostosowuję aplikację do nowych wymagań klienta. Moje wynagrodzenie ? 2.5k zł netto.

500 k na cztery osoby na trzy miesiące, a Ty masz z tego w sumie 7,5 k do ręki... Sorry, ale dajesz się strasznie wykorzystywać i tyle.

0

@somekind
Próbujesz chyba czytać pomiędzy wierszami i w moim przypadku ci to nie wyszło

somekind napisał(a):

Skoro zamiast implementować funkcje biznesowe aplikacji skupiasz się na infrastrukturze, bo wolisz wynajdować koło na nowo, to po prostu jesteś mało wydajny. A mało wydajnym się mało płaci, proste.

Przepraszam cię bardzo ale po czym stwierdzasz moją wydajność ? Po tym że nie używam popularnych frameworków ? Nigdzie nie napisałem że nie używam żadnego.. Właśnie to jest problemem pracodawców. Wierzą naiwnie że liczą się jedynie programiści znający framework. Osobiście wydaje mi się że akurat w naszym fachu znajomość technologii przy zatrudnieniu powinna być na drugim miejscu. Ogarnięty programista jest wstanie dokształcić się w miarę przyzwoitym czasie niektórych braków. No ale właśnie ogarnięty.

somekind napisał(a):

Podniecenie wynika zapewne z tego, że dużo szybciej, można wykonać aplikację, co daje podwójny zysk - projekt trwa krócej, a aplikacja wcześniej zaczyna na siebie zarabiać. Z tego samego powodu pisze się teraz w językach wysokiego poziomu, a nie asemblerach.

Akurat jeżeli chodzi o języki niskiego poziomu to piszę się w nich ale co innego. Osobiście jestem zdania że dobór narzędzia następuje po zebraniu ekipy do projektu nie przed. A tym czasem przejrzyj oferty pracy. Pracodawcy szukają obecnie klepaczy kodu nie programistów.

somekind napisał(a):

Cztery osoby i trzy miesiące to jest malutki projekcik, a nie poważny projekt.

Hmm jestem jedynym programistą i znam skalę projektu. Jak na zespół jaki mieliśmy jest to poważny projekt.

somekind napisał(a):

Ok, od dzisiaj popieram wprowadzenie pensji minimalnej dla programistów PHP.

Bo piszą w PHP ? Pensja pracownika nie powinna być uzależniona od technologi której używa tylko od tego ile pracodawca jest wstanie zarobić na takim pracowniku. Ale co ja tam wiem. Najlepiej dajmy studentom 10k+ bo piszą w znanej i lubianej technologii.

somekind napisał(a):

Bo istnienie typów rozwiązuje tysiące problemów, dzięki czemu można się skupić na realizacji potrzeb klienta, a nie na walce z ułomnościami języka.

Ja tam w PHP nie musiałem do tej pory walczyć z jego ułomnością. Po prostu akceptuję go takim jaki jest.

somekind napisał(a):

500 k na cztery osoby na trzy miesiące, a Ty masz z tego w sumie 7,5 k do ręki... Sorry, ale dajesz się strasznie wykorzystywać i tyle.

Gdy się zatrudniałem nie znałem wyceny projektu. Poznałem ją dopiero po skończonej pierwszej części gdy poszła pierwsza transza dla firmy. Ale wracając do wcześniejszego pytania. Twierdziłeś że jestem nie wydajnym programistą przecież to jak to jest ?

Gdy już dobrnąłeś do tej części to proszę abyś mi nie odpisywał bo powstaje niepotrzebny spam ponieważ temat nie był o pensjach pracowników w danych technologiach tylko o tym dlaczego PHP jest nielubiany. Skoro tak ochoczo wypowiadasz się na mój temat to proszę teraz abyś odpowiedział na temat. Bo w 1 poście podałeś linki o tym jak ludzie nie potrafią w nim pisać, a nie o jego wadach.

1

Jedno mnie zastanawia, czemu siedzieć ciągle w jednej technologi, szczególnie jeśli słaba płaca?
Wiadomo, że z dnia na dzień się tego nie zmieni, ale przecież to chyba nie taki wielki problem nauczyć się nowego języka, frameworka?
Szczególnie jak ma się programistyczne doświadczenie.

0
YourFrog napisał(a):

Przepraszam cię bardzo ale po czym stwierdzasz moją wydajność ? Po tym że nie używam popularnych frameworków ? Nigdzie nie napisałem że nie używam żadnego..

Tak to zabrzmiało. W takim razie moja nadinterpretacja, przepraszam.

Właśnie to jest problemem pracodawców.

No ja nie wiem, czy to pracodawcy mają problem, czy Ty.

Wierzą naiwnie że liczą się jedynie programiści znający framework.

Pewno dlatego, że nie stać ich na płacenie komuś za naukę. Ale to też zależy od firmy.

Osobiście jestem zdania że dobór narzędzia następuje po zebraniu ekipy do projektu nie przed.

E? Ale jak Ty sobie to wyobrażasz? Jesteś programistą Javy, dostajesz się do jakiejś firmy, a potem okazuje się, że projekt będzie w Perlu?

Hmm jestem jedynym programistą i znam skalę projektu. Jak na zespół jaki mieliśmy jest to poważny projekt.

No, to w takim razie zaliczenia na studiach to też "poważne projekty".

Pensja pracownika nie powinna być uzależniona od technologi której używa tylko od tego ile pracodawca jest wstanie zarobić na takim pracowniku.

Otóż to!
Wreszcie zrozumiałeś dlaczego zarabiasz tyle, ile zarabiasz.

Bo w 1 poście podałeś linki o tym jak ludzie nie potrafią w nim pisać, a nie o jego wadach.

Ok, PHP jest bez wad, a te linki napisali ludzie, którzy tego języka nie znają, i nie mają o nim pojęcia.

2

@YourFrog jakie technologie znasz poza PHP? Ja w przeszłości pisałem w Pascal, VBA, Perl, C++, Java (JSP też), C# (ASP.NET), no i PHP. Pierwotne rozwinięcie tego skrótu było Personal Home Page i tylko do tego się świetnie nadaje.
Nie rozumiem ludzi (anyflame: nie mówię że Ty), którzy tak wychwalają tą technologię nie znając innych. To tak jak majster wychwala śrubokręt pod niebiosa, bo nie widział na oczy wkrętarki. Owszem śrubokręt jest lepszy do drobnych prac. Wymaga mniej zachodu na starcie i nie wymaga prądu. Ale jakby przyszło sto śrubek do wkręcenia, to przyznacie, że wkrętarka jest sporym ułatwieniem.

1

Hmm jestem jedynym programistą i znam skalę projektu. Jak na zespół jaki mieliśmy jest to poważny projekt.

Nie no, muszę się wtrącić. Projekt, który tworzy tylko jeden programista naprawdę rzadko kiedy można nazwać dużym/poważnym. Szczególnie, kiedy twierdzisz, że napiszesz go w 3 miesiące. U mnie jednoosobowe projekty średnio trwają pół roku... A wszystkie uważam za wielkości małej/średniej...

Jeśli uważasz, że to co robisz jest duże/poważne, to wyobraź sobie teraz zespół 10ciu programistów, którzy klepią projekt pół roku. Co oni stworzą wg ciebie, w porównaniu do tego co ty stworzyłeś? Ultra-giga-mega-poważny projekt?

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