QNA > P > Perché Python È Inadatto Come Linguaggio Di Sviluppo Di Applicazioni Mobili?

Perché Python è inadatto come linguaggio di sviluppo di applicazioni mobili?

tl;dr versione: PSF ha reso la migrazione a Python 3 una priorità per la comunità, che ha fatto cadere le innovazioni pitoniche durante il periodo 2006-2016, che è stato il momento decisivo nella storia delle moderne tecnologie Web & Mobile Technologies.

Ecco la vera risposta. Il lancio di Python 3 è stata la causa principale di questo problema.

Python 3 è stato lanciato nel 2006 e non è decollato così rapidamente come PSF si aspettava. Per superare la gravità di Python 2.7 hanno dovuto deliberatamente uccidere Python 2 usando numerose strategie, la strategia principale è smettere di aggiungere nuove caratteristiche a Python 2.7 (cioè semplicemente abbandonare il linguaggio dinamicamente digitato più popolare al mondo in quel momento)

Al contrario c'erano varie comunità che continuavano a fare backporting di nuove caratteristiche di Python 3 su Python 2.7, il che ha ulteriormente rallentato l'adattamento di Python 3. Così hanno dovuto premere il kill switch dichiarando Python 2.7 come legacy nonostante le conseguenze, bisogna ricordare che Python 2 aveva il set di funzionalità più moderno di quel tempo rispetto a C, C++, Perl, Java ecc. Non c'era nulla di legacy.

Questi 10 anni di periodo di transizione sono stati un grande incubo nel peggiore dei casi, le comunità (soprattutto i proprietari di librerie) sono stati costretti a mantenere il loro codice compatibile sia con il 2 che con il 3, il che ha fatto salire alle stelle il costo dei test, questo ha avuto un impatto sugli sviluppatori; libertà di pensiero, libero flusso di idee ecc. Quello che una volta era un linguaggio semplice ed elegante divenne improvvisamente una responsabilità perché ci si 'aspettava' di scrivere sia in Python 2 che 3. La produttività era la cosa originale che rendeva Python popolare, che non è stata l'esperienza durante la transizione.

In tutti i 10 anni i pionisti non stavano codificando né in Python 2 né in Python 3, stavano codificando un linguaggio intermedio (Python X) pieno di hodgepodge qua e là senza una chiara documentazione, c'erano abbastanza linee guida ufficiali per il porting a Python 3 ma non per mantenere il codice in Python 2 & 3 poiché non si aspettavano davvero che un tale problema potesse sorgere.

Il porting da 2 -> 3 era facile per un utente finale, ma come proprietario di una libreria il mantenimento per 2 & 3 era un incubo. Molte librerie sono state semplicemente abbandonate.

L'esperienza di apprendimento di Python via internet ha raggiunto il minimo storico, le domande su Google portavano a post di blog e Stackoverflow che avevano snippet per Python 2. Ogni conoscenza archiviata (anche semplice come "ordinare un dict") doveva essere riscritta ancora una volta per Python 3 e contrassegnata con le versioni Python appropriate. Questa parte ha causato grande confusione per i neofiti e ha reso JavaScript come possibile primo linguaggio. La maggior parte delle risposte di Stack overflow ha smesso di funzionare improvvisamente poiché erano originariamente scritte per Python 2. Le nuove risposte non sono state scritte perché spesso fare la stessa domanda per Python 3 causerà il declassamento della domanda, il blocco e la cancellazione o la marcatura come duplicato da moderatori meno informati che non erano a conoscenza di questo problema specifico di Python, inoltre Stackoverflow non è stato progettato per conversare intorno a domande di versioni multiple di uno stesso linguaggio di programmazione.

Grandi strumenti come WxPython, PyQT, PySide sono diventati vecchi e ignari perché 'Python 3' è stato improvvisamente imposto come priorità. (Immaginatevi come sviluppatori open source, improvvisamente la PSF/comunità dichiara il vostro lavoro come deprecato, potreste perdere lo spirito, non ve ne importerebbe molto, questo è quello che è successo a centinaia di librerie, grandi librerie sono state dichiarate obsolete anche se stavano lavorando bene, solo perché la PSF voleva spingere Python3. Non è stato infatti uccidere 100 librerie solo perché l'autore non aveva tempo/interesse nel porting (cioè nel mantenimento in 2&3)

L'esperienza del porting a Python 3 non è stata così facile come tu immagini o come pensava la PSF. Per uno sviluppatore può essere semplicemente passare da 2 a 3. Ma per un proprietario di una libreria è tutto un "mantenere" 2 e 3 allo stesso tempo, con l'aggiunta di costi di test.

Quindi, tutti sono stati testimoni del fatto che durante il 2006-2016 non ci sono state innovazioni o cose innovative accadute nel mondo Python's, erano impegnati a risolvere la transizione di Python 3 (porting & maintaining) e rilasciare piccole funzionalità mantenendo a malapena la testa sull'acqua. Tuttavia sappiamo tutti che il 2006-2016 è stato il momento decisivo della tecnologia web e delle tecnologie mobili.

JavaScript ha iniziato a dominare ovunque con framework rivoluzionari e nuovi modi di fare le cose (come l'IO non bloccante, i web socket ecc.) mentre la comunità Python si stava dando da fare per pulire il casino. Python 3 è buono ma con un tempo sbagliato. Questo è il motivo per cui Python non ha un framework cross platform adatto per il mobile.

Mentre C# ha Xamarin, JS ha Cordova e Titanium, anche Lua ha Corona, ma gli equivalenti Python Kivy e PyQT continuano a rimanere in stallo. Tuttavia, Python avrà un forte futuro nel machine learning, NLP, calcolo statistico e scientifico. Quindi, per ripetere il punto, Python ha perso tutto ciò che meritava dal 2006-2016, ma dominerà ciò che merita davvero dal 2016-2026, purtroppo lo sviluppo mobile (front-end) non è uno di questi.

Di Veradia Khoury

Quali sono i migliori computer portatili per gli studenti di M.Pharmacy? :: Dovrei prendere un computer portatile o un PC build/desktop per la scuola di medicina?
Link utili