Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > PHP vs JAVA


Автор: Irokez 14.4.2005, 21:41
Пожалуйста убедите меня что Java лучше подходит для написания больших веб проектов чем PHP, пока не наделел глупостей smile
Большой проект - это веб-портал, совмещающий платежные системы (покупка чего-либо он-лайн по кредитным картам), хорошая поисковая система, пользовательские аккаунты ... вообщем серьезный проект (например он-лайн магазин)
ЗЫ только сильно не бейте ...

Автор: chipset 14.4.2005, 22:22
Думаю Java. Само название Personal Home Page... %)

Автор: Irokez 14.4.2005, 22:26
Цитата(chipset @ 14.4.2005, 22:22)
Personal Home Page

PHP перестал быть Home page tool после первой версии..
Hypertext Preprocessor все таки ..

Автор: Domestic Cat 14.4.2005, 22:36
Все зависит от того, насколько ты знаешь PHP и Java. Java более мощный язык и гораздо более мощна как платформа, но это значит что она сложнее. Преимущества у нее есть - независимость от ос, использование нескриптового кода (не "на веб странице"); существует множество фреймворков, использование которых приводит к тому, что код легче поддерживать; легко переходить с одной БД на другую; масштабируемость (хотя и о ПХП то же самое говорят), и т п. Реально она мощнее. Но тем не менее существует множество не маленьких сайтов, написанных на ПХП. Потому смотри сам - что тебе больше нравится, на чем ты быстрее пишешь, - по-моему это важные факторы в твоем случае.
НО: если проект дествительно большой, имело бысмысл использовать один из Java фреймворков в соединении с EJB.

Автор: Mal Hack 14.4.2005, 22:43
размер проекта роли особой не сыграет.
Главное грамотно спроектировать и построить работу. На чем писать имхо, В ДАННОМ СЛУЧАЕ, зависит от твоих личных знаний и предпочтений.
Если у Java есть какие-то существенные плюсы при работе с мерчант системами, то тебе выгоднее ее использовать. Тут уж Котъ скажет лучше.
PHP более мелкий, чем Java (грубо сказал smile) но также нее стоит забывать что это единственный язык, который разрабатывался специально для создания интернет-приложений. не даром все-таки.

Автор: Irokez 14.4.2005, 22:44
Domestic Cat
то есть, если постараться то можно написать хорошую (большую) систему и на пхп?
а можно ссылочки на
Цитата(Domestic @ 14.4.2005, 22:36)
множество не маленьких сайтов, написанных на ПХП
, а то я не смог найти ...

Автор: Domestic Cat 14.4.2005, 22:45
Амазон.ком по-моему написан на ПХП.

Автор: Irokez 14.4.2005, 22:46
единственная нормальная статья которую нашел:
http://www.onjava.com/pub/a/onjava/2003/10/15/php_scalability.html

Автор: Domestic Cat 14.4.2005, 22:52
http://www.tek271.com/articles/JavaOrPhp.html

Автор: Irokez 14.4.2005, 22:59
Цитата(Domestic @ 14.4.2005, 22:52)
http://www.tek271.com/articles/JavaOrPhp.html

глупая статья по-моему, чувак сравнил синтаксис пхп и явы, после чего расставил балы и заключил что ява лучше для больших проектов..

Автор: Domestic Cat 14.4.2005, 23:11
Тебе просто нужно прочитать хорошую книгу по веб части J2EE, возможно изучить фреймворк типа JSF, ну и сравнить - что можно делать с Java, что - с PHP. В принципе статья эта правильная, просто все кратко изложено.

Посмотри здесь - все основные особенности J2EE там изложены.

http://java.sun.com/j2ee/overview.html
http://java.sun.com/j2ee/appmodel.html
http://java.sun.com/j2ee/setstandard.html

Автор: simanyay 15.4.2005, 12:43
Цитата(Domestic @ 15.4.2005, 00:45)
Амазон.ком по-моему написан на ПХП.


не думаю

DomesticCat, а что ты подразумеваешь под "немаленькими сайтами"? К примеру я знаю множество больших сайтов (http://www.sourceforge.net) на PHP, но не больших распределенных систем.
Добавлено @ 12:45
А вообще, согласен с DomesticCat smile

Автор: simanyay 19.4.2005, 13:14
http://simanyay.org/2005/04/zend-php-company.html

Автор: alir 20.4.2005, 10:38
Естественно все зависит от твоих знаний и опыта в той или иной платформе. Но как-то j2ee приведена именно для написания больших проектов.
Хотя я бы выбрал для такой задачи asp.net - быстрая разработка, несложный синтаксис, удобная среда, есть множество примеров в инете именно web-порталов.

Автор: batigoal 20.4.2005, 10:44
Я с АСП не работал, но мне представляется, что это очень близкие платформы.

Автор: Domestic Cat 20.4.2005, 18:19
Цитата(alir @ 20.4.2005, 01:38)
Хотя я бы выбрал для такой задачи asp.net - быстрая разработка, несложный синтаксис, удобная среда, есть множество примеров в инете именно web-порталов.

Недостаток в том, что она платная.

Автор: simanyay 21.4.2005, 12:27
Цитата(Domestic @ 20.4.2005, 20:19)
Недостаток в том, что она платная.


Да и не только она. Проект на .NET стоит огромной кучи бабок.

Автор: stron 25.4.2005, 16:13
Цитата(simanyay @ 21.4.2005, 12:27)
Да и не только она. Проект на .NET стоит огромной кучи бабок.

Да уж не меньше, чем на Java

Автор: batigoal 25.4.2005, 16:19
Мне кажется - на Java должно быть меньше, за счет бесплатных средств разработки.

Автор: Domestic Cat 25.4.2005, 17:32
Цитата(stron @ 25.4.2005, 07:13)
Да уж не меньше, чем на Java

Сравни цену на студию с $0 за Java тулзы.

Автор: Irokez 25.4.2005, 18:49
а кто из спецов дороже? .NETовские или Java? Кому платят больше и кто больше запрашивает?
понимаю вопрос абстрактный, спрашиваю по вашему жизненному опыту

Автор: Domestic Cat 25.4.2005, 19:02
Цитата(Irokez @ 25.4.2005, 09:49)
.NETовские или Java? Кому платят больше и кто больше запрашивает?
понимаю вопрос абстрактный, спрашиваю по вашему жизненному опыту


Разницы особой нет, все решает опыт и знания программера.

Автор: stron 27.4.2005, 10:14
Если уж и сравнивать цены на средства разработки, то и под .NET есть бесплатные
А сравнивать студию стоит с JBuilder'ом, который совсем не бесплатный

Автор: batigoal 27.4.2005, 12:16
Билдер - лишь одна из альтернатив, причем равнозначных. А студия - практически монополист, законодатель мод. Или я ошибаюсь?
Добавлено @ 12:18
Ты и сам, кстати, был недоволен альтернативной средой (Sharp Developer или что-то вроде) smile

Автор: simanyay 27.4.2005, 16:22
Если сравнивать VS.NET, то с бесплатной Eclipse, которую поддерживают "все, кроме Sun" smile

Автор: stron 27.4.2005, 17:44
Цитата(Lamer @ 27.4.2005, 12:16)
Билдер - лишь одна из альтернатив, причем равнозначных. А студия - практически монополист, законодатель мод. Или я ошибаюсь?
Добавлено @ 12:18
Ты и сам, кстати, был недоволен альтернативной средой (Sharp Developer или что-то вроде)

Да, я ей недоволен.(Sharp Developer сам уже не помню как её)

Всяких сред разработки достаточно много и они покупаются обычно не на один проект.
Солидные фирмы обычно имеют MSDN-вскую подписку, которая снижает стоимость продуктов микрософта.
Если посчитать, то среда разработки меняется раз в 3-4 года(не думаю, что чаще).
1200$ / 3.5*12 = 30$ / мес. - разница на разработчика при использовании платной среды и бесплатной - разница не очень большая.

Автор: batigoal 27.4.2005, 18:19
Небольшая, но каждй месяц, на каждого разработчика, так и набежит.

Автор: Wowa 27.4.2005, 18:33
все-таки мы тут PHP vs. JAVA обсуждаем.

Автор: 3,14 17.5.2005, 16:15
Хотел бы упомянуть не маловажную для серьёзных проектов вещь к-ая не была ещё здесь затронута: для больших проектов ОЧЕНЬ важен процесс поддержки/исправления ошибок и тут у Java колосальное преимущество над PHP, в случае если к-но Web приложение правильно спланировать
Добавлено @ 16:17
Ну и в догонку, у PHP гораздо всё проще с хостингом, хостинг для Java и дороже и сложней найти проверенный людьми и временем

Автор: Wowa 17.5.2005, 16:33
Цитата(3)
Ну и в догонку, у PHP гораздо всё проще с хостингом, хостинг для Java и дороже и сложней найти проверенный людьми и временем

Есть проект серьезный, то и хостинг бесплатный или дешевый брать глупо. А за деньги найти хостинг с Явой - не проблема.
Добавлено @ 16:35
Цитата(3)
Хотел бы упомянуть не маловажную для серьёзных проектов вещь к-ая не была ещё здесь затронута: для больших проектов ОЧЕНЬ важен процесс поддержки/исправления ошибок и тут у Java колосальное преимущество над PHP, в случае если к-но Web приложение правильно спланировать

Т.е. это как? Какое-то такое преимущество у Явы на ПХП в сфере поддержки? Я думаю очень мало, кто из пользователей твоей программы будет виртуальную ява машину апгейдить часто. А если о сервере дело идет, так ПХП обновить не труднее Явы и поддержка у ПХП очень хорошая. С поддержкой Явы я не знаком. Поэтому и спрашиваю в чем преимущество.

Автор: batigoal 17.5.2005, 16:44
Wowa
Мне кажется, 3,14 говорил о поддержке самой программы, а не исполняющего окружения.

Автор: 3,14 17.5.2005, 16:47
Цитата(Wowa @ 17.5.2005, 16:33)
Я думаю очень мало, кто из пользователей твоей программы будет виртуальную ява машину апгейдить часто.

Я не это имел ввиду, я хотел сказать что отлавливать ошибки в коде написанном на Java легче

Автор: Wowa 17.5.2005, 17:01
Цитата(3)

Я не это имел ввиду, я хотел сказать что отлавливать ошибки в коде написанном на Java легче


Java Community больше, чем PHP Community. Это преимущество Явы. Но из-за чего еще легке ошибки отлавливать?

Автор: 3,14 17.5.2005, 17:10
Цитата(Wowa @ 17.5.2005, 17:01)
Но из-за чего еще легке ошибки отлавливать?
  • Возможность удалённой отладки
  • Хорошо продуманный механизм Exception-ов
  • Хорошо продуманный ООП код гораздо более читабелен, нежели классический PHP код

Автор: Се ля ви 24.5.2005, 18:56
Цитата(simanyay @ 19.4.2005, 13:14)
Мои мысли по этому поводу

404 smile

Автор: simanyay 24.5.2005, 19:02
Цитата
404 smile


Я блог обновил и мои старые посты удалились.

Автор: Се ля ви 24.5.2005, 19:20
simanyay, жаль...

Автор: Наставник 20.6.2005, 02:38
Так-с коллеги, выскажу свое мнение.
Однозначно использовать PHP для web-проектов любой сложности.

1. Вопрос подходит лучше ли Java или PHP для больших проектов, как мне кажется, не совсем корректен, т.к. возможности PHP позволяют сделать для web, сколь угодно большой проект: и поисковую систему, и платежную системы, да хоть сам сервер apache (загнул конечно, но и такое возможно).

2. Java, корпоративные разработки с помощью J2EE - попробовал написать подобие интернет магазина - результат - очень не понравилось. Такие навороты мне показались излишними, одно только порадовала технология JDBC, но в PHP альтернатива PEAR, и конечно понравилась технология JNDI, а вот в PHP нет адекватной альтернативы, но это не смертельно. Так вот, если в PHP все достаточно просто (программный код), то в Java не совсем так просто... объявления, скриплеты, декларации и подобные вещи немного ставят в тупик. (и это я сказал только малую часть составляющую jsp страницы) Возникает странный вопрос - зачем все это? - если можно просто <?php ... ?>. Интернет магазин я все же реализовал на Java, из чисто спортивного интереса, и понял, почему в интернете очень редко встречаю jsp страницы... Как мне показалось уровень сложности написания кода на Java примерно в 2 раза сложнее, чем на PHP (субъективное мнение).

3. Далее, хоть и технология JDBC мне и понравилась, но мне куда роднее mysql_connect(...); -> mysql_query(...);


Так что, если нужно быстро и качественно сделать web-проект, то PHP оптимальный выбор.

Удачи.

Автор: Domestic Cat 20.6.2005, 04:40
Для того, чтобы быстро и эффективно писать на Java, да и на любом другом языке, нужно его хорошо знать и иметь опыт. Это особенно верно в Java Web приложениях - помимо простого jsp (не вижу никаких трудностей в том, чтобы выучить три тега - для деклараций, скриптлетов и объявлений), есть еще сервлеты, которые собственно идут в связке с jsp. Есть наборы тегов - jstl и прочее, есть более мощные технологии - Struts, Velocity, Cocoon, и т п. Если есть достаточно знаний и опыта - писать на них веб приложения несложно. Для случая корпоративнух приложений - все это легко интегрируется с обычнми десктоп приложениями и EJB. Java - это "полноценный" ОО язык, откуда и идут его преимущества.
А у меня из твоего поста сложилось впечатление что ты все это учил походу, включая JDBC, jsp, и я не знаю что еще. Ну так любой язык или фреймворк будет "сложным". Не понимаю зачем тебе JNDI для интернет магазина.
К сведению - интернет-магазин к корпоративным приложениям я б относить не стал. Точнее, это далеко не корпоративное приложение.
Кстати, для Java web приложений необязательно, чтобы страница имела расширение jsp. Используются какие угодно маппинги. Но и jsp встречаются, вот например сайт крупного интернет/телефон/мобилити провайдера
http://www.telus.ca/cgi-ebs/jsp/homepage.jsp
Да и не один он такой.

ЗЫ Если я сейчас возьмусь написать приложение на ПХП, мое мнение будет диаметрально противоположным твоему.

Автор: simanyay 20.6.2005, 06:48
Цитата
PHP позволяют сделать для web, сколь угодно большой проект: и поисковую систему, и платежную системы, да хоть сам сервер apache (загнул конечно, но и такое возможно).


В теории любую программу можно написать на любом языке. Вопрос в том, а в практике вы напишете такое?

Автор: 3,14 20.6.2005, 09:43
Цитата(simanyay @ 20.6.2005, 06:48)
В теории любую программу можно написать на любом языке.

Ну это всё же наверное не правда, ибо нельзя написать то, что методы языка сделат не позволяют

Автор: simanyay 20.6.2005, 12:47
Цитата(3)

Ну это всё же наверное не правда, ибо нельзя написать то, что методы языка сделат не позволяют


Единственное, что нужно это подходящая среда для выполнения

Автор: Наставник 21.6.2005, 18:19
Цитата(Domestic @ 20.6.2005, 04:40)
Для того, чтобы быстро и эффективно писать на Java, да и на любом другом языке, нужно его хорошо знать и иметь опыт.

Не спорю, так оно и есть..
Но суть в другом, как проще реализовать данный проект: с помощью Java млм PHP.
Теперь представим такую ситуацию, человек неплохо знает какой-нибудь язык программирования, к примеру - С или Object Pascal, перед ним стала задача написать сложный проект для web - интернет-магазин. И вот теперь он начинает думать какой язык ему бы изучать, чтобы реализовать проект, т.к. он уже понял что ни C, ни Object Pascal не помогут ему в этом. (хотя видел "извращенцев", которые подобные вещи делали на C. ну да Бог с ними).
И вот тут Domestic Cat, опровергает (я то конечно понимаю, почему он так говорит, и понимаю, почему репутация его составляет 121, и почему большинство плюсиков получены в подфоруме Java – ведь просто так обычно их не ставят, поэтому предполагаю что Domestic Cat знает Java, как «свои пять пальцев») высказанное мною мнение
Цитата
Как мне показалось уровень сложности написания кода на Java примерно в 2 раза сложнее, чем на PHP (субъективное мнение).

и все же я утверждаю, что на PHP гораздо легче писать, и тем более изучить его вообще не составляет труда.
Приведу пару примеров.

1. Работа с БД. (Возьмем RDBMS MySQL)

Выборка данных из БД под названием name_db, таблицы name_tbl с помощью PHP

Код

<?php

mysql_connect("localhost","root","");
mysql_select_db("name_db");

$res=mysql_query("SELECT * FROM name_tbl");
while($row=mysql_fetch_array($res))
   echo("<br>First column is ".$row[0]." &nbsp;&nbsp; ".$row[0]."<br>/n");

?>



Выборка данных из БД под названием name_db, таблицы name_tbl с помощью Java

Код

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
String url = "jdbc:odbc:name_db", user = "root", passwd=""; 

Connection connection = DriverManager.getConnection(url, user, passwd); 
Statement statement = connection.createStatement();

String query = "SELECT *FROM name_tbl";

ResultSet resultSet = statement.executeQuery(query); 
ResultSetMetaData metadata =resultSet.getMetaData();

rows = new Vector();
while (resultSet.next())
{
   Vector newRow = new Vector();
   Object obj;
   for (int i = 1; i <= metadata.getColumnCount(); i++)
   {
       int type = metaData.getColumnType(i);
       switch(type)
       {
          case Types.INTEGER:
            obj = resultSet.getInt(i);
            break;
          case Types.REAL:
            obj = resultSet.getFloat(i);
            break;
          case Types.TIMESTAMP:
            obj = resultSet.getTimestamp(i);
            break;
        }
        newRow.addElement(obj);
    }
     rows.addElement(newRow);
}


/* теперь посчитайте количество строк. Какой из приведенных примеров Вам более понятен? Добавлю я использовал стандартные конструкции языков, т.к. в принципе при желании, код на PHP, еще можно было бы сократить, но я не имею права этого делать этого, т.к. не совсем хорошо владею синтаксисом Java... Заметьте в Java я только выбрал данные из БД и не отправил пользователю, в отличие от PHP, где и выбрал и отправил данные. */

2. Работа c почтой.

Отправить письмо c помощью PHP

Код

<?php

$message="Тестовое сообщение - это есть не очень большое тело сообщение";

mail("[email protected][email protected]", "Тема сообщения", $message, "From: master@$SERVER_NAME\r\n"."Reply-To: master@$SERVER_NAME\r\n"."X-Mailer: PHP/" . phpversion());

?>


Отправить письмо c помощью Java

Код

public class Sender {

  protected String message_recip="[email protected]";
  protected String message_subj="Тема сообщения";
  protected String message_cc="[email protected]";
  protected String message_body="Тестовое сообщение - это есть не очень большое тело сообщение";
  protected Session session;
  protected Message mesg;

  public void doSend() {
    Properties props=new Properties();
    props.put("mail.smtp.host","mailhost");  

    session=Session.getDefaulInstance(props,null);  
    session.setDebug(true);
    try {
      mesg=new MimeMessage(session);
      mesg.setFrom(new InternetAddress("[email protected]"));
      InternetAddress toAddress=new InternetAddress(message_recip);
      mesg.addRecipient(Message.RecipientType.TO, toAddress);
      InternetAddress ccAddress=new InternetAddress(message_cc);
      mesg.addRecipient(Message.RecipientType.TO, ccAddress);
      mesg.setSubject(message_subject);
      mesg.setText(message_body);
      Transport.send(mesg);
    } catch (MessagingException ex) {
         while ((ex=(MessagingException)ex.getNextException())!=null) {
            ex.printStackTrace();
         }
      }
  } // end method doSend();
  
  public static void main(String ar[]) {
    Sender sm=new Sender();
    sm.doSend();
  }

}


и вообще эти два языка можно сравнивать сколь угодно долго, но как мне кажется, для web разработок лучше PHP вы не найдете. Язык же Java по своему красив и хорош, но свое первоначальное предназначение - разработка web-ориентированных приложений - язык утерял и переместился в сферу разработок бизнес - проектов (огромных корпоративных приложений) и разработок под мобильные телефоны. Хотя, если Вам не жалко времени, то можете изучить язык Java и написать любое приложение для web -- ОСОБЕННО попробовать написать апплет, который бы содержал бы компоненты awt, swing или SWT, который бы взаимодействовал с сервлетом... в итоге получаем виндовозный интерфейс, я скажу,
+ мне эта идея очень нравится. Выбирать же какой язык лучше, как всегда ВАМ.

Я же, пока для разработок web приложений буду использовать PHP.

А если вы все-таки хотите работать и с PHP и с JAVA ОДНОВРЕМЕННО, то нет проблем ,посмотрите созданную мною тему, в которой довольно подробно и на базовом уровне объясняется взаимодействие PHP + JAVA. http://forum.vingrad.ru/index.php?showtopic=38347

Так что предлагаю не поднимать вопрос PHP vs JAVA более - эти два языка могут работать в "симбиозе".

-----------------------------------
Domestic Cat
Цитата(Domestic @ 20.6.2005, 04:40)
Кстати, для Java web приложений необязательно, чтобы страница имела расширение jsp. Используются какие угодно маппинги.

Согласен, как-то забыл об этом вспомнить, существенное напоминание. Спасибо.

Удачи.

Автор: 3,14 21.6.2005, 18:32
Наставник - написать действительно большие проекты на PHP может и проще, хотя это мало вероятно( обычный web магазин проект не сложный, а вот написать сайт к-ый раелизует процесс, описания к-го занимают более сотни страниц, это уже совсем другое дело), то поддержка Java кода значительно проще, что для проектов БОЛЬШОГО размера выводит Java далеко вперёд.

А вот взаимодействие Java+PHP не очень понял, оно нужно только для случая аплет + PHP сервер?

Автор: Domestic Cat 21.6.2005, 18:54
По приведенным примерам:
1. JDBC : Java код умышленно растянут, без метаданных и свича можно спокойно обойтись. А если использовать sql теги из jstl - может тогда код сравним?

2. Отсылка мыла: написано Java приложение, которое сравнивается со скриптом. Это ж смешно.
Создай свой тег или компонент и юзай его в одну строчку - пхп курит в сторонке.


Автор: batigoal 21.6.2005, 19:30
Все равно, очень хороший пост.

Я сделал вывод, что в случаях, когда приемов, подобных приведенным Наставником, достаточно для выполнения задачи, ПХП действительно будет лучшим решением. Но Java технологии лучше подходят для решения нетривиальных задач (имхо, конечно).

Автор: Наставник 21.6.2005, 23:41
Так-с и опять я не могу удержаться от высказываний,
Дам-с много уважаемый Domestic Cat

Цитата(Domestic @ 21.6.2005, 18:54)
JDBC : Java код умышленно растянут, без метаданных и свича можно спокойно обойтись

я так пишу, при этом, я считаю это стандартной конструкцией, т.к. не знаю всех примочек языка Java, о чем я упомянул в предыдущем посте.
а теперь по поводу
Цитата(Domestic @ 21.6.2005, 18:54)
А если использовать sql теги из jstl - может тогда код сравним?

да без проблем (к сожалению не знаю -использовать sql теги из jstl-)

привожу немного улучшенную версию PHP кода, для выборки из БД двух значений...

Код

<?php
mysql_connect("localhost","root","");
mysql_select_db("name_db");

list($title,$author)=mysql_fetch_array(mysql_query("SELECT title,author FROM name_tbl WHERE id=2"));
echo("<br>First column is ".$title." &nbsp;&nbsp; ".$author."<br>/n");
?>


теперь жду Domestic Cat от Вас пример кода, интересно будет посмотреть...

Цитата(Domestic @ 21.6.2005, 18:54)
написано Java приложение, которое сравнивается со скриптом

не понял, что значит, приложение сравнивается со скриптом? Где в PHP скрипт, это стандартная функция, которая реализует те же возможности, что и в приведенном Java приложении...

Цитата(Domestic @ 21.6.2005, 18:54)
Это ж смешно

а мне не очень смешно, т.к. не вижу ничего абсурдного, и тем более смешного... та же функциональность, но меньше затрат, как по количеству написанных строк, так и по времени изучения...

Цитата(Domestic @ 21.6.2005, 18:54)
Создай свой тег или компонент и юзай его в одну строчку

еще раз напишу, ЭТО СТАНДРТНАЯ ФУНКЦИЯ PHP... свой тег или компонент я то создать могу, который будет использовать SMTP, посылать запросы и обрабатывать ответы и т.д. НО зачем мне это надо, когда умные люди уже за меня написали функцию mail().

Цитата(Domestic @ 21.6.2005, 18:54)
пхп курит в сторонке

а вот здесь Вы меня рассмешили... smile smile . В одном проблема, может и PHP ещё пока "курит в сторонке", а вот Java уже «откурилась» -- в отношении программирования под web.
// прошу без обид.

Цитата(3)
а вот написать сайт к-ый раелизует процесс

Не понял, в каком контексте вы использовали слово процесс. Понял как поток, нить (thread)...
А я против и ничего не говорил, согласен если описывать как взаимодействия потоков, то конечно лучше использовать Java, так это не является тривиальной задачей, наподобие интернет-магазина. Хотя, я Вам скажу лично мною было разработана экспертная система для web и основным языком был PHP (пример не тривиальной задачи), мой знакомый ещё круче взял планку, и разработал что-то наподобие системы обучения на основе нейронных сетей, и тоже использовал PHP.

Цитата(3)
для проектов БОЛЬШОГО размера выводит Java далеко вперёд

Ответный вопрос к Вам 3,14, а что значит считать большим проектом, я вот лично не знаю как такое понятие определить... это что в количестве строк измерять что ли?... и почему в Java легче его поддерживать? Кто Вам запрещает использовать в PHP классы, в 5 версии языка, появился механизм try{} catch{}...

Цитата(3)
А вот взаимодействие Java+PHP не очень понял, оно нужно только для случая аплет + PHP сервер?

Почему нет... если вы внимательно просмотрели ссылку http://forum.vingrad.ru/index.php?showtopic=38347, то там вполне нормальный пример приведен, в котором пользователь вводит в форму два числа, эти числа присваиваются переменным PHP, далее эти переменные передаются Java. Java используя класс вычисляет сумму, и отправляет PHP. PHP выводит ответ на экран. --- все очень просто, ведь это просто принцип, далее все зависит от фантазии.

так- с привожу ещё один пример взаимодействия PHP + JAVA

Генерация zip архива на лету (в реальном времени) и выдача пользователю архива...
Сразу оговорюсь, пример из книги, так работоспособность мною не гарантирована, но как пример вроде замечательно

PHP файл, в котором вызываем Java класс Zipper
Код

<?php
$zipObj = new Java("Zipper");
$files = array("/home/designmm/designmultimedia-logs/access_log",
               "/home/designmm/designmultimedia-logs/error_log");

$ret_val = $zipObj->ZipEm(implode("|", $files), "logs.zip");
if ($ret_val == "logs.zip has been created") {
    header("http://www.designmultimedia.com/logs/logs.zip");
} else {
?>
<html>
<head>
    <title> Sorry there was an error <?php echo $ret_val; ?></title>
</head>
<body>
    <h1> I'm Sorry there seems to have been an error </h1>
<br>
    <b> <?php echo $ret_val; ?> </b>
<br><br>
  Please try again some other time.
</body>
</html>
<?php
}
?>


А вот описание на языке Java класса Zipper, который соответственно сохранен в файле под названием Zipper.java

Код

import java.io.*;
import java.util.zip.*;

public class Zipper {
    public int chunk = 8192;
public string Zipem ( String files, String zipped ) {
    String this_file = '';

    if (files.length() < 1) {
        return "You need to have some files to Zip";
    }

    // Output stream
    try {
        FileInputStream foward = new FileInputStream(zipped);
        ZipOutputStream final = new ZipOutputStream(foward);
    } catch (IOException e) {
        return "Cannot create " + zipped + " an error occurred";
    }

    do {
       if (files.indexOf("|" != -1) {
          this_file = files.substring(0, files.indexOf("|") );
          try {
              ZipEntry ent;
              if (this_file.indexOf("/") != -1) {
                  ent = new ZipEntry(this_file.substring(
                        this_file.lastIndexOf("/") +1,
                        this_file.length())
                       );
              } else {
                  ent = new ZipEntry(this_file.substring(
                         this_file.lastIndexOf("\\") +1,
                         this_file.length())
                        );
              }
              final.putNextEntry(ent);
          } catch (IOException e) {
              return "Cannot prepare " + zipped +
                     "Unable to add" + this_file;
          }
          files.substring( files.indexOf("|")+1 );
          byte[] buf = new byte[chunk];

          //Compress that file
          try {
              FileInputStream reader = new FileInputStream(this_file);
           int length;
           while ((length = reader.read(buf, 0 chunk)) != -1) {
               final.write(buf, 0, length);
           }
           reader.close();
       } catch (IOException e) {
           return "Can't compress " + this_file;
       }
    }
} while (files.indexOf("|") != -1);

try {
    ZipEntry ent;
    if (files.indexOf("/") != -1) {
        ent = new ZipEntry(files.substring(
              files.lastIndexOf("/") + 1,
              files.length())
             );
    }  else {
         ent = new ZipEntry(files.substring(
               files.lastIndexOf("\\") + 1,
               files.length())
              );
    }
    final.putNextEntry(ent);
} catch (IOException e) {
     return "Cannot prepare " + zipped + " unable to add " + this_file;
}

byte[] buf = new byte[chunk];

try {
    FileInputStream reader = new FileInputStream(files);
    int length;
    while ((length = reader.read(buf,0,chunk)) != -1) {
        final.write(buf,0,length);
    }
    reader.close();
} catch (IOException e) {
    return "Cannot compress " + files;
}

try {
           final.close();
      }  catch (IOException e) {
           return "Cannot create" + zipped;
      }

      return zipped + " has been created";
  }
}


кстати, в PHP есть встроенная функция для преобразования исходного файла в архив zip.
Так что уважаемый 3,14

Цитата(3)
оно нужно только для случая аплет + PHP сервер?

не только, можно и другие способы взаимодействия организовать.

Цитата(Lamer @ 21.6.2005, 19:30)
Я сделал вывод, что в случаях, когда приемов, подобных приведенным Наставником, достаточно для выполнения задачи, ПХП действительно будет лучшим решением. Но Java технологии лучше подходят для решения нетривиальных задач (имхо, конечно).


Полностью с Вами согласен. Спасибо Lamer George.

Автор: Domestic Cat 22.6.2005, 00:00
Цитата
теперь жду Domestic Cat от Вас пример кода, интересно будет посмотреть...

Код

<c:set var="bid" value="${param.Add}"/>
<sql:query var="books" >
  select * from PUBLIC.books where id = ?  <sql:param value="${bid}" />
</sql:query> 


Цитата
еще раз напишу, ЭТО СТАНДРТНАЯ ФУНКЦИЯ PHP... свой тег или компонент я то создать могу, который будет использовать SMTP, посылать запросы и обрабатывать ответы и т.д. НО зачем мне это надо, когда умные люди уже за меня написали функцию mail().

Ну так тебе никто не мешат пользовать готовые библиотеки тегов, или создать свои, с более серьезной логикой.

А вообще спор бессмысленный... Чтобы понять преимущества той или иной технологии, ее нужно хорошо изучить... А так можно сказать что и интегралы не нужны - изучать долго, а площадь плоской фигуры можно и с линейкой посчитать.
Цитата
а вот Java уже «откурилась» -- в отношении программирования под web.

Видимо, ты большой специалист в Java или может быть, эксперт по веб-технологиям? Не похоже.

Автор: Наставник 22.6.2005, 00:11
Цитата(Domestic @ 22.6.2005, 00:00)
А вообще спор бессмысленный... Чтобы понять преимущества той или иной технологии, ее нужно хорошо изучить...

Согласен.

Цитата(Domestic @ 22.6.2005, 00:00)
Видимо, ты большой специалист в Java.

А вы наверное Domestic Cat намекаете, что я вообще понятия не имею что такое J2EE и с чем её едят. Согласен Ваш уровень знаний в этой области на порядок выше, но могу Вас уверить, что я неплохо разобрался в этой технологии, а перечислять все термины наподобие EJB, remote EJB, JMS, BMP EB и т.д. я не собираюсь.

Цитата(Domestic @ 22.6.2005, 00:00)
эксперт по веб-технологиям?

а я кстати не утверждал этого, так что не понял...

Ваш код красив, и краток, что не может не радовать, проблема за малым, чего то я не вижу как Вы подсоединились к БД, и как пользователь получит результаты.. или это стоит дописывать самому... smile

Автор: Domestic Cat 22.6.2005, 00:23
Цитата
Ваш код красив, и краток, что не может не радовать, проблема за малым, чего то я не вижу как Вы подсоединились к БД, и как пользователь получит результаты.. или это стоит дописывать самому... smile

Ах да, забыл
Код

<sql:setDataSource dataSource="jdbc/BookDB" /> 

Автор: ManiaK 22.6.2005, 01:15
Забавно. Спор между PHP и Java очень походит на спор между Java и С++ smile
сторонник Java: наш язык лучше тем, что мы не мучаемся с указателями
сторонник Си++: а мы тоже можем не мучаться - пишем "статические обёртки" и юзаем их smile
Ничего не напоминает? smile Вот например это:
Цитата(Domestic @ 22.6.2005, 00:41)
Создай свой тег или компонент и юзай его в одну строчку.

Но это так, забавное совпадение...

(Всё, что написано ниже - мои догадки; с обоими языками знаком поверхостно и чисто теоретически, потому правьте, если не прав где-то)
"Java - это диалект Си++". Из этого языка убрано только то, что нельзя было оставить языку интернета; по сути это вычищенный Си++. PHP же больше походит на мощный скрипт, синтаксис которого позаимствован из Си++. Я полагаю Ява всегда будет на шаг впереди PHP по возможностям хотя бы уже потому, что он более широкопрофильный язык. С другой стороны, если Ява компоненты нет возможности "компилировать" и исполнять, а не интерпретировать, то тут преимущество должно быть (чисто логически) у PHP в скорости - его функции, заранее скомпилированные на сервере должны выполняться несравнимо быстрее, нежели интерепретируемые модули Явы. Но глупо было бы - скорее всего нечто вроде скомпилированного "джентельменского набора" есть и на Ява-серверах.

Кстати, буду благодарен, если мне всунут в руки какую-нибудь хорошую книжку по Яве в электронном виде.

Автор: 3,14 22.6.2005, 09:27
Цитата
Ответный вопрос к Вам 3,14, а что значит считать большим проектом, я вот лично не знаю как такое понятие определить...

В общем да, ну можно ещё взять время необходимое на разработку, но этот критерий хуже, как правило большие проекты не пишуться в одиночку, там есть люди к-ые составлют требования к проекту, есть те кто работает над БД, есть те кто над кодом работает, и это разные люди
Цитата
и почему в Java легче его поддерживать? Кто Вам запрещает использовать в PHP классы, в 5 версии языка, появился механизм try{} catch{}...

О преимуществах Java я писал выше, топик не особо большой - найти не сложно. На счёт обьектно-орентированности PHP - можно там к готовой схеме БД получить её ООП вариант, чтоб работать с классами, а не SQL запросами, ибо читабильность кода из за них резко снижается? Не работал в PHP с ООП, поэтому ничего про него сказать не могу, но то что нашёл через Google оставило не прятное впачатление, может кто нить независимый подкинет вариант задачи, а и сравним ООП схему на Java и PHP + пара примеров по коду выборочно...

Цитата(ManiaK @ 22.6.2005, 01:15)
"Java - это диалект Си++". Из этого языка убрано только то, что нельзя было оставить языку интернета; по сути это вычищенный Си++

Ну если только с большой натяжкой, после всех этих "вычищений" от самого C++ там не так много и отсалось

Автор: Наставник 22.6.2005, 10:41
Цитата(3)
сравним ООП схему на Java и PHP

А что сравнивать, итак должно быть понятно, ООП схема PHP беднее возможностей ООП схемы Java. Но это не означает, что большой web-проект нельзя реализовать на PHP. Наоборот можно, и даже нужно, т.к. это проще и быстрее.

И вообще хотелось бы услышать ответ от каждого участника на следующий вопрос ->
Какой язык программирования выберите Вы, для того чтобы реализовать довольно крупный web-проект (пусть будет интернет-магазин)?
Мой выбор- это PHP
Всего ответов 1. Результаты за PHP - 1 : за Java 0

Автор: Irokez 22.6.2005, 12:49
Цитата
Какой язык программирования выберите Вы, для того чтобы реализовать довольно крупный web-проект (пусть будет интернет-магазин)?
Мой выбор- это PHP
Всего ответов 1. Результаты за PHP - 1 : за Java 0

по-моему интернет магазин - это не такой уж и крупный проект
когда я создавал данную тему, мне намечался проект системы бронирования номеров гостиниц, билетов и документооборота для одной крупной организации, причем данные компоненты должны были быть связаны. В течении обсуждения я решил, что данный проект на пхп писать было бы очень затруднительно. Поэтому:
интернет-магазин - PHP
а вот то что я описал - скорее всего - Java

Автор: 3,14 22.6.2005, 12:53
Обычный интернет магазин - без разницы, это зависит от того с чем ьы лучше знаком, разве что на php предлагается больше готовых решений, но если это действительной крупный проект, то Java.
PHP 1 - Java 1

Автор: Wowa 22.6.2005, 15:35
Цитата(Irokez @ 22.6.2005, 11:49)
по-моему интернет магазин - это не такой уж и крупный проект
когда я создавал данную тему, мне намечался проект системы бронирования номеров гостиниц, билетов и документооборота для одной крупной организации, причем данные компоненты должны были быть связаны. В течении обсуждения я решил, что данный проект на пхп писать было бы очень затруднительно. Поэтому:
интернет-магазин - PHP
а вот то что я описал - скорее всего - Java

имхо, вполне реально на PHP такую систему сделать.

Автор: Irokez 22.6.2005, 18:57
Цитата(Wowa @ 22.6.2005, 15:35)
имхо, вполне реально на PHP такую систему сделать.

реально, но вот поддерживать ее и гарантировать ее устойчивость к сбоям было бы по-моему трудно

Автор: Mal Hack 22.6.2005, 19:40
Давай-те будем объективны. написать можно все на лю.бом языке. Вопрос лишь в лишней геморройности в определенных моментах из-за стилистики языка.
Для крупных проектов (очень) как правило используются несколько технологий, ну банальный демон, который из-за разумных соображений на PHP, к примеруи дкмаю даже Java, писать никто не будет, а убдет делатиь на С.

Все зависит от конкретной задачи, знания языка программистом. Есть конечно тонкости, которые говорят четко в пользу одного или в пользу другого языка. Но это уже для конкретной задачи.

Автор: Наставник 22.6.2005, 20:09
Цитата(Irokez @ 22.6.2005, 12:49)
когда я создавал данную тему, мне намечался проект системы бронирования номеров гостиниц, билетов и документооборота для одной крупной организации, причем данные компоненты должны были быть связаны. В течении обсуждения я решил, что данный проект на пхп писать было бы очень затруднительно. Поэтому:
интернет-магазин - PHP
а вот то что я описал - скорее всего - Java


Да уж, ну тогда сами думайте... уж не знаю как Вас убедить-то... ну и что такое документооборот.. а такое повсеместно встречается в каждой третьей CMS. написанной на PHP.
Бронирование билетов, а тут что сложного -то?. Есть какая-нибудь БД, в которой хранятся информация о билетах... тут просто надо работать с БД... и все, тем более если Вам нужно использовать механизм транзакций, то Вам вполне подойдет и MySQL, а если что-нибудь более серьезное, наподобие курсоров или триггеров, то пожалуйста используйте MS SQL. Вполне стандартные задачи.

 ! 
 
Наставник, самоуправством попрошу не заниматься. Здесь не раздел опросов.

Автор: batigoal 22.6.2005, 20:15
Просто здесь мало людей, которые достаточно квалифицированно разбираются и в том, и в другом.

Автор: Irokez 22.6.2005, 20:29
Цитата
Бронирование билетов, а тут что сложного -то?. Есть какая-нибудь БД, в которой хранятся информация о билетах... тут просто надо работать с БД... и все, тем более если Вам нужно использовать механизм транзакций, то Вам вполне подойдет и MySQL, а если что-нибудь более серьезное, наподобие курсоров или триггеров, то пожалуйста используйте MS SQL.

1) так можно и про любую задачу подумать.. поисковую систему написать? да запросто, стандартная задача, делаем запрос к базе на выборку...
2) В бронировании билетов нет ничего сложного, в отличие от обеспечении надежности системы, в то время как через нее будут проходить реальные деньги.
3) Если работать с MS SQL то уж вряд ли на PHP, скорее тут уже C#

Автор: Domestic Cat 22.6.2005, 20:36
М
 
Наставник, во-первых этот раздел не называется "Опросы". Во-вторых, не своди всю аргументацию к "кого больше" - это детский сад какой-то. Либо мы обсуждаем и приводим аргументы, либо закрою тему.

Автор: Наставник 22.6.2005, 22:38
Так-с
Domestic Cat
Насчет предупреждения - понял, постараюсь более не нарушать правила. smile

Цитата(Domestic @ 22.6.2005, 20:36)
- это детский сад какой-то. Либо мы обсуждаем и приводим аргументы, либо закрою тему.

а вот тут немного обидно все-таки, уж я то аргументов привел достаточно вроде как, или это мало было? Мне кажется для раздела флэйм итак много примеров привел. smile, но насчет опроса я конечно сглупил, эххх а было бы интересно узнать, какие результаты получились в итоге, ну да ладно.

Цитата(Irokez @ 22.6.2005, 20:29)
поисковую систему

а вот тут с Вами не соглашусь, уважаемый Irokez, т.к. чтобы написать хорошую поисковую систему, помимо выбора языка нужно придумать и реализовать хороший алгоритм. Так что, в данном случае это довольно трудная задача, в отличие от реализации заказов билетов.

Цитата(Irokez @ 22.6.2005, 20:29)
в отличие от обеспечении надежности системы, в то время как через нее будут проходить реальные деньги.

Ну хорошо. Я так понял вы сторонник Java. Ответьте пожалуйста, какие же преимущества Вам даст язык Java в обеспечении надежности, которые не смог бы предоставить язык PHP?

Цитата(Irokez @ 22.6.2005, 20:29)
с MS SQL то уж вряд ли на PHP

А этого мне вообще не понять, это что получается БД MS SQL только умеет нормально работать с языками от Microsoft что ли? Интересно, тогда с каким же языком работать БД ORACLE, PostregeSQL или ..., из Ваших слов я понял, что лучше всего DELPHI будет работать с БД Paradox.
Мне кажется это не очень хорошей мыслью. А вообще для того и создаются различные драйвера, а также технологии, наподобие: JDBC (JAVA), PEAR (PHP) или ODBC(Microsoft) и подобного рода, чтобы языки программирования могли взаимодействовать с различными БД.

Уверяю Вас, что PHP вполне нормально работает с MS SQL..

Удачи.

Автор: Irokez 22.6.2005, 23:01
Цитата
Ну хорошо. Я так понял вы сторонник Java.

нет

Цитата
Ответьте пожалуйста, какие же преимущества Вам даст язык Java в обеспечении надежности, которые не смог бы предоставить язык PHP?

я не сторонник явы, я не программист пишущий на яве, я вообще яву плохо знаю.
я сторонник пхп, я пишу на пхп и его знаю хорошо
топик я открыл чтобы понять почему многие (почти все) говорят что ява больше подходит для написания больших проектов и вот что я понял:

1) при написании больших проектов возникает проблема структурирования кода. ООП помогает сделать код более читабельным, структурированным, удобным в использовании. В яве ООП гораздо лучше реализовано (да что и говорить ява и есть ОО язык), в то время как в пхп ООП появилось фактически в пхп4. В пхп5 сделан большой шаг в реализации ООП, но пхп5 еще не стабилен и почти не поддерживается никем из хостеров.

2) для явы существует большее количество готовых решений, в то время как в пхп приходится писать своими руками

3) сама ява разрабатывалась и разрабатывается как язык для написания бизнес ориентированных систем, в то время как пхп начинался как набор инструментов для домашних страничек

какие преимущества дает ява для обеспечения надежности? не имею понятия, только предположения. думаю участники форума, знающие яву лучше моего скажут заместо меня.

Автор: Domestic Cat 23.6.2005, 02:03
Цитата(Irokez @ 22.6.2005, 14:01)
какие преимущества дает ява для обеспечения надежности? не имею понятия, только предположения. думаю участники форума, знающие яву лучше моего скажут заместо меня.


Я ПХП не знаю, потому сравнивать не могу. Да и не совсем понимаю, что имеется в виду под надежностью. Обеспечение распределенных транзакций? Масштабируемость системы? Устойчивость к крашу сервера? Секьюрити?

Автор: sergejzr 23.6.2005, 02:23
Я в принципе с обеими языками знаком и писал кое что на обеих smile

Что сказать..

Для маленькой страницы с распечаткой аргументов, или ещё какой нибудь мелочи ПХП хорош (особенно если вставлен модулем). Пишем нормальный ХТМЛ, делаем вставки ПХП где надо, всё сразу работает.

Но если проект начинает растягиваться на несколько файлов, смесь ХТМЛ+ПХП становится непонятной и приходится делить на классы.
В этом месте лучше сразу браться за яву. Инструменты отладки имеются довольно мощные. Вообще дибаггить - одно удовольствие smile Соблюдение типов поможет избавится от большинства (в ПХП труднонаходимых) глюков.

Кстати не знаю, как там у пхп со сборщиком мусора.. сроде у пхпх или перла его вообще нет. Прога может съесть всю память и вылететь не попрощавшись...

Вообще соблюдение типов - ИМХО огромное преимущество ЯВА перед ПХП.

Автор: sergejzr 23.6.2005, 02:39
Для прикола взял ваш кодsmile
Код

mysql_connect("localhost","root","");
mysql_select_db("name_db");
list($title,$author)=mysql_fetch_array(mysql_query("SELECT title,author FROM name_tbl WHERE id=2"));
echo("<br>First column is ".$title." &nbsp;&nbsp; ".$author."<br>/n");

Аналогом будет скорее это:
Код

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
Connection connection = DriverManager.getConnection("jdbc:odbc:name_db", "root", ""); 
ResultSet resultSet = connection.createStatement().executeQuery("SELECT title, author FROM name_tbl"); 
resultSet.first();
System.out.println("<br>First column is "+resultSet.getString("title")+" &nbsp;&nbsp; "+resultSet.getString("author")+"<br>/n");


Не намного сложнее. не правда ли? Не забываем, что и ResultSet'om и Connection'om мым можем пользоваться отдельно, если захотим. Не нравится первая строчка?

Тогда обернём код в фунцию:

Код

public void getFromDB(String driver)
{
Class.forName(driver);  
//.
//. Прочая ботва
//.
}

И вот у нас функция, которая будет соеденятся не только с мускулом, но и с любой другой базой обозночаемой по driver (читай масштабируемось).

Автор: korob2001 23.6.2005, 02:51
Цитата
Кстати не знаю, как там у пхп со сборщиком мусора.. сроде у пхпх или перла его вообще нет. Прога может съесть всю память и вылететь не попрощавшись...

Perl можно из этого списка убрать. smile Со сборкой мусора в Perl всё в порядке.
Я правда ещё не дошёл до сборки мусора в Java, потому не могу пока сравнить.

Автор: 3,14 23.6.2005, 08:45
Цитата
какие результаты получились в итоге, ну да ладно.

Ну, открой отдельную тему с опросом, думаю что ничего страшного в этом нет

Цитата
БД MS SQL только умеет нормально работать с языками от Microsoft что ли?

Цитата
Интересно, тогда с каким же языком работать БД ORACLE,

Ну лучше всего с Java, интеграция с Java у Oracle просто супер

Цитата
DELPHI будет работать с БД Paradox.


Насчёт БД в общем конечно можно ко всем стандартным БД прикрутить любой стандартный язык, так всё и задумовалось, но есть стандартные связки (PHP/Perl + MySQL, MSSQL + Visual C, Oracle + Java), к-ые зачастую если уж не дают выигрыша в програмном коде, то по производительности наверняка

Цитата(Irokez @ 22.6.2005, 23:01)
при написании больших проектов возникает проблема структурирования кода. ООП помогает сделать код более читабельным, структурированным, удобным в использовании.

Точно

Цитата(Irokez @ 22.6.2005, 23:01)
для явы существует большее количество готовых решений, в то время как в пхп приходится писать своими руками

Смотря чего, в Java больше средств именно для разработчика, а совсем готовых решений в PHP по более будет
Цитата(Irokez @ 22.6.2005, 23:01)
сама ява разрабатывалась и разрабатывается как язык для написания бизнес ориентированных систем, в то время как пхп начинался как набор инструментов для домашних страничек

Тоже правильно
Цитата
а вот тут с Вами не соглашусь, уважаемый Irokez, т.к. чтобы написать хорошую поисковую систему, помимо выбора языка нужно придумать и реализовать хороший алгоритм. Так что, в данном случае это довольно трудная задача, в отличие от реализации заказов билетов.

В случае сложных систем будь то поисковые или документооборот с нетривиальными запросами к базе (база за 50 таблиц + n-ое кол-во view) остро встаёт вопрос работы с БД не через SQL или прямое обращения к хранимым процедурам, встаёт проблема разработки библиотеки к-ая бы позволяла работать коду с БД обычными средствами ООП, и тут у Java, как я понимаю (по крайней мере ни про что подбное для PHP я не слышал), есть огромное преимущество, а если добавим работу с XML, то, ИМХО, тут PHP вообще в сторонке курит

Цитата(Irokez @ 22.6.2005, 23:01)
какие преимущества дает ява для обеспечения надежности? не имею понятия

В первую очередь я бы выделил то, что Java более строго подходит к коду, накладывает на него более жёсткие ограничения, если для мелких страничек это может напрягать, то в случае большого проекта позволяет избежать множества ошибок, это и непозволение бросаться типами, как сказал sergej.z, это и обработка исключений (на уровне проектировке определяешь какие исключения должны передваться отдаваться на усмотрение вызвавшего ф-ию, а какие должен обработать сам), продуманное протсранство имён, и это ещё далеко не всё...

Автор: Wowa 23.6.2005, 10:28
Цитата(3)
встаёт проблема разработки библиотеки к-ая бы позволяла работать коду с БД обычными средствами ООП, и тут у Java, как я понимаю (по крайней мере ни про что подбное для PHP я не слышал), есть огромное преимущество, а если добавим работу с XML, то, ИМХО, тут PHP вообще в сторонке курит

Не вижу проблем при работе с этим в PHP. Не забывайте, что PHP 5 намного отличается в от PHP 4

Автор: 3,14 23.6.2005, 10:36
Цитата(Wowa @ 23.6.2005, 10:28)
Не вижу проблем при работе с этим в PHP. Не забывайте, что PHP 5 намного отличается в от PHP 4

А пример для чего нить готово в этом роде есть, с удовольствием бы посмотрел

Автор: Wowa 23.6.2005, 10:49
Цитата(3)
А пример для чего нить готово в этом роде есть, с удовольствием бы посмотрел

чего именно?

Автор: 3,14 23.6.2005, 10:51
Цитата(Wowa @ 23.6.2005, 10:49)
Цитата (3 @ 14, 23.6.2005, 09:36)
А пример для чего нить готово в этом роде есть, с удовольствием бы посмотрел

чего именно?

Библиотеки к-ая позволяет коду работат средствами ООП с готовой БД, или тулзы для создания таковой библиотеки, можно тоже самое для XML

Автор: bars_uz 2.9.2005, 08:10
nu bratan polzuesya JSP... JSP lutshe

Автор: chipset 2.9.2005, 08:15
Цитата(bars_uz @ 1.9.2005, 22:10)
nu bratan polzuesya JSP... JSP lutshe

Аргументация?
Я тоже щаз могу так сказать:
Пользуйся C++... C++ лучше.

Автор: Се ля ви 20.9.2005, 17:08
Начинаю по-маленьку учить PHP и просто не смог удержаться, что бы не написать сюда пару слов - ну, ребят, это просто не серьёзно - крупные системы на этом языке писать...

В детстве я видел машинки такие были - помните? На них ещё на педальки жмёшь - и едешь. На такой машинке тоже можно достаточно далеко уехать, если ещё и сильные ноги иметь. Да и на велосипеде. А мотор воздух загрязняет и денег на бензин требует - и тем не менее машина для дальних поездок, скажу по секрету, лучше...

Не знаю как в пятёрке, но в чётвёрке с ООП только играться и можно - без строгой типизации, инкапсуляции, всё это не надёжно, а по-моему так же и в пятёрке. Сидели на занятиях после того, как нам курс Java прочли, спрашивали - как это сделать, как то - и препод защищался аргументами "ну что вы хотите от маленького скромного язычка для написания веб-страничек?"

У всего своя ниша и не надо абсолютизировать такие вещи. JSP и ASP может быть слишком мощны для небольших сайтов, сложны, но они создавались для интерфесов корпоративных систем, для написания слоя представляения - а это требует кучу инструментария. Мы ещё не дошли до баз данных, но мне кажется, что ничего нет и близкого к либам JDBC.

Вобщем, если выросли из задач, для которых создавался PHP, мой вам совет - не майтесь дурью и изучайте J2EE, .NET или уж хотя бы уж на худой конец, Python. Не пытайтесь применять PHP в тех областях, где он не компетентен только потому, что вы его знаете, не держитесь за него - изучайте более серьёзные языки и платформы - вам же будет лучше. smile

Автор: Exception 30.12.2005, 18:08
Цитата(Domestic @ 25.4.2005, 18:32)
Сравни цену на студию с $0 за Java тулзы.

Вообще-то есть WebMatrix и SharpDevelop...
Цитата(Domestic @ 20.4.2005, 19:19)
Недостаток в том, что она платная.

Нифига. .NET FW бесплатный smile

Автор: IZ@TOP 4.1.2006, 18:57
Цитата(Irokez @ 23.6.2005, 00:01 Найти цитируемый пост)

2) для явы существует большее количество готовых решений, в то время как в пхп приходится писать своими руками


SourceForge.Net, своими руками, руками других программистов работающих над проектом. Ведь библиотеки для явы тоже кто-то писал. Просто как уже говорили, у РНР комунити не так силен.

Цитата(Irokez @ 23.6.2005, 00:01 Найти цитируемый пост)

3) сама ява разрабатывалась и разрабатывается как язык для написания бизнес ориентированных систем, в то время как пхп начинался как набор инструментов для домашних страничек


http://www.assist.ru/ незнаю как там у них с бизнес логикой, но странички вроде на РНР написаны.
То что РНР был как набор для написания домашних страничек, это так, но сейчас он стал более мосштабируемым, хотя к сожалению я так и не смог найти документации о том как писать модули для РНР, думаю что хорошему С++ программисту не составит труда в этом разобраться и написать необходимые модули для расширения функционала (хотя я не пока не вижу прорех в функциональности).

Цитата(Domestic Cat @ 23.6.2005, 03:03 Найти цитируемый пост)

Я ПХП не знаю, потому сравнивать не могу. Да и не совсем понимаю, что имеется в виду под надежностью. Обеспечение распределенных транзакций? Масштабируемость системы? Устойчивость к крашу сервера? Секьюрити?

Мне тоже это не понятно, главное грамотность и начальная подготовка (ТЗ и прочее). Если у программиста руки кривые, то она наделает ошибок в чем угодно.

Цитата(sergej.z @ 23.6.2005, 03:23 Найти цитируемый пост)

Но если проект начинает растягиваться на несколько файлов, смесь ХТМЛ+ПХП становится непонятной и приходится делить на классы.
В этом месте лучше сразу браться за яву. Инструменты отладки имеются довольно мощные. Вообще дибаггить - одно удовольствие smile Соблюдение типов поможет избавится от большинства (в ПХП труднонаходимых) глюков.


Не вижу труда в компоновке XML + XSLT + PHP. Коль угодно сложная компоновка страничек и разнообразного функционала. Главное продумать масштабируемость ядра системы. Глюки бывают везде. Может РНР и страдал из-за типов, но я с такими глюками не сталкивался за последние два года (может уже вырос?).

Цитата(sergej.z @ 23.6.2005, 03:23 Найти цитируемый пост)

Кстати не знаю, как там у пхп со сборщиком мусора.. сроде у пхпх или перла его вообще нет. Прога может съесть всю память и вылететь не попрощавшись...


Согласен. Есть такое дело. Необходимо следить за приложением. Главное это простестировать перед эксплуатацией.


В общем мой вывод таков: если есть хороший планер, и у программистов руки растут от куда нужно, можно и на РНР и на Java реализовать проект.
Добавлено @ 18:57
Да, тут кто-то еще говорил на счет того что РНР5 нестабилен и плохо поддерживается хостерами. Вышла версия 5.1.1.

Автор: Wowa 6.2.2006, 12:56
Вот тут кстати http://forum.vingrad.ru/index.php?showtopic=82703&hl= можно посмотреть, почему все же Ява лучше. Там рассматривается генерация PDF на Яве. В том время, как для ПХП только одна либа существует бесплатная - fpdf.org. которая хоть и хороша, но многое все же не поддерживает. А у явы комьюнити больше и соответственно готовых классов и т.п. - должно быть больше.
Добавлено @ 12:58
Цитата(IZ@TOP @ 4.1.2006, 16:57 Найти цитируемый пост)

Да, тут кто-то еще говорил на счет того что РНР5 нестабилен и плохо поддерживается хостерами. Вышла версия 5.1.1.

Да, собственно уже ПХП5 стоит на многих хостингах, но не на всех - и есть на это причины.. Пройдет еще пол года и будет точно везде стоять.
Но блин, что же это такое.. Вот опять ПХП опаздывает получается по сравнению с Явой.

Автор: mishau 15.2.2006, 00:47
Вообще интересная беседа, конечно. Крупные проекты, создаваемые в блокнотах и персональные странички сделанные на студии за $1000. smile Странно что люди, знающие плохо java пишут что php лучше, потому что это можно "тоже сделать". Больше всего мне понравлся код для сравнения. Код, который пригоден разве что для прототипирования или для персональной странички, где не абсолютно не важно 6 у вас строк или двенадцать. Сравнивать такой код там, где работает CASE?! Да, теги SQL в JSP категорически противопоказаны (см. Falkner J. Servlets and Java Server Pages). Вы ведь видели во что превращается php при расширении функционала - монстр php nuke или ему подобные. Крупный проект на php зависит от того крупный ли это "веб" проект или это корпоративный проект класса ERP (где может веба и не быть в чистом виде). Главное преимущество java в коропоративных системах - это его однородность - стандарты на все про все. В этом он, наверное, даже превосходит .net, который мне, кстати, очень нравится. В концепции "пишу под веб так же, как под толстого клиента" PHP проигрывает, ибо толстого клиента у него просто нет. PHP заточен под веб и я с трудом себе представляю ту сумму, которую я заплачу програмисту для автоматицации, например, представления отчетных данных XML в документах Microsoft Word или Excel на php. Нельзя решать все задачи только веб-методом, это неестественно. Поэтому встает вопрос, что мы строим: веб уровень готовой существующей большой системы или большую систему строго базирующуюся только на веб. Я периодически имею дело и с тем и с другим. В разработке последней, на php, я принимал участие - мрак. Представьте реализацию OLAP на PHP. Вот-вот.

Что касается веб-уровня, то здесь PHP работает очень хорошо, можно много спорить, но факты есть факты. Он живет, используется и развивается. Средство форматирования данных. Интеркация. Тематические порталы, гостевые книги, формуы и т.д. дешевые или бесплатные и, практически не меняющиеся по функционалу, но все без backend'а и бизнес правил, без системы управления версиями, визуального моделирования, генерации сопроводительных документов и т.п. без чего трудно представить крупные проекты.

P.S. Тут спрашивали о надежности - это время между двумя критическими сбоями системы. Чем оно больше тем надежнее считается система. Надеюсь, теперь легче будет судить что (или кто?) надежнее. smile

Автор: Danox 21.3.2006, 22:08
Ну я бы не сказал что PHP маленький язык и простой!
Вы воопще видели маленький язык прогрмирования?
Могу поспорить некто не знает весь PHP
Некоторые скрипты на PHP стоят от 1000$ до 5000$
Нельзя осуждать язык програмирования потомучто он легкий и простой и воопще не модный
PHP это многодостпуный язык в отличия например от CGI Perl т.к. На перлях сложней и скучней? нет!...
Ну а JAVA морально такоже как и PHP
Их некак нельзя сравнивать!

Автор: batigoal 21.3.2006, 22:36
Цитата(Danox @ 21.3.2006, 23:08 Найти цитируемый пост)
Некоторые скрипты на PHP стоят от 1000$ до 5000$

Нет, этот аргумент против жавистов лучше не двигать smile

Автор: LSD 21.3.2006, 23:56
Цитата(Danox @ 21.3.2006, 22:08 Найти цитируемый пост)
Некоторые скрипты на PHP стоят от 1000$ до 5000$

Забавный аргумент smile
Если хочешь посмотри сколько стоит, скажем WebSphere или WebLogic.

Автор: Exception 22.3.2006, 08:46
Еще одна бредовая тема. Это то же самое, что и сравнивать bat и exe (это немного утрированно, но все же). Как я уже говорил, и .NET и Java расширяемы. Попробуй заставить работать IPB с другими БД. На .NET и Java нужно заменить пару строчек.

Автор: batigoal 22.3.2006, 08:53
Цитата(Exception @ 22.3.2006, 09:46 Найти цитируемый пост)
На .NET и Java нужно заменить пару строчек.

Ну, это тоже не всегда так. Мы, например, сознательно привязались к специфическим фичам Ораклового драйвера, ради производительности.

Автор: ALKS 22.3.2006, 14:03
PHP приятный язык для узкого круга задач. Если ваша задача попадает в этот круг на PHP вы решите ее быстро и легко.
Java это гиганского размера платформа для решения задач любого уровня сложности и любого типа.

Вы упоминаали тут JDBC? но с базами данных в том или дргом виде работает любая современная среда. Другой вопрос какие сервера баз данных и как ваша среда может держать. JDBC драйвера существуют для любо мало мальски используемого сервера RBD. для больший и известных JDBC драйвера существуют еще и не в единственном экземпляре (например MSSQL Server я знаю 5)
выбирайте что вам нужно. хотети покупайте, хотите пользуйте безплатный. Существуют мощнейшие java фрейворки например Hibernate или Torque которые сделают ваше предожение переносимым между раличными серверами баз данных без единой строки кода. А ведь коммуникации с базой данных это только один маленький аспект.

А как в PHP скажем с MessageQueue? c Распределенными вычеслениями? с многопоточными преложениями?

Вы можете слать из PHP email, да? с атачментами? inline графикой? мультипарт? зашифрованные? а там в мэйдинге еще очень много всего.

XML? а вы хотябы представляете сколько существует XML стандартов? а что из них PHP может? XML схемы? трансформация? XSL-FO? вэб сервисы (SOAP, UDDI) и т.п.? XML Security?

Не сравнивайте лопату с экскаватором. Да лопату легко освоить и ей легко и быстро выкопать небольшую яму. Пользовтаься экскаватором нужно учиться. долго. но и выкопать потом можно намного больше.

Автор: skalex 23.3.2006, 13:51
Цитата
Существуют мощнейшие java фрейворки например Hibernate или Torque ...


А вот PHP к сожалению страдает отсутствием мощных фреймворков ...

Автор: batigoal 23.3.2006, 14:08
Цитата(skalex @ 23.3.2006, 14:51 Найти цитируемый пост)
А вот PHP к сожалению страдает отсутствием мощных фреймворков ...

Вроде же там есть Ruby on Rails.

Автор: skalex 23.3.2006, 14:11
Lamer George, так это Ruby! Не путай!!! Кстати очень удачный фреймворк. Я на нем сейчас только и пишу.

Автор: ALKS 23.3.2006, 14:25
Цитата(skalex @ 23.3.2006, 14:11)
Lamer George, так это Ruby! Не путай!!! Кстати очень удачный фреймворк. Я на нем сейчас только и пишу.

Ruby и Ruby on Rails это совсем другая тема ни к PHP ни к Java отношения не имеющая. офтоп! smile

Автор: batigoal 23.3.2006, 14:32
Цитата(skalex @ 23.3.2006, 15:11 Найти цитируемый пост)
так это Ruby! Не путай!!!

Цитата(ALKS @ 23.3.2006, 15:25 Найти цитируемый пост)
Ruby и Ruby on Rails это совсем другая тема ни к PHP ни к Java отношения не имеющая.

Ладно, ладно, верю smile

Автор: ZAVS 5.4.2006, 00:37
Под большим проектом понимаю большое корпоративное приложение. И в таких приложениях обычно логики больше чем представления. пхп сам орентирован на представление, а в яве созданы почти все условия для реализации сложной логики.

Так что если кто то в этих случиях предпочитает пхп, то почему он не пишет не интернет-орентированные приложения на пхп. Ему остается только к пхп добавить gui. Так что уважаемые сторонники пхп( для больших прил. ) почему бы вам не написать текстовый редактор или IDE для пхп на самом пхп.

Автор: alergi 28.9.2006, 22:05
а никто не задумывался, что сравнивать язык программирования с фреймворками некорректно?

Автор: 3,14 29.9.2006, 08:56
Цитата(alergi @  28.9.2006,  22:05 Найти цитируемый пост)
а никто не задумывался, что сравнивать язык программирования с фреймворками некорректно?

Это Java то фреймворк?!  smile 
А мужики то не знают!  smile 

Автор: nerezus 29.9.2006, 09:12
Цитата
Это Java то фреймворк?!  
 А разве богатый набор классов нельзя назвать фреймворком? )

Автор: 3,14 29.9.2006, 09:54
Цитата(nerezus @  29.9.2006,  09:12 Найти цитируемый пост)
А разве богатый набор классов нельзя назвать фреймворком? ) 

Скорее уж тогда платформой, обычно именно этот термин применяют по отношению к Java  smile 

Автор: nerezus 29.9.2006, 22:39
Цитата

Скорее уж тогда платформой, обычно именно этот термин применяют по отношению к Java   
 Ну тогда и дотнет можно назвать платформой %)
И если бы PEAR+PECL был бы глобальнее, то и его тоже.. ;)

Автор: LSD 30.9.2006, 00:08
Цитата(nerezus @  29.9.2006,  23:39 Найти цитируемый пост)
Ну тогда и дотнет можно назвать платформой %)

.NET и есть платформа.

И вообще я не понимаю из-за чего подняли бучу. Сравнивали Java+все наработки для нее, и PHP и все наработки под него.
Вот если бы сравнивали платформу Java, с синтаксисом PHP, вот тогда бы это было странно.

Автор: ZAVS 11.10.2006, 02:18
После каждого запрос-ответа все пхп обьекты умирают, а в яве это не так. Например обьект сервлета не умирает после обработки запроса. Это особеность уже дает большие привелигии ява программистам.

Но вместе с тем пхп можно использовать на хорошем уровне и вместе с этим не быть высоко квалифицированным программистом, чего не можно сказать про яву.

Автор: CyClon 5.11.2006, 17:59
По сабжу - имхо, при отличном знании ПХП можно писать порталы неограниченного размера. Просто нужно использовать все плюсы PHP, т.е. ОПП, дополнительные бибилиотеки, если есть возможность ну и т.д.

Автор: nerezus 5.11.2006, 21:15
CyClon, а почему на процедурной каше нельзя написать портал типа nnm?

Автор: mielnir 5.4.2007, 20:06
Господа, с момента активного обсуждения прошло почти 2 года. Изменилось ли что-нибудь в мире php и java? И, соответственно, изменилось ли Ваше мнение?

Автор: nerezus 5.4.2007, 21:57
mielnir, ну типа джава популярности сейчас не теряет.... в отличии от пхп.

Автор: darkness 20.4.2007, 08:10
Цитата

mielnir, ну типа джава популярности сейчас не теряет.... в отличии от пхп.


Насколько мне кажется, сейчас выявляются два лидера это .NET  и конечно же Java....
Лично меня в PHP смущает отсутствие мощных фрэймворков сравнимо с NET, + к этому неоднозначность среды разработки... Имхо надоели навороченные текстовые блокноты, Фреймворк и среда должны быть едины!!! хотя вот есть  Zend  Studio - можно на досуге попробовать что она из себя представляет... 

Автор: nerezus 20.4.2007, 08:34
Цитата

Фреймворк и среда должны быть едины!!!
 эээ.... чиво? Это типа чтобы в интеллисенс были подгружены классы фреймворка?
Так это везде есть, и в джаве, и в пхп, и в питоне...


Цитата

можно на досуге попробовать
 [censored 6] одним словом, перефразирую: «Говно ваш пхп, того нету, этого нету... что, есть? ну так я этого не пробовал, будем считать, что нету»

Автор: darkness 20.4.2007, 11:38
Цитата

эээ.... чиво? Это типа чтобы в интеллисенс были подгружены классы фреймворка?
Так это везде есть, и в джаве, и в пхп, и в питоне...
 
[censored 6] одним словом, перефразирую: «Говно ваш пхп, того нету, этого нету... что, есть? ну так я этого не пробовал, будем считать, что нету» 

Заметь, это ты сам выдумал, я подобного не говорил и тем более не подразумевал...
Я имел ввиду удобство разработки
Просто назови мне продукт среды PHP, который так же удобен в разработке как к примеру та же самая VStudio2005, какой-нибудь её аналог...
А именно при реализации больших проектов это немаловажный фактор, от удобства зависит скорость реализации...

Автор: Daevaorn 20.4.2007, 13:12
Цитата(darkness @  20.4.2007,  12:38 Найти цитируемый пост)
Просто назови мне продукт среды PHP, который так же удобен в разработке как к примеру та же самая VStudio2005, какой-нибудь её аналог...

Eclipse?

Автор: pythonwin 20.4.2007, 14:25
Цитата(Daevaorn @  20.4.2007,  16:12 Найти цитируемый пост)
Eclipse? 

Eclipse написан на php?
http://ru.wikipedia.org/wiki/Eclipse
Цитата
clipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо "медленного" Swing и полностью зависит от нижележащей платформы (операционной системы), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса.

Автор: Daevaorn 20.4.2007, 16:06
Цитата(pythonwin @  20.4.2007,  15:25 Найти цитируемый пост)
Eclipse написан на php?

а при чем тут "на"? Просили среду "для" php

Автор: nerezus 20.4.2007, 17:06
Цитата

Я имел ввиду удобство разработки
Просто назови мне продукт среды PHP, который так же удобен в разработке как к примеру та же самая VStudio2005
 Zend Studio, Eclipse(правда ща он в dev версиях).

Цитата

Eclipse написан на php?
 На джаве. Для множества языков, в том числе и PHP! И для питона(причем одна из лучших).

Автор: chief39 20.4.2007, 19:38
Ребята, что вы всё (...) с пальцем сравниваете? smile))

У них разные задачи - вот и всё. Просто они немного пересеклись в одной сфере.

Я одновременно когда-то попробовал пхп и джаву. Пхп - совсем не пошёл.джава всё пошла и пошла. Это личное

Ну опять -таки - кому-то нравятся скрипты - кому-то жёсткотипизированный код, когда-то 1-е, когда-то второе лучше.
Для чего-то проще написать быстро mysql_connect чтоб сраз заработало, для чего-то проще написать универсальный getConnection чтоб перевести потом на иной драйвер/датасорс

ПХП - удобдная, скрипотвая среда с навешанными примочками. Для небольших сайтов - да ради бога!!! Большие - тоже.
Что касается сложности алгоритма - то язык - побоку.
Что же касается распределённости, унификации всех ярусов приложения и мног чего ещё - тут лучше джава. Что касается - "сел и написал сразу вот такое" - пхп.(хотя и на джаве мона smile )
Напротив, пихать спринг, хибернейт, еджиби в сайтик с "hello! my name is vasya! you are 345 guest at my site"

Зачем сравнивать пресловутые лопату с экскаватором? smile
Зачем лопатой копать котлован?
Зачем экскаватором перекапывать клумбу?

Кроме того, не сравнивайте "большесть" систем в куче.
Есть большие по количеству кода
Есть большие по нагрузке
Есть большие по сложности алгоритмов(!)
Есть большие по распределённости и гетерогенности
Есть большие по количеству мелкого фукционала, который работает "рядом" с сотнями других его братьев-близнецов.

Но за энтерпрайс -приложениями будущее(необязательно именно вэб)
Тут джава вырывается вперёд...

Просто у каждого остаётся своя ниша.

А то вы прям архиватор с ОСкой сравниваете, причём по скорости работы smile))

Добавлено через 7 минут и 52 секунды
Кстати, подобное и внутри джава-мира. Человеку нужен просто сайт со списком вакансий/резюме/компаний, а он уже несётся с еджибями наперевес, и кучей фреймворков. Нахвига? smile Просто нравится "большой красный экскаватор"(исключая случаи самообучения и тренировки).  
И его не волнует что он жрёт много бензина, всем мешает, аж земля дрожит и его долго заводить.
Для этого ребята даже придумали термин POJO, чтоб люди вернулись обратно к простым классам вместо бинов everywhere.

"Это все равно, как  если  бы  Рузвельт  пошел  на одного медведя с двумя кулаками"(с)О.Генри
smile)

Автор: check 20.4.2007, 20:27
Цитата(ZAVS @  11.10.2006,  02:18 Найти цитируемый пост)
Но вместе с тем пхп можно использовать на хорошем уровне и вместе с этим не быть высоко квалифицированным программистом, чего не можно сказать про яву. 
Не знаю,   я полгода пишу на Java и в данный момент могу написать на ней всё то же самое что и на PHP(я про веб-программирование естественно),   с одной лишь разницей - мой код стал гораздо более управляемым.    
Java дисциплинирует, хотя  поначалу многое в ней  кажется чуть-ли не насилием над свободой личности smile 

Наверное на PHP можно написать не менее безопасный и расширяемый код,  но мне кажется это потребует от программиста как раз большей квалификации.    Начать хотя бы с такой "мелочи", что у  PHP нет компилятора,  который заставляет потенциально опасные места заключать в блок try и ловить соответсвующий эксепшн.
Я уж не говорю о том, что в Java вы обязаны использовать ООП, другого не дано,  а в PHP это дело вкуса.  И новичку бывает совсем не просто понять - зачем нужно писать лишний код и усложнять простые вещи.  



Автор: chief39 21.4.2007, 02:10
Цитата(check @  20.4.2007,  20:27 Найти цитируемый пост)
Наверное на PHP можно написать не менее безопасный и расширяемый код

Ну... если язык не поддерживает контроля, то свежий человек может в мгновение ока сделать код опять небезопасным. Во время "расширения". Ессно, если человек гений - то он на чём угодно напишет код без ошибок и опасностей вообще. Но я таких пока не встречал :(
А для всех остальных есть "большие возможности"  запороть бок и "маленькие" smile

Автор: nerezus 21.4.2007, 07:20
Цитата

Наверное на PHP можно написать не менее безопасный и расширяемый код
 Ну... мешает этому человеческий фактор ) Хотя в теории можно )
Да и кстати ексепшены в пхп имхо не работают ) Вернее работают, но функции при ошибке их не выбрасывают ;) Что впрочем одно и то же )

Автор: MrCherry 5.9.2007, 22:27
мечтаю о php со всеми фишками jsp, asp...

Автор: ReactOS 27.10.2007, 21:44
Тему считаю неправильной.

Нужно было сравнивать Action Script и Java

Если брать PHP, то нужно к нему добавить еще JS, тогда, наверное, и можно начать сравнивать!

Автор: batigoal 27.10.2007, 23:00
Цитата(Marry88 @  27.10.2007,  22:44 Найти цитируемый пост)
Нужно было сравнивать Action Script и Java

Э-э-э... С чего бы вдруг? Разве на ActionScript'е уже пишут сервер-сайд?

Цитата(Marry88 @  27.10.2007,  22:44 Найти цитируемый пост)
Если брать PHP, то нужно к нему добавить еще JS, тогда, наверное, и можно начать сравнивать! 

В любом веб-приложении активно используется JS, независимо от того, на чем оно написано.

Автор: Ch0bits 27.10.2007, 23:44
Меня именно Java научила разумному применению ООП и продумываю структуры системы, хотя до этого писал на разных языках. Несомненно Java учит КУЛЬТУРЕ программирования, в отличия от PHP.

Автор: pythonwin 28.10.2007, 06:54
Цитата(Ch0bits @  28.10.2007,  02:44 Найти цитируемый пост)
Несомненно Java учит КУЛЬТУРЕ программирования,

согласен smile

Автор: ReactOS 28.10.2007, 13:04
Цитата

Э-э-э... С чего бы вдруг? Разве на ActionScript'е уже пишут сервер-сайд?


На AS можно с БД соединяться, существует ООП, читала на этом же форуме про Flash API.
Поэтому считаю Flash мощной платформой, которую уже можно было бы сравниваить с Java.
Спроси Aldev насчет этого, он является спецом в этой области.

Автор: LSD 28.10.2007, 13:22
Цитата(Marry88 @  28.10.2007,  14:04 Найти цитируемый пост)
На AS можно с БД соединяться, существует ООП, читала на этом же форуме про Flash API.

Причем тут БД, в данном топике речь идет о написании серверной части, а не клиентской. На AS можно писать серверную часть (как на PHP или Java)?

Автор: batigoal 28.10.2007, 13:31
Цитата(Marry88 @  28.10.2007,  14:04 Найти цитируемый пост)
На AS можно с БД соединяться, существует ООП

Это я знаю и сам. Но здесь идет дискуссия о написании серверной стороны, а не клинтской. И, на мой взгляд, ActionScript, Flash или там Flex здесь никаким боком не годятся.

Автор: ReactOS 28.10.2007, 13:42
Цитата

Это я знаю и сам. Но здесь идет дискуссия о написании серверной стороны, а не клинтской. И, на мой взгляд, ActionScript, Flash или там Flex здесь никаким боком не годятся.


Извините, не поняла о чем речь идет.  smile 

Автор: batigoal 28.10.2007, 17:29
Цитата(Marry88 @  28.10.2007,  14:42 Найти цитируемый пост)
Извините, не поняла о чем речь идет.

О том, что данный топик был создан для сравнения PHP и Java как двух платформ серверного программирования. 

Автор: ReactOS 28.10.2007, 18:46
batigoal
Цитата

О том, что данный топик был создан для сравнения PHP и Java как двух платформ серверного программирования.


А если брать не серверное, а на стороне клиента, то что лучше ПХП или Джава?

Автор: Daevaorn 28.10.2007, 19:15
Цитата(Marry88 @  28.10.2007,  19:46 Найти цитируемый пост)
А если брать не серверное, а на стороне клиента, то что лучше ПХП или Джава?

Если рассматривать WEB программирование, то PHP "клиентски" нельзя выполнить, аплет на Java можно. А вообще clent-side лидер это JavaScript

Автор: sergejzr 28.10.2007, 19:16
А какая разница клиенту, из чего на сервере текст генерится?

И для PHP и для JAVA существует множество библиотек для облегчения генерации этих страничек (попросту говоря - текста).

Например в ПХП есть темплейт, который массивы ПХП выписывает в JS. Для явы в свою очередь существует целый кит (Google Web Toolkit) для облегчения работы с клиентом. Вот только самому клиенту глубоко всё равно, как там сервер извращается.

Автор: ReactOS 28.10.2007, 22:10
Цитата

Вот только самому клиенту глубоко всё равно, как там сервер извращается. 


Золотые слова! +1 тебе  smile 

А потом еще клиент жалуется, не зная, какие извращения ты сделал! smile
Знал бы, то помолчал! smile

Автор: sTa1kEr 31.10.2007, 01:38
Цитата(Daevaorn @  28.10.2007,  20:15 Найти цитируемый пост)
Если рассматривать WEB программирование, то PHP "клиентски" нельзя выполнить, аплет на Java можно.

При чем тут Java апплеты? С тем же успехом можно назвать ActiveX самой "продвинутой" технологией веб программирования.
Если по сабжу, то все зависит от проекта. В большинстве случаев PHP справляется со своей задачей, а когда требуется бОльшая производительность/универсальность, то тут уж скорее на помощь придет C++/Perl чем Java.

Все равно что сравнивать крейсер с танком на воздушной подушке. Хоть танк и на земле и на воде может передвигаться, но с крейсером ему не сравнится. 

Автор: Daevaorn 31.10.2007, 10:59
Цитата(sTa1kEr @  31.10.2007,  02:38 Найти цитируемый пост)
При чем тут Java апплеты? 

собственно был вопрос про client-side. смотри внимательней.
Цитата(sTa1kEr @  31.10.2007,  02:38 Найти цитируемый пост)
В большинстве случаев PHP справляется со своей задачей, а когда требуется бОльшая производительность/универсальность, то тут уж скорее на помощь придет C++/Perl чем Java

Мягко говоря не правда, если рассматривать WEB программирование.
Цитата(sTa1kEr @  31.10.2007,  02:38 Найти цитируемый пост)
Все равно что сравнивать крейсер с танком на воздушной подушке. Хоть танк и на земле и на воде может передвигаться, но с крейсером ему не сравнится.  

вот и не сравнивай.

Радует лишь то, что всё больше людей переходят с php на что-то более серьезное....

Автор: LSD 31.10.2007, 11:03
Цитата(sTa1kEr @  31.10.2007,  02:38 Найти цитируемый пост)
В большинстве случаев PHP справляется со своей задачей, а когда требуется бОльшая производительность/универсальность, то тут уж скорее на помощь придет C++/Perl чем Java.

Сразу видно, говорит человек который десяток сайтов на С++ написал smile

Автор: Sun 31.10.2007, 15:42
Цитата(LSD @  31.10.2007,  08:03 Найти цитируемый пост)
Сразу видно, говорит человек который десяток сайтов на С++ написал smile


C++ для сайтов только лохи используют. Всем давно известно что самые производительные сайты пишут на ассемблере! 

Автор: Shaggie 31.10.2007, 15:51
Цитата(Sun @  31.10.2007,  16:42 Найти цитируемый пост)
C++ для сайтов только лохи используют. Всем давно известно что самые производительные сайты пишут на ассемблере!

э-э-э, ламерьё... ассемблер! Да ещё поди с макровставками... фи.

Машинные коды - наше фсьо!

Автор: darkness 1.11.2007, 05:53
ShaggieSunLSD, ГОСПОДА!!!! Благодарю - вы мне просто открыли глаза!!!

Автор: sTa1kEr 1.11.2007, 08:39
Прошу прощенья, не совсем трезвым был, когда писал последнее сообщение.
Естественно, про написание сайтов на C++ я не имел ввиду. Я имел ввиду вынесение сложной логики из большого веб проекта.

Автор: SneG0K 4.1.2009, 01:25
Мда... Если меня еще не убивает память, то PHP - это серверный язык, в то время как Java работает на стороне клиента.
Какой тогда смысл вообще пользоватся браузером, если писать на Java?

Автор: bars80080 4.1.2009, 02:11
вам какую джаву? по пять, но большую или ту что по три маленькую?

javascript - клиентский, но он никак не относится к java
ещё клиентские java-апплеты, но они уже вымерли почти что
а сама java серверная

Автор: chipset 4.1.2009, 03:30
Цитата(SneG0K @ 3.1.2009,  15:25)
Мда... Если меня еще не убивает память, то PHP - это серверный язык, в то время как Java работает на стороне клиента.
Какой тогда смысл вообще пользоватся браузером, если писать на Java?

Не понял. Java работает на сервере. RTFMь Glassfish, Tomcat, Spring, Struts, Grails, etc.

Автор: yesss 3.7.2009, 14:29
Обновим холивар.
 Я очень много писал на PHP раньше. Потом стал заниматься Java.
Было дело еще на Visuаl C немного .NET.
 
 Java - это скорее следующая ступень в разработке web прилодений. Ибо есть простая истина "чем сложнее первый раз настривать, тем меньше надо туда лазать и лучше будет работать".
 Вот если взять простой пример в php передается параметр - число.
 Что мы делаем? правильно проверяем а число ли это. Потом в функции вызываем исчо func2 с этим параметром и что дальше?  А дальше в func2 надо опять проверить и int ли нам передают, потому что мы не уверены что func2 будем использовать только мы, а вдруг другой программист тоже smile.
 Короче типизация вещь. Объявил int и на 100% уверен, что там будет число.

Далее сейчас можно увидеть то, что было очевидно еще давно. frontend web приложений - исполняется на сервере, а вот back-office для работы магазина например под web тормозит и гораздо проще использовать толстого клиента. ВОт тут и засада все методынапример проверки данных или добавления товара в php можно выкинуть в помойку, потому что полноценное приложение на нем не напишешь. А вот код от Java можно спокойненько брать и юзать и при этом сервак не грузится всякими формочками проверками регулярными выражениями и прочим.
 А если нам нужен клиент под мобильное устройство или iPhone?

Причина того, что очень много крупных проектов (реально очень крупных) сидит на php - это то, что они создавались когда-то на коленке и сейчас перевести например mamba.ru на Java - задача из области сверхъестественного. Java под Web стала продвигаться не так давно как и .NET.

Ну и офф-топ .NET vs Java. - Java сейчас  почти вся OpenSource. А вот .NET - дорого. OpenSource приложений для разработки - мало и крупным вендором не держатся как NetBeans Sun например.

 


Автор: freel 13.7.2009, 09:33
Здравия!
Помогите вникнуть в реализацию работы JSP после PHP
1) скачал это http://tomcat.apache.org/download-60.cgi
2) посадил его на порт 8097, сказал startup.sh
3) по http://localhost:8097/ получаю приветсвие Томката.

Вопрос по написанию приложений на JSP
В PHP при использовании модели MVC были отдельно скрипты которые по запросам POST и GET от пользователя делали выборку информации толи из БД то ли из каталога с *.html файлами, и выдавали эту информацию в ответ пользовалею в браузер. если можно растолкуйте пожалуйста в чём именно принцип оличия работы ПХП и ЖСП какие нюансы и тонкости, какая MVC применяется или какой подход/подходы, В нете информации много но очень в неупорядоченом виде, хочу услышать речь Грамотного человека..

Каким образом реализовано сие в JSP откомпилированны й java класс получает от пользователя запрос и по аналогии с ПХП скриптом производит выборку той или иной информации?

4) куда ложить JSP программки ?
5) каким образом заставить ТОмкат выполнять приложение по ссылке http://localhost:8097/ ?

Спасибо за внимание.

Автор: Wowa 13.7.2009, 09:40
Цитата(freel @  13.7.2009,  08:33 Найти цитируемый пост)
Помогите вникнуть в реализацию работы JSP после PHP

Модератор: Пожалуйста, один топик - один вопрос.

Ваш вопрос следует в разделе по Java задавать.

Автор: APro 30.9.2009, 17:04
Вижу тему затеял Irokez... ну что ж, можем его поздравить, он всё таки написал свою CMS и написал её на PHP  smile  smile  smile (не плохо получилось у него, вроде...)

Автор: Temdegon 5.11.2009, 07:02
Захватывающая тема. 
Так получилось, что я сейчас на работе пишу на PHP, а Java изучаю для себя (и получаю кучу удовольствия от этого процесса). Проект на ПХП довольно крупный - ПО для американских школ, все через веб-интерфейс. Писали десяток программеров пару лет, последние четыре года активно используется американами, а нами саппортится и дорабатывается. Про все ужасы правки багов в проекте с парой-тройкой тысяч php-файлов (каждый из которых писался и дописывался десятки раз разными людьми в разное время, состоящих из каши php+javascript+hmtl+огромные SQL-запросы, с устаревшими комментами, без строгой концепции именования и форматирования) рассказывать не буду, и так все ясно. 
Некоторые вещи в PHP-программистах меня сильно поражают. Вот у нас сидят 8 программистов, есть относительно молодые, есть уже матерые, которые на PHP пишут больше 10 лет. Абсолютно никто не знает, как на самом деле работает PHP! Т.е. я вот разбираюсь с Java. Я неплохо себе представляю, что такое сборка мусора, что такое байткод, что-то такое JIT и hotspot, чем отличается java -server от -client. Знаю, зачем нужны обычные массивы и чем они отличаются от коллекций. точно знаю, что String - неизменяемый обьект, и зачем нужны StringBuffer и StringBuilder. И все это знает практический каждый Java-программист. Однажды пришлось писать скрипт, генерирующий csv-отчет. файл получается оооочень большой, ну и внутри идет постоянная конкатенация строк. Вспомнив особенности строк в Java, возник вопрос, а как же работают строки в пхп? А не будет ли моя строка пересоздаваться милион раз? Начал спрашивать коллег - никто не знает. Вообще не понимают вопроса! "ну добавляются новые куски к строке и все! Какие тут сложности?". Понял, что это бесполезно, пошел гуглить, но в результате я так и не нашел ответ на этот вопрос. Наверное плохо искал...
Как работают массивы для нас тоже загадка. Понятно, что это не совсем массивы, а скорее что-то типа HashMap, но деталей никто не знает.
Как и когда выделяется и освобождается память  тоже тайна. Превышен лимит используемой памяти - повысил в два раза и на пол года о проблеме забыл =)
Может оно и не надо? Ну работает и работает, а если что - докупим железа....
Мне сейчас ясно одно: если бы проект изначально писался на Java, то все было бы намного лучше. Но кто ж знал 8 лет назад, что проект так разрастется и засрется....

Автор: Bulat 5.11.2009, 16:21
Не читал всю тему сначала, но мое субъективное мнение, что все зависит от двух криетриев:

1. Уровень знаний того инструментария, который используется(в данном случая язык программирования Java и PHP)
2. Что хотим получить(какие критерии к продукту)

Ибо при желании, можно писать довольно серьезные проекты и на PHP, и на Java "всякую чушь компилить". smile

В свое время сильно увлекался джавой, и даже малость кое-чего писал(правда не веб), а сейчас пишу на перле... Сейчас вот столкнулся с проектом написанным на перле в ОО стиле.. причем местами не оч красиво... Еще раз для себя убедился, что "изобретать велосипед" - вещь не оч. хорошая... Если так хотелось писать в ОО стиле, можно было бы и на той же джаве...

пхп знаю постольку-поскольку... Но если меня спросят можно ли на нем писать серьезные проекты, я отвечу, что - ты не знаешь пхп так хорошо, чтобы писать такие большие и серьезные вещи...  smile ну нет среди моих знакомых таких хороших знатоков пхп. smile Хотя может я и ошибаюсь.

Частично согласен с мнением Temdegon'а, о том, что нужно все же знать "внутренности языка". Заюзать уже готовое решение не так сложно, чем иной раз воспроизвести что-то свое, с нуля, а для этого нужны глубокие знания. smile

Автор: _EXN_ 11.2.2012, 01:28
я злостный некропостер smile

 с высоты огромного, многолетнего опыта разработки крупных проектов на java и php затрудняюсь ответить. но для ###сайтеков однозначно пыхпых, пишется один раз и похоже до гроба его трогать никто не будет, новостной там почтовый мегастартап все на пыхе делать, сдавать и забывать как страшный сон. ява это немного другое, это там где есть мозги и деньги, это те редкие 2% разработок. 

Автор: lukas 16.2.2012, 11:56
Цитата(_EXN_ @  11.2.2012,  01:28 Найти цитируемый пост)
 с высоты огромного, многолетнего опыта разработки крупных проектов на java и php затрудняюсь ответить. но для ###сайтеков однозначно пыхпых, пишется один раз и похоже до гроба его трогать никто не будет, новостной там почтовый мегастартап все на пыхе делать, сдавать и забывать как страшный сон. ява это немного другое, это там где есть мозги и деньги, это те редкие 2% разработок.  


Теперь и на java можно писать все что ты перечислил без напряга пятой точки: http://www.playframework.org/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)