2010-02-05 26 views
5

Wiem, że to gorące pytanie, które wymaga anwsers ^^ Z mojego punktu widzenia, używając Java vs PHP, jest obecnie problem zasobów systemowych (sprzętu, oprogramowania, itp.).Struts vs Zend? Java vs PHP?

Dla Javy musisz wdrożyć J2EE Stack (JDK, AppServer itp.) (~ 200M) na swoim serwerze, dla PHP musisz wdrożyć system LAMP (~ 100M). Używanie Javy było moim zdaniem wynikiem programowania obiektowego w aplikacji internetowej, ale dzisiaj mamy dużo języka zorientowanego obiektowo (Ruby, Python, PHP).

To pytanie, kiedy wybrać Java lub PHP dla nowych projektów? Może różnica społeczna?

Wiem, że stackoverflow nie jest przeznaczony do dyskusji, ale jest to (dobre?) Pytanie, które wymaga odpowiedzi (dla mnie i dla innych może) ^^.

Odpowiedz

7

Inne ograniczenia są zwykle brane pod uwagę. Rzeczy takie jak

  • czasu rozwoju,
  • Koszt robót o kodzie
  • dostępności wykwalifikowanych programistów
  • kosztów wynagrodzenia dla dostępnych wykwalifikowanych programistów

aby wymienić tylko kilka.

Sprzęt i oprogramowanie są tanie, jeśli porównasz je z powyższym, więc są mniej ważne.

+0

Tak, zgadzam się z tobą, temat sprzętowy był tylko przykładem. – Zenithar

1

To zależy od tego, co robisz. Wybór języka/ramy bez analizy wymagań projektu jest złym pomysłem.

+0

Wiem, ale jeśli projekt można zrealizować za pomocą obu technologii, który z nich wybrać? i dlaczego ? – Zenithar

1

Wybór języka zależy od tego, co chcesz zrobić, ale jestem pewien, że różne wymagania dotyczące miejsca na dysku będą najmniej ważnym aspektem twojej decyzji.

Oto możliwa podpowiedź: Jeśli chcesz ponownie wykorzystać swoją pracę (lub jej części) w aplikacji komputerowej, użyj Java. PHP praktycznie nie istnieje dla wszystkiego oprócz programowania w Internecie.

0

Naprawdę nie sądzę, że jest to pytanie, na które można obiektywnie odpowiedzieć. W końcu chodzi o ludzi i to, z czym czują się bardziej komfortowo. Dlatego np. Facebook opracował model PHP to C++ compiler (z którym korzyści w zakresie wydajności mogą być mniejsze), zamiast wynajmować deweloperów C++ do wykonywania zadania.

Z drugiej strony platforma Java oferuje również kilka interesujących nowych metod, takich jak Grails (która jest w zasadzie Groovy Wrapper wokół Spring) i Lift, jak również. To sprawia, że ​​tworzenie Frontendu jest szybsze i łatwiejsze (nadal uważam, że jest to prawdziwy problem ze zwykłą Javą) i możesz łączyć zalety innych języków z istniejącą bazą kodu Java i wiedzą specjalistyczną (przy czym większość wspomnianych frameworków nie potrzebuje środowisko wykonawcze J2EE powinna wystarczyć prosta instalacja Tomcat z około 5M i zainstalowanym środowiskiem JRE). Tak więc nie chodzi już tylko o język programowania Java.

A jeśli naprawdę nie może zdecydować, w ogóle po prostu uruchomić PHP in Java (działa także na Ruby, Python, Javascript ...).

0

Naprawdę nie zgadzam się z tym, że wybór języka wiąże się z zasobami systemowymi.

Sprzęt jest tani, a my nie jesteśmy w czasach, w których musimy uważnie przyglądać się zasobom systemowym, tak jak kiedyś. Nie zrozumcie mnie źle: wciąż musimy zwracać uwagę, ale czas, w którym ludzie szarpali swoje wskazówki, by zaoszczędzić trochę miejsca, jest skończony (na szczęście).

A jeśli twoim głównym zmartwieniem jest wydajność, to albo uruchomienie JVM, albo interpretowanego języka prawdopodobnie nie jest najlepszą opcją.

Nie sądzę, że jest to związane z orientacją języka jako takiego. Ok, Wiem, PHP is not object oriented, ale nadal możesz teraz kodować z nim OO. Znajdziesz tu szkielety internetowe dla prawie każdego języka.

Zgadzam się z Jacco na jego liście.

Innym aspektem jest rzeczywiście kultura, do której odnosi się język.

PHP jest dla kiddies skryptów. Java jest przeznaczona dla poważnych, noszących garnitury programistów biznesowych. Oczywiście, wszyscy mamy wiele przeciwnych przykładów, ale nadal. Java została w dużej mierze przejęta przez duże firmy, które obecnie konkurują z .Net. Istnieją ku temu powody, między innymi to, że łatwiej jest napisać biedny kod w PHP niż w Javie (i prawie każdy inny język). Z drugiej strony Java nie jest zorientowana na wolność.

Jeśli Twój projekt jest ściśle osobisty, możesz wybrać to, co odpowiada Twojemu gustowi. Jeśli planujesz rozwijać się jako zespół, wybór języka wpłynie na ogólny nastrój/sposób myślenia.

I wreszcie dodać kilka ważnych parametrów do mnie: zabawy i elegancji

To może być kwestia gustu tutaj ponownie, ale mam dużo więcej zabawy kodowania w python niż w C# na przykład.

14

Co wy mówicie o ....

Ok JAVA ma pewne zalety, ale ma też pewne wady. Teraz z PHP jest dokładnie taki sam, ma kilka zalet, ale ma też pewne minusy.

Ludzie, którzy mówią, że PHP nie ma dobrego środowiska OO, dobrze robi javascript! I to właśnie jest sercem wszystkich projektów Web 2.0; javascript. Dzisiejszy back-end staje się coraz bardziej zasobem dla interfejsu. Co możesz zrobić w JAVA teraz możesz zrobić w PHP 5.3 - do pewnego stopnia. Jeśli jesteś dobrym programistą, będziesz na tyle sprytny, aby zoptymalizować projekt, aby był on łatwy w utrzymaniu, a jeśli jesteś błyskotliwy, możesz dopasować i nawet ulepszyć udostępnianie obiektów w PHP, którego większość "projektantów" sieci nie wie - lub odważy się Mówię, rozumiem. Sprawdź ten artykuł przez O'Reilly ON JAVA!.

Pracuję zarówno w języku Java, jak i PHP. Zawsze będę używał PHP dla mojej strony serwera, a ja będę używał Java dla Android Development i rozwoju komputerów. (Swoją drogą opracowałem w Javie dla rozwoju backendu, ale wykonanie JAVA zajmuje dwa razy więcej czasu niż w PHP, dlatego trzymam się PHP:

Słyszę ten problem z kodem spagetti z PHP cały czas ... Tak, może 5 lat temu! Jeśli projekt kończy się w ten sposób, to osoba lub ty, jesteś kiepskim programistą, a ty powinieneś trzymać się ładnych obrazków, łatwo oddzielić logikę od prezentacji, i łatwo jest oddzielić logikę biznesową od warstwy danych, zanim napiszesz kod. Nie otwieraj tylko notatnika i zacznij pisać.Ludzie, którzy nie planują, planują porażkę! Jacco, masz pieniądze!

Widzę studentów uni cały czas budujących kod, w którym myślę, "Osoba, która będzie skończyć z tym facetem będzie żałować". Jeśli uczeń właśnie zaplanował i udokumentował to, co zamierzał zrobić, wszystko byłoby zorganizowane i gotowe do skalowania - ponownie, gdyby był wystarczająco dobry.

Obie technologie są świetne i powinieneś używać tego, co jest bardziej wygodne dla Ciebie lub Twoich programistów. Jeśli pójdziesz tą samą drogą, gdzie myślisz, że jedna jest lepsza od drugiej i nie wiesz nic o tej technologii, dobrze zgadnij co? Bez względu na to, co zrobisz, twoje wyniki projektów zostaną pominięte, a będziesz musiał to zrobić ponownie.

2

Zrobiłem nienaukowe porównanie wydajności J2EE i PHP. Porównywano je pod kątem doświadczenia użytkownika w każdym systemie w różnych warunkach obciążenia.

Okazało się, że czas odpowiedzi PHP był bardzo powolny, a procesor maksymalnie się skrócił. Rozumiem, że są pewne kompilatory, które prawdopodobnie pomogą, ale chciałem dokonać nieoczekiwanego porównania wydajności systemów szybkiego rozwoju.

Możesz przeczytać szczegóły tutaj: PHP vs J2EE: a Practical Approach

0

PHP wygrywa w przód w rozwoju internetowej. Ponieważ ma znacznie mniejszy czas rozwoju, co sprawia, że ​​rzeczy są tańsze i tańsze. PHP straci w rozwoju aplikacji mobilnych. Nie ma sposobu na rozwinięcie interfejsu aplikacji mobilnej z PHP. A ponieważ jego luka w wydajności z Java i innymi językami statycznymi, PHP straci bitwę z tyłu. Java jest stara, ale ma bardzo młodą i profesjonalną społeczność. Sprawdź te nazwy: lucene, weka, hadoop, scala, cassandra, hbase, co php zapewnia nam w usłudze back-end ???????