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


12

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

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

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


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. Ява также может быть жизнеспособным выбором.
— Адам Лир
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.