Python / Django или C # / ASP.NET для веб-разработки? - PullRequest
7 голосов
/ 23 июня 2009

Я разработчик .NET. У меня нет опыта работы на Python. Какая платформа более масштабируема? Какая платформа больше подходит для крупных сайтов с большим трафиком? Если у вас есть опыт масштабирования на этих платформах, пожалуйста, сообщите нам.

Спасибо.

Ответы [ 4 ]

15 голосов
/ 24 июня 2009

Как бы я ни любил Python (и это МНОГО!), Если вы обладаете высокой квалификацией в C # и, как вы говорите, «не имеете опыта работы с Python», ваш код будет более масштабируемым и подходящим (по крайней мере, на следующие несколько месяцев), если вы придерживаетесь того, что знаете лучше всего. Для гипотетического разработчика, чрезвычайно опытного в обеих платформах, масштабируемость, по сути, была бы идеальной, и Python повысил бы производительность этого разработчика; но чтобы стать действительно хорошим в любой технологии, нужно несколько месяцев практики, это не просто «волшебство».

Итак, если вы не пытаетесь расширить спектр своих навыков и возможностей трудоустройства или повысить свою производительность, а, скорее, конкретно и строго сфокусированы на масштабируемости веб-приложений, которые вы сейчас кодируете, я имею в виду совесть, рекомендую придерживаться C #. Вам также следует попробовать IronPython (и получить замечательную книгу «IronPython in Action» от Mannings - предупреждение о предвзятости, я дружу с автором и являлся техническим рецензентом этой книги ;-) для всех видов непроизводственного кода поддержки чтобы получить представление об этом и о невероятном повышении производительности, которое оно может дать вам ... но, чтобы обеспечить максимальную отдачу для ваших клиентов или работодателей, используйте то, что вы ДЕЙСТВИТЕЛЬНО освоите, C #, для любой масштабируемости критическая работа, которую вы им предоставляете!

13 голосов
/ 23 июня 2009

Практически все хорошо известные фреймворки и языки могут масштабироваться.

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

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

Но вы можете создавать отлично масштабируемые приложения Python, PHP, .NET. По качеству кода на первое место будет падать масштабируемость не языка.

3 голосов
/ 24 июня 2009

У Дерека был отличный ответ, поэтому я не буду его повторять.

Однако я хотел бы сделать одно замечание. Хотя по большей части выбор языка не так уж и важен в наши дни, если вам действительно нужна высокая производительность и масштабируемость, динамическая природа python может вернуться к вам. Несмотря на все преимущества, которые может обеспечить динамический язык, эти преимущества достигаются за счет дополнительных накладных расходов. Платформа .NET предлагает полностью скомпилированные языки и предлагает множество способов настройки производительности скомпилированного кода (включая поддержку ngen, так что вы можете создавать собственные скомпилированные модули, которые не нуждаются в JITted.)

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

1 голос
/ 12 июля 2010

Существует дополнительная стоимость масштабируемости при использовании .NET поверх Python, стоимость лицензий Windows Server (как минимум, вы обычно добавляете SQL Server к этому также).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...