Pensi che GAE da solo sia sufficiente per giustificare l'apprendimento di Python su Ruby? [chiuso]


12

Considerando il fatto che non devi essere coinvolto nell'impostazione / acquisto di un server o addirittura nell'acquisto di un dominio, pensi che il fatto da solo sia sufficiente per sceglierne uno rispetto all'altro?

Non voglio necessariamente lavorare su Google App Engine, lo trovo conveniente quando si tratta di hosting / ambiente / ecc. e mi chiedo se questa è una ragione sufficiente per imparare il pitone.

In ogni caso, non sto cercando un dibattito tra Python e Ruby, ma altro su Google App Engine e se il suo valore è sufficiente per dettare la lingua che dovresti imparare.


4
Google App Engine, per quelli di noi che sono sfidati a TLA. Nota che puoi anche usare Java.
Robert Harvey,

:) Ho già Java e Objective-C da affrontare. Non pensare che imparare rubino e pitone allo stesso tempo sia il miglior rapporto tempo / valore: P
qnoid

Penso che scoprirai che una volta imparato Python, puoi imparare Ruby abbastanza facilmente - sono nella stessa stirpe.
Marcel Lamothe,

Risposte:


16

No. Google App Engine fornisce un'infrastruttura gratuita / economica per l'hosting di applicazioni Python, ma Ruby ha praticamente la stessa cosa con Heroku (e Heroku ha molte meno restrizioni rispetto a GAE). Prima di utilizzare GAE, assicurati di leggere molto attentamente le restrizioni imposte da Google sulla piattaforma, molte delle quali possono costituire ostacoli significativi all'obiettivo che stai cercando di raggiungere. Il post sul blog di Carlos Ble approfondisce molto le molte restrizioni che incontra, ma ti darò una rapida panoramica:

  • Python 2.7 solo senza estensioni compilate (maggior successo)
  • Timeout della richiesta di 30 secondi (tanto per facili upload di file di grandi dimensioni) e Timeout della richiesta esterna di 10 secondi (quindi non è possibile eseguire query su API lente dalla tua app)
  • BigTable è l'età della pietra; nessun operatore "COME" nella tua query e nessuna singola query può restituire più di 1.000 record
  • Memcache ha una dimensione massima di 1 MB
  • Sia BigTable che Memcache tendono a morire a una velocità abbastanza significativa da rendere produttivo il codice nell'applicazione per aggirare i loro guasti

Per un progetto molto piccolo, GAE va bene; ma se stai costruendo qualcosa di medie o grandi dimensioni, devi solo essere consapevole delle restrizioni che potrebbero ostacolare i tuoi progressi.

Per ulteriori informazioni sul tipo di quote e limitazioni che potresti dover affrontare, consulta i documenti GAE:

Vedi anche questa risposta su Stack Overflow: /programming//a/3068371/189079


4
In che modo ciò rende BigTable stabile, LIKE è un'opzione costosa e restituire un limite di 1000 è una buona idea. Sembra che tu abusi del tuo SQL DB marcio, ridimensionato prima?
Sa93,

Le limitazioni non riguardano solo la quota gratuita?

@ sa93 Sicuramente non uso query LIKE. Tuttavia, un'applicazione che ho creato utilizza una query che restituisce più di 1000 risultati (il risultato della query è pesantemente memorizzato nella cache, non ti preoccupare) e sono contento di non dover gestire l'esecuzione di più query per poi concatenare il risultato dati prima di inviarli al livello di memorizzazione nella cache.
Dirk,

@BakerKawesa Non sono sicuro. Ho bisogno di cercare questo. Google potrebbe aver cambiato le loro norme.
Dirk,

11

Se vuoi sviluppare per Google App Engine, vorresti sicuramente imparare Python (Java è anche un'opzione, ma le persone dietro GAE sembrano essere Pythonistas).

Una cosa da tenere a mente è che scrivere qualcosa in Python non significa che ottieni Google App Engine gratuitamente. Ci sono diverse persone, comprese quelle di Google, che hanno dovuto " trasferire " i loro progetti su GAE ( RSSmeme è un altro esempio) anche se sono scritti in Python.

Questo perché GAE ha le proprie restrizioni e un ambiente specializzato: ad esempio, non si accede a cose come MySQL, threading o archiviazione di file locali. Le FAQ generali per GAE toccano molte di queste "stranezze".


7

Bene. La community di Ruby ha http://heroku.com/ Le quote gratuite non sono grandi come quelle di Google ma si possono usare i tradizionali meccanismi di persistenza. Quindi è molto più semplice migrare alla propria infrastruttura in seguito (o spostare un'app autonoma su Heroku).


6

Certo, perché no? Sia Ruby che Python sono linguaggi molto capaci, quindi dipende solo da quello che stai cercando di fare.

Se vuoi lavorare con GAE e devi imparare una lingua, potrebbe anche essere Python.


E perché non Java?
Joshua Partogi,

@jpartogi La domanda posta su Python vs Ruby. Anche Java potrebbe essere una scelta praticabile.
Adam Lear
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.