Java bez znajomości PHP??

Java bez znajomości PHP??
LJ
  • Rejestracja:około 13 lat
  • Ostatnio:około 6 lat
  • Postów:15
0

Witam.

Od kilku lat piszę systemy desktopowe oparte o różne tehnologie. Ostatnio postanowiłęm zainwestować w technologie webowe. Interesuje mnie tylko Java. Bo lubię. Bardzo. Jest to decydujący czynnik subiektywny. I jednocześnie bardzo nie lubię PHP. Ponadto liczę, że w pracy zawodowej bardziej mi się przyda Java. Czynnik ekonomiczny, stosunek formy do treści itd są nieistotne, bo nie będę tworzył projektu komercyjnego. Po prostu będę sobie dłubał dwa projekty (sklep/serwis aucyjny i serwis gier ala kurnik) i mogą się tworzyć powoli, może być coś prościej w php - ja i tak wybiorę Jave.

Pytanie:
-czy da się (praktycznie) pisać w Javie apliakcje internetowe typu jak wyżej wymieniłem bez znajomości PHP. Jave znam - JSE, podstawy serwletów, kiedyś JME. Natomiast nigdy nie tworzyłem stron w niczym. Jest dużo książek typu: "jak napisać sklep w php", "jak stworzyć cms w php" itp itd. W wielu książkach są rozbudowane praktyczne przykłady. Książki do JEE, JSP, Servlets itp raczej opisują samą technologie. Wiec oto pytam Was:
-czy potrzeba znać PHP podchodząc do Javy w kontekście stron/serwisów internetowych.

edytowany 1x, ostatnio: LeoJohnson
spartanPAGE
Co ma java do php? To nie jest połączenie typu html+css.
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
3

Nie trzeba. Ja bym powiedział że nawet lepiej nie znać PHP, bo przynajmniej nie ma sie głupich nawyków.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Zobacz pozostałe 2 komentarze
niezdecydowany
niezdecydowany
Bezmyślności ? czy wszystko co inne od obiektowej javy jest bezmyślne ? inny pragmat inny styl == syf..
Shalom
Problem php jest taki że wiele kursów pokazuje jak kodzić w nim bardzo bardzo źle, mieszając PHP z htmlem i javascriptem ;)
niezdecydowany
niezdecydowany
to już inna kwestia :D ale rzeczywiście tak jest.
ShookTea
Czyli jak mieszam PHP z HTMLem, to źle? Jednak muszę iść do psychiatry na badania.
Shalom
Widzisz, w javie takie cuda (czytaj: jsp) "wyszły z mody" naście lat temu, bo ludzie odkryli że da się lepiej, łatwiej i sensowniej :)
LJ
  • Rejestracja:około 13 lat
  • Ostatnio:około 6 lat
  • Postów:15
0
Shalom napisał(a):

Ja bym powiedział że nawet lepiej nie znać PHP, bo przynajmniej nie ma sie głupich nawyków.

Odnośnie samego języka to oczywiście sie zgadzam. Nawet gdybym sie zdecydował, że dla lepszego obycia "liznę" troche php, starałbym się z całych sił nie przesiąknąć nim. Znam wiele języków, potrafię podchodzić do języka z dystansem.

Może powinienem inaczej zadać pytanie:
-Czy Java to dobry język/technologia do stworzenia pierwszej/drugiej/trzeciej...czy dopiero n-tej strony?

n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 5 lat
  • Postów:2412
2

Od 113 strony mozna smialo uderzac z Java, wczesniej nie ma sensu...

  • Daruj sobie to PHP, ono jest jak klatwa. Zostawia zmiany w psychice do konca zycia.
Inquis1t0r
Skąd się bierze w "was" to negatywne nastawienie do PHP ? ;s
VT
@Inquis1t0r po pierwsze to już nauczyciele są źli. Ja kupiłem książkę o php. Autora Helion reklamuje jako eksperta. Niby coś słyszał o wzorcach, ale nie potrafi nawet poprawnie zaimplementować singletona. Zauważ, że w Javie w każdym podręczniku jest napisane, żeby skrypletów nie używać, bo są fe, a książki o php uczą jak pisac naprawdę zaawansowane aplikacje stosując takie podejście. Wyniki są opłakane. Popatrz na kod popularnych CMSów, ie Joomla. Javovca spalili by na stosie za takie mieszanie kodu i HTMLa w php to norma.
krzysiek050
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:1272
0

A ja się zapytam przy okazji jak z wydajnością? Z jednej strony php jest skryptowy co znaczy wolniejszy, ale znam parę osób które dłubią w nim i mówią że wcale nie jest taki wolny, że do generowania treści html został stworzony i jest cool. Z drugiej strony patrząc ile taki JSF robi żeby doprowadzić widoki i komponenty do całości to trochę schodzi (chociaż fakt, czytelniej). Zakładając że mamy taki sam serwis, napisany w ten sam sposób co by wyszło szybciej? PHP czy java w JSF lub Springu na np. tomcacie? I to samo pytanie ale do usług sieciowych?

Patryk27
PHP jest kompilowany do bajtkodu w czasie rzeczywistym, ergo - nie taki powolny, jak zwykłe języki stricte interpretowane, lecz wciąż nie tak szybki, jak JVM. Tak btw. :P
vpiotr
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
0

Nie wiem jak Joomla, ale ZenCart właśnie wygląda jak zupa tagów z małymi rodzynkami - instrukcjami PHP. Połowę mojej pracy z tym skryptem poświęcałem na przerabianie tego na kod strukturalny (obiektowość to już byłby zbytek łaski).

Ale nie musi tak być, można zastosować jakiś OOP framework, można napisać swój obiektowy.

Jeśli chodzi o wydajność PHP to jest wiele rozwiązań usprawniających wydajność skryptów.

  1. cache opkodu (np. APC)
    http://en.wikipedia.org/wiki/List_of_PHP_accelerators

  2. profilery - xdebug
    http://blog.nexcess.net/2011/01/29/diagnosing-slow-php-execution-with-xdebug-and-kcachegrind/

  3. cache

  1. reverse proxy
  1. database sharding
  1. kompilatory PHP
  • HipHop for PHP

i wiele jeszcze innych rozwiązań.

Pojedynczy program liczący w pamięci tysiące liczb bez dostępu do danych zewnętrznych na pewno będzie szybszy w Java.
Ale jak się weźmie pod uwagę dostęp do bazy danych, plików i serwerów zewnętrznych to zaczynają mieć znaczenie inne czynniki niż język. I wtedy można sobie wyobrazić że ktoś nawali w Java a ktoś inny zrobi to dobrze w PHP.

KR
Wszystko fajnie, ale 500 tys. równoległych połączeń php nie uciągnie, choćbyś nie wiadomo ile akceleratorów użył - po prostu nie starczy RAMu. Inna sprawa - PHP umie obsługiwać pule połączeń bazodanowych? Bo w większości kursów radzą otwierać połączenie na każde wykonanie skryptu, co wydajnościowo jest fatalne, zwłaszcza z bazami trochę bardziej zaawansowanymi niż MySQL.
vpiotr
Nie wiem dokładnie jak działają połączenia, ale biorąc pod uwagę ile trwa łączenie dowolnej aplikacji C/S z DBMS-em i to, że w jednym requeście PHP potrafi wykonać setki SQL-i, to chyba jakoś to ogarnęli.
vpiotr
PHP używa "Persistent connection" dla MySQL - ale nie wiem czemu bez tego i tak jest szybko: http://www.php.net/manual/en/mysqli.persistconns.php BTW, AFAIK, PHP na pewno nie uciągnie tylu połączeń. Nie uciągnie nawet dwóch - bo nie ma wątków. Obsługę większej ilości użytkowników robi się przez (AFAIK) "scaling out".
KR
Tylko po co robić "scaling out", jeśli taki sam ruch obsłuży jeden średni serwer na bazie Javy? Poza tym MySQL się słabo skaluje i w momencie jak się chce przejść na coś skalującego się lepiej, to się okazuje że do PHP nie ma dobrych driverów bazodanowych. Np. brak oficjalnego stabilnego drivera do HBase, Cassandry czy Couchbase.
vpiotr
A to nie są przypadkiem bazy wyrosłe ze środowiska Java?
KR
HBase/Cassandra tak, Couchbase nie. Ale co to ma do rzeczy? Jak wybieram język do napisania aplikacji, która ma się skalować, to chciałbym mieć możliwość podpięcia do tego bazy danych napisanej przez ludzi, którzy wiedzą co robią, a nie np. MongoDB. Oczywiście do MongoDB driver oficjalny dla PHP jest, LOL. To wprawdzie dotyczy drivera do Pythona, ale nie sądzę aby do PHP był lepszy: https://jira.mongodb.org/browse/PYTHON-532
vpiotr
Np. to że takie projekty (wyrosłe z Javy) olewają inne języki. Każdy projekt który chce być niezależny od języka tworzy najpierw drivery do C/C++, a potem nad tym dobudowuje się interfejsy do Python, PHP i innych. Odwracając Twój (moim zdaniem bez związku) argument czy Hadoop ma już natywny interfejs do C++?
vpiotr
@Krolik: Nie rozumiem do końca tego tekstu z MongoDB... Że niby to mało profesjonalna baza? Wsparcie dla składni zapytań od IBM-a to pewnie za mało? http://www.theregister.co.uk/2013/06/05/ibm_db2_mongodb/
KR
Baza napisana przez projektantów API i mistrzów wciskania kitu, a nie przez specjalistów od baz danych. Ma skopaną architekturę od podstaw. Goście skoncentrowali się na przyjemnej składni zapytań, ładnym API i ładnej dokumentacji i prostej obsłudze na laptopie programisty. Ale już z zapewnieniem, aby ich baza nie gubiła danych oraz była stabilna w systemach produkcyjnych, bardzo delikatnie mówiąc, poszło znacznie gorzej.
KR
Żeby nie być gołosłownym - taki mały (jeden z wielu) WTF Mongo: jeśli zapisujesz jakieś dane do bazy i zapis się nie uda, driver nie poinformuje Cię o błędzie zapisu. Musisz odpytać bazę osobnym zapytaniem, czy zapis się powiódł (getLastError). Twórcy Mongo uzasadniają to "zapewnieniem wysokiej wydajności zapisów". Problem w tym, że we wszystkich benchmarkach jakie widziałem, MongoDB dostaje solidne bęcki pod względem zarówno zapisów jak i odczytów, praktycznie od każdego innego NoSQLa (w tym od takiej krowy jak HBase).
vpiotr
OK, chyba coś jest na rzeczy, dzięki za ostrzeżenie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.