Minigame is probably never going to support Python 3.

Monday, 28 November, Year 8 d.Tr. | Author: Mircea Popescu

Here's the relevant bit of the devlog :

diana_coman I would have to look into 2.78a to see what they claim to do there and whether any of it might help with the cal3d export part; basically from a strictly Blender point of view I worked with a whole set of versions from 2.4 to 2.7 and I would say 2.67 is fine in there; what you might want to test first however before choosing one version is how the different exporters behave if you want to try use/adapt an existing exporter. Basically different exporters work to different degrees with different versions - making it all a huge headache; cutting this short I would rather just stick to 2.71 and develop an exporter for that (it has a baking API which I'm not sure is in 2.67 as well). For fuck's sake they list "Python APIs changes" as FEATURE, arrgh.
mircea_popescu Heh. Are they on 3.x yet ?

diana_coman I think latest Blender shouts for Python 3 ONLY, yeah.
mircea_popescu Heh. I'm not terribly sure Python 3 has any sort of future. It seems altogether unable to muster specific support in TMSR, and the Open Sores movement is running out of steam.

shinohai I still prefer 2.7 to be honest.
mircea_popescu actually their statement is so lulzy it's worth quoting.

    Short version: Python 2.x is legacy, Python 3.x is the present and future of the language

    Python 3.0 was released in 2008. The final 2.x version 2.7 release came out in mid-2010, with a statement of extended support for this end-of-life release. The 2.x branch will see no new major releases after that. 3.x is under active development and has already seen over five years of stable releases, including version 3.3 in 2012, 3.4 in 2014, and 3.5 in 2015. This means that all recent standard library improvements, for example, are only available by default in Python 3.x.

    Guido van Rossum (the original creator of the Python language) decided to clean up Python 2.x properly, with less regard for backwards compatibility than is the case for new releases in the 2.x range. The most drastic improvement is the better Unicode support (with all text strings being Unicode by default) as well as saner bytes/Unicode separation.

    Besides, several aspects of the core language (such as print and exec being statements, integers using floor division) have been adjusted to be easier for newcomers to learn

So basically, "it is the present (delusionally) and future (hopefully) of the language because it has more Unicode crapi and it's easier for noobies." Good luck have fun, if your focus is new people that means you're an altcoin and get lostii. Meanwhile 2 branch is FINALLY stable. I have no fucking idea what they must be drinking to imagine "more releases" is a selling point, but whatever it is, they're guzzling it down.

diana_coman Several aspects of the core language (such as print and exec being statements, integers using floor division) have been adjusted to be easier for newcomers to learn " <- eurgh, so now core aspects are decided based on what is "easy" for newcomers, way to go. Guess that might be a cutting point re Blender versions then. Basically whatever Blender version is the last to work on Python 2.x and we'll make it work with that - it's anyway more reasonable than to import whatever new python mess.
mircea_popescu Pretty much. I can't imagine better news than "we finally took the creative gnats away, branch is finally stable". Hallelujah.

This discussion covers in-house software, yes, but not legacy software. On the contrary, it's the development plan for the future, a future which very pointedly leaves no space for Python 3. Discuss.

———
  1. It should probably be noted that Unicode support is not seriously entertained by the Republic, which means that it isn't the future of anything. []
  2. Elitism means something. []
Category: Meta psihoza
Comments feed : RSS 2.0. Leave your own comment below, or send a trackback.

13 Responses

  1. 2.7 is not even plug-compatible with 2.6... Python per se is a crock of shit and has no permanent future in any sane scenario.

    It is exactly Perl -- a "duct tape" which is made use of simply because it makes the act of writing a sane and reusable program seem exorbitantly expensive, and the planning work involved -- seem "unnecessary". (For a complete exposition of "Perlism", refer to Naggum.)

  2. Mircea Popescu`s avatar
    2
    Mircea Popescu 
    Monday, 28 November 2016

    The problem remains that you have no proper compiler of art files into C binary objects ; and the gap has to be filled with something.

    This is python, the compiler of the gaps, play on linux relies on it to get wine to interact with gnome (ie, a bunch of bash-esque confstring manipulation), minigame relies on it to get blender exports to work in crystal space (ie... very much the same, hacking chunks of data from files into a single blob) and so on and so forth.

    Until someone makes a general compiler, there will be something like python. That the various molds & assorted scum caught in the grating (ever seen Nick Coghlan's twitter stream for instance ?) imagine it relevant or important is ... well, basically what they do.

  3. Down with Python 3.x!

    I'm an entitled whiner that can't handle the world changing around me! Fuck all these Johnny Come-lately's! They should keep doing things the way I'M most comfortable with!

    Because I wrapped my head around the warts of Python 2.x, I'm special! If I get hit by a bus, the world will truly lose out on that nothing valuable because millions of others also learned the warts and many of them moved on!

    Never mind I'm too much of a nancy to use a real language to begin with! I need something with a bunch of guardrails built into it! I need "features" like inheritance, cause I can't reason about problems without abstract wankery to hold my hand! I love my hand-wavey type system! I love guessing if it's one type or another I'll get and writing extra code to handle the edge cases that arise!

    -- Staticly Typed Hipster

  4. Mircea Popescu`s avatar
    4
    Mircea Popescu 
    Tuesday, 29 November 2016

    If only things were so simple, you'd be adequate for the calls of the world.

  5. Nick Coghladick`s avatar
    5
    Nick Coghladick 
    Tuesday, 29 November 2016

    the same design changes that improve Python 3’s Windows integration by changing several OS interfaces to operate on text rather than binary data also make it more sensitive to locale misconfiguration issues on POSIX operating systems other than Mac OS X.

    You totally got your priorities straight, dickfaces.

  6. Mircea Popescu`s avatar
    6
    Mircea Popescu 
    Tuesday, 29 November 2016

    That's not the best part. The best part is when the dickface conclave admits that the whole steaming pile of crap was rushed to production before even cursory design work :

    During the pre-release design period, the lack of an immutable binary data type was identified as a problem, and the (then mutable) bytes type was renamed to bytearray and a new immutable bytes type added. The now familiar “bytes literal” syntax was introduced (prepending a “b” prefix to the string literal syntax) and the representations of the two types were also adjusted to be based on the new bytes literal syntax. With the benefit of hindsight, it has become clear another change should have been made at the same time: with so many affordances switched back to matching those of the Python 2 str type (including the use of the new bytes literal syntax to refer to that type in Python 2.6 and 2.7), bytes and bytearray should have been been switched away from behaving like a tuple of integers and list of integers (respectively) and instead modified to be containers of length 1 bytes objects, just as the str type is a container of length 1 str objects. Unfortunately, that change was not made at the time, and now backwards compatibility constraints within the Python 3 series itself makes it highly unlikely the behaviour will be changed in the future either.

    But hey, Python 4, amirite ?

    The part where Unicode is an entirely spurious piece of shit, whose mere presence literally dumbs down entire organisations whether used or not has yet to be addressed.

    Why the fuck should sandniggers & assorted orcs feed their God-forsaken chicken scribblings into a computer rather than become literate ? Computers are not for everyone.

  7. Related: https://learnpythonthehardway.org/book/nopython3.html

  8. Mircea Popescu`s avatar
    8
    Mircea Popescu 
    Tuesday, 29 November 2016

    The strings in Python 3 are very difficult to use for beginners. In an attempt to make their strings more "international" they turned them into difficult to use types with poor error messages. Every time you attempt to deal with characters in your programs you'll have to understand the difference between byte sequences and Unicode strings. Don't know what that is? Exactly. The Python project took a language that is very forgiving to beginners and mostly "just works" and implemented strings that require you to constantly know what type of string they are. Worst of all, when you get an error with strings (which is very often) you get an error message that doesn't tell you what variable names you need to fix.

    Imagine if you will, I'm supposed to have artists delve into haskellian arcana ? Jaysus.

  9. I found http://lucumr.pocoo.org/2014/5/12/everything-about-unicode/ much better than the 'learnpythonthehardway' link. It talks technical facts and shows with code how bad the situation is.

  10. Mircea Popescu`s avatar
    10
    Mircea Popescu 
    Tuesday, 6 December 2016

    Not a bad read.

  11. The devlog link is basically broken.

  12. Python was designed for noobs from the start, so it's not a bug, it's a feature.

    That being said, Java, C#, JavaScript and TCL have Unicode strings. Even Go and Rust have some built-in support.

    Are old polimedia.us/trilema URLs still working? Talkin' about API breakage...

  1. [...] deploys with a master's hand the Romanian tradition of мат, partly because English is a sort of Python 3 these days (in the sense of having entirely lost any sort of contact with any kind of lived life, [...]

Add your cents! »
    If this is your first comment, it will wait to be approved. This usually takes a few hours. Subsequent comments are not delayed.