Як ви вважаєте, одного GAE достатньо, щоб виправдати навчання Python за допомогою Ruby? [зачинено]


12

Враховуючи той факт, що вам не потрібно брати участь у налаштуванні / купівлі сервера чи навіть купівлі домену, чи вважаєте ви, що одного факту достатньо лише вибрати один за іншим?

Мені не обов’язково хочеться працювати над Google App Engine, я просто вважаю це зручним, коли справа стосується хостингу / середовища / тощо. і цікаво, чи це досить вагомий привід вивчити пітон.

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


4
Google App Engine, для тих, хто стикається з TLA. Зауважте, що ви також можете використовувати Java.
Роберт Харві

:) У мене вже є Java і Objective-C, щоб впоратися. Не думайте, що одночасно вивчити рубін та пітон - це найкращий співвідношення часу та значення: P
qnoid

Я думаю, що ви побачите, що як тільки ви вивчите Python, ви зможете навчитися Рубі досить легко - вони в одній лінії.
Марсель Ламоте

Відповіді:


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, LIKE - це дорогий вибір, а повернення межі 1000 - хороша ідея. Здається, ви зловживаєте своєю гнилою БД SQL, масштабувавшись раніше?
sa93

Чи не обмеження впливають лише на безкоштовну квоту?

@ sa93 Я точно не використовую запити LIKE. Однак один із створених мною додатків використовує запит, який повертає понад 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 vs Ruby. Java також може бути життєздатним вибором.
Адам Лір
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.