мені дуже подобається документація по
php ; але я в жаху від MSDN. Але я зустрічав дуже серйозних фахівців (і не в однині!), Які при мені легко знаходили потрібну інформацію в MSDN. Значить, я знімаю аргумент про документацію як суб'єктивний. І також поступаю з багатьма іншими своїми аргументами. Залишаю тільки ті, які не залежать від моїх пристрастей і переваг.
2.1.1 Очевидні переваги ASP.NET
Типізація. Мови програмування ASP.NET мають строгу типізацію даних. Це, безумовно, виграшний момент в порівнянні з Нетипізовані php: менше буде логічних помилок, які вельми важко знаходити і виправляти. Деякою втіхою для прихильників php є можливість привести змінну до потрібного типу - але на жаль, присвоєння змінної, наведеної до цілого типу, строкового значення не викличе навіть попередження з боку інтерпретатора.
Маркетингова політика Microsoft. Якщо Ви пишете на ASP.NET - на Вашій стороні потужна рекламна машина Microsoft, а також партнерські програми цієї фірми. Без замовлень Ви не залишитеся.
І результат цієї політики. Доводиться визнати: думка, що офісне WEB-додаток має бути на ASP.NET і ні в якому разі не на php, фактично утвердилося в умах керівництва більшості компаній. Тобто якщо Ви пишете офісний додаток на ASP.NET - воно буде в явно виграшному становищі порівняно з додатком на php (доки Ви не почнете його впроваджувати і підтримувати, але про це далі).
2.1.2 Очевидні переваги php
Доступність дистрибутивів. Дистрибутиви вимірюються в десятках мегабайт (а не в DVD-дисках, як Windows/IIS/Visual studio/MS SQL Server) і доступні на сайтах розробників. Тобто php - це «свято, яке завжди з тобою».
Думаю, під впливом php компанія Microsoft пішла на випуск безкоштовних версій (Express Edition) інструментів, потрібних для створення ASP.NET-додатків. Але на сайті Microsoft доступні тільки нові версії, які вимагають останніх версій Windows (тут вже Microsoft не має переробиш). Так що в даному випадку не вийде «свята, яке ...». Source (відкритий код), що представляє можливість для аудиту коду. Що особливо важливо - аудитом коду займаються програмісти усього світу, сприяючи усуненню вразливостей і інших недоліків.
Це досить важливо для державних структур і великих компаній: можна переконатися, що в даній технології немає «люків» для шпигунства. Дрібний і середній бізнес може не турбуватися на цей рахунок, а ось великий бізнес і державні структури повинні незатишно себе почувати, ставлячи на сервери програми із закритим кодом. Звідси прагнення Китаю та Індії перевести свої держструктури на Linux.
2.1.3 Порівняння можливостей: стратегічний паритет
Оскільки обидві технології обмежені досить простим протоколом HTTP і мовою розмітки HTML - їх можливості приблизно рівні. Всі завдання, які вирішуються в рамках однієї технології, так само успішно вирішуються і в рамках іншої. Можна сперечатися лише про більшому або меншому зручність пропоновані технологіями рішень - але ми утримаємося від суперечок про смаки.
Таким чином, ні php, ні ASP.NET не дають технологічного переваги WEB-проекту. Розбіжності виявляються у вартості і трудомісткості розробки і експлуатації проекту. У цих показниках, на моє переконання, php значно вигідніше ASP.NET. А переваги ASP.NET в області розробки і підтримки, проголошувані рекламою, в основному є, на жаль, не більше ніж рекламою. Обговорити яку, тим не менш, необхідно.
2.1.4 Проголошувані переваги ASP.NET: досвід критичного аналізу
Керований код. Саме це ми почуємо насамперед, якщо мова зайде про переваги ASP.NET. До речі, код, який не в. NET - проголошується некерованим. Нам повинно бути страшно, і від страху перед некерованим кодом (образ, гідний пера Стівена Кінга) php-шникам слід переходити на ASP.NET ...
Але давайте спробуємо розібратися, що стоїть за терміном «керований код» .
Керований код (managed code)
Код програми, виконуваний віртуальної машіной.NET - такий как.NET Framework CLR або Mono. При цьому звичайний машинний код називається некерованим кодом (англ. Unmanaged code).
Слово керований тут відноситься до методу обміну інформацією між програмою і виконуючою середовищем. Воно означає, що в будь-якій точці виконання, керуюча середу може зупинити виконання і отримати інформацію, специфічну для поточного стану.
Необхідна для цього інформація представлена ??в керованому коді на мові Intermediate Langu...