Как вы думаете, одного GAE достаточно, чтобы оправдать изучение Python поверх Ruby? [закрыто]

12

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

Я не обязательно хочу работать на Google App Engine, я просто нахожу это удобным, когда дело доходит до хостинга / среды / и т.д. и интересно, если это достаточно веская причина для изучения Python.

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

qnoid
источник
4
Google App Engine, для тех из нас, кто испытывает TLA. Обратите внимание, что вы также можете использовать Java.
Роберт Харви
:) У меня уже есть Java и Objective-C, чтобы справиться. Не думайте, что изучение ruby ​​и python одновременно - лучшее соотношение времени и стоимости: P
qnoid
Я думаю, вы обнаружите, что как только вы изучите Python, вы сможете довольно легко выучить Ruby - они в одной линии.
Марсель Ламот

Ответы:

16

Нет. Google App Engine предоставляет бесплатную / дешевую инфраструктуру для размещения приложений Python, но Ruby имеет практически то же самое с Heroku (и Heroku имеет гораздо меньше ограничений, чем GAE). Перед использованием GAE внимательно прочитайте об ограничениях, которые Google накладывает на платформу, многие из которых могут стать серьезным препятствием на пути к цели, которую вы пытаетесь достичь. В блоге Карлоса Блэ гораздо глубже рассказывается о многих ограничениях, с которыми он столкнулся, но я дам вам краткий обзор:

  • Python 2.7 только без скомпилированных расширений (основной удар по производительности)
  • 30-секундный тайм-аут запроса (столько для легкой загрузки больших файлов) и 10-секундный тайм-аут запроса (поэтому вы не можете запрашивать медленные API из своего приложения)
  • BigTable - каменный век; в вашем запросе нет операторов LIKE, и ни один запрос не может вернуть более 1000 записей.
  • Memcache имеет максимальный размер 1 МБ
  • Как BigTable, так и Memcache имеют тенденцию умирать с достаточно значительной скоростью, поэтому продуктивно размещать код в приложении, чтобы обойти их сбои.

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

Дополнительную информацию о том, с какими квотами и ограничениями вы можете иметь дело, смотрите в документации GAE:

Также смотрите этот ответ на переполнение стека: /programming//a/3068371/189079

кортик
источник
4
Как это делает BigTable stoneage, LIKE - дорогой выбор, и возвращение лимита в 1000 - хорошая идея. Похоже, вы злоупотребляете своей базой данных SQL насквозь, масштабировали раньше?
sa93
Разве ограничения не влияют только на свободную квоту?
@ sa93 Я точно не использую НРАВИТСЯ запросы. Тем не менее, одно приложение, которое я создал, использует запрос, который возвращает более 1000 результатов (результат запроса сильно кэшируется, не беспокойтесь), и я рад, что мне не приходится иметь дело с выполнением нескольких запросов раз, а затем с конкатенацией результата данные перед отправкой на уровень кэширования.
Дирк
@BakerKawesa Не уверен. Нужно исследовать это. Google, возможно, изменил их политику.
Дирк
11

Если вы хотите разрабатывать для Google App Engine, вам определенно нужно изучить Python (Java также возможен, но люди, стоящие за GAE, похоже, Pythonistas).

Стоит помнить, что написание чего-либо на Python не означает, что вы получаете Google App Engine бесплатно. Есть несколько человек, включая людей в Google, которым пришлось «портировать» свои проекты на GAE ( RSSmeme - еще один пример), даже если они написаны на Python.

Это связано с тем, что GAE имеет свои собственные ограничения и специализированную среду: например, у вас нет доступа к таким вещам, как MySQL, многопоточность или локальное хранилище файлов. Общие FAQ для GAE затрагивает некоторые из этих «причуды».


источник
7

Что ж. В сообществе Ruby есть http://heroku.com/ Бесплатные квоты не такие большие, как у Google, но можно использовать традиционные механизмы сохранения. Поэтому гораздо проще перейти на собственную инфраструктуру (или перенести автономное приложение в Heroku).

Андрей Андрей Листочкин
источник
6

Конечно, почему нет? И Ruby, и Python являются очень способными языками, поэтому все сводится к тому, что вы конкретно хотите сделать.

Если вы хотите работать с GAE и изучать язык, это также может быть Python.

Адам Лир
источник
А почему не Java?
Джошуа Партоги
@jpartogi Вопрос, заданный о Python против Ruby. Ява также может быть жизнеспособным выбором.
Адам Лир