@@ -3716,7 +3716,9 @@ <h1>Best Python Resources</h1>
37163716beginners learn to program with the language. There are so many resources
37173717out there though that it can be difficult to know how to find them. </ p >
37183718< p > This page aggregates the best Python resources with a brief description of
3719- how it fits one's learning purpose.</ p >
3719+ how it fits one's learning purpose. </ p >
3720+ < p > Looking for information on Python development environments? There's a
3721+ < a href ="/development-environments.html "> whole other page for editors and IDEs</ a > .</ p >
37203722< h2 > New to programming</ h2 >
37213723< p > If you're learning your first programming language these books were written
37223724with you in mind. Developers learning Python as a second or later language
@@ -3887,6 +3889,63 @@ <h2>Newsletters</h2>
38873889</ li >
38883890</ ul >
38893891< h3 > Those resources should help get you started. What's next?</ h3 >
3892+ < h1 > Development Environments</ h1 >
3893+ < p > A development environment is a combination of a text editor and the Python
3894+ interpreter. The text editor allows you to write the code. The interpreter
3895+ provides a way to execute the code you've written. A text editor can be
3896+ as simple as Notepad on Windows or more complicated as a complete integrated
3897+ development environment (IDE) such as
3898+ < a href ="https://www.jetbrains.com/pycharm/ "> PyCharm</ a > which runs on any major
3899+ operating system.</ p >
3900+ < h2 > Why is a development environment necessary?</ h2 >
3901+ < p > Python code needs to be written, executed and tested to build
3902+ applications. The text editor provides a way to write the code. The
3903+ interpreter allows it to be executed. Testing to see if the code does what
3904+ you want can either be done manually or by unit and functional tests. </ p >
3905+ < h2 > A full development environment example</ h2 >
3906+ < p > Here's what I (the author of Full Stack Python,
3907+ < a href ="/about-author.html "> Matt Makai</ a > ) use to develop most of my Python
3908+ applications. I have a Macbook Pro with Mac OS X as its base operating
3909+ system. < a href ="/operating-systems.html "> Ubuntu 14.04 LTS</ a > is virtualized on top
3910+ with < a href ="https://www.parallels.com/ "> Parallels</ a > . My code is written in
3911+ < a href ="http://www.vim.org/ "> vim</ a > and executed with the
3912+ < a href ="https://www.python.org/download/releases/2.7.8/ "> Python 2.7.x</ a > interpreter
3913+ via the command line. I use virtualenv to create separate Python interpreters
3914+ with their own isolated
3915+ < a href ="/application-dependencies.html "> application dependencies</ a > and
3916+ < a href ="http://virtualenvwrapper.readthedocs.org/en/latest/ "> virtualenvwrapper</ a >
3917+ to quickly switch between the interpreters created by virtualenv.</ p >
3918+ < p > That's a common set up but you can certainly write great code with a much
3919+ less expensive set up or a cloud-based development environment.</ p >
3920+ < h2 > Open source development environments</ h2 >
3921+ < ul >
3922+ < li > < a href ="http://www.vim.org/ "> vim</ a > is my editor of choice and installed by default
3923+ on most *nix systems.</ li >
3924+ < li > < a href ="http://www.gnu.org/software/emacs/ "> emacs</ a > is another editor often used
3925+ on *nix.</ li >
3926+ < li > < a href ="http://pydev.org/ "> PyDev</ a > is a Python IDE plug in for
3927+ < a href ="https://www.eclipse.org/ "> Eclipse</ a > .</ li >
3928+ </ ul >
3929+ < h2 > Hosted development environment services</ h2 >
3930+ < p > In the past couple of years several cloud-based development environments
3931+ have popped up. These can work great for when you're learning or stuck on
3932+ a machine with only a browser but no way to install your own software. Most
3933+ of these have free tiers for getting started and paid tiers as you scale
3934+ up your application.</ p >
3935+ < ul >
3936+ < li > < a href ="https://www.nitrous.io/ "> Nitrous.io</ a > </ li >
3937+ < li > < a href ="https://c9.io/ "> Cloud9</ a > </ li >
3938+ < li > < a href ="https://www.terminal.com/ "> Terminal</ a > </ li >
3939+ < li > < a href ="https://koding.com/ "> Koding</ a > </ li >
3940+ </ ul >
3941+ < h2 > Development environment resources</ h2 >
3942+ < ul >
3943+ < li > If you're considering the cloud-based development environment route, check
3944+ out this
3945+ < a href ="http://readwrite.com/2014/08/14/cloud9-koding-nitrousio-integrated-development-environment-ide-coding "> great article comparing Cloud9, Koding and Nitrous.io</ a >
3946+ that the author Lauren Orsini tried out. She also explains what a cloud
3947+ IDE is and is not.</ li >
3948+ </ ul >
38903949 < h1 > About the Author</ h1 >
38913950< p > This website was written and built by
38923951< a href ="http://www.mattmakai.com/ "> Matt Makai</ a >
@@ -3913,6 +3972,8 @@ <h1>Change Log</h1>
39133972< h2 > 2014</ h2 >
39143973< h3 > October</ h3 >
39153974< ul >
3975+ < li > Added the first new page in awhile! All about
3976+ < a href ="/development-environments.html "> development environments</ a > .</ li >
39163977< li > Always adding new links to the best resources. More resources for
39173978 deployments, web analytics and Flask.</ li >
39183979< li > More API creation and consumption resources.</ li >
0 commit comments