Php4 или asp net что лучше


Содержание

Что выбрать PHP или ASP.NET

Какие сейчас перспективы на то или иное. Что выбрать для web-программирования. Как я понимаю на ASP.NET можно писать на C#.
Объясните пожалуйста, и вообще что больше требуется в реальности при устройстве на работу в веб студию PHP или ASP.NET

я в свое время выбрал php и не жалуюсь =)

Вроде как РНР сейчас на подъеме ;)

Хотя я например, кроме PERL вообще ничего не признаю ;)

Python или Аспых, лучше питон.

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

RoR
А если сурьезно, то не знаю.

ASP.NET — очень рекомендую. Отличная объектная модель, доступ ко всем классам Net. Framework — файловая система, реестр, шифрование, БД и многое другое.
Хотя объективно судить не могу, т.к. с PHP не работал.

__pt
зато я могу %) Работал и с тем и с тем.

У ASP.NET есть очень сильные плюсы. Например удобство разработки и отладки — всё работает прямо из визуалки. Но что меня зацепило — то что ASP.NET сайт это ПРИЛОЖЕНИЕ. то есть оно постоянно висит в памяти. Что называется «всем независимым создателям MMORPG посвящается» ;-)

+ стоимость хостинга отличается не на много. Я например взял за 108$ на год 10 GB места + 500 GB трафика. Правда PHP там тоже поддерживается ;-)

В качестве просто прикольных штук скажу что делал рендер картинки через D3D и эта картинка возвращалась в поток запроса веб-страницы. То есть можно сделать предпросмотр модели на сайте с рендером этой модели на сервере. Причём всё это делал без дополнительных приложений, прямо внутри кода сайта.

>Summary
>Rails performed much better than Symfony. And Django performed much better than Rails.
Symfony — это пхп фреймворк, Django — питон фреймворк.

Питон щас быстрей чегобы то ни было. И это большой +. Аспых самый простой/удобный и для когото тоже плюс ;)

> Аспых самый простой/удобный и для когото тоже плюс ;)
Только недавно видел статью с замечательным названием «приводит ли работа с Visual Studio к гниению мозга» ;-)

Аспых это ASP или ASP.NET? Просто разница между ними существенная afaik

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

lost_child
>Аспых самый простой/удобный и для когото тоже плюс ;)
Ну-ну. Поехали. Формошлепство, для детей.

Jakobz
Plz, Notice:
и для когото тоже плюс

PS>Что плохого в формочках, если тебе надо вывести прайс из бд?

lost_child
По-хорошему на AspX никто не лепит формочки через редактор.
К тому же AspX нифига не самый простой — он значительно сложнее php. В том числе и для изучения.

Я липлю формочки через редактор. :)

Php — это их разряда easy to learn, hard to master. Очень хард :)
Комплексное приложение на пхп написать сложнее чем на аспыхе.

seo-doka.ru

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

  • Вернуться на сайт
  • Список форумовСайтыПрограммирование для Web
  • Изменить размер шрифта
  • Для печати
  • FAQ
  • Пользователи
  • Регистрация
  • Вход

PHP или ASP.Net?

PHP или ASP.Net?

Gulia » 15 май 2012, 10:17

Re: PHP или ASP.Net?

GrBear » 17 май 2012, 12:28

Общаясь на форумах, давно понял бесперспективность обсуждений типа — «чья корова лучше». Важно чего и сколько получается на выходе, а результат программирования — программа способная максимально удовлетворить запросы пользователя.

Когда-то давно был свидетелем борьбы программистов, представителей разных систем (С++ и Vbasic). Задание простое: имеется массив данных с различными типами значений, требуется организовать ввод/вывод, редактирование и защита от «дурака». Критерии: объем программы, скорость ее выполнения и дизайн ввода/вывода на дисплей по 10-ти балльной шкале.

Результат по очкам практически одинаковый, но больше понравилась та прога, которая удобно и красиво отображала действия оператора на экране, хотя и проиграла по всем другим показателям. Вот так-то. «Думайте сами, решайте сами, иметь или не иметь» .

Re: PHP или ASP.Net?

Gulia » 21 май 2012, 09:30

Re: PHP или ASP.Net?

ant80 » 23 май 2012, 09:39

Буду следить за темой. Я лично могу работать только в ПХП, другого не знаю.
Насколько я понял, АСП разрабатывалась, как некая альтернатива ПХП, то есть для отделения оформительской (ХТМЛ) части от исполняемой (управление БД, динамические странички и т.д?) Если я не прав, то поправьте. Думаю, Микрософт хочет встроить АСП в Винду и Эксплорер, подсадить на них юзеров а затем отменить поддержку других приложений. Обратил внимание, что на АСП начали писать забугорные магазины и прочие медиасайты.

P.S. Почему-то уверен, что в АСП полно глюков, как и во всех других приложениях МС, чтобы пользователи переходили на следующие, «исправленные» версии. И встроено несколько «черных ходов» для контроля сайтов. Поэтому держусь пока за ПХП. Он как-то привычнее и надежнее кажется.

Re: PHP или ASP.Net?

Gulia » 24 май 2012, 08:46

Re: PHP или ASP.Net?

Oleg » 05 июн 2012, 09:59

Re: PHP или ASP.Net?

Gulia » 20 июн 2012, 07:04

Re: PHP или ASP.Net?

Oleg » 23 авг 2012, 06:57

Re: PHP или ASP.Net?

Gulia » 15 ноя 2012, 06:48

ASP.NET MVC или PHP YII. Сравнение производительности

Я член freelance команды AdvanceDev и к нам очень часто обращаются заказчики с просьбой разработать сайт или срм, именно на php. Если мы предлагаем разработку на asp.net, то в ответ слышим множество необоснованных аргументов против asp.net и в пользу php.

В данной статье я хочу разобраться с наиболее часто приводимым аргументами против asp.net. Стоит отметить, что тут и везде, под asp.net подразумевается asp.net mvc, а не asp.net web-forms. Это две разные технологии, как груша и яблоко, путать их между собой не стоит.

Я ни в коем случае не хочу умалить достоинства php, моя цель — доказать, что asp.net не хуже.

И так, самые распространенные «причины» по которым заказчики не хотят иметь сайт или систему на asp.net

Asp.net устарел, а php это передовые технологии

Это совершенно не так. PHP был разработан в 1994 году и предназначался для разработки небольших сайтов. PHP — Personal Home Page, что в переводе означает Персональная Веб Страница. С тех пор php сильно вырос, последняя версия PHP 5.6 была выпущена летом 2014 года.

ASP.NET MVC был разработан в 2007 году и выпущен в открытое использование в 2009 году. Последняя версия asp.net mvc 5.2.2 вышла летом 2014 года.

Из сказанного выше можно сделать вывод, что asp.net mvc это более современная технология, тем не менее, обе технологии поддерживаются и развиваются с одинаковым темпом.

Для php есть множество программистов, которые смогут взять сайт в любой стадии и продолжить над ним работу. В то время как asp.net программистов очень мало

Для решения этого вопроса нужно четко определить, кто входит в разряд «программистов». Если asp.net и php изобразить картинкой, то результат будет примерно такой:

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

Базовые знания php освоить проще, чем asp.net, поэтому все, кто хоть немного знают php, рекламируют себя как «php программист». Когда же доходит до разработки серьезных вэб-сайтов или вэб-систем, такие программисты проваливают сроки, сливаются и пропадают со связи.

К нам очень часто обращаются заказчики с просьбой «доработать сайт на php, так как его создатель не может сделать эту функцию» или «переработать сайт на php, так как он работает очень медленно и с ошибками, а его создатель получил деньги и пропал со связи». Но еще ни разу не было случая, когда к нам обратились с подобной просьбой для asp.net сайта.

На самом деле, программистов высокого уровня на php и на asp.net примерно одинаково. Очень часто квалифицированные программисты умеют программировать и на php, и на asp.net.

Любой программист, у которого есть пару лет опыта работы и несколько реализованных больших проектов и на php, и на asp.net mvc скажет, что в php не хватает множества полезных функций, которые упрощают и ускоряют разработку сайта или веб-приложения.

Для работы asp.net сайта нужен дорогой сервер, на обычном хостинге сайт работать не будет

Еще одно заблуждение. Цены на хостинг для php и asp.net не отличаются. Вот пример: http://www.1gb.ru/, даже самый минимальный тарифный план «Стандарт» уже поддерживает asp.net, а всего за 274р в месяц можно получить и MS-Sql Server, любой необходимой версии.

Для большого сайта, будь то php или asp.net придется арендовать виртуальный или реальный сервер, цены на сервера не отличаются.

Для php предпочтительней использовать операционную систему Linux, она бесплатна. В случае необходимости, php сайт можно с легкостью перенести на Windows сервер.

Windows это родная и предпочтительная операционная система для asp.net. Однако asp.net так же может работать и под Linux, с некоторыми ограничениями.

Стоимость покупки пожизненной лицензии:

  • Windows 2008 R2 — от $250
  • Windows 2012 R2 — от $500

Из-за того, что в php не хватает множества возможностей, которые есть в asp.net, разработка на php выходит дольше, а следовательно дороже, чем на asp.net. Из нашей практики, цена одного и того же проекта на php и asp.net отличается в 1,5-2 раза.

Небольшой расчет по проекту:

ASP.NET MVC + Windows + MS-Sql Server

  • Разработка системы — $2000
  • Операционная система — $500
  • MS-Sql Server — бесплатная версия
  • Итого $2500

PHP YII + Linux + MySql Server

  • Разработка системы — $3000
  • Операционная система — $0
  • MySql Server — бесплатная версия
  • Итого $3000

Как видим, разработка одной и той же системы на php обходится дороже, чем на asp.net, даже с учетом покупки лицензии Windows. Если вас не устраивает бесплатная версия MS-Sql Server, то всегда можно использовать MySql Server. MySql отлично работает под Windows.

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

Сайт написанный на asp.net работает медленней чем php вариант и начинает еще больше тормозить с приростом количества пользователей

Наверное, самая большая причина, из-за которой заказчики «боятся» asp.net. Устаревший asp.net действительно тормозит и потребляет много ресурсов. Но asp.net и asp.net mvc это разные технологии, путать их между собой нельзя! Очень часто, php программисты не имеют никакого представления о том, что такое asp.net mvc и как эта технология работает, судят только по названию и утверждают, что asp.net mvc устарел и уступает php по всем параметрам.

Я провел тестирование производительности php и asp.net mvc под Linux и Windows. Для тестирования был создан небольшой сайт, в котором есть набор продуктов, набор заказчиков, набор заказов и набор позиций заказа. Всего четыре сценария тестирования.

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

  • win – windows
  • asp.net – asp.net mvc
  • ms-sql – ms-sql server
  • mysql – mysql server

1. Импорт из текстового файла

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

Как видно из результатов тестирования, в данной задаче asp.net под windows несущественно уступает php под linux при небольшом кол-во пользователей и значительно опережает конкурента при большом количестве пользователей.

Несравнимо плохой результат показывают php под windows и asp.net под linux.

2. Экспорт в excel из базы данных

Необходимо выбрать всех заказчиков из базы, отсортировать по алфавиту, сохранить в excel файл и отдать пользователю ссылку для скачивания файла.

Во всех тестах побеждает asp.net mvc под windows в связке с ms-sql server, для выполнения той же задачи php под linux + mysql потребовалось более чем в два раза больше времени.

Почти такой же результат показала связка asp.net mvc под windows + mysql, тогда как asp.net под linux + mysql опережает php, но не на много. Связка php под windows + mysql еще раз очень сильно отстает.

3. Выборка и отображение товаров из базы

Поиск товаров по категории и части названия. Результат отобразить пользователю в виде таблицы.

И тут asp.net опережает php в любой связке. Стоит ометить, что mysql кэширует результат запроса и не выполняет одинаковый запрос несколько раз, если не было изменений в базе. Из-за этого mysql опережает ms-sql в данном тесте. Если вручную сделать кэширование для ms-sql, то результаты будут примерно одинаковыми.

4. Оформление заказа

Выбрать случайного клиента. Создать для него заказ. Набросать в заказ десять случайных товаров. Сохранить данные и вывести пользователю на экран информацию о покупателе и список товаров.

В последнем тесте, связка asp.net mvc под windows + ms-sql с большим отрывом опережает все остальные варианты. Почти в два раза отстает php под linux + mysql, asp.net + mysql под windows и linux показывает неплохой результат, а php под windows и тут очень сильно отстает.

Средняя производительность по четырем тестам

Не трудно заметить, asp.net + ms-sql опережает php + mysql при любом количестве пользователей и чем больше пользователей, тем сильнее этот отрыв.

asp.net + mysql показывает примерно такой же результат как и php + mysql, но все же вырывается вперед,
asp.net + mysql под linux немного отстает от windows версии,
а php под windows работает так медленно, что его нет смысла даже показывать.

Все тесты проводились на одном и том же компьютере. Во время тестирования не была запущена ни одна лишняя программа. Каждый тест был запущен четыре раза и взят средний результат.

Тестирование проводилось под:

  • ASP.NET MVC 4, .NET 4.5
  • PHP 5.6 YII2
  • Windows 8, IIS8, MS-SQL Server 2012 Express, MySql 5.5
  • Ubuntu 14.10, Apache2, MySql 5.5
  • Ubuntu 14.10, Nginx + fastcgi-mono-server4, MySql 5.5
  • CPU: AMD Phenom II 965 x4
  • RAM: 4gb RAM
  • HDD: WD 1T

И в заключении хочу привести несколько примеров успешного использования asp.net mvc в огромных проектах.

  1. http://stackoverflow.com/ — форум для программистов и не только. Около миллиона посетителей в день.
  2. http://dearsystems.com/inventory-software/ — популярная в Австралии и США СРМ система складского учета.
  3. http://www.asp.net/ — сайт по asp.net.
  4. http://live.com/ — популярный почтовый сервер и не только.
  5. http://www.documentoved.ru/ — Документовед, онлайн-сервис оформления документов.

Тут можно посмотреть статистику развития и популярность asp.net mvc
https://www.similartech.com/technologies/asp-net

Что за бред я только что прочитал? Автор, ты действительно веришь в то, что написал?

«Старый ASP.NET медленее PHP о_О А MVC это же совсем другое дело, он намного быстрее» а ничего, что старый ASP.NET и ASP.NET MVC отличаются в этом плане совсем незначительно и показывают на простейших операциях примерно одинаковые результаты?

Разработка сайта на ASP.NET дешевле чем PHP? Разработка сайта с нуля на ASP.NET MVC выходит дороже, чем на ASP.NET WebForms и гораздо дороже, чем ПХП+CMS(которых под него огромное количество).

Правда в том, что 90% клиентов достаточно сайта на WordPress (именно на нем, а не на PHP). А вот сложные веб-приложения действительно лучше разрабатывать на ASP.NET MVC или WebForms в зависимости от того, что требуется.

Арам, большое спасибо за авторитетное мнение без каких-либо оснований и фактов. Верить или не верить можно в что-то не проверенное, а я всего лишь излагаю информацию, основываясь на факты. Если сравнивать простейшие операции, почему тогда не написать сайт в виде c++ cgi, ведь будет еще быстрее? Очевидно, что речь идет о больших системах. На asp.net webforms можно написать быстрый сайт, но придется уходить от концепции и делать гибрид между webforms & mvc. Если брать во внимание сайты-визитки и блоги, то тут php будет выгодней. Но любой, мало-мальски толковый проект, с небольшой порцией сложной логики ставит эти cms в тупик. У меня есть больше дюжины заказчиков, которые «испугались» моей цены и обратились к «php умельцам». Получили сайт на какой-то cms (WordPress, OpenCart, Joomla) и были довольны, но не долго. Через месяц или два, в голову приходит «феноменальная» идея, которую php умелец не может реализовать в силу ограничений cms, либо это будет очень дорого. В результате заказчик выкидывает php сайт и обращается ко мне. 90% чьих клиентов? 90% моих клиентов заказывают сложную crm систему ценой от 3000$, поэтому не стоит кричать во все стороны, что WordPress спасет web-мир.

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

Я сам часто доделываю эти недосайты от недопрограммистов (которые научились устаналивать CMS и плагины и решили, что уже умеют делать сайты) и я не люблю PHP (хотя при достаточном уровне можно и на нем написать что угодно).

Скорость работы приложения не всегда является самым важным критерием. Например, если говорить о скорости работы, то крупные распиаренные ORM (EF, NHiberbnate) заметно уступают прямому доступу к БД, но это не мешает их использовать в том же ASP.NET MVC. Вы, кстати, что используете у себя?

Теперь о том, что я назвал бредом:

Статья о сравнении производительности ASP.NET MVC и PHP YII, а в итоге сравниваете просто ASP.NET и PHP.

ASP.NET WebForms никогда не был медленее PHP. Как минимум 10 лет назад, когда я начинал с ним работать, он был быстрее, удобнее и надежнее.

Скорость работы приложения ASP.NET MVC и ASP.NET WebForms при равном уровне профессионализма разработчиков почти одинаковая, потому что они обе используют один и тот же стэк технологий. Естественно, если Вы не умеете работать с WebForms, то ваше приложение будет работать медленно и жрать много ресурсов. При этом скорость разработки на WebForms как правило выше (исключения, естественно бывают).

90% клиентов, которым нужны веб-сайты. Хотеть они могут много чего, но на самом деле им нужны сайты-визитки со стандартными плагинами и разным дизайном. И WordPress лидер в этой области. Раз уж мы говорим о достаточно узком круге клиентов, которым нужна разработка CRM (и по каким-то причинам уже готовые продукты их не устраивают), то стоило об этом написать в заголовке статьи. И да, о том, что сложные проекты лучше писать на ASP.NET MVC я тоже написал.

Арам, спасибо за адекватный ответ. Я постарался сделать более-менее большую базу данных и не совсем уж примитивные сценарии тестирования. К сожалению, у меня нет возможности написать две идентичные crm на asp.net mvc и php yii, чтобы сравнить их производительность. Если у Вас есть такая возможность, то буду рад за предоставленную информацию. Тут нигде не написано, что скорость – самый важный фактор, что asp.net mvc хуже/лучше php или что-то в этом роде. Я собрал аргументы, которые приводят заказчики в пользу php yii и против asp.net mvc, затем опроверг их. Все.

  1. В самом начале я написал, что под asp.net подразумеваю именно asp.net mvc, php yii был взят из-за того, что очень много заказчиков убеждены, что это вершина возможностей и использовать нужно именно yii.
  2. Сам по себе asp.net WebForms не медленней. Проблема в том, что сама концепция оказалась очень ресурсоемкой и большинство программистов все спихивали на framework, в результате чего, сайт жутко тормозил, мне пришлось перерабатывать не один такой сайт. На asp.net WebForms можно создать хороший сайт, даже на чистом asp можно. Но на эту тему нужно писать отдельную статью.
  3. Согласен. Но как я уже писал выше, чтобы избавиться от пожЕрательства ресурсов, нужно делать гибрид с mvc, что выходит совсем не быстрее.
  4. Опять согласен. Но статья именно про разработку сайта или приложения с нуля. В самом начале я написал: «. обращаются заказчики с просьбой разработать сайт. «, именно разработать сайт, а не создать клон WordPress. Возможно, это не очевидно, мой косяк.

Статью каждый понимает с учетом своего опыта работы в YII/ ASP NET MVC Когда-то часто сталкивался с подобными вопросами, и перерывал весь инет в поисках статьи, где в одном месте было бы изложены за и против + с «фактами», спасибо. А за статистику автору отдельное спасибо!

От себя же сказу, часто сталкиваюсь с тем что надо с C# WPF (использую паттерн MVVM), т.е. десктопного приложения, перенести функционал в web. И здесь уже вопросов не стоит на чем писать, (silverlight не рассматриваем). Поэтому выбор падает только на ASP.NET MVC.

Арам, человек потратил время, написал интересную статью, а вы в лоб «Что за бред я только что прочитал?». Вы напишите свою статью, чтобы так говорить. Но не это главное, ведь есть еще те, кто ничего не понимают еще, и кому подобная статья очень важна — и возможно стоят перед выбором ASP.NET MVC/YII, но читают такой отзыв, и закрадывается, что статья бредовая, хотя на деле (и по «фактам») наоборот.

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

На самом деле, ASP.NET (и MVC и WF) всегда будет быстрее, чем php по той причине, что, во-первых, это компилируемый код (т.е. программа выполняется процессором, а не интерпретируется), во вторых, .NET — это JIT-компиляция, компиляция «на лету» (при первом запуске программа компилируется из IL в код, понятный данному процессору, при последующих запусках она уже работает быстрее и оптимальнее для данного процессора). Примерно то же самое можно сказать о Java VM. А PHP код постоянно интерпретируется при каждом обращении. Даже всем известный фэйсбук, написанный когда-то на PHP, сейчас имеет «ядро», написанное на Си, а PHP в нём используется только как шаблонизатор.

Mike, полностью согласен. Но заказчикам, которые прочитали, что Yii, CakePhp, OpenCart, Joomla, WordPress и иже с ними, такие хорошие, все умеют, все делают и при этом совершенно бесплатно, объяснить, что такое JIT и компиляция невозможно.

Зачем спорить, что лучше, а что хуже. Лучше выучить оба языка и не париться, все же заказчик определяет на чем программировать а не мы программисты. Мне лично легче на ASP.NET MVC, но приходиться писать и на PHP.

Анвар, как раз для того чтобы реже писать на PHP и чаще на ASP.NET, и была написана эта статья.

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

SunnyRitter, добрый день!

К сожалению, сейчас нет возможности заниматься исследованием asp.net и php, так как я работаю в http://www.starcounter.com/. Starcounter позволяет разрабатывать web системы нового поколения. Ознакомиться с технологией можно тут http://starcounter.io/. Если будут какие-то вопросы, можно задавать их лично мне.

Оч. понравился aps.net mvc с точки девелопера. Приятная ide (vs) + много фишечек от mvc ето круто.

Хочется узнать о хостингах asp.net mvc которие ви считаете хрошими по цена\качество. Например хостинг для небольшого блога на aps.net mvc5\6 и хостинг например для большого сайта, допустим с базой фильмов, актеров итд итп на 1м фильмов.

Что би ви посоветували или где искать, так как я только учу aps.net, очень нравится, и хочеться би узнать где би захостить чтото) не оч. дорого

Dimon, привет.

  • Я пользуюсь услугами хостинга http://www.1gb.ru/, мой сайт тут размещен.
  • И еще арендую сервер в Германии: https://www.hetzner.de.

Автор пишет: «Устаревший asp.net действительно тормозит и потребляет много ресурсов. Но asp.net и asp.net mvc это разные технологии, путать их между собой нельзя!»

Здесь я с ним не согласен ASP без приставки Net, да устаревший, тормознутый (т.к. интерпритируемый) и потребляет много ресурсов. ASP.Net это новая технология. ASP.Net MVC это фреймворк который включен в ASP.Net. ASP.Net это технология, ASP.Net MVC это подход для использования ASP.Net. Всетаки в статье лучше поправить где ASP, а где ASP.Net.

По поводу стоимости разработки полностью солидарен с автором. В Интернете есть статьи где аргументом в пользу использования PHP выдвигают, то что его используют Google, Facebook и другие гиганты, да используют, но то сколько зелёных они потратилита на то чтоб заставить «бесплатный» PHP работать быстрее (за счет вынесения логики на C) упоминуть забыли.

Был у меня как-то довольно интересных опыт: Требовался сайт для автоматизации бизнес процеса в компании для её решения был необходим еще один программист, на чём писать был в замешательстве мог на ASP.Net(к чему и склонялся) и на PHP, ранее эту задачу дали PHP программисту, по неизвестным причинам он её не смог сделать, бюджет начальство не интересовал, но в рамках разумного. Начали искать программиста по обоим направлениям, PHP программисты приходили говорили что без WordPress или Joomla писать не будут, все были с порфолио с десатками сайтов, т.е. не дураки. В конечном итоге взяли .Net программиста без опыта и сделали работу за 2 месяца на ASP.net WebForms. Позже начальство нам поставило задачу заставить работать оборудвание по командам с сайта, и радости моей не было предела т.к. я смутно представлял как это реализовать на PHP и реально ли это. ASP.Net работает с Windows, оборудование работает с Windows. Без танцев с бубном сделали и это. Я это к тому что все таки надо подбирать инструмент под задачу. И что людей знающих PHP на довольно приличном уровне не так много как кажется.

Michael, согласен с вами.

asp.net mvc, как и asp.net web forms, это технологии разработки сайтов на asp.net.


Говоря asp.net, я подразумеваю asp.net web forms. При появлении asp.net была только одна технология — web forms, mvc — появился позднее. Согласен, что это не очень корректно.

Автор во многом все же прав. На ASP.NET MVC также быстрее и легче создаются сложные мультимедийные и графические web-ресурсы. В этом пришлось недавно убедиться на примере популярного за рубежом SDK LEADTOOLS (https://www.leadtools.com/).

Здравствуйте, набрел на вашу статью, изучая и сравнивая PHP и ASP.NET MVC. Как Вы считаете, есть ли в ближайшем будущем перспектива у ASP.NET MVC стать часто используемым языком в вебе, как php, при разработки Не корпоративных проектов, а любого вида сайтов, CMSок и тд? Смотрел на вакансии — чистых asp.net mvc веб-разработчиков очень мало требуется в Москве, даже front-end на порядок больше. Хочу развиваться как веб-разработчик, приоритет отдаю asp.net, тк знаю преимущества среды разработки и сервера MSSQL. Хотелось бы понять будет ли перспектива найти работу на asp.net в разработке всевозможных CMS, интеренет-магазинов (все что в основном написано сейчас на php), а не корпоративных решений?

Илон Маск рекомендует:  Что такое код imap_listmailbox

puga1chev, здравствуйте.

В России PHP имеет такую большую популярность из-за видимой бесплатности. Если вы еще не знаете, что ASP.NET 6 (vNext) тоже бесплатный и с открытым кодом, то советую почитать. Уже выпущен Release Candidate, есть поддержка Windows, Linux, OSX. Поэтому, я не думаю, а знаю, что популярность ASP.NET будет расти и расширяться.

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

Const, рад был это услышать.

Что лучше изучать PHP или ASP net

Я программирую 5 лет на ASP(dot)NET. До этого мучался на PHP. Когда мне попала в руки случайно студия 2005 и мануалы по дот нету. Я для себя подумал «Это спасение». Большинству php-программистов, которых я видел за код руки поотрывать надо и не подпускать к клавиатуре.
Самая здравая мысль изучай и то и то, а потом посмотри где тебе удобнее. Я лично PHP не перевариваю в принципе. Но возможностей на (dot)NET больше в разы. Да и заточен он, как выше высказались, для работы с большими объемами данными и большими базами. Если будут вопросы-пишите. Отвечу.

Вопрос ASP.NET или PHP? Плюсы и минусы?

#61 tmanager

Я постараюсь исключить субъективизм. Например, мне очень нравится документация по php; но я в ужасе от MSDN, представляющейся мне лемовскими сепульками, сепулькариями и сепулением. Но я встречал очень серьёзных специалистов (и не в единственном числе!), которые при мне легко находили нужную информацию в MSDN. Значит, я снимаю аргумент про документацию как субъективный. И также поступаю со многими другими своими аргументами. Оставляю только те, которые не зависят от моих пристрастий и предпочтений.

Так начнём же повесть сию.

Очевидные преимущества ASP.NET

Типизация. Языки программирования ASP.NET имеют строгую типизацию данных. Это безусловно выигрышный момент по сравнению с нетипизированным php: меньше будет логических ошибок, которые весьма трудно находить и исправлять. Некоторым утешением для сторонников php является возможность привести переменную к нужному типу — но увы, присвоение переменной, приведённой к целому типу, строкового значения не вызовет даже предупреждения с стороны интерпретатора.

Маркетинговая политика Microsoft. Если Вы пишете на ASP.NET — на Вашей стороне мощная рекламная машина Microsoft, а также партнёрские программы этой фирмы. Без заказов Вы не останетесь.

Очевидные преимущества php

Кроссплатформенность. php портирован практически под все распространённые операционные системы, в то время как ASP.NET намертво привязан к Windows 2000/XP/Vista

Open source (открытый код) Вы можете внести изменения как в движок php, так и в набор стандартных функций самостоятельно (разумеется, если умеете программировать на С++). Это бывает полезно, когда быстродействие критично: скомпилированные функции выполняются быстрее, нежели написанные на php. Кстати, это хороший способ защитить приложение от несанкционированного использования.

Официальная бесплатность Вы можете легально скачивать с сайта www.php.net дистрибутив php, не чувствуя себя пиратом. То же самое касается смежных технологий. В то же время ASP.NET и смежные технологии — очень даже платные.

Итак, мы отметили достоинства обеих технологий, представляющихся мне очевидными и бесспорными. Со всеми остальными доводами обеих сторон нужно разбираться. Что ж, приступим.

Сравнение возможностей: стратегический паритет

Поскольку обе технологии ограничены довольно простым протоколом HTTP и языком разметки HTML — их возможности примерно равны. Все задачи, решаемые в рамках одной техногогии, столь же успешно решаются и в рамках другой. Можно спорить лишь о большем или меньшем удобстве предлагаемые технологиями решений — но мы воздержимся от споров о вкусах.

Таким образом, ни php, ни ASP.NET не дают технологического преимущества WEB-проекту. Различия проявляются в стоимости и трудоёмкости разработки и эксплуатации проекта. В этих показателях, по моему убеждению, php значительно выгодней ASP.NET. А преимущества ASP.NET в области разработки и поддержки, провозглашаемые рекламой, в основном являются, увы, не более чем рекламой. Обсудить которую, тем не менее, необходимо.

Провозглашаемые преимущества ASP.NET: опыт критического анализа

Управляемый код. Именно это мы услышим прежде всего, если речь зайдёт о преимуществах ASP.NET. Кстати, код, который не в .NET — провозглашается неуправляемым. Нам должно быть страшно, и от страха перед неуправляемым кодом (образ, достойный пера Стивена Кинга) php-шникам следует переходить на ASP.NET.

Но давайте попробуем разобраться, что стоит за термином «управляемый код».

Управляемый код (managed code)
Код, который запускается под «contract of cooperation» в среде выполнения. Управляемый код должен содержать метаданные, необходимые среде выполнения для того, чтобы обеспечить работу сервисов, таких, как управление памятью, межъязыковая интеграция, проверка доступа кода и автоматическое управление жизненным циклом объектов. Весь код, представленный в виде промежуточного языка, выполняется как управляемый код.

Управляемый код (managed code)
Код программы, исполняемый виртуальной машиной .NET — такой как .NET Framework CLR или Mono. При этом обычный машинный код называется неуправляемым кодом (англ. unmanaged code).
Слово управляемый здесь относится к методу обмена информацией между программой и исполняющей средой. Оно означает, что в любой точке исполнения, управляющая среда может приостановить исполнение и получить информацию, специфичную для текущего состояния.
Необходимая для этого информация представлена в управляемом коде на языке Intermediate Language и в связанных с этим кодом метаданных..

Вам стало понятно, что такое управляемый код? Если да, то я Вам завидую. Но мне придётся обратиться к статьям, трактующим это понятие для непонятливых. Итак, статья Написание надежного управляемого кода в .NET Framework 2.0. Автор — Стивен Тауб (Stephen Toub), технический редактор журнала «MSDN Magazine», в котором также ведет колонку «Вопросы .NET».

Задача написать надежный код, учитывающий все возможные сбои, может привести в уныние. Хорошая новость: если вы создаете не оболочку и не библиотеку для использования в хостах CLR, которым необходимо обеспечить продолжительную работоспособность, скорее всего, вам не придется думать обо всем этом слишком часто. Тех, кто все же занимается именно этим, должно порадовать то, что .NET Framework 2.0 предоставляет полезный набор инструментальных средств, облегчающих эту задачу. Понимая принципы работы и использования этих систем, можно написать управляемый код, настолько же надежный, как и аккуратно написанный неуправляемый код.[Выделено мной — Ю.М.]

Поискольку преимуществ управляемого кода выяснить не удалось, оставляю оппонентам бессмертную формулу Credo, quia absurdum и перехожу к следующему преимуществу.

Компиляция. Компиляция имеет неоспоримое преимущество перед интерпретацией: быстродействие. В самом деле, при компиляции исполняемый (машинный) код сохраняется на диске, а значит, при запуске этого файла не тратится время на трансляцию (преобразование исходного кода в машинный). Когда я выслушиваю от апологета ASP.NET этот довод, то добродушно спрашиваю: «А где же этот самый исполняемый файл, который образовался в результате компиляции?». С нескрываемой досадой собеседники отвечали, что при компиляции ASP.NET-проекта. никаких исполняемых файлов не создаётся.

Больше того. Когда мы пытаемся сравнить быстродействие, меня сразу предупреждают, что при первом заходе моего броузера на страницу ASP.NET оная будет заметно «тормозить», зато при повторных заходах будет грузиться очень быстро, потому что, оказывается, при моём первом заходе на страницу она. компилируется.

Странная какая-то компиляция, не находите? А вот я нахожу, что это больше похоже на интерпретацию с последующим кешированием. Снова преимущество ASP.NET не вдохновило меня. Так что идём дальше.

Разделение дизайна и программного кода. Лет пять назад, когда пробивала себе дорогу первая версия ASP.NET (ASP.NET I), его апологеты взахлёб расписывали возможность одновременной работы дизайнера и программиста над одной и той же страницей. Уже при продвижении ASP.NET II (2005-й год) об этом преимуществе предпочитали не упоминать. Стало очевидным, что одновременная работа дизайнера и программиста над формами — утопия. Инструмент работы дизайнера (и WEB-дизайнера в том числе) — Adobe Photoshop. Подавляющее большинство WEB-дизайнеров отмахнётся даже от правки HTML-кода: «Я художник, а не писарь!». А такого насилия над личностью, как правка дизайна в Visual Studio, не вынесет никто из них.

(В скобках заметим, что подобная утопия воплотилась в шаблонизаторе для php smarty. Но её использование — свободный выбор разработчика, и не может быть отнесён к достоинствам или недостаткам php).

Это же преимущество имеет ещё одну формулировку, а значит, и другое возражение.

Визуальный конструктор форм. Вам предагают отказаться от HTML-вёрстки форм, заменив её рисованием с помощью встроенного в Visual Studio визуального редактора.

Моё глубокое убеждение: не следует отказываться от HTML-вёрстки.

Если Вы создаёте страницы в визуальном редакторе — Вы теряете возможность управления формой через правку текста (HTML-кода), теряете управление дизайном с помощью CSS-файлов, зато приобретаете мёртвую привязку к среде разработки (Visual Studio).

Серверные элементы управления. Этот довод я считаю самым убедительным из всех неубедительных доводов в пользу ASP.NET. Серверные элементы управления представляют собой группы HTML-элементов, которые воспринимаются WEB-сервером (MS IIS) как одно целое. Например, календарь. Он передаётся броузеру как весьма громоздкий набор тегов и кодов JavaScript, но для кода на сервере это один элемент, содержащий указанную пользователем дату.

Серверные элементы управления во многих случаях действительно сильно ускоряют разработку форм. Календарь Вы создаёте за считанные секунды и несколько минут настраиваете внешний вид. Если Вы хотите создать календарь сами, используя php и JavaScript — я гарантирую Вам два дня напряжённого труда.

Но если Вы грамотно писали свой календарь в течении двух ней — Вы можете забыть о проблемах работы с календарём раз и навсегда. А вот тому, кто использовал в ASP.NET-проекте серверный элемент управления Calendar, я не могу этого обещать. Слишком вероятно изменение набора серверных элементов в следующих версиях ASP.NET.

Microsoft Solutions Framework (MSF). Это предлагаемая Microsoft методология создания программных решений, которая описывает управление людьми и рабочими процессами в процессе разработки решения под бизнес-требования заказчика. Vusual Studio 2005 содержит средства поддержки этой методологии: Visual Studio 2005 Team System.

Я почитал описание MSF. желающие могут их скачать со страницы www.microsoft.com/Rus/Msdn/msf/Default.mspx. Честно признаться, я не верю, что эта методология действительно может помочь при работе над IT-проектом, выполняемым на заказ. И вот почему.

Вот как данная концепция схематически отражает процесс разработки:

Кстати, эта схема напоминает мне этапы согласно ГОСТ 19.102-77 «Единая система программной документации. Стадии разработки»:
Техническое предложение → Эскизный проект → Технический проект → Рабочий проект → Внедрение

«Вот скажут — это ново. А это уже было в веках. » (Экклесиаст).

Из этой схемы и описания к ней следует, что после утверждения концепция не претерпевает изменений. И что на этапе внедрения не вносятся изменения в программу.

Мне ближе мысли, изложенные в классической книге Фредерика Брукса «Мифический человеко-месяц, или как создаются программные системы»:

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

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

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

Так что я не готов работать согласно MSF, а значит, соответствующие опции Vusual Studio мне ни к чему.

Вот мы и рассмотрели все преимущества, о которых я услышал в рекламе. Если я что-то упустил — пишите комментарий. А мы переходим к преимуществам php.

За что я выбираю php

Не буду повторяться и долго говорить о кроссплатформенности, открытости кода и официальной бесплатности php. Также, как и обещал, постараюсь не быть предвзятым и приводить только те аргументы, которые можно проверить.

Нет чрезмерной привязки к операционной системе. Даже под Windows php может устанавливаться простым копированием, не записывая ничего в многострадальный реестр, не требуя создания специальных групп пользователей и т.п. После переустанеовки операционной системы Вам не потребуется долго «поднимать» php и проекты, по ним написанные. Скажем, в Windows разумно установить Apache, php и MySQL на не-системном диске. Даже после форматирования системного раздела (C:) и установки Windows заново Вам потербуется не более трёх минут для восстановления: снова инсталлировать Apache как службу
(командой apache -k install) и возобновить список виртуальных хостов (файл %System32%/drivers/etc/hosts). И всё, инцидент исчерпан.

ASP.NET взаимодействует с операционной системой (только Windows, и то не всякой) весьма тесно.

Хочу особо подчеркнуть преимущество, связанное со слабой зависимостью php от операционной системы: мне легко договориться с сисадмином фирмы-клиента.

Удачный набор функций. php предоставляет WEB-разработчику большое количество функций для решения типовых задач. Создатели php хорошо знают, какие задачи чаще всего решает разработчик WEB-приложений. В ASP.NET я не нашёл полезных функций, необходимых постоянно — при наличии огромного количества методов, которым и применения-то не придумать. Например, в WEB-приложениях часто проиходится очищать текст от тегов или заменять угловые скобки тегов на спецсимволы (это особенно актуально для форумов и гостевых книг), «квотить» строку для вставки в SQL-запрос, а также убирать этот квоитнг при извлечении строки из SQL-запроса. php предоставляет нам эти функции (соответственно strip_tags(), htmlspecialchars(), addslashes() , stripslashes()), а вот в ASP.NET я не нашёл соответствующих методов. Разумеется, их можно реализовать на C#. Но я не настолько люблю работать.

Вся информация о проекте — в текстах файлов проекта. И как следствие — нет необходимости в специальных средствах разработки (вроде Visual Studio). Иными словами, в php-проекте нет конструкций, для визуализации и редактирования которых требовался бы особый редактор.

Что же мы видим в ASP.NET? Данные, необходимые для работы проекта, хранятся не только в файлах проекта. Некоторые из них хранятся неизвестно где. Вот парочка примеров.

Подключаем к проекту библиотеку классов, по умолчанию не подключённую. Переносим проект на другой сервер — и оказывается, надо опять средствами Visual Studio подключать эту библиотеку. Хорошо, если она одна.

Если мы в текстовом редакторе создали класс, то при его копировании в папку проекта сталкиваемся с тем, что остальные файлы проекта этот класс не «видят». Класс нужно вставить через Visual Studio, которая где-то сохранит информацию о том, что в указанном пространстве имён (namespace) есть такой класс.

Итак, мы не можем формировать ASP.NET-проект без Visual Studio. В то же время php-проект хранит в своих файлах всю необходимую информацию, которая удобочитаема и доступна для редактирования (в т.ч. программного).

Стараясь быть максимально объективным, я изложил причины, по которым предпочитаю разрабатывать проекты на php, а не на ASP.NET. Но я вовсе не желал подвести читателя к выводу, что на ASP.NET очень трудно или невозможно сделать хороший проект. Я лишь хотел предостеречь от рекламных восторгов, от отношения к ASP.NET как к чему-то изумительному, позволяющему быстро и легко делать серьёзные проекты. И в заключение своей статьи пожелаю читателю сделать осознанныйвыбор, а не навязываемое рекламой решение. Удачи!

Сообщение изменено: tmanager (05 Март 2008 — 00:38 )

Php4 или asp net что лучше

Добавление от 20-02-2002 09:37:

Я все это к тому, что лучьше использовать нативные для каждой ОС веб сервера и языки серверных сценариев

6. Дионис Сантин , 20.02.2002 09:52
vitrus

ASP — хорошя вещь, но у нее есть одна ГЛОБАЛЬНАЯ ПРОБЛЕМА — она майкрософт..

так что пхп и сиквель — рулез форевер.

Если надо, кину ссылку на статью, почему ПХП лучше :))

7. webmasters , 20.02.2002 09:55
Дионис Сантин
ссылку в студию©
8. FM , 20.02.2002 10:49
-=Хрюн=-
Хотя ASP, становится де-факто в IIS
Horosho skazal. Pojasni, chto imel vv >

Дионис Сантин
ASP — хорошя вещь, но у нее есть одна ГЛОБАЛЬНАЯ ПРОБЛЕМА — она майкрософт..
A kak zhe Chili!ASP pod Apache i escho 3-4 drugih vendorov?

Po teme: da pofig. PHP udobnee v odnih veshah, ASP — v drugih. Esli zatrudnjaeshsja dazhe v etom voprose, to tebe nado iskat programmista, kotoryj budet pisat. Sam ne napishesh.

9. Дионис Сантин , 20.02.2002 10:55
7 Причин Почему PHP лучше ASP
Автор: 14-09-2000; John Lim.
Вольный перевод: 1-10-2001 mike25@cybergal.com Mike J.K.
http://php.weblogs.com/php_asp_7_reasons
Оригинал можно увидеть тут

Active Server Pages (ASP) — Технология M$ для отображения динамических WEB-страниц.
ASP поддерживает множество языков программирования . Наиболее же часто используеться VBScript.

PHP- это альтернатива ASP разрабатываемая по модели Open Source (С Открытым исходным кодом)
и работает на множестве платформ включая Linux и Windows.

Я полагаю что ASP хорошая и полезная технология и все же PHP лучше — как технологически
так и по популярности ! Ниже приведены 7 причин почему я думаю так :

1. Скорость , Скорость и Скорость

Когда я впервые запустил PHP скрипт , Я сказал себе: «Он быстрый как Феррари . «. Я использовал медленный 166МГц компьютер, но Вы на более скоростной технике можете получить намного лучшие результаты.
ASP никогда не будет таким же быстрым как PHP. ASP — основан на компонентой (COM) архитектуре. Когда программист использует VBScript , он запускает COM-объект. Например для команды вывода строки он делает запрос метода вывода строки COM-объекта. Когда он обращается к базе данных, он так же формирует запрос к другому COM-объекту. Получай доступ к файловой системе обращается к еще одному объекту. Все эти обращения к различным объектам и их загрузка в память значительно замедляют работу.
Все модули PHP работают в едином адресном пространстве памяти. Поэтому PHP работает быстрее , так как нет постоянной перезагрузки объектов в память и обращений к различным процессам.
Тест производительности в ходе которого мы 40-раз выполняем оператор SELECT на MS/SQL — сервере используя MS/SQL — PHP расширение и ODBC-COM компоненту показывает существенное отставание ASP.

PHP Запросы к MS/SQL7

СекундыЧем меньше тем лучше
Используем MS/SQL расширение 01.88
Используем ODBC расширение 09.54
Используем ODBC через COM (ADO) 17.28
Используем OLEDB через COM 06.19

Доступ к базе данных через ODBC расширения PHP потребовал 9,54 сек., а использование COM- интерфейса замедлило операцию на 80% (17,28 сек).
OLEDB это высокоскоростная COM-технология M$ доступа к базам данных. Это более быстро чем ODBC но по сравнению с MS/SQL расширением PHP работает на 200% медленней ! Так что можно посоветовать ASP- программистам не использовать COM-для большей скорости !
Конечно есть риск что ошибка PHP-модуля может повлиять на множество WEB-страниц. Но запомните что мы еще только в самом начале скоростей ZEND-интерпретатора. Сегодня мы еще устраняем недостатки движка PHP-модуля. И работа эта идет в модели Открытых исходных текстов. Постоянный контроль и всемирная группа тестеров позволяет группе разработчиков PHP добиваться промышленного качества движка PHP, значительно быстрее чем это может сделать любая другая компания в мире ведущая разработку традиционным образом.

2. Преимущества в распределении памяти
В ASP-модели (в IIS v4) если файл заголовок header.asp включает в себя 20 других WEB-страниц то 20 копий файла header.asp будут загружены в память. IIS v5 имеет лучшую модель управления памятью, однако только программисты использующие Windows 2000 могут обновить свой WEB-сервер, потому, что у M$ отсутствует обратная совместимость с более ранними системами и IISv5 не может быть установлен на NT v4.0. Это означает, что большинство серверов в интернете на платформе Windows продолжают использовать устаревший механизм распределения памяти.
В этом преимущество PHP который загружает только те файлы которые требуются.

3. Нет никаких скрытых затрат связанных с PHP
Скрытые затраты это одна вещей которые я не люблю больше всего приобретая что либо. Например : Вы покупаете автомобиль , но что бы он ездил должны заменить двигатель. Покупаете дом и вынуждены ремонтировать крышу. Приобретая ASP Вы сталкиваетесь с чем то подобным. Необходимо шифрование — приобретай ASPEncrypt. Необходимо управление почтовой системой — покупай ServerObject’s QMail. Необходимо загружать файлы — покупай Software Artisans SA-FileUp.

4. MySQL лучшее решение для WEB
Интеграция PHP с MySQL — просто фантастика ! PHP имеет массу инструментальных средств , что бы управлять и поддерживать MySQL базы данных. Средства работы с MySQL из PHP реализованы самым полным образом по сравнению с другими базами. Мы имеем такие превосходные функции как mysql_insert_id или mysql_affected_rows — которых нет для других продуктов.
И ASP и PHP очень хорошие решения для WEB-сайтов среднего уровня. PHP выделяет отличная интеграция с MySQL. MySQL так же разработан для баз данных среднего класса, таких где скорость выборок более важна чем обеспечение работы транзакций. Поддержка работы с транзакциями позволяет синхронизировать обновления большого количества связанных между собой таблиц, что не так уж важно для работы большинства сайтов.
Когда мы сравниваем базы данных то MS Access значительно медленнее MS/SQL — сервера 7. MS/SQL Server 7 и Oracle почти одинаково быстрые но и более дорогие решения, особенно если нет необходимости использования механизма транзакций.

Дополнение от: 19 апреля 2001: Многие эксперты по базам данных сообщили мне как глупо я сравнивал MySql с Oracle и другими базами данных Высшего (High End) класса! Это исходит из непонимания функционирования принципов работы большинства WEB-сайтов. Большинство WEB-сайтов обслуживают десятки тысяч посетителей в день но выполняют очень мало операций корректировки данных. Наиболее типичная WEB-транзакция это простейшая чтение информации из одиночной таблицы. Например проверка имени и пароля пользователя выполняется чаще чем запись сообщения в форум.
Поэтому база данных с быстрым SELECT и более медленным INSERT и UPDATE — хороший выбор для этой среды.

5. Преимущество Java/C++ подобного стиля программирования

Данное преимущество является моим личным мнением. Вы не убедите крутого программиста на Vbasic преимуществу C-подобных циклов и указателей типа ->. Но тем кому близок C++ или Java PHP определенно понравиться больше чем VBScript.
PHP так же имеет хорошую поддержку модульности в классах. Использование своих классов в VBScript очень редко из за огромного механизма наследования.
Механизм наследования аналогичный C++ и Java делает использование классов в PHP значительно более простым и значительно чаще используеться программистами.

6. Ошибки останавливающие работу
Вы когда либо просили M$ зафиксировать и исправить ошибку в ASP ? Если вы не огромная корпорация типа Боинг то ваши шансы на быстрое получение обновлений с исправлением этой ошибки нулевые. А если эта ошибка заблокировала дальнейшую работу над проектом, что вы будете делать ?
В PHP даже если вы не можете сами исправить данную ошибку вы несомненно можете нанять эксперта который быстро и недорого выполнит эту работу. Ваши инвестиции защищены моделью разработки с Открытым исходным кодом.

7. Кроссплатформенная стратегия

M$ постоянно совершенствуют ASP. Я не сомневаюсь, что через некоторое время большинство, названных мною недостатков будет устранено.
Но также я не сомневаюсь, что M$ заблокирует Вам возможность использования ваших разработок не в своих продуктах.
Раньше я был Macintosh -программист. После появления Windows 95 был вынужден перейти на нее. Все мои старые разработки хранятся у меня в архивах но к сожалению не могут быть использованы .

Я не хочу, что бы то же случилось с моим Windows — кодом !
Есть ли у вас стратегия на случай падения M$? Было время когда Novell была таким же монополистом как сейчас M$. Однако где теперь Novell ? Не забывайте- то же может случиться и с M$ .
Я нашел свою резервную стратегию. Она называется PHP. И если сейчас я программирую на Windows , но я знаю, что мои программы будут работать на Solaris, Linux и многих других операционных системах.
Я душевно спокоен.

Некоторые ссылки по теме:

Сравнение PHP с Perl
http://php.weblogs.com/php_versus_perl

10. Arbitr , 20.02.2002 11:12
Все очень круто.

И мне тоже PHP нравится, но поскольку я неплохо пишу и на том и на другом, хочется немного позащищать ASP:

1. ASP последних версий работает более чем шустро, и если и проигрывает PHP в скорости, то не очень сильно.
(Кстати, PHP очень хорошо и быстро работает с MYSQL — это факт, но вот с другими базами, например с MS сиквелом, PHP работает медленнее ASP)
2. Не забывайте про сессии, очень на мой взгляд полезная штука, так вот по удобству работы с сессиями ASP на голову выше PHP, GLOBAL.ASA — решает
3. Уметь писать надо и на том и на другом.

11. vitrus , 20.02.2002 11:40
А, ксати PERLу местечко останется, или лучше без него обойтись?
12. Partisan , 20.02.2002 11:55
Что значит лучше? Писать магазин можно на чём угодно, но кто знает Перл, тому ПХП не нужен. На Перле есть кстати готовые скрипты магазинов, которые можно доработать по вкусу. Однако сейчас самое мощное и одновременно самое удобное средство программирования — ASP.NET. Правда, оно только что появилось (если не считать бета-версий), я сам его только осваиваю. Статья не понравилась — можно было бы возразить на то, что там написано, и она вовсе не учитывает отличий ASP.NET от простого ASP.
13. MasterDoc , 20.02.2002 12:13
Partisan
А если в сети места (кроме родного MS, просто для начала желательно на русском) где можно почитать про азы ASP.NET и просто ASP? Сам с чего изучение начинал? (ссылки можно мылом кинуть)
14. Partisan , 20.02.2002 12:31
to MasterDoc
напишу как соберусь
15. vitrus , 20.02.2002 12:36
Partisan некоторое (даже, может быть большее) кол-во интернет-магазинов сделано на перле. Чем это обусловлено?
16. Partisan , 20.02.2002 12:55
причины исторические — Perl в сочетании с CGI был первым удобным средством создания Интернет-приложений (хотя надо признать, что сейчас CGI несколько устарело из-за отсутсвия в нём серверных объектов, которые есть в ASP, JSP и ASP.NET и упрощают программирование).К тому же для Перла есть широкий выбор дополнительных модулей для разнообразных задач (но не лучше того, что есть в JSP и ASP.NET). На этом сравнение методик программирования прекращаю, т.к. если продолжать, то оно может закончиться перебранкой. Однако я не отрицаю, что для кого-то хорошо ПХП.
17. Arbitr , 20.02.2002 13:01
vitrus
а вот сдесь ты не прав. хотя может тебе так попадается
очень часто магазины (особенно в забугорье) пишутся с помощью специальных средств разработки, вроде Intershop
18. FM , 20.02.2002 20:46
Дионис Сантин
PHP- это альтернатива ASP разрабатываемая по модели Open Source (С Открытым исходным кодом)
и работает на множестве платформ включая Linux и Windows

ASP — тоже.

Преимущества в распределении памяти
В ASP-модели (в IIS v4) если файл заголовок header.asp включает в себя 20 других WEB-страниц то 20 копий файла header.asp будут загружены в память

Враньё. Такого нет с IIS 4.

Нет никаких скрытых затрат связанных с PHP
Враньё. CGI всегда накладнее, чем ISAPI. In-Process vs Separate process

MySQL лучшее решение для WEB
Доказательств так и не увидел. Утверждение на голом месте.

Преимущество Java/C++ подобного стиля программирования
PHP так же имеет хорошую поддержку модульности в классах. Использование своих классов в VBScript очень редко из за огромного механизма наследования.
Механизм наследования аналогичный C++ и Java делает использование классов в PHP значительно более простым и значительно чаще используеться программистами.

Автор просто не в курсе того, что можно делать с классами на VBScript.

Ошибки останавливающие работу
Вы когда либо просили M$ зафиксировать и исправить ошибку в ASP ? Если вы не огромная корпорация типа Боинг то ваши шансы на быстрое получение обновлений с исправлением этой ошибки нулевые. А если эта ошибка заблокировала дальнейшую работу над проектом, что вы будете делать ?

Да-да. Список таких ошибок — в студию! Я на ASP не пишу лишь последние пару месяцев, а начинал ещё с версии 1.0а (1996 год, если не ошибаюсь). Не было в истории ASP таких ошибок. Враньё чистой воды.

Я нашел свою резервную стратегию. Она называется PHP. И если сейчас я программирую на Windows , но я знаю, что мои программы будут работать на Solaris, Linux и многих других операционных системах
Про Chilli!ASP я уже упоминал.

Вывод — статья бредовая.

Я не хочу сказать, что ASP — лучше. Я сам потихоньку перехожу на php, ибо мне как раз С-подобный стиль нравится. К слову сказать, объекты в php реализованы гораздо хуже, медленнее и топорнее, чем в ASP.

Статья мне не понравилась тем, что автор слабо разбирается в предмете, а делает далеко идущие выводы.

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

С другой стороны, VBScript сильно проще в написании и отдладке, если опыта в программировании немного.

В общем, я не знаю, что бы выбрал я. Зависит от магазина. Наверно, всё-таки ASP. А вот php оставил бы для вещей типа форумов, динамического контента, календарей, отчётов и т.д.

Ну что за бред. Что лучше Винда или Линух?

Мне больше нравится ASP. Более родная платформа. Более дорогая и более надежная. Но все относительно: кто-то скажет, что по безопасности они равны и будет прав, но тут важен вебмастер, если это свой головастый парень — все ок; с другой стороны Линух значительно дешевле и проще, это и хорошо и плохо: многие «хостеры» ставят Линуск и практически за ним не следят.

Так что вопрос не в сабже, а в таких мелочах — где хостите, как хостите, как работаете и тд.

19. ОльнеВ , 20.02.2002 21:07
20. Дионис Сантин , 21.02.2002 08:36
Arbitr
совершенно с Вами согласен :)
для каждого проекта нужно выбирать технологии.
начиная от SSI, переходя через perl, asp и php, Java2 и заканчивая сями.
(Кстати — на сях работает быстрее всего, меньше глючит, исходник не вытащить. )
Так что знать все равно надо все. Что-то лучше, что-то хуже, но спецификации почитывать никогда не вредно :))

vitrus
На перле, IMHO, пишут люди, которые его знают как свои пять пальцев. Он намного менее удобен для программиста, но переучиваться в тот момент, когда знаешь все его фишки, примочки и так далее — неблагодарное занятие.

Так что на перле написаны, как правило, шароварные магазины. Стоящие разработки никто в сеть выкладывать не будет :)).
А вообще, ставьте jsp и пишите на нем :)) магазины — только так :))

Partisan
согласен насчет asp.net, но его еще учить и учить :)) и, тем более, не стоит советовать его начинающим :))

FM
гы :)
я не я и статья не моя :))
просили — кинул :)) там автор наверху указан, так ему и пишите :)

21. FM , 21.02.2002 22:21
Дионис Сантин, да ну. Смысл — ему писать? Он же упрётся и будет себя копытом в грудь бить. Все так делают. И я бы на его месте тоже.

Каждый имеет право на своё вИдение проблемы и на своё мнение, в т.ч. на неверное (с точки зрения других).

22. Хитачик , 22.02.2002 00:10
Ну на самом деле тут много правильного сказали Самое главное — пиши на том, на чем умеешь.

Почему я Java servlet/JSP рекомендовал? Надежность и наследование классов Java, очень хорошая библиотека. Переносимость — будет работать как на UNIX, так и на маздае. Без проблем базу данных (если уж такая необходимость вознилка) поменять — меняешь один параметр в функции, где делаешь JDBC-коннекшн — и у тебя Oracle или DB2 заместо MySQL, переписывать ничего не нужно.

P.S. Сам полконник Си, раньше на нем делал. сейчас на PHP, Perl на эту тему мучал. IMHO все-же Java/JSP лучше.

23. Arbitr , 22.02.2002 12:09
Про Java.

Скажу следующее, сам на джаве не пишу, но на работе часто сталкиваюсь с творениями наших и не наших мастеров Java.
И вот, у меня сложилось впечатление, что либо у всех этих людей кривые руки, либо дело в Java.
Я больше склоняюсь ко второму.

Основным приемуществом таких технологий как ASP и PHP является их отработаность.

Это в особой степени касается PHP.
Кстати PHP работает на любой платформе, например дома я его поставил на IIS 5.0 (мне было в падлу ставить глючный WINApache) и я могу сказать что работает все очень и очень хорошо, я доволен.

24. Хитачик , 22.02.2002 17:12
Arbitr смотря какие «творения». Если апплеты — то понятно. Java она ж не сама по себе, она JVM’ом выполняется, в JVM от Netscape, SUN и Microsoft чуток разные. Билли же у нас поклонник Ильича (который Ульянов), всегда «идет другим путем». Вот и имеешь описанный геморой.

Серверная JAVA — тут чуток другое. если взять нормвальный JVM от SUN и не юзать от других вендоров, если сказать себе, что в качестве Servlet/JSP container’а будешь юзать одобренный SUN, IBM и еще кучей серьезных фирм Tomcat (а не IBM’овский WepSphere, например — непонятно, как они свой продукт продвигают и participate’ают в разработке Tomcat) — то проблем резко поубавится.

PHP или ASP.net? Нужен совет! Стоит ли переходить на ASP.net??

Привет!
Ситуация такая, у нас интернет магазин написанный на PHP (самописный движок), нам предлагают переписать сайт на ASP.net говорят что будет намного современнее, быстрее и функциональнее. Это серьезный шаг для нас, и поэтому нужно взвесить все за и против. Что вы думаете по этому поводу?? Почему стоит или не стоит переходить на ASP.net. Все заранее благодарен!

Выражение «намного современнее, быстрее и функциональнее» не зависит от технологии исполнения. Это больше похоже на маркетинговый лозунг. ASP.NET, Django, Ruby on Rails, Symfony и мн. др. — это, всего-лишь, инструменты. А инструменты лучше ведут себя в руках мастера. Нужно опираться на опыт компании и качество оказываемых ими услуг. Какие варианты миграции данных со старого движка на новый они предлагают? Останутся ли у Вас учетные записи и данные текущих клиентов, товары и т.д? Какое дополнительное ПО нужно будет докупить? ASP.NET это платформа Windows, и если у Вас текущий сервер на *nix системе, то это тоже дополнительные расходы.

На всякий случай, посоветовал-бы спросить какой именно ASP.NET, старый древний WebForms или новый и быстро развивающийся ASP.NET MVC 3.

Сообщение отредактировал ar_mt: 27.04.2011, 14:41:26

Привет!
Ситуация такая, у нас интернет магазин написанный на PHP (самописный движок), нам предлагают переписать сайт на ASP.net говорят что будет намного современнее, быстрее и функциональнее. Это серьезный шаг для нас, и поэтому нужно взвесить все за и против. Что вы думаете по этому поводу?? Почему стоит или не стоит переходить на ASP.net. Все заранее благодарен!

Да именно так. Лучше не ASP.NET, а ASP.NET MVC
Минусы. Если у вас будет ASP.NET то нужно искать хостера который поддерживает его.А их меньше.. Ну и цены собственно дороже. Да и не каждый студент сможет потом поправить. Это главные минусы.

Плюсы пхп: каждая сабака знает, дешев, всеми поддерживается.

Привет!
Ситуация такая, у нас интернет магазин написанный на PHP (самописный движок), нам предлагают переписать сайт на ASP.net говорят что будет намного современнее, быстрее и функциональнее. Это серьезный шаг для нас, и поэтому нужно взвесить все за и против. Что вы думаете по этому поводу?? Почему стоит или не стоит переходить на ASP.net. Все заранее благодарен!

Да именно так. Лучше не ASP.NET, а ASP.NET MVC
Минусы. Если у вас будет ASP.NET то нужно искать хостера который поддерживает его.А их меньше.. Ну и цены собственно дороже. Да и не каждый студент сможет потом поправить. Это главные минусы.

Плюсы пхп: каждая сабака знает, дешев, всеми поддерживается.

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

Сообщение отредактировал Acid5000: 27.04.2011, 17:06:51

Меня смутило слово «переписать». Оно подразумевает заказную разработку, а не адаптацию и внедрение готовой системы.

И это совершенно неочевидный вопрос — стоит ли менять один самодельный магазин на другой самодельный. Конечно, написать руками можно что угодно, но полнофункциональный магазин с нуля — это больше половины человеко-года разработки, во всяком случае у нас так вышло. Это долго и дорого.

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

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

Если рассматривать внедрение чего-то готового, то заготовок пхп-шных магазинов доступно гораздо больше чем асп-шных. В том числе есть уже более или менее адаптированные под наши условия — со всякими 1с, ККБ и прочим.

А если говорить именно о технологическом преимуществе, то я в принципе согласен с ar_mt. Плохо можно сделать на любой технологии, так что если достоинства технологии — это единственный аргумент, то лучше с этим не связываться. С другой стороны, если существуют объективные предпосылки для разработки новой системы, то технологии это не самый главный фактор, если удобнее решать задачу на других технологиях — почему бы и нет. Неразрешимых проблем в эксплуатации любой распространённой технологии быть не должно.

Меня смутило слово «переписать». Оно подразумевает заказную разработку, а не адаптацию и внедрение готовой системы.

И это совершенно неочевидный вопрос — стоит ли менять один самодельный магазин на другой самодельный. Конечно, написать руками можно что угодно, но полнофункциональный магазин с нуля — это больше половины человеко-года разработки, во всяком случае у нас так вышло. Это долго и дорого.

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

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

Если рассматривать внедрение чего-то готового, то заготовок пхп-шных магазинов доступно гораздо больше чем асп-шных. В том числе есть уже более или менее адаптированные под наши условия — со всякими 1с, ККБ и прочим.

А если говорить именно о технологическом преимуществе, то я в принципе согласен с ar_mt. Плохо можно сделать на любой технологии, так что если достоинства технологии — это единственный аргумент, то лучше с этим не связываться. С другой стороны, если существуют объективные предпосылки для разработки новой системы, то технологии это не самый главный фактор, если удобнее решать задачу на других технологиях — почему бы и нет. Неразрешимых проблем в эксплуатации любой распространённой технологии быть не должно.


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

Php4 или asp net что лучше

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

Источник: Компьютерра
Алексей Филатов

В письме к нам Алексей Филатов отметил, что считает свой обзор субъективным. На взгляд же редакции, при всей неполноте статьи, объективности в ней куда больше, чем в подробных исследованиях, авторы которых стремятся доказать себе и другим, что однажды выбранная ими технология лучше остальных. Итак, что лучше — PHP4 или ASP.NET — с точки зрения независимого веб-программиста? — Владимир Гуриев.

Немного о себе. Я сделал пару небольших проектов на PHP4 (к сожалению, до сегодняшнего дня ни один из них не дожил). Зато могу похвастаться завершенными сайтами, сделанными по технологии ASP.NET: Melodyland, который был переписан мною с ASP на ASP.NET, и своим «домашним» сайтом, который был создан как тестовая площадка для программирования на ASP.NET. Все работает на связке Celeron 500 + 128 Мбайт RAM + Windows 2000 + IIS 5 + SQL Server 2000, и вопреки расхожему мнению о тормознутости Windows, и ASP, и ASP.NET прекрасно функционируют при загрузке 30-50 сессий. Что в это время происходит с оконным интерфейсом — другой вопрос, но сами сервисы летают.

ASP.NET — это не продолжение ASP. Это концептуально новая технология Microsoft, созданная в рамках идеологии .NET. Ключевыми сторонами .NET являются масштабируемость, кроссплатформность, межъязыковое взаимодействие и шаткое понятие «безопасное программирование» (safe-programming).

PHP — наоборот, открытая и бесплатная технология. Разумеется, расшифровывать сегодня PHP как Personal Home Page было бы неправильно, но отголоски прошлого дают о себе знать и по сей день. PHP — скриптовый язык, созданный исключительно для динамического вывода HTML. Это не значит, что на нем нельзя создать крупный проект. Это значит, что создать крупный проект на PHP дорого и трудно.

Для программирования на PHP не нужна дорогая среда программирования. Чтобы научиться писать более или менее работоспособные скрипты, достаточно одного-единственного учебника. С ASP.NET такой фокус не пройдет. Без Visual Studio, MSDN и иногда — доступа в Интернет там делать нечего. Большую часть времени начинающий разработчик тратит на штудирование MSDN. А к тому времени, когда он выучит навороченную модель классов и все необходимые ему функции, Microsoft наверняка придумает что-то новое. Помнится, кто-то говорил, что чем больше вариантов предложено, тем больше времени уходит на выбор лучшего. ASP.NET — яркое тому подтверждение.

Зато если выучить. Счетчик посещений? — пожалуйста, десять строчек. Добавить сюда такую же таблицу? — два-три щелчка мышкой, пятнадцать строчек текста. Другой вывод информации? — нет проблем: делаем дочерний класс, перекрываем функцию, отводим на отладку четверть часа, привязываем к выводу второй таблицы — готово! Вообще, работа в ASP.NET с применением Visual Studio сильно напоминает работу в Delphi, с той лишь разницей, что все происходит гораздо быстрее, проще и логичнее. Основные же языки, на которых пишутся ASP.NET-приложения, — Visual Basic.NET и C#, — являются наследниками соответственно Visual Basic и Java/C++. И если переход с Visual Basic на Visual Basic.NET требует некоторого пересмотра философии программирования (так как от старого Бейсика осталась лишь часть синтаксиса и название), то переход с С++, и особенно с Java на C#, органичен настолько, что не должен занимать больше двух-трех недель.

Теоретически под ASP.NET можно писать программы на любом языке, для которого имеется соответствующий компилятор. Однако на практике для создания ASP.NET-приложений используются главным образом Visual Basic.NET и C# (где-то позади плетутся managed C++ и J#). Некоторые программные среды — например, Delphi 8 — обеспечивают номинальную поддержку ASP.NET, но толку от нее, прямо скажем, немного.

«Родная» среда ASP.NET — IIS, работающий под управлением Windows. Да, IIS известен как не самый стабильный веб-сервер, а Windows — как не самая стабильная операционная система. Но вот небольшая история из жизни.

На одной моей работе стоял сервер под управлением Windows 2000 и IIS, на котором сисадмин держал в тот момент больше двух сотен сайтов. Большая их часть состояла из динамически сгенерированных ASP-страниц (ASP.NET тогда только появился, и единственный, кто рисковал с ним работать, — правда, на отдельной машине, — был ваш покорный слуга). Так вот, сервер за два года перезагружался всего пару раз, если не считать обязательных перезагрузок после установки критических обновлений. На другой работе, которой я занимался параллельно, стоял сервер с FreeBSD 4.x, исполнявший роль прокси/файрволла для локальной сети. Он падал раз, а то и два раза в месяц. Я сам некоторое время был сисадмином и не понаслышке знаю, как надо постараться, чтобы достичь таких впечатляющих результатов в стабильности работы и Windows, и FreeBSD. С тех пор я уверен, что 90-95% стабильности работы сервера обеспечивается вовсе не выбором «правильной» системы, а выбором «правильного» сисадмина.

Я не пытаюсь убедить кого-то в том, что Windows работает более стабильно и предсказуемо, чем Unix/Linux. Мало того, я сам так не думаю. Но ASP.NET — это не только Windows. Существует, например, проект Mono, позволяющий запускать любые .NET-приложения под Linux (и, соответственно, под FreeBSD в режиме бинарной совместимости), существует mod (по-нашему — плагин) Apache для обработки ASP.NET-приложений. Но все-таки ASP.NET и *nix — пока что больше гетерогенная среда, со всеми вытекающими.

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

По идеологии Microsoft, программист — маленький винтик хорошо отлаженного механизма. Одиночки-камикадзе вроде меня, свято верящие в светлое будущее этой корпорации, не считались и не считаются. Исключаем нас — и остаются большие, быстро и постоянно расширяющиеся интернет-проекты, где один программист отвечает за один модуль. А каким, собственно говоря, еще проектам требуется кроссплатформность и мультиязычность по умолчанию? Только таким, где могут нанять такого профи, что язык, на котором он пишет, отличается от основного проектного. Только таким, которым впоследствии может потребоваться безболезненное портирование на Pocket PC, MAC, могут потребоваться интернет-сервисы и т. д. Вот в таких проектах ASP.NET разворачивается на славу. Проблемы с производительностью, нехватка ресурсов? Чепуха! Купим еще компьютеров, купим еще программистов, купим звезды с неба, лишь бы темпы разработки не падали.

РНР-программистам в подобных проектах делать нечего. Почему? Да потому, что им потребуется куча координаторов, которым деньги платить надо. Координаторов, большую часть работы которых берет на себя сама среда .NET. И, кстати, с кластерными Unix-системами обращаться тоже непросто. Как ни крути, Unix — это прекрасная stand-alone-система, но именно поэтому сделать кластер на ней гораздо сложнее, и соответственно, денег уйдет больше. Я не говорю о суперкомпьютерах, я говорю о парке в 20-50 машин. За то время, что уйдет на автоматизацию и подключение дополнительной Unix-машины к Unix-кластеру, программисты на Windows уже давно будут писать следующий модуль. Не говоря уж о том, что кластерная СУБД MySQL как кластер существует только в альфа-версии. Автоматизация же взаимодействия между машинами на Windows Server 2003 и SQL Server — одна из сильнейших сторон этих систем (Редакция умывает руки. Все рассуждения о сложности создания кластеров на Unix целиком на совести автора. Лично мне кажется, умеючи — это не так уж долго, что на Windows, что на Unix, но экспертом в данном вопросе я не являюсь и судить не берусь. — Прим. ред).

Технология РНР в корне отличается от ASP.NET. Больше всего она похожа на классические ASP-приложения, только скриптовый язык в ней один. Язык РНР напоминает сборную солянку из C и Perl с небольшим добавлением специй в виде Basic и даже Pascal. Все это натянуто на каркас из примитивной модели классов, которая представляет собой привычные структуры C с кое-как приделанным сбоку наследованием. Правда, недавно появилась пятая версия PHP, предоставляющая неплохие возможности для объектно-ориентированного программирования, однако большого распространения она пока не получила.

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

Область применения PHP — небольшие проекты, которые делает или тесно сработавшаяся группа, или вообще один человек. Благодаря бесплатности PHP (а также бесплатности MySQL и самой платформы), этот язык становится идеальным выбором для небольших авторских сайтов или сайтов для малого и среднего бизнеса. Кроме того, PHP работает быстрее.

Теоретически ASP.NET должна работать быстрее (все-таки здесь мы имеем дело с единожды скомпилированными бинарными кодами, тогда как PHP-скрипты каждый раз обрабатываются заново). Однако PHP летает как на IIS, так и на Apache и при большой (правда, искусственно вызванной) нагрузке всегда выдает результаты лучше, чем ASP.NET. И уж тем более лучше, чем классический ASP. Обескураженный, я пошел на сайт Microsoft, чтобы найти хотя бы одну статью, в которой бы сравнивалось быстродействие PHP и ASP.NET. Безуспешно. Зато на других ресурсах нашлось довольно много статей, авторы которых пришли к тому же выводу, что и я. «Родная» связка PHP + MySQL + Apache работает быстрее ASP.NET + IIS + Microsoft SQL Server 2000.

Значит ли это, что ASP.NET хуже? Отнюдь. На том же сайте Microsoft есть масса данных, из которых следует, что решения на базе Linux/Unix в целом обходятся среднему и большому бизнесу намного дороже, чем аналогичные решения на основе Windows (Было бы странно найти на сайте Microsoft иную информацию. Но доля правды в этом есть — бесплатность технологий вовсе не означает бесплатности их использования). Такие, казалось бы, парадоксы на самом деле вполне логичны. Скорость работы обеспечивается тем, что все РНР-приложения работают в едином адресном пространстве, тогда как ASP.NET за счет навороченной модели классов многократно проверяет и перепроверяет данные, удерживая каждое приложение в отдельном адресном пространстве. Первый подход более быстр, но менее надежен, второй — более надежен, но за это приходится платить. Чудес не бывает. Быстродействие же связки РНР + MySQL обеспечивается тем, что разрабатывающие эти две технологии группы очень тесно сотрудничают. То же самое и со связкой ASP.NET + MS SQL.

Однако скорость работы РНР с другими СУБД (через ODBC) разочаровала. С большинством известных СУБД, включая MS SQL Server, SAP и MaxDB (тот же SAP, начиная с версии 7.5), он у меня работал медленнее ASP.NET. Насколько я понял, из-за того, что ASP.NET старается делать из БД как можно меньше выборок, помещая все актуальные таблицы и даже связи между ними в кэш (технология ADO.NET в случае с MS SQL), в то время как РНР склонен генерировать множество запросов к СУБД.

Парадокс с ценами, когда оплатить несколько лицензий Microsoft дешевле, чем взять бесплатные Unix/Linux, PHP и MySQL, тоже вполне логичен. Следует учитывать, что, во-первых, эти продукты бесплатны, пока вы не собираетесь делать на них коммерческие проекты (Linux и PHP, конечно, бесплатны без всяких условий. Коммерческая лицензия в полном смысле этого слова есть только у MySQL. Некоторые затраты на PHP, пожалуй, грозят только программистам, делающим скрипты на продажу. Дабы не открывать код скриптов, им приходится использовать продукты компании Zend, а они, увы, платные. — Прим. ред), а во-вторых, что разработка и поддержка проектов под эти платформы в целом обходится дороже. Кроме того, Linux в ряде случаев работает медленнее Windows. Возможно, я ошибаюсь, но ни для какой СУБД я и близко не видел такого количества критических исправлений и сообщений, как для MySQL. А все это есть риск (Редакция умывает руки. Все рассуждения о сложности создания кластеров на Unix целиком на совести автора. Лично мне кажется, умеючи — это не так уж долго, что на Windows, что на Unix, но экспертом в данном вопросе я не являюсь и судить не берусь. — Прим. ред.).

Теперь PHP. Если кратко охарактеризовать ощущения от работы с ним — это постоянная отладка, дебаг. И дело даже не в том, что полноценного дебаггера пока нет (по крайней мере, лучший, что я нашел, Zend Studio, не идет ни в какое сравнение с дебаггером Visual Studio), а в том, что само устройство языка способствует серьезным логическим ошибкам.

Вот пример, который недавно прислала мне однокурсница, попросив помочь:

Сценарий работает, но работает неправильно.

Даже примитивная опечатка (выделена красным) приводит к логической ошибке, которой в C# не было бы в принципе. Вообще, в РНР объявление переменных отсутствует как класс, что, с моей точки зрения, большой минус. А любой сведущий в программировании человек понимает, к чему приводит отсутствие типов в крупном проекте.

Конечно, программисты на РНР могут сказать, что я ничего не понимаю: ведь достаточно залезть в php.ini и настроить вывод предупреждений. Но и здесь не все так просто. Моему знакомому PHP-программисту недавно позвонил работодатель, у которого завис сайт. В результате выяснилось, что хостер обновил PHP с версии 4.3.6 до 4.3.8, в которой предупреждения об использовании необъявленных переменных оказались по умолчанию включены. В итоге сайт стал представлять собой сборник всевозможных предупреждений от движка PHP, поскольку приятель, привыкнув к равнодушию PHP, никогда не затруднял себя объявлением переменных.

Как правило, обновление версии РНР на сервере — головная боль и для заказчиков, и для программистов. Порой найти ошибку очень трудно, особенно если она появляется лишь при определенных обстоятельствах, так что ее можно вообще не выявить до сдачи проекта. В этом и сила, и слабость РНР. Пока в С# вы будете заниматься планированием, писать разные классы, интерфейсы для коллекций и прочая и прочая, чтобы потом одним махом за десять минут сделать страницу, — в РНР вы ту же страницу успеете написать несколько раз. Только вот каждая следующая страница на ASP.NET делается лишь за десять минут, а в РНР снова и снова придется затрачивать то же самое время. Нужно визуально в выводе что-то на странице изменить — в ASP.NET понадобится пять минут, а в РНР — придется искать и править вывод HTML. PHP-программист предпочтет скорее переписать все заново, а в ASP.NET программист будет вынужден использовать готовые наработки. Иначе его просто не возьмут на работу. На таком коллективизме, когда индивидуальность программиста нивелирована до предела, и построена вся философия .NET, и эта философия, повторюсь, прекрасно действует в большом коллективе. А индивидуальность и простота РНР-программирования — в маленьком.

Этот факт хорошо отражает ситуация на рынке труда: соотношение РНР- и ASP.NET-программеров сейчас составляет 3:2, что говорит как о доступности бесплатных продуктов, так и о большом количестве небольших, но амбициозных проектов, для которых PHP подходит идеально. Иная ситуация, например, в Израиле (там соотношение примерно 1:10), Америке и Европе.

Заработок ASP.NET-программиста тоже выше, и если хороший PHP-программист получает у нас в лучшем случае 800, ну максимум 1000 долларов (информация с www.job.ru), то зарплата ASP.NET-программиста, как правило, начинается с 800 долларов. Оно и понятно — ответственности больше, работы больше, геморроя больше, свободы меньше.

Итак, маленькие и средние проекты — удел маленьких групп программистов и PHP; средние и большие — удел больших групп, использующих продукты Microsoft (Это какая-то ложная дихотомия. Можно подумать, что в мире есть только PHP и ASP.NET. Масса крупных проектов сделана на Perl, который лишен перечисленных недостатков PHP и прекрасно работает. — Прим. ред), а также очень немногочисленных хорошо организованных групп программистов на РНР; гигантские проекты делят между собой продукты HP, IBM, Sun, Oracle, и расценки там в несколько раз выше. Но это уже совершенно другая история.

Что выбрать начинающему программисту? Затрудняюсь ответить однозначно. РНР, конечно, проще: но я все-таки советовал бы изучать ASP.NET, у него абсолютно точно есть будущее в средних и крупных компаниях, чего не скажешь о РНР. Отмечу также, что ситуация на рынке труда всего лишь год-полтора назад была примерно 1:9 в пользу РНР, и радикальное изменение этого соотношения не может не насторожить.

Если же повезет и если ты действительно хороший программист — можно попасть в «совершенно другую историю», где и зарплата совершенно другая. Этому может способствовать участие в различных конкурсах, проводимых компаниями (попасть туда иным путем, без серьезных наработок на стороне, очень трудно).

Предлагаю вам два варианта (на ASP.NET и на PHP) одной и той же простенькой программки. Оба написаны в лоб (специально) и решают одну и ту же задачу: подсчитывают, сколько раз та или иная буква встречается во введенной строке.

А теперь тот же код на РНР:

Очевидно, что в РНР правит балом динамический вывод HTML, тогда как в ASP.NET делано все, чтобы программист по возможности вообще не думал об HTML.
Итак, общий вывод.

ASP.NET: поначалу темпы разработки должны резко падать, потом стабильно расти и в конце концов остановиться на определенном уровне.

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

PHP4 или ASP.NET — что лучше
Опубликовал Kest Ноябрь 06 2008 18:53:08 · 0 Комментариев · 10151 Прочтений ·

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •

Комментарии
Нет комментариев.
Добавить комментарий

Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь .

Php4 или asp net что лучше

Нужно создать движок соц.сети на кластерной системе. Из нескольких десятков разработчиков двое предлагают всё сделать на ASP.NET и утверждают, что это самый оптимальный вариант для моего проекта.

Вот, что написал мне один из разработчиков:
«Чисто логически – php расшифровывается как «Personal Home Page» – его предназначение создавать простые сайты-визитки в блокноте) ASP.NET – самая современная на сегодняшний день технология, стандарт от Microsoft, общепринятый в США, Европе и Израиле. Мне кажется, что это говорит само за себя. Он меньше распространен в России пока,но в ближайшие годы все изменится.»

Что посоветуете? Действительно ли стоит переходить на виндовый сервер?

Чисто логически – php расшифровывается как «Personal Home Page» – его предназначение создавать простые сайты-визитки в блокноте)
. когда-то давным-давно. а сейчас — бред.

ASP.NET – самая современная на сегодняшний день технология, стандарт от Microsoft, общепринятый в США, Европе и Израиле. Мне кажется, что это говорит само за себя. Он меньше распространен в России пока,но в ближайшие годы все изменится.
Скажем так — ASP.NET это язык более высокого уровня (нежели просто asp или php). Лучше это или нет . Визуализация — простота за счёт, возможно, скорости и объёма.

. короче, Склифосовский, я клоню к тому, что многое зависит от программиста ;)

По наслышке — лучше ПХП чем asp, аргументы более популярный язык и по отзывам сайты на php работают быстрее.
Очередной бред. МегаБред!

P.S. Кстати PHP лучше чем PHP потому как сайты на PHP работают быстрее чем сайты на PHP. задумайтесь — возможно дело не в сайтах, а в людях?

Вот, что написал мне один из разработчиков:
«Чисто логически – php расшифровывается как «Personal Home Page» – его предназначение создавать простые сайты-визитки в блокнотеПолная профнепригодность человека. Профессионал может жёстко холиварить на форумах, но никогда не занимается холиварами при принятии решения по конкретному проекту. В этом отличие профи от всех остальных. И точно не оценивает инструмент на основании перевода его названия.

Что посоветуете? Действительно ли стоит переходить на виндовый сервер?Стоит разобраться, почему на ASP нет социалок и вообще очень мало высоконагруженных веб-проектов ;)

Я не против ASP.NET. Уверен, что на нём и на MS SQL можно создавать очень мощные системы, в том числе высоконагруженные многосерверные системы. Но не создают. Под этим есть очень серьёзные причины. И, на мой взгляд, основные из них — не технического плана.

По поводу жабы: посчитайте, сколько стоят 10 полностью готовых к работе серверов баз данных Постгресса, MySQL или MS SQL. Сколько стоят 20-30 фронтендов для LAMP или Windows + Webserver + .Net Посмотрите, чем и как будете кешировать запросы в разных вариантах. И учтите стоимость администрирования и разработки системы, а так же есть ли на .Net или PHP разработчики нужного Вам уровня, сколько их, почём они и какова их идеология.

Да, когда я говорю .Net и PHP, я подразумеваю, что есть ещё Java со своими мощными фреймворками, Perl, Ruby на рельсах, Python и другие языки.

Дорогущий софт, дорогущие программисты, дорогущая техподдержка для ASP.NET. Если потеряете текущего программиста, второго сыскать очень сложно будет. Копаться в чужой коде мало кто захочет, если и захочет, то за немалые деньги. С PHP все гораздо проще и дешевле выйдет.

его предназначение создавать простые сайты-визитки в блокноте
Есть 2 PHP — низкого и высокого уровня (грубо говоря), это, можно сказать, два разных языка. В этом и основная проблема PHP, куча «профи», изучив низкий уровень, утверждает, что PHP — простой язык, доступный каждой домохозяйке. Отсюда имеем следующую проблему — каждый школьник считает своим долгом выучить PHP, и не просто выучить, а фрилансить говнокодом. Хорошего PHP программиста найти все сложнее.

Я не против ASP.NET. Уверен, что на нём и на MS SQL можно создавать очень мощные системы, в том числе высоконагруженные многосерверные системы. Но не создают. Под этим есть очень серьёзные причины. И, на мой взгляд, основные из них — не технического плана.
Ой, так уж и не создают, MySpace — это типа мелкая система? :) Но с основным посылом согласен. ибо то что я написал далее (я тогда ещё не видел Вашего сообщения) по смыслу совпадает со сказанным Вами., точнее дополняет.

CJ John PM, у асп.нет есть свои преимущества, но есть и основной недостаток, что вы привязываетесь к продуктам майкрософт, и если вы захотите переехать на другую операционную систему, то тут вы попали. :)

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

Можно делать и на php и на .net. Результат будет зависить от способности конкретного программиста(ов) грамотно использовать возможности выбранной технологии.
Думаю, что решение находится в плоскости имеющихся и доступных ресурсов. Т.е. делать проект будут конкретные люди и от их уровня компетентности зависит больше, чем от указанных технологий.
Также после разработки это всё нужно где-то разместить и кто-то будет администировать. А выбор технологии определённо повлияет на это.

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

ns13 добавил 01.10.2009 в 00:04
«Чисто логически – php расшифровывается как «Personal Home Page» – его предназначение создавать простые сайты-визитки в блокноте) ASP.NET – самая современная на сегодняшний день технология, стандарт от Microsoft, общепринятый в США, Европе и Израиле. Мне кажется, что это говорит само за себя. Он меньше распространен в России пока,но в ближайшие годы все изменится.»

От услуг этого разработчика лично я бы или отказался либо дал некритичное задание, определенно не архитектор. Либо он сам поверхностно судит о возможностях языков или Вас держит за идиота.

Лично я не имею ничего против PHP, LAMP,но сам работаю с ASP.NET + PostgreSQL. MSSQL дорогой, а Postgresql очень даже хорош (только вот с репликацией проблемы есть). ASP.NET люблю за превосходство над PHP в плане ООП и мощной среды разработки Visual Studio. Еще в .NET отличный фрэймворк. Вот покажите мне такую IDE для PHP, которая бы не превосходила, но которую можно было хотя бы сравнить с VS 2005-2008. Еще ASP.NET превосходит в плане безопасности. Если в PHP надо самостоятельно учитывать все мелкие проблемы, то в ASP.NET всё вшито в контролы. Но в плане дешевизны PHP выигрывает несомненно. Насчёт скорости, как это не прискорбно, соглашусь, что PHP работает быстрее. Это Вам говорит приверженец мелкософта.

P.S. Агрумент, что PHP — это Personal Home Page могли Вас сказать в силу того, что Вы не бум-бум в технологиях (что вполне нормально), чтобы не сильно Вас грузить. Просто люди хотят на нём програмить и всё (может по тем же причинам, что и я).

Стоит разобраться, почему на ASP нет социалок и вообще очень мало высоконагруженных веб-проектов ;)

2 млн. хитов в сутки.

Программеров на ASP.NET поменьше будет, по PHP уйма документации, причем на русском.

Еще ASP.NET превосходит в плане безопасности. Если в PHP надо самостоятельно учитывать все мелкие проблемы, то в ASP.NET всё вшито в контролы.

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

public function actionList()
<
$criteria=new CDbCriteria;

$pages=new CPagination(AdminUser::model()->count($criteria));
$pages->pageSize=self::PAGE_SIZE;
$pages->applyLimit($criteria);

$models=AdminUser::model()->findAll($criteria);
$profiles = $models->profiles;

$this->render(‘list’,array(
‘models’=>$models,
‘profiles’ => $profiles,
‘pages’=>$pages,
));
>

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

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

Подскажите, какой Framework для PHP лучший?

А вот это уже сложный вопрос, ибо тут как с линуксами — их много и каждый кулик своё болото хвалит.

Я бы выделил бы Symfony, как один из наиболее мощных, ZF как тот который поддерживается командой разработчиков PHP, CodeIgniter — как тот который наиболее легко изучать, Kohana — как наследницу застопорившегося в развитии CI. И Yii, который для меня сейчас один из наиболее перспективных.

Вы забываете одну вещь, писать надо не на том «что круче» а на том на чём «круче вы сможете»

Можно написать на РНР качественно, и на ASM некачественно, и второй вопреки стереотипам будет тормозить просто страшно, а можно написать на Java и даже на QBasic так что будет и быстро, и доступно по финансам (согласитесь писать качественно на ASM выйдет дороже чем хотелось бы, при том что на даже Perl выйдет дешевле в 100 раз, а медленнее лишь в 10)

Топик к сожалению обречён на холивар, по этому я пишу тут только один раз, и мои слова просты — «выбирайте инструмент в зависимости от того что он вам даст, а не в зависимости от того что он вам дал бы, если бы был сферическим конём в вакууме» (прикиньте не только тех-параметры языка, но и стоимость программистов, их наличие, их квалификацию в конце концов)

Чисто логически – php расшифровывается как «Personal Home Page»
Боян девятого порядка, это не логически а исторически.

Если социальная сеть станет сильно популярной, то часть функционала скоре всего придётся переписывать на каких-то более быстрых языках.
А что, ASP.NET уже не компилится? ;)

sokol_jack добавил 01.10.2009 в 11:00
Насчёт скорости, как это не прискорбно, соглашусь, что PHP работает быстрее. Это Вам говорит приверженец мелкософта.
echo «Hello world!»; ?

По сути — не надо оценивать 2 языка (технологии). Они оба позволят реализовать то, что надо.
Оценивать надо всю систему — софт, разрабочиков, масштабируемость.

ИМХО, asp.net таки удобнее в разработке и поддержке. Многие вещи проще благодаря .net framework. То же кеширование, personalization, web parts. Если серьезный проект с использованием web services — опять ASP.net рулит. Ну, и замечательная отладка в самой удобной IDE. :cool:
Точно так-же есть и php frameworks (на «голом» php никто писать не будет).

P.S. php я дебагаю точно так же в Visual Studio. ;)

второй программист мудак, ни фига не соображающий и некомпетентый в технологиях.

пхп не сильнот отстает от асп.нет при использовании кешеров + распределения нагрузки, НО это в десятки раз дешевле + если вам еще повезет и вы столкнетесь с темой оплаты ИСПОЛЬЗОВАНИЯ visual studio b прочих мелкомелочей, то тут в копеечку встанет проект.

пхп легко масштабируется при испольвоании memcached pool серверов + frontend nginx серверов.

пхп может работать и с ораклом и ms sql и мускул ьи постгрес серверами баз данных, так что насчет бд это как вам удобно.

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

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

реализация подобного проекта на кластере в среде нт БЕЗУСЛОВНО будет лучшим вариантом. Возможности .нет и ОСОБЕННО МСкул’а в связке — почти безграничны.

Да, тут поддержу — возможности кластеризации на .net (windows server, MS SQL) — почти безграничны. Одно управление сессиями многого стоит ;)
Поднять webfarm — совсем не сложное дело.

Хотя может это просто у меня недостаток опыта подобного на LAMP — спорить не буду :beer:

sokol_jack добавил 01.10.2009 в 11:09
пхп не сильнот отстает от асп.нет при использовании кешеров + распределения нагрузки
Да.

если вам еще повезет и вы столкнетесь с темой оплаты ИСПОЛЬЗОВАНИЯ visual studio b прочих мелкомелочей, то тут в копеечку встанет проект.
А с этого места — подробнее, плиз :p

пхп легко масштабируется при испольвоании memcached pool серверов + frontend nginx серверов.
Страшно подумать — неужели nginx не дружит с asp.net? ;)
Да и аналог memcache в ASP.NET сразу есть, если надо.

пхп может работать и с ораклом и ms sql и мускул ьи постгрес серверами баз данных, так что насчет бд это как вам удобно.
Аналогично и ASP.NET. Хоть sqlite :)

работает всяко быстрее майспейса . который между прочим на asp.net .
А если написать на пхп сайт, который будет тормознее всех сайтов — то пхп сразу станет тормозом? ;)

в общем за некомпетентность в топку асп предложенных программистов.
Согласен. :beer:

Сравнение языков — вечная борьба. Одно точно можно сказать — реализовать и маленькие и сложные проекты — можно и PHP и на ASP.NET — доказательств полно, некоторые привели выше. Все зависит от квалификации программиста.

Могу сказать одно: простота и мощь связки РНР + МайСКЛ + Апач = удобная, дешевая разработка сайтов любой сложности. И вообще, посмотри распространение РНР и ASP.NET : огромное число крутых, очень распространенных систем написано на РНР (WordPress, Bitrix, phpBB да и этот форум и многие другие, которые разрабатывают серьезные конторы для бизнеса). Любой хостинг уже почти на основу берет поддержку PHP+Mysql. РНР гораздо более распространен, чем АСП. Тк что бы не орали АСПшники, что типа «АСП распространяется быстро, что это стандарт, что это круто», взгляните статистику — она говорит, АСП не крут на столько, чтобы быть самым популярным языком.

Тоже самое, как многие орут «windows для ламеров, а Linux — круть!». Но статистика говорит обратное) И пока на свете больше людей. использующий виндоус, до тех пор и компании будут ориентировать свой бизнес на виндоус, а не на Линукс.

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

я не вижу разницы в этих языках для решених этой задачи. на чем могут на том и делают..

А как в PHP обстоят дела с локализацией/глобализацией? Допустим сделать сайт мультиязычным в ASP.NET не составит труда благодаря RESX.

да не шутите вы, я УТВЕРЖДАЮ ЧТО ОДНО И ТОЖЕ ОДИНАКОВО ЛЕГКО РЕАЛИЗУЕТС НА ЭТИХ 2 ТЕХНОЛОГИЯХ.

gettext технологиях испольузется для «правильных» локализаций, а не печать элементов массивов локализации как делают в 99% случаев.

того кто вам это написал посоветую послать нах сразу и не раздумывая

а выбрать лучше ASP.NET MVC, а переходить на виндовый сервер не обязательно, все прекрасно будет крутица и на mono

Нужно создать движок соц.сети на кластерной системе. Из нескольких десятков разработчиков двое предлагают всё сделать на ASP.NET и утверждают, что это самый оптимальный вариант для моего проекта.

Вот, что написал мне один из разработчиков:
«Чисто логически – php расшифровывается как «Personal Home Page» – его предназначение создавать простые сайты-визитки в блокноте) ASP.NET – самая современная на сегодняшний день технология, стандарт от Microsoft, общепринятый в США, Европе и Израиле. Мне кажется, что это говорит само за себя. Он меньше распространен в России пока,но в ближайшие годы все изменится.»

Что посоветуете? Действительно ли стоит переходить на виндовый сервер?

про Mono будем флеймить?

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

Единственная загвоздка в платности продуктов от МС, которая есть при использование асп.нет
Скажем так — не всех :)
Та же студия — вполне хватит и Free версии.
Windows Server — да. Web Edition — не очень дорогая. Ну, зато там уже много всякого полезного есть. IIS например.
Кстати, а многие тут знают, кто приложил руку к выпуску IIS 7 и почему php там (на иис) очень быстр? ;)

Вобщем, данный топик — редкость. Потому как вместо холивара тут советуют разумные вещи.

Windows Server — да. Web Edition — не очень дорогая.

угу, у меня вон даже Windows Web Server 2008 лицензионный на виртуалке висит. :) Ключи на халяву из майкрософта прислали — у них бывают добрые периоды.

Насчёт моно — не совсем понятен есть ли у вас опыт использования, ибо интересно как под ним ASP.Net работает, скорее академический интерес, ибо врядли в ближайшее время буду использовать, но интересно.

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

Угу, линукс под десктопы, а виндовс — под серваки для 1С :D

p.s. не заметил сразу скрытого сообщения.. :)

А как в PHP обстоят дела с локализацией/глобализацией? Допустим сделать сайт мультиязычным в ASP.NET не составит труда благодаря RESX.
Хотя бы в вопросе разобрались. Локализация/Интернационализация к языку программирования имеет такое же отношение как ошейник к животному. Т.е. да есть куча средств сделать i18n/l10n на любом языке, лишь бы время было. И да есть c версии php 5.3 встроенная сишная реализация i18n с pecl переместили.

Кстати да ТС, многие специально так привязывают клиента чтобы иметь скажем так постоянный доход, а потом и время можно тянуть. задумайтесь, нужно смотреть не в плане VS что против чего то, а насколько легко будет в случае чего нанять других людей.
Тем более таких необразованных страшно брать, ASP.NET это технология а не язык, а ваш _разработчик_ пишет php vs asp.net, если хотите это тоже что сказать jquery vs actionscript3(голый без библиотек), ну не бред?

Правильнее сравнить LAMP VS ASP.NET — первый в разы дешевле, и популярнее. Не потому что она(платформа) доступнее а потому что она доказала что масштабирование возможно без больших убытков. Плюс к этому если сеть разрастется вы полюбому не один php будете юзать что то придется на демоны перенести чтоб не покупать железо тонами, что то перепишеться.
Короче, я хочу сказать что ни один профессионал не начнет опускаться до уровня php VS .. так как сама система будь она на php или c# может быть по разному спроектирована, как и сама платформа и можно хоть на ассемблере загрузить сервер покруче php. Вот и думайте нужны ли вам такие разработчики .

Приятно удивлён обсуждением. Тоже сначала думал, что все начнут «своё» рекламировать :)

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

Скажите какие лишние затраты у меня могут быть при использовании ASP.NET, кроме виндовых серваков с лицензированием ОС, если принять за правду, что разработчик не собирается на мне наживаться в будущем на обслуживании?
Какие подводные камни есть? Я читал в одной статье, что при обновлении версии ASP.NET возможно придётся переписывать движок, это правда?
На счёт того, что если текущий разработчик на ASP.NET куда-нибудь денется, то мне будет сложно обслуживать проект — это веский аргумент в пользу php всё-таки.

угу, у меня вон даже Windows Web Server 2008 лицензионный на виртуалке висит. :) Ключи на халяву из майкрософта прислали — у них бывают добрые периоды.
А MSDN Universal Subscription — вобще сказка :)

Насчёт моно — не совсем понятен есть ли у вас опыт использования, ибо интересно как под ним ASP.Net работает, скорее академический интерес, ибо врядли в ближайшее время буду использовать, но интересно.
Сколько нибудь серьезного опыта использования — нет.
Ставил, игрался. давно это было :). Пишут, что «все лучше и лучше». Проверять надо. :beer:

А MSDN Universal Subscription — вобще сказка :)

Ну это уже для тех, более специализируется на продукции MS — мне как пхпшнику, сильно не нужно :) А тут просто была возможность получить лицензию чё бы не получить. :)

Приятно удивлён обсуждением. Тоже сначала думал, что все начнут «своё» рекламировать :)
А уж мы как удивлены :bl:

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

Какие подводные камни есть? Я читал в одной статье, что при обновлении версии ASP.NET возможно придётся переписывать движок, это правда?
Нет. .NET вобще славится поддержкой версий «снизу-вверх».

На счёт того, что если текущий разработчик на ASP.NET куда-нибудь денется, то мне будет сложно обслуживать проект — это веский аргумент в пользу php всё-таки.
Опять же мое ИМХО:
— разработчик на ASP.NET обычно стоит дороже
— на ASP.NET сложнее писать говнокод, в котором никто не разберется
— разработчик на php, который пишет «правильный» код, который потом будет легко поддерживать приемникам будет стоить столько-же, как и правильный разработчик на ASP.NET

Вывод: хороший разработчик будет стоить примерно одинаково. Пхп-разработчиков больше, .netчиков — меньше. Но хороших Пхп-разработчиков — совсем мало. Итого: без разницы.
Вывод 2: Софт для ASP.NET будет дороже, чем для LAMP.
Вывод 3: ASP.NET легче поддерживать и многие вещи делаются проще и быстрее (все-таки честный ООП иногда очень рулит) (это строгая ИМХА! ;) ).

sokol_jack добавил 02.10.2009 в 00:11
Ну это уже для тех, более специализируется на продукции MS — мне как пхпшнику, сильно не нужно :) А тут просто была возможность получить лицензию чё бы не получить. :)
Ну, меня как MCT (MCAD, MCTS. ) обязывает.
Только тсссс! А то подумают, что я МС пиарю ;)

«Чисто логически – php расшифровывается как «Personal Home Page» – его предназначение создавать простые сайты-визитки в блокноте)Я бы только за это ему отказал. Personal Home Page? Вообще то PHP это рекурсивная аббривеатура обозначающая PHP Hypertext Processor и предназначение его создавать любые сайты. Ну а если человек не знает, что для PHP существует куча редакторов, кроме блокнота, — мои ему соболезнования. К стати код ASP.NEt можно также править в блокноте.

«Чисто логически – php расшифровывается как «Personal Home Page»Предложите ему чиста логически расшифровать ITRURPB — мне интересно что это. чиста логически.

So1 добавил 02.10.2009 в 05:56

public function actionList()
<
$criteria=new CDbCriteria;

$pages=new CPagination(AdminUser::model()->count($criteria));
$pages->pageSize=self::PAGE_SIZE;
$pages->applyLimit($criteria);

$models=AdminUser::model()->findAll($criteria);
$profiles = $models->profiles;

$this->render(‘list’,array(
‘models’=>$models,
‘profiles’ => $profiles,
‘pages’=>$pages,
));
>

А вот это порадовало :) Yii Framework рулед! :) Если что мой ник на yiiframework форуме WebShark

So1 добавил 02.10.2009 в 05:57

Я бы на месте ваших прогеров сказала бы вам, что пхп — урезанная ява. Так круче звучит и правдоподобнее:bl::bl::bl:

So1 добавил 02.10.2009 в 06:02

ИМХО, asp.net таки удобнее в разработке и поддержке. Многие вещи проще благодаря .net framework. То же кеширование, personalization, web parts. Если серьезный проект с использованием web services — опять ASP.net рулит. Ну, и замечательная отладка в самой удобной IDE. :cool:
Точно так-же есть и php frameworks (на «голом» php никто писать не будет).
Удобней только в плане вербсервисов, наверное. Потому что чтобы сделать вебсервис — там всего 1 строчка кода.
А вот PHP фреймверки позволяют легко работать с кешем, выводить логи загрузки, реализовывать мультиязычность (опять же — без особых проблем), персонализация — то же самое. те же темы, смена css — всё это просто.
P.S. на голом PHP писать можно конечно, но дорого. Я сейчас работаю в компании — сайт — один из лидеров по популярности в России (авто тематика). Написан на голом PHP. Но поддерживать такой огромный проект конечно тяжко.

Если что мой ник на yiiframework форуме WebShark

Я что на русском, что на буржуйском, также как и здесь Dreammaker. Кроме того, с этой недели типа стал ещё одним из переводчиков доков и локализации, но ещё ни одной буквы не закоммитил, так что это чисто так для галочки :)

ASP.net vs PHP (что выбрать)

Мне была назначена задача по разработке нового веб-приложения. Это своего рода социальные веб-приложения, для понимания вы можете сказать, что это похоже на facebook. Теперь, прежде чем приступить к разработке такого огромного приложения я есть несколько вопросов, чтобы спросить:

  • во-первых, Есть ли инструмент и программирующий язык влияет на производительность веб-приложения ?

например, я сделал две веб-страницы с одинаковым содержимым, единственное отличие состоит в том, что одна страница сделана в ASP.net (с C#), а другая — на PHP, теперь страница открывается быстрее пользовательский конец? Единственная цель задать этот вопрос в том, что я хочу, чтобы выбрать один язык, который является более быстрее от конечного пользователя перспективного

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

1.MS SQL Server
2.MY SQL и
3.Postgres

Создан 09 май. 11 2011-05-09 04:36:32 Jame

3 ответа

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

Создан 09 май. 11 2011-05-09 04:38:20 Matt Mitchell

Или даже просто проверьте связанные ссылки на боковой панели этого вопроса . – Matthew Scharley 09 май. 11 2011-05-09 04:40:29

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

Если бы я его строил, я бы наклонился к PHP, потому что, вероятно, все, что вы хотите сделать, было сделано раньше (с примерами кода как), и потому, что хостинг намного проще получить (и дешевле, потому что у вас нет вопросы лицензирования для решения по сравнению с Windows-хостингом). По той же причине я бы выбрал и MySQL. Это отличная платформа для баз данных, и цена правильная.

Создан 09 май. 11 2011-05-09 04:39:07 IAmTimCorey

Илон Маск рекомендует:  Asp избегайте кэшировать медленные компоненты в объектах application или session
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Рейтинги