{"id":3790,"date":"2014-09-15T10:58:50","date_gmt":"2014-09-15T00:58:50","guid":{"rendered":"https:\/\/www.flamingspork.com\/blog\/?p=3790"},"modified":"2014-09-15T10:58:50","modified_gmt":"2014-09-15T00:58:50","slug":"is-python-the-new-basic","status":"publish","type":"post","link":"https:\/\/www.flamingspork.com\/blog\/2014\/09\/15\/is-python-the-new-basic\/","title":{"rendered":"Is Python the new BASIC"},"content":{"rendered":"<p>Today I managed to finally find a way to express what I&#8217;ve been thinking for a while: &#8220;Python is the new BASIC&#8221;. Think about it: it&#8217;s easy to get started in, there&#8217;s books and tutorials on it everywhere, a bunch of real world software is actually written in it and with all the different versions and modules (and versions of modules) there&#8217;s a billion subtle differences to trip you up.<\/p>\n<p>There&#8217;s also the group of people (like me) who don&#8217;t particularly like it, for a bunch of quite valid reasons. The lack of being strongly typed is a huge barrier for me.<\/p>\n<p>I am of the opinion that the ideal language with the ideal compiler would not let buggy code compile. It may not be as easy to program in this hypothetical language, but seeing as code has to exist and be debugged for order of magnitudes more time than it takes to write it, making it harder to write bugs is a good thing. After all, my experience with Python apps is that bugs manifest themselves at run time, to the user, rather than to the developer at the time of writing. Also, compiler error is better than unit test failure.<\/p>\n<p>Discuss.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I managed to finally find a way to express what I&#8217;ve been thinking for a while: &#8220;Python is the new BASIC&#8221;. Think about it: it&#8217;s easy to get started in, there&#8217;s books and tutorials on it everywhere, a bunch &hellip; <a href=\"https:\/\/www.flamingspork.com\/blog\/2014\/09\/15\/is-python-the-new-basic\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[76],"tags":[594,39,554],"class_list":["post-3790","post","type-post","status-publish","format-standard","hentry","category-code","tag-basic","tag-programming","tag-python"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5a6n8-Z8","jetpack-related-posts":[{"id":4520,"url":"https:\/\/www.flamingspork.com\/blog\/2019\/12\/14\/building-openpower-firmware-on-fedora-31\/","url_meta":{"origin":3790,"position":0},"title":"Building OpenPOWER firmware on Fedora 31","author":"Stewart Smith","date":"2019-12-14","format":false,"excerpt":"One of the challenges with Fedora 31 is that \/usr\/bin\/python is now Python 3 rather than Python 2. Just about every python script in existence relies on \/usr\/bin\/python being Python 2 and not anything else. I can't really recall, but this probably happened with the 1.5 to 2 transition as\u2026","rel":"","context":"In &quot;General&quot;","block_context":{"text":"General","link":"https:\/\/www.flamingspork.com\/blog\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3520,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/10\/21\/carbon-footprint-of-interpreted-languages\/","url_meta":{"origin":3790,"position":1},"title":"Carbon footprint of interpreted languages","author":"Stewart Smith","date":"2013-10-21","format":false,"excerpt":"Thought from a good discussion with at Fran\u00c3\u00a7ois at OSDC today, what is the carbon footprint of various languages? He mentioned that the carbon footprint of a new Haskell compiler release is remarkably non-trivial due to every Haskell package in Debian needing to be rebuilt. So, I thought, what's the\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3238,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/03\/06\/mariadb-code-size\/","url_meta":{"origin":3790,"position":2},"title":"MariaDB code size","author":"Stewart Smith","date":"2013-03-06","format":false,"excerpt":"Continuing on from my previous post,\u00c2\u00a0MySQL code size over releases. I wanted to look at the different branches\/patch sets of MySQL out there and work out how far from upstream they deviated. I'm just going to compare against whatever upstream version the most easily accessible version is based on (be\u2026","rel":"","context":"In &quot;General&quot;","block_context":{"text":"General","link":"https:\/\/www.flamingspork.com\/blog\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/docs.google.com\/spreadsheet\/oimg?key=0Ar7e3-N2Y32IdHFGRWI2ODk4ZUY4TkhrclJSVC1mb3c&oid=4&zx=imt1yst694nh","width":350,"height":200},"classes":[]},{"id":4386,"url":"https:\/\/www.flamingspork.com\/blog\/2018\/08\/13\/optimizing-database-access-in-django-a-patchwork-story\/","url_meta":{"origin":3790,"position":3},"title":"Optimizing database access in Django: A patchwork story","author":"Stewart Smith","date":"2018-08-13","format":false,"excerpt":"tl;dr: I made Patchwork a lot faster by looking at what database queries were being generated and optimizing them either by making Django produce better queries or by adding better indexes. Introduction to Patchwork One of the key bits of infrastructure a bunch of maintainers of Open Source Software use\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2018\/08\/Screenshot-from-2018-08-13-14-32-28.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2018\/08\/Screenshot-from-2018-08-13-14-32-28.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2018\/08\/Screenshot-from-2018-08-13-14-32-28.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2018\/08\/Screenshot-from-2018-08-13-14-32-28.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2018\/08\/Screenshot-from-2018-08-13-14-32-28.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":4839,"url":"https:\/\/www.flamingspork.com\/blog\/2022\/02\/02\/every-time-i-program-a-mac\/","url_meta":{"origin":3790,"position":4},"title":"Every time I program a Mac&#8230;","author":"Stewart Smith","date":"2022-02-02","format":false,"excerpt":"... the preferred programming language changes. I never programmed a 1980s Macintosh actually in the 1980s. It was sometime in the early 1990s that I first experienced Microsoft Basic for the Macintosh. I'd previously (unknowingly at the time as it was branded Commodore) experienced Microsoft BASIC on the Commodore 16,\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-02-at-12.52.15.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-02-at-12.52.15.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-02-at-12.52.15.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2022\/02\/Screen-Shot-2022-02-02-at-12.52.15.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":809,"url":"https:\/\/www.flamingspork.com\/blog\/2007\/03\/28\/patching-your-mission-critical-email-syncing-software-on-your-life-setup-my-offlineimap-patch-for-today\/","url_meta":{"origin":3790,"position":5},"title":"Patching your mission-critical email syncing software on your life setup&#8230; my OfflineIMAP patch for today","author":"Stewart Smith","date":"2007-03-28","format":false,"excerpt":"I've used OfflineIMAP for quite a while now. On the whole I'm fairly happy with it. Today I sent this to the list: Forgive the potentially bad python, not my native tongue :) This patch is motivated by three things: - offlineimap is extremely slow at syncing lots of locally\u2026","rel":"","context":"In &quot;life, the universe and everything&quot;","block_context":{"text":"life, the universe and everything","link":"https:\/\/www.flamingspork.com\/blog\/category\/life-the-universe-and-everything\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/3790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/comments?post=3790"}],"version-history":[{"count":1,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/3790\/revisions"}],"predecessor-version":[{"id":3791,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/3790\/revisions\/3791"}],"wp:attachment":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/media?parent=3790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/categories?post=3790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/tags?post=3790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}