This programming thing is really fantastic. For those who know how to use it, they will think how good and interesting the tool is, while for the little guy, it is like a big mountain. In fact, this is all understandable, we all come this way. So the next step is to talk about python related stuff and say a little about my understanding of programming.
Contents:
- Terminology explanation
- Python development environment
- Introduction to common Python IDE
- Python IDE recommendations and some small suggestions
1. Explanation of terms
If less exposure in programming, then for this piece of software, there are several terms must be understood, such as development environment, IDE, code editor, compiler, debugger, etc. I first list the explanation from Baidu encyclopedia on these words.
Development environment:
Software Development Environment (Software Development Environment, SDE) is a set of software used to support the engineering development and maintenance of system software and application software on the basis of basic hardware and digital software, referred to as SDE. it consists of software tools and environmental integration mechanisms, the former to support software development-related processes, activities and tasks, and the latter provides unified support for tool integration and software development, maintenance, and management.
IDE:
An integrated development environment (IDE, Integrated Development Environment) is an application used to provide a program development environment that generally includes tools such as a code editor, compiler, debugger, and graphical user interface. Integrated code writing function, analysis function, compilation function, debugging function and other integrated development software service suite. All software or software suites (groups) with this feature can be called integrated development environments. Such as Microsoft’s Visual Studio series, Borland’s C++ Builder, Delphi series, etc. IDEs are mostly used to develop HTML applications. For example, many people use IDEs (such as HomeSite, DreamWeaver, etc.) when designing websites because many of the tasks are generated automatically.
Compilers:
Simply put, a compiler is a program that translates “one language (usually a high-level language)” into “another language (usually a low-level language)”. The main workflow of a modern compiler: source code → preprocessor → compiler → object code → linker → executables. High-level computer languages are easy to write, read and communicate, and maintain. Machine languages are directly interpreted and run by computers. The compiler takes the source program of an assembly or high-level computer language as input and translates it into the equivalent program of the Target language machine code. The source code is usually a high-level language such as Pascal, C, C++, Java, Chinese programming, or assembly language, while the target is the Object code of a machine language, sometimes called Machine code. For high-level languages such as C# and VB, the compiler’s function is to compile the source code into the byte code of a common intermediate language (MSIL/CIL). At the end of the runtime, the native code is converted by the common language runtime library and programmed to be directly computed by the CPU.
In fact, the Baidu encyclopedia has been very thorough in explaining these words, but it may still be difficult for some partners who are new to the program to understand. To put it simply, take our common JAVA language as an example, in fact, if you want to write a program, if you have installed the JDK in your computer, then in fact, you do not need any other software to achieve some functions. Then some people will ask, I see everyone write JAVA with eclipse or IntelliJ IDEA ah, yes, most people write JAVA with eclipse or IntelliJ IDEA, but you need to know that the software called IDE, or is an editor, a simple version of eclipse is not provided JDK, JDK This JDK is the development environment, the code you have written, if you want to compile and run, you need the JDK development environment support, and eclipse and intelliJ IDEA is to provide you with editing, debugging, compiling programs with JDK, that is, what you use the editor does not affect your program writing, and these editors are for you to improve efficiency and facilitate debugging, these are optional, while the development environment is a must.
2. Python development environment
Well, we have talked at length about other languages, in order to enable the little ones to understand the relationship of software, and then we talk about Pyhton properly.
Python is actually a bit different from other programming languages, it is a scripting language, just like MATLAB language, we can also call it an interpreted language, right? Therefore, the process of running python is different from our traditional languages, such as C and C++, which are compiled languages. python is actually an interpreted process, so it needs an interpreter, but of course, we don’t consider compiling Python into executable files here. If you want to run Python programs, then what is essential is the Python development environment.
Python’s original environment:
The Python website provides the original Python development environment, which is the core and “clean” or “pure” environment.
Python development environment download address: https://www.python.org/downloads/
Anaconda:
Anaconda is actually a one-stop shop that integrates the Python runtime environment and hundreds of libraries, in addition to Anaconda Navigtor, Jupyter notebook, qtconsole and spyder.
Anaconda download address: https://www.anaconda.com/distribution/
3. Introduction to common Python IDE
With the development environment, you need to have an editor or other software. In fact, when you install the Python development environment, it comes with an editor called IDLE, but frankly speaking, this editor is really not very comfortable to use, especially when editing a relatively large project. Moreover, the almighty Notepad can also edit Python, but we certainly can’t do that. Then we will recommend a few editors that can edit python.
notepad++.
Notepad++ is a set of text editors for Windows operating systems (software copyright license: GPL), with a complete Chinese language interface and support for writing in multiple languages (UTF8 technology). notepad++ is more powerful than Notepad (Notepad) in Windows, and can be used to create general plain text description files, but also very suitable for writing computer program code. Notepad++ not only has syntax highlighting and syntax folding, but also supports macros and plug-in modules to expand basic functions, Ada, HTML, PHP, ASP, AutoIt, Assembly, DOS batch, Caml, COBOL, Cmake, CSS,D, Diff, ActionScript, Fortran, Gui4Cli, Haskell, INNO, JSP, KIXtart, LISP, Lua, Make Processing (Makefile), Matlab, INI files, MS-DOS Style, NSIS, Normal text, Objective-C, Pascal, Python, Javascript, Verilog, Haskell, InnoSetup, CMake, VHDL, Matlab.
Download notepad++ at: https://notepad-plus-plus.org/
PyCharm.
PyCharm is a Python IDE with a set of tools that can help users improve their efficiency when developing with the Python language, such as debugging, syntax highlighting, Project management, code skipping, smart hints, autocompletion, unit testing, version control. In addition, the IDE provides some advanced features for professional web development in support of the Django framework. PyCharm can be considered a powerhouse in writing and debugging Python, and the software is easy to use and powerful enough to be recommended.
PyCharm download address: https://www.jetbrains.com/pycharm/
The Pro version of the software is paid software, if you want to use it for free, you can use the community version. If you have a school email address, then you can also use the student version for free. Fortunately, the student version can experience the features of the Pro version.
VS Code.
Visual Studio Code (VS Code / VSC) is a free and open source modern lightweight code editor that supports syntax highlighting, intelligent code completion, custom hotkeys, bracket matching, code snippets, code comparison Diff, GIT and other features for almost all major development languages, supports plug-in extensions, and is done for web development and cloud application development optimized for web development and cloud application development. The software is so beautiful that I couldn’t resist putting up a picture.
VS Code can be downloaded at: https://code.visualstudio.com/
Sublime Text 3.
Similar to VS Code, Sublime Text has the same beautiful user interface and powerful features such as code thumbnails, plugins for Python, code snippets, etc. Customizable key bindings, menus and toolbars are also available. Sublime Text’s main features include spell checking, bookmarks, full Python API, Goto functionality, on-the-fly project switching, multi-selection, multi-window, etc. Sublime Text is a cross-platform editor with support for Windows, Linux, and Mac OS. Sublime Text is a cross-platform editor with support for Windows, Linux and Mac OS.
Download Sublime Text 3 at: http://www.sublimetext.com/
Atom.
Atom is a cross-platform text editor launched by github specifically for programmers. It has a clean and intuitive GUI with many interesting features and supports many languages including Python. It supports macros, autocomplete split-screen functionality, and an integrated file manager.
Atom can be downloaded at: https://atom.io/
Eclipse.
Eclipse is an open source, Java-based extensible development platform. By itself, it is just a framework and a set of services for building development environments through plug-in components. Fortunately, Eclipse comes with a standard set of plug-ins, including Java Development Kit (Java Development Kit, JDK). Eclipse is not limited to writing JAVA, it can also write C, python and other programs.
Eclipse download address: https://www.eclipse.org/downloads/
4. Python IDE recommendations and some small suggestions
There are many Python IDEs on the market, each IDE has its own features and strengths, only choose the IDE that suits you, the development will be easy to handle, half the effort.For newcomers, Pycharm is definitely the best choice, Pycharm is full-featured, friendly interface, there are now folk Chinese packages, whether in the code analysis, or in the environment installation, Pycharm provides a convenient solution, eliminating a lot of trouble tossing the environment, as far as possible to leave the complex things to the IDE to complete.
However, Pycharm has a very fatal drawback, because of its overpowering features and gorgeous interface, Pycharm requires a high computer configuration and 1G of memory, so for experienced developers, software such as VS code, Sublime and Atom become important tools. These software are very open and powerful with careful configuration and third-party plugins. However, these software are not easy to configure, so they are very suitable for experienced partners and not very friendly for the little budding developers.Notepad++ is said to be a code editor, but in fact I think it is more like a reader or a very lightweight modification tool. Because of its lightness, it becomes very convenient to view the code and make some simple changes. If for development, or give priority to VS code, Sublime and Atom and other software as well.
As for Eclipse, I think we should gradually forget about it, the birth of new things, the old things out, this is the immutable topic. The emergence of new tools, to a certain extent, will make up for the shortcomings of the classic tools. For some nostalgic partners, if you can find some development solutions, but also to enjoy the classic tools to play the fun. But isn’t it also a good thing to adapt to new things and keep improving your productivity?