{"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\/de\/blog\/news\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","title":{"rendered":"Die Umstellung von Mercurial auf Python 3 kann mit einer Welle unvorhergesehener Fehler einhergehen.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Maintainer des Versionsverwaltungssystems <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mercurial-scm.org\/\">Mercurial<\/a><\/noindex> hat zusammengefasst <noindex><a rel=\"nofollow\" href=\"https:\/\/gregoryszorc.com\/blog\/2020\/01\/13\/mercurial%27s-journey-to-and-reflections-on-python-3\/\">das Ergebnis<\/a><\/noindex> der Arbeiten zur \u00dcbertragung des Projekts von Python 2 auf Python 3. Obwohl die ersten Portierungsversuche bereits 2008 unternommen wurden und die Anpassung f\u00fcr die Arbeit mit Python 3 im Jahr 2015 in einem beschleunigten Modus begann, wurde die vollst\u00e4ndige Nutzung von Python 3 erst in der letzten Version von Mercurial 5.2 umgesetzt. <\/p>\n<p>Die Prognosen zur Stabilit\u00e4t des Ports f\u00fcr Python 3 sind wenig ermutigend. Insbesondere wird angenommen, dass \u00fcber einige Jahre hinweg im Code zuf\u00e4llige Fehler auftreten werden, da die Tests nicht 100 % des Codes abdecken und viele Probleme bei einer statischen Analyse nicht sichtbar sind und erst w\u00e4hrend der Ausf\u00fchrung auftreten. Dar\u00fcber hinaus bleiben viele externe Erweiterungen und Plugins un\u00fcbersetzt f\u00fcr Python 3.<br \/>\nDa beim Portieren die Entscheidung getroffen wurde, den Code schrittweise an Python 3 anzupassen und gleichzeitig die Unterst\u00fctzung f\u00fcr Python 2 aufrechtzuerhalten, hat der Code zahlreiche Hacks angesammelt, um Python 2 und 3 zu kombinieren, die nach dem Ende der Unterst\u00fctzung von Python 2 entfernt werden m\u00fcssen. <\/p>\n<p>In Bezug auf die Situation mit Python 3 ist der Maintainer von Mercurial der Meinung, dass es ein gro\u00dfer Fehler war, die Entscheidung zu treffen, die inkompatible Python 3-Version voranzutreiben und sie als neue, \u201ebessere\u201c Sprache durchzusetzen, ohne aktuelle Durchbr\u00fcche, die f\u00fcr Entwickler von Vorteil sind. Dies hat der Gemeinschaft gro\u00dfen Schaden zugef\u00fcgt und ist ein Beispiel daf\u00fcr, wie gro\u00dfe Projekte nicht gehandhabt werden sollten. Anstelle einer schrittweisen Erweiterung der Funktionalit\u00e4t und der M\u00f6glichkeit einer inkrementellen Anpassung von Anwendungen wurden die Entwickler mit der Ver\u00f6ffentlichung von Python 3 gezwungen, ihren Code neu zu schreiben und Ressourcen f\u00fcr die Unterst\u00fctzung separater Branches f\u00fcr Python 2 und 3 aufzuwenden. Erst sieben Jahre nach der Ver\u00f6ffentlichung von Python 3.0 wurden in Python 3.5 Funktionen implementiert, die es erm\u00f6glichten, den \u00dcbergang zu erleichtern und eine einheitliche Codebasis sowohl f\u00fcr Python 2 als auch f\u00fcr Python 3 zu gew\u00e4hrleisten. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Quelle: <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-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - 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\" \/>\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\/de\/blog\/news\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/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\udd47Die Kosten f\u00fcr die Portierung von Mercurial auf Python 3 k\u00f6nnten eine Welle unerwarteter Fehler nach sich ziehen | ProHoster","description":"Der Maintainer des Versionsverwaltungssystems Mercurial hat zusammengefasst","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/55199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=55199"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/55199\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=55199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=55199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=55199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}