{"id":55199,"date":"2020-01-15T00:00:00","date_gmt":"2020-01-14T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok"},"modified":"2020-02-18T14:03:17","modified_gmt":"2020-02-18T11:03:17","slug":"tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","title":{"rendered":"Il passaggio di Mercurial a Python 3 potrebbe comportare una serie di errori imprevisti.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Il manutentore del sistema di gestione delle versioni <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mercurial-scm.org\/\">Mercurial<\/a><\/noindex> ha concluso <noindex><a rel=\"nofollow\" href=\"https:\/\/gregoryszorc.com\/blog\/2020\/01\/13\/mercurial%27s-journey-to-and-reflections-on-python-3\/\">il lavoro<\/a><\/noindex> di traduzione del progetto da Python 2 a Python 3. Sebbene i primi tentativi di porting siano stati effettuati nel 2008 e l'adattamento per Python 3 sia iniziato in modo accelerato nel 2015, la piena funzionalit\u00e0 di utilizzo di Python 3 \u00e8 stata realizzata solo nell'ultima versione di Mercurial 5.2. <\/p>\n<p>Le previsioni sulla stabilit\u00e0 del porting per Python 3 non sono encouragevoli. In particolare, si stima che nel codice emergeranno errori casuali per diversi anni, poich\u00e9 i test non coprono il 100% della base di codice e molti problemi non sono visibili mediante analisi statica, ma si manifestano solo durante l'esecuzione. Inoltre, molte estensioni e plug-in di terze parti rimangono non portati su Python 3.<br \/>\nPoich\u00e9 durante il porting \u00e8 stata presa la decisione di adattare gradualmente il codice a Python 3, mantenendo il supporto per Python 2, il codice \u00e8 diventato infestato da numerosi hack per la compatibilit\u00e0 tra Python 2 e 3, che dovranno essere ripuliti una volta che il supporto per Python 2 cesser\u00e0. <\/p>\n<p>Commentando la situazione con Python 3, il maintainer di Mercurial ritiene che la decisione di promuovere la rottura della compatibilit\u00e0 di Python 3 e di imporlo come un nuovo linguaggio pi\u00f9 corretto, in assenza di miglioramenti significativi per gli sviluppatori, sia stata un grande errore che ha causato notevoli danni alla comunit\u00e0 ed \u00e8 un esempio di ci\u00f2 che grandi progetti non dovrebbero fare. Invece di un incremento graduale delle funzionalit\u00e0 e la possibilit\u00e0 di un adattamento incrementale delle applicazioni, il rilascio di Python 3 ha costretto gli sviluppatori a riscrivere il codice e a spendere risorse per mantenere rami separati per Python 2 e Python 3. Solo sette anni dopo il rilascio di Python 3.0, in Python 3.5 sono state implementate funzionalit\u00e0 che hanno consentito di agevolare il processo di transizione e garantire il funzionamento di un'unica base di codice con Python 2 e Python 3. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52184\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Mercurial \u043f\u043e\u0434\u0432\u0451\u043b \u0438\u0442\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 Python 2 \u043d\u0430 Python 3. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044b \u0435\u0449\u0451 \u0432 2008 \u0433\u043e\u0434\u0443, \u0430 \u0432 \u0444\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Python 3 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0432 2015 \u0433\u043e\u0434\u0443, \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Python 3 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0442\u043a\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55199","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Mercurial \u043f\u043e\u0434\u0432\u0451\u043b \u0438\u0442\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 Python 2 \u043d\u0430 Python 3. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044b \u0435\u0449\u0451 \u0432 2008 \u0433\u043e\u0434\u0443, \u0430 \u0432 \u0444\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Python 3 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0432 2015 \u0433\u043e\u0434\u0443, \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Python 3 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0442\u043a\u0435\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0426\u0435\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 Mercurial \u043d\u0430 Python 3 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0448\u043b\u0435\u0439\u0444 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Mercurial \u043f\u043e\u0434\u0432\u0451\u043b \u0438\u0442\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 Python 2 \u043d\u0430 Python 3. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044b \u0435\u0449\u0451 \u0432 2008 \u0433\u043e\u0434\u0443, \u0430 \u0432 \u0444\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Python 3 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0432 2015 \u0433\u043e\u0434\u0443, \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Python 3 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0442\u043a\u0435\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-14T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Il costo del porting di Mercurial su Python 3 potrebbe essere una scia di errori imprevisti | ProHoster","description":"Il mantenitore del sistema di gestione delle versioni Mercurial ha riassunto il lavoro di traduzione del progetto da Python 2 a Python 3. Nonostante i primi tentativi di porting siano stati effettuati nel 2008 e l'adattamento per lavorare con Python 3 sia iniziato nel 2015 in modo accelerato, la piena compatibilit\u00e0 con Python 3 \u00e8 stata realizzata solo nell'ultima branch.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0426\u0435\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 Mercurial \u043d\u0430 Python 3 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0448\u043b\u0435\u0439\u0444 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a | ProHoster","og:description":"\u041c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Mercurial \u043f\u043e\u0434\u0432\u0451\u043b \u0438\u0442\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 Python 2 \u043d\u0430 Python 3. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044b \u0435\u0449\u0451 \u0432 2008 \u0433\u043e\u0434\u0443, \u0430 \u0432 \u0444\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Python 3 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0432 2015 \u0433\u043e\u0434\u0443, \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Python 3 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0442\u043a\u0435","og:url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-14T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55199","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:48:30","updated":"2022-09-27 21:23:15"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=55199"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55199\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=55199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=55199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=55199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}