Перейти к содержимому

Фото
- - - - -

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


  • Вы не можете создать новую тему
  • Please log in to reply
134 ответов в этой теме

#121 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 06 марта 2008 - 13:07

И вообще программировать надо так, чтобы потом не было стыдно за написаное :D
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#122 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 06 марта 2008 - 14:30

Второе ... насчет обработки ошибок ... есть общие правила (правила хорошего тона) ... как обрабатывать ошибки ... Код типа ... try catch

Но эта конструкция ведь и не должна использоваться где попало. Т.е. взять к примеру делфи, у них без обработки исключений далеко не уедешь. Например, если делаешь коннект к какому-то недоступному хосту, сразу вываливаются исключение, если его не обработать программа просто вывалится с AV (либо сработает дефолтный обработчик, и выдаст страшную мессагу ;)). Каждому инструменту своё применение! А в остальном я с тобой полностью согласен: поставил однажды обработчик исключений, он ловил ошибки базового типа Exception (лень было создать отдельный тип для отлова ошибок связанных с используемым мною "компонентом" и в один прекрасный момент я во время тестирования одного компонента поймал глюк... Во время дебагинга сразу выяснилось, что старый блок try catch ловил "чужие" ошибки, которые генерились менеджером БД... с тех пор я стал осторожней относиться к подобным конструкциям ;)
  • 0

#123 Warvick

Warvick
  • Пользователь
  • 411 сообщений
  • Откуда:Tallinn

Отправлено 06 марта 2008 - 14:51

Setor, Incubo,
угу, ловить все типы на низких уровнях не есть тру.
Я обычно пользуюсь след. приемом. В проекте имею базовый класс BusinessLogicException, от которого при необходимости наследую свои.
Если в компоненте возможно обработать ошибку без уведомения пользователя. то делаю это.

А на саааааамам высоком возможном уровне обрабатываю отдельно: BusinessLogic -> в лог+красивая мессага. Прочие -> в лог + на страницу фатальной ошибки(в случае веб).

Incubo,

И вообще программировать надо так, чтобы потом не было стыдно за написаное biggrin.gif

шибко трудно, когда растешь над собой и эволюционируешь :) всегда в старых проектах чтото "можно сделать получше"
  • 0
Да, я такой!

#124 Бисидо

Бисидо
  • Новобранец
  • 6 сообщений

Отправлено 24 ноября 2010 - 11:03

Обе хороши по своему
  • 0

#125 Бисидо

Бисидо
  • Новобранец
  • 6 сообщений

Отправлено 24 ноября 2010 - 12:18

А вообшето хочу написать немного про эту тему.
Я сам начинал программировать в среде Visual Studio 6 на VB. Так что против Microsoft-а нечего не имею.
Но все же порой на форумах встречаю такое что становится не по сибе. Поэтому хочу высказатся.
Так вот я работал и админом, после перешел на программирование, начинал как уже сказал в среде Windows под VB, после перешел на WEB, php, perl mysql *nix и все такое.
Имею не малый опыт работы как в WEB приложениях так и в win application. Работал с VB, C#, ASP, ASP.NET, HTML, JavaScript, PHP, Perl, MySQL, MSSQL, SQLLITE и многое другое, сам ставлю свои серваки под FreeBSD, Debian Linux, RedHat Linux и конечно же под Windows Apache/IIS.
Все это пишу чтобы читателю было понятно - я понимаю тему которую обсуждаю, понимаю и с той и с другой стороны.
Так вот скажу прямо PHP мне нравится, очень-очень как и FreeBSD, Linux-ы и opensource-ы, и мне очень нравится мышления opensource-овское.
Microsoft мне тоже нравится и вообше начинаеш любить любой язык и платфорум с чем работаеш. Но все же опять скажу прямо, а ведь очень многие именно этой простой истины не понимают.
WEB программирование это диалог между сервером и броузером клиента. Ни один браузер ни понимает ни php ни asp.net, они понимают только (X)HTML+ JavaScript, IE понимает и VBScript. То есть на чем бы мы ни писали наша задача отправить клиенсткому броузеру правильный и нужный нам HTML source. Ничего иного от нас клиент не ждет и даже парой клиентскому browser-у начехать кто генерирует HTML, asp.net или php. Разница в следуюшем. Если программист пишет на PHP, имею ввиду серезно пишет а не балуется, он как минимум должен понимать и полностю владеть всем начиная с HTML/JavaScript и заканчивая серверной настройкой Никсов, понимать тонкости безопасного программирования, одним словом с него требуется полный спектр знаный и понимания того что он делает, именно панимания а не запоминание в каком подменю в гравическом интерфейсе надо поставить галочку и типо того. Тоесть серезный PHP программер он конечно гораздо ближе к тем чистым технологиям которые есть и на каторых все работает не зависимо какой интерфайс разроботчика мы используем.
А что такое ASP.NET ?? ASP.NET всего лиш конвертор между графическим интерфейсом Visual Studio и темы конечнымы технологиямы и стандартами от которых ни ASP.NET ни кому то еще некуда не дется. Тоесть программист работа каторого в конечном счете свотится в отправке HTML клиену не генерирует HTML+Javasrript+AJAX сам хотя может это сделать и ручками, только в этом случае вообше встает вопрос зачет пользоватся столь громозким интерфейсом ASP.NET конвертора, а пишет в класический для VisualStudio среде, а ASP.NET конвертор, конвертирует все это в конечный клиентский source. Любой понимащщий поймет что это значит. Опять скажу прямо для тех кто не понимает эти технологии и вообше WEB настолько чтоб понять простейшую истину
PHP КАК И PERL, PYTHON, JAVA ЯЗЫК ГЕНЕРИРУЮЩИЙ КЛИЕНТСКИЙ SOURCE НА ПОЧВЕ СЕРВЕРНЫХ ДАННЫХ, РАБОТАЮЩИЙ НЕПОСТРЕДТВЕННО С ТЕМИ КОНЕЧНЫМИ И НЕЗАВИСИМЫМИ ТЕХНОЛОГИЯМИ НА КАТОРЫХ ДЕРЖИТСЯ ВЕСЬ ВЕБ.
А ЧТО ТАКОЕ C#/VB ДЛЯ WEB?? ИХ ДАЖЕ РАССМАТРИВАТЬ ВЕЗ КОНВЕРТОРА VISAULSTUDIO ASP.NET НЕ СТОИТ ДЛЯ РАЗРАБОТКИ ВЕБ ПРИЛОЖЕНЫЙ. АСП.НЕТ ЭТО КОНВЕРТОР, К О Н В Е Р Т О Р. И ВСЕ. НИ ОДИН ASP.NET ПРОГРАММИСТ НЕ МОЖЕТ НАПИСАТЬ ТАКОГО ЧЕГО НЕ МОЖЕТ СДЕЛАТЬ PHP ПРОГРАММЕР, ЕСЛИ НЕ НАОБОРОТ, ПОТОМУ ЧТО МЕЖДУ ASP.NET ПРОГРАММИСТОМ И WEB ТЕХНОЛОГИЯМИ КОТОРЫЕ НЕ ИМЕЮТ НЕЧЕГО ОБЩЕГО С КОНВЕРТОРОМ NET-А СТОИТ ПОСРЕДНИК ПОД ИМЕНЕМ ASP.NET/VISUALSTUDIO/FRAMEWORK НАЗЫВАЙТЕ КАК ХОТИТЕ. И НЕ ОДИН ASP.NET ПРОГРАММИСТ НЕ МОЖЕТ ВЛАДЕТЬ WEB ПРОГРАММИРОВАНИЕМ БОЛЕЕ ЧЕМ PHP ПРОГРАММИСТ ПОТОМУ КАК ASP.NET ПРОГРАММИСТ ВООБШЕ НЕ ОЧЕНЬ ЗНАКОМ С ВЕБ ПРОГРАММИРОВАНИЕМ, ДА ПРОСТЯТ ОНИ МЕНЯ.
Вот и вся суть. А чисто с практичной точки зрения разница лиш в том что opensourc-ы кросплотформенны и ваш проект будет кататся и там и там, не говоря уже о хостингах бооооооольшинство которых под *nix. А ASP.НЕТ-овский проект будет работать тока под Windows/IIS.Вот и вся разница.
И еше)) Microsoft конечно не скажит что ASP.NET всего-лиш конвертор, и никак ну никак, в принцыпе никак не может быть более того.
Дабы не спугнуть молодых программистов, каторым выдемо не очень приятно будет узнать что то что они учат для работы в ASP.NET не имеет никокой ценности вне Studio НЕТ, ибо таких понятих вообше нема!! И сушествуют они тока для работоспособности ASP.NET CONVERTOR-а.
  • 0

#126 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 24 ноября 2010 - 20:27

Бисидо, тебе бы еще писать складно и читабельно научиться... может и цены бы не было )
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#127 PyPL

PyPL
  • Пользователь
  • 54 сообщений

Отправлено 24 ноября 2010 - 21:35

Бисидо,
судя по тому как ты набирал свой текст, я могу построить твой примерный психологический портрет : "Патриот-Линуксоид-Который не осилил .NET и убежал в ПыХаПе?" Я могу ошибаться разумеется :) Без обид, но написано с таким напором на "Для .NET жизни NET"...

То что ты написал про ASP.NET, частично является истинной. Действительно IDE лучше чем Visual Studio никто не придумал ещё, поэтому все её используют, но это не значит что без неё нельзя писать под .NET (просто неудобно). Лично я сам делал .NET приложения используя Notepad++ и коммандную строку, так для получения навыков. Всё возможно.

По поводу "мне очень нравится мышления opensource-овское.", в .NET сообществе опен-сорса не меньше чем в PHP или ещё гдето там. Разве что сам .NET Framework не полностью открыт.

Ещё такие моменты :
1) Стоимость Win хостингов (Shared), которые вполне подойдут для малых и средних проектов, в наши дни начинается аж от $4,95.
2) ASP.NET можно запускать на Linux'e, смотрим платформу Mono.

Итак мои ИМХИ :
  • ASP.NET зарулит PHP по дкрутости, да .NET (как и Java) девы получают больше денег чем PHP (в большинстве случаев, разумеется есть исключения)
  • Для крутых веб-проектов я лично признаю только 2 технологии : Java EE / ASP.NET (MVC)
  • В C# есть такие "плюшки" типа LINQ, лямбда выражения, проверка на нули ( return variable ?? (variable = new Class()) ), методы расширения да и ещё много чего, что PHP тут вообще не стоял рядом... Ну вот Ну зачем же так, тут говорить ребята?
  • Я считаю что многие те, кто постоянно гонит на .NET, это те люди, которые его просто не могу осилить. Ведь (а это факт!) для того чтобы успешно программировать под .NET (как и Java), нужно иметь гораздо больше знаний (и низкоуровневых в том числе) чем в PHP.

И самое смешное то, что так называемое "опен-сорс" комьюнити в среде *nix наполовину состоит из "патриотов" - "идиотов", а серьезные люди там работают на крупные компании и зарабатывают серьезное бабло, а не кричат на каждом углу что Microsoft говно и так далее... Затрахали честное слово :) Как "шавки".

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

П.С Без обид!
  • 0

#128 Бисидо

Бисидо
  • Новобранец
  • 6 сообщений

Отправлено 25 ноября 2010 - 10:17

Ага)) Попробую. Я не русский и не из России, мне простительно.
  • 0

#129 Alexano

Alexano
  • Пользователь
  • 109 сообщений

Отправлено 25 ноября 2010 - 11:34

а я пограммурую на всём...вообщем моё мнение

1. JAVA, .NET гарантируют целостность данных
2. PHP - быстродействие

Отсюда выводы - крупные проекты стоит писать на JAVA/.NEТ, это смогут делать дажы самые нубы в программировании, которые только что познали азы JAVA/.NET, потому что КОМПИЛЯТОР будет материться если что не так. Сама IDE не даст неправильно указать типы и т.д

Крупные пректы можно писать на PHP тоже не хуже чем на JAVA/.NET , но при условии что PHP программист с 10 стажем.

Итоги
На JAVA/.NET простые сайтики писать не стоит, слишком дорого и долго. Следует делать сложные системы. Эти языки гарантируют стабильность и целостность данных.

А PHP идеально подходит для написания сайтов.


Вообщем как то так...

Сообщение изменено: Alexano (25 ноября 2010 - 11:34 )

  • 0

#130 Бисидо

Бисидо
  • Новобранец
  • 6 сообщений

Отправлено 25 ноября 2010 - 11:39

PyPL


И от чего мне так смешно )))))))))))??
Я же черным по белому написал
"Обе хороши по своему", "Я сам начинал программировать в среде Visual Studio 6 на VB. Так что против Microsoft-а нечего не имею".
Я и сейчас работаю и с open source и с MS Visaul Studio. С NET.студио у меня никаких проблем нету))
А судя по тому что ты написал, хоть и принял что написанное мною отчасти реальнось, только не обосновал почему отчасти??, у меня образовалось впечатление что ты с никсами и вообше с опен соурсем серьезно не работал, потому как сказать освоившему FreeBSD и другое *nix -вое мышление, а также C#/VB/Perl и очень многое дугое, понимаюшему веб архитектуру, сказать не осилил .NET(видемо имелoсь ввиду ASP.NET), образно говоря тоже самое что сказать системному програмисту на c/c++/assembler - не освоил макросы под Word/Excel)))
Вот это и обидно!! Обидно не лично мне, а обидно что люди сами не осозноюшие свои знания чернят то чего не знают. Как раз в open source-овской литературе я нигде не встречал чтоб чернили MS, а в MS литературе неоднократно, притом со злостю, мол SQLServer 2005 express вишел и все, кранты MySQL-у. Притом книга эта издавалась именно от Microsoft. Это же только оттаржение вызывает. Почему это кому то должен прийти конец?? Знающий будет использовать и то и дугое по надобности и по обстоятельствам. А разнообразие только поднимает конкуренцию и качество.
Я сам одназначно предлагаю заказчику для Win application C# под фремворк, и естественно пишу в Studio.
Только вот под вед предпочитаю open/source php/perl/mysql/postgres/*nix. Потому что в ASP.NET нету ничего что могло бы мне пригодится и чего не мог бы сделать сам. Зачем мне знающему (X)HTML/CSS/JavaScript(AJAX), VBScript если хотите)), можно и Lotus Script попробовать)) пользоватся конвертором ASP.NET-а??? А то что ASP.NET конвертор не опровергнут даже програмисты Microsoft. А что! и конвертору свое место, почему бы и нет, только знающий всегда будет стремистя работать без посредников, а если и использовать то после того как сам поймет и сможет все это сделать ручками, тогда можно и время сэкономить парой.
"Патриот-Линуксоид-Который не осилил .NET и убежал в ПыХаПе?"))))))))) Ну)) что сказать!!!
Во первых не "ПыХаПе" а "php", раз мы не любим гавнить то чем не пользуемся.
А что собственно в ASP.NET надо осиливать??? Понятия postback???)). Я сам учил программисту на ASP.NET, молодой начинающий парень был, хароший парень, тонкости в ASP.NET, он у меня часто спрашивал и это естественно, для каждого осозноющего веб технологии. При подобных разговорах ASP.NET программисты говорят типа - ну как же в php datagrida нема!! в ASP.NET студио я могу с tools-ов то на форму стянуть, тем и сем воспользоватся!!! А когда им обяснееш что datagrid можно написать на php и вообше на любом серверном языке и все остольное тоже, притом написать так чтоб никогда не глючило, чтоб не у кого такого не было, и минимум не хуже заводского ASP.NET-овского, причем без особого труда, только JavaScript-ик еще используем и все. Так они так реагируют мол - !! ААААААА ну стока знать этоже !!! И вообще разве есть ктото кто все это знает, ну типо того))
Tы думаеш что учили программисты Microsoft-а когда начинали разробатывать ASP.NET??? Уж точно не postback))) A учили они элементарный и могучий HTML/CSS/JavaScript, до которым работающим с SUPER PUPER КОНВЕРТОРОМ ASP.NET программистам видетели нет дела, они видетели долеко ушли, на большие высоты) Всеголиш на высоты конвертора отделяющего их от чистых технологий.
Ты попробуй постав FreeBSD, перекомпилируй ядро под свои нужды, постав все что понадобится, без GNOM или KDE оболочки естественно, подключись удоленно по telnet/SHH, хоть узнаеш что это такое, скомпилируй из исходников php со всем что понадобится в последтвии, Perl модули для работы с MySQl, сам MySQl и много другое. Спрограммируй свой datagrid чтоб был не хуже минимум заводского ASP.NET-овского.
И я уверен что после всего этого ты никогда ни скажеш плохово в адрес php или вообше open sourca, так же как и я не говорю нечего плохово в адрес Microsoft-а, так как сам им пользуюсь.
А то что ASP.NET програмисты получают больше - разве я спорил??? и вообше причем тут это, разговор савсем о другом.
С логикой кто получает больше мы далеко уйдем))) и савсем не вту сторону.
Вообшем всем привет)) никого не хотел обидеть или задеть. Я не из России и не русский, поэтому непривычно оформляю мысли.
  • 0

#131 Mr. Positive

Mr. Positive
  • Постоялец
  • 850 сообщений

Отправлено 25 ноября 2010 - 13:07

Бисидо,

Лично я с .NET технологиями не знаком, зато могу однозначно сказать, что PHP тоже мягко говоря не лишен недостатков. Следует начать наверное с того, что это интерпретируемый язык и с динамической типизацией, а
Динамическая типизация - говно, несущее множество геморроя уже в небольших проектах.
  • 0
Former IAPB 8X.
Bachelor of Eternity

#132 Бисидо

Бисидо
  • Новобранец
  • 6 сообщений

Отправлено 25 ноября 2010 - 13:50

Mr. Positive

PHP не компилируется и в этом есть свои плюсы как и минусы. Плюс в том что можно моментально произвести испраления и они тут же войдут в силу. Минус может в том что еслиб он компилировался то работал бы еще быстрее но он и так не медленный.
К тому же если уж очень хочется есть платные технологии для этого от родного Zenda-а.

У меня есть 3 не маленьких проекта типо документооборота на php/mysql, и никогда меня не раздрожало динамическая типизация. Очень многое зависит от программиста. Можно и на чистом Си написать такое что самому страшно станет и не какая строгая типизация не поможет. Но хоть в C/C++ типизация одназначно оправдана, так как имеем дело с системными ресурсами, а выше системного программирование идет надстройка, полюбому, чем бы не писали VB.NET без строгой типизации или C# с строгой или PHP на эти вопросы надо смотреть подругому, надо учитывать что все это лиш дело вкуса в конечном счете, потому как мы уже на надстройке и с системной дотошностю относится к типизации уже не имеет смысла.
  • 0

#133 PyPL

PyPL
  • Пользователь
  • 54 сообщений

Отправлено 25 ноября 2010 - 16:24

Бисидо, ответил конструктивно, убедил. :rolleyes:

"у меня образовалось впечатление что ты с никсами и вообше с опен соурсем серьезно не работал"
Работал и работают, на компе стоит 2 оси, Windows и Archlinux (тут я на php, python кодю). У меня на PHP опыта больше чем в .NET, просто когда я попробовал ASP.NET, мне стало както удобней работать, например "перетаскивать" datagrid на форму, нежели делать его из jQuery + PHP.

Вообще по теме ASP.NET vs PHP ответ такой : выбирайте ASP.NET MVC 2 (или 3 когда релизниться) для сложных проектов, PHP для более простых. Хотя если вы крутой кодер, то и на PHP при помощи Zend Framework например, сможете замутить монстра.

Peace.
  • 0

#134 Mr. Positive

Mr. Positive
  • Постоялец
  • 850 сообщений

Отправлено 25 ноября 2010 - 17:54

Бисидо,
одни инструменты просто более удобны для одного, другие для другого. Я не думаю, что кто-то в здравом уме стал бы резать салат топором, которым он рубит дрова во дворе. Так же и с PHP. Написать-то можно, а вот потом поддерживать все это... Посмотреть хотя бы в сторону facebook - они уже давно пожалели, что написали facebook на PHP...

Ссылка в тему про фейсбук... http://www.insight-i...ktura-facebook/
  • 0
Former IAPB 8X.
Bachelor of Eternity

#135 Бисидо

Бисидо
  • Новобранец
  • 6 сообщений

Отправлено 25 ноября 2010 - 19:02

PyPL

Все хорошо что хорошо кончается)) :rolleyes:
  • 0