At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
Yes. The latest version.
Use whatever MIT says. After you've learned, then you can worry about the latest and greatest. For the moment, you don't need the headaches of "improvements" changing things.
I would suggest if you are new to programming in general to use the 2.6 version. The 2.7 might require very minor differences in syntax in order to get the MIT code to work exactly as expected. If you have programming experience, either should be fine- the differences are minor and easy to figure out if you know how to troubleshoot errors and are not thrown by having a code example not work correctly the first time around.
My system has programs that are dependent on the 2.7 version. Is it worth while trying to setup a separate install for this?
Python usually installs in a folder that contains the version number in it's name. Verify this with you 2.7 install. Check your PATH variable so you know what typing in just "python" will do, so that if your 2.7 programs just do that, they won't get the wrong version. Install the other version of Python, and recheck your PATH variable. With the programs that you write, use the absolute path for Python.
I've played around with 2.7 and 3.2, and personally I prefer 2.7. 2.7 will support most of the code you'll find around because 2x is basically status quo, and _currently_ you will find more third party software supporting it. 3x's libraries are comparatively limited, for now anyway. You can however have both on one machine if you can be bothered, and I would recommend looking into 3.2 at least once you feel comfortable with python as I believe most people are looking to move over to that version.
The question isn't version 3 vs version 2. MIT says to use 2.6 for compatibility with their subject matter which doesn't match up with the 'other' sites we will be using.
2.7 is supposed to be pretty good with backwards compatibility so I don't see why you wouldn't use the one that the site recommends.
i did the 2008 course with 2.7x
use the latest: 3.1v. i have this on my computer now, trying to teach myself how to use it, it isn't easy! we'll learn together,ok?
If you are doing the Mechanical MOOC course that starts Monday, either 2.6 or 2.7 is fine.
Good to know that 2.7 works, because the MIT link for downgrading to the 2.6 version is broken. I setup Ubuntu 12.04 in a VM, but the MIT instructions said downgrade to 2.6. So it was unnecessary even to setup the VM then, since 2.7.4 is the default on Ubuntu 13.04.
@dkeats Sorry for the confusion. 2.7.4 should be fine.
The differences between 2.x versions are generally not large. If you stub your toe, you can generally find out why very easily. The basic commands are largely the same and 2.7 has some additions that prep you better for going to 3.x later. I'm doing things in 3.x. I can get the same results with only a few command changes. I still have 2.7 on some systems, but I want to be ready for the transition since 2.7 is the end of the 2.x line. They planned a 5 year transition period starting with 3.1 and it has been about 4 years, so I see no huge need to push to know 2.7 for new projects.
The safest to play with is the 2.7 brach, as it is intended to be both back- and forward-compatible as much as possible. Meaning that it understands both syntax from 2.6 as well as (most of) 3.0. What I do is use 2.7 and try to type everything I can in 3.0-style (e.g. `print("Hello")`, use `//` when I *want* integer division and assume `/` automatically converts to float when appropriate etc.) That way the code works in 2.7, but I don’t need to port it (much) to 3.0 later on.
Python 2.7 is probably the best one to use in the course, for now, because it is very similar to Python 2.6, and the Codecademy Python Track uses 2.7. I actually like Python 3.x the best, but some common operations, such as getting user input and printing output, differ in details between the 2.x and 3.x versions. Therefore using 3.x on your computer would require frequent minor modifications of your code whenever you transfer it between the lecture code examples, Codecademy, and your system. It is also likely that the three projects at the end of the MOOC are based on Python 2.x. As a case in point, with Python 2.x, print is implemented as a command that is followed by a space and then the expressions you wish to output. But in Python 3.x, print is a function, requiring you to surround an expression to be output with parentheses. Examples: In Python 2.x: print x ** 2 + 3 * x + 5 In Python 3.x: print(x ** 2 + 3 * x + 5)
It depends on the codes you'll be using. If the course program makes use of Python 2.7, for instance, then you have to use this particular one as the code provided to use as study material will be compatible only with the program mentioned. So choose according to the one mentioned in the course program which is not Python 2.7 but maybe Python 3.2.1.