Pensez-vous que GAE suffit à lui seul pour justifier l'apprentissage de Python sur Ruby? [fermé]

12

Compte tenu du fait que vous n'avez pas à vous impliquer dans la configuration / l'achat d'un serveur ou même l'achat d'un domaine, pensez-vous que ce fait seul suffit à choisir l'un plutôt que l'autre?

Je ne veux pas nécessairement travailler sur Google App Engine, je trouve ça pratique quand il s'agit d'hébergement / environnement / etc. et je me demande si c'est une raison suffisante pour apprendre le python.

En tout cas, je ne cherche pas un débat entre python et rubis mais plus sur Google App Engine et si sa valeur est suffisante pour dicter la langue que vous devez apprendre.

qnoid
la source
4
Google App Engine, pour ceux d'entre nous qui sont contestés TLA. Notez que vous pouvez également utiliser Java.
Robert Harvey
:) J'ai déjà Java et Objective-C pour faire face. Ne pensez pas que l'apprentissage de rubis et de python en même temps est le meilleur rapport temps / valeur: P
qnoid
Je pense que vous constaterez qu'une fois que vous apprenez Python, vous pouvez apprendre Ruby assez facilement - ils sont dans la même lignée.
Marcel Lamothe

Réponses:

16

Non. Google App Engine fournit une infrastructure gratuite / bon marché pour l'hébergement des applications Python, mais Ruby a pratiquement la même chose avec Heroku (et Heroku a beaucoup moins de restrictions que GAE). Avant d'utiliser GAE, assurez-vous de lire de très près les restrictions que Google met sur la plate-forme, dont beaucoup peuvent constituer des obstacles importants à l'objectif que vous essayez d'atteindre. Le billet de blog de Carlos Ble va beaucoup plus en profondeur sur les nombreuses restrictions qu'il a rencontrées, mais je vais vous donner un bref aperçu:

  • Python 2.7 uniquement sans extensions compilées (impact majeur sur les performances)
  • Délai d'expiration de la demande de 30 secondes (beaucoup pour les téléchargements de fichiers volumineux faciles) et délai d'expiration de la demande extérieure de 10 secondes (vous ne pouvez donc pas interroger les API lentes de votre application)
  • BigTable est l'âge de pierre; aucun opérateur "LIKE" dans votre requête et aucune requête ne peut renvoyer plus de 1 000 enregistrements
  • Memcache a une taille de valeur maximale de 1 Mo
  • BigTable et Memcache ont tendance à mourir à un rythme suffisamment important pour qu'il soit productif de mettre du code dans votre application pour contourner leurs échecs

Pour un très petit projet, GAE est très bien; mais si vous construisez quelque chose à une taille moyenne ou grande, soyez conscient des restrictions qui peuvent vous empêcher de progresser.

Pour plus d'informations sur le type de quotas et de limitations auxquels vous devrez peut-être faire face, consultez les documents GAE:

Voir également cette réponse sur Stack Overflow: /programming//a/3068371/189079

poignard
la source
4
Comment cela fait-il de la stoneage BigTable, LIKE est une option coûteuse, et renvoyer une limite de 1000 est une bonne idée. On dirait que vous abusez de votre base de données SQL pourrie, mise à l'échelle avant?
sa93
Les limitations n'affectent-elles pas uniquement le quota gratuit?
@ sa93 Je n'utilise définitivement pas de requêtes LIKE. Cependant, une application que j'ai créée utilise une requête qui renvoie plus de 1000 résultats (le résultat de la requête est fortement mis en cache, ne vous inquiétez pas) et je suis heureux de ne pas avoir à gérer l'exécution de plusieurs requêtes et de concaténer le résultat données avant de les envoyer à la couche de mise en cache.
dirk
@BakerKawesa Pas sûr. Besoin de rechercher cela. Google a peut-être changé ses politiques.
dirk
11

Si vous souhaitez développer pour Google App Engine, vous voudrez certainement apprendre Python (Java est également une option, mais les personnes derrière GAE semblent être des Pythonistas).

Une chose à garder à l'esprit est que l'écriture de quelque chose en Python ne signifie pas que vous obtenez gratuitement Google App Engine. Il y a plusieurs personnes, y compris des personnes chez Google, qui ont dû "porter" leurs projets sur GAE ( RSSmeme est un autre exemple) même s'ils sont écrits en Python.

En effet, GAE a ses propres restrictions et son environnement spécialisé: par exemple, vous n'avez pas accès à des choses comme MySQL, le threading ou le stockage de fichiers local. La FAQ générale pour GAE aborde plusieurs de ces "bizarreries".


la source
7

Bien. La communauté Ruby a http://heroku.com/ Les quotas gratuits ne sont pas aussi importants que ceux de Google, mais on peut utiliser les mécanismes de persistance traditionnels. Il est donc beaucoup plus facile de migrer vers votre propre infrastructure plus tard (ou de déplacer une application autonome vers Heroku).

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

Bien sûr, pourquoi pas? Ruby et Python sont des langages très performants, donc cela se résume à ce que vous cherchez spécifiquement à faire.

Si vous voulez travailler avec GAE et devez apprendre une langue, ce pourrait aussi bien être Python.

Adam Lear
la source
Et pourquoi pas Java?
Joshua Partogi
@jpartogi La question posée à propos de Python vs Ruby. Java pourrait également être un choix viable.
Adam Lear