Python is more than just a programming language. It includes additional components which all work together as a holistic system. This course provides an introduction to some of these different components. Including the programming language itself. With the goal of introducing you to the Python programming language as a means of creating and controlling objects.
Upon completing this course you’ll be familiar with the basic concepts of language syntax, the python interpreter, and code blocks.
This course was designed for first-time developers wanting to learn Python. Existing developers may want to skip.
This is an introductory course and doesn’t require any prior programming knowledge. However, conceptual knowledge of Python objects is recommended.
Python code consists of text being written into a file with a dot py file extension. The application used for writing code is referred to as a text editor. And it’ll be our focus for this lesson.
Applications such Microsoft Word, Google Docs, and many others, include features used to modify the look and feel of text. For example, they might allow for bullet points or bold text.
These features add some additional formatting to the text behind the scenes. Code isn’t allowed to include these types of extra formatting. Code files have to be text only in order for the interpreter to understand the code. Which means they need to be written using text editors without any special formatting.
Over the years there have been many different text editors used for code ranging from command line based to graphical interfaces.
Many different text editors can be used to write code. However, there are also specialized editors called code editors. These are designed with developers in mind and include features to help develop and debug code.
There are code editors designed for individual programming languages. And others designed for multiple languages.
Every several years there are always a handful of code editors which become widely used.
Code editors tend to include a lot of similar functionality. They can browse code files; they include syntax highlighting - which makes it easier to identify different aspects of the language; and many include plugin-mechanisms which allow other developers to extend the functionality.
Code editors often include options for different themes. Including the color scheme used for the editor and the syntax highlighting.
With so many options available on so many different operating systems - your choice of editor boils down to your personal preference. And that will change and evolve as you become more comfortable with code.
You’ll adopt different workflows for different projects and languages. An editor that works well in one workflow may be lacking in another workflow.
It’s difficult to recommend a text editor to someone without knowing anything about them. However, I’m going to make one general recommendation here.
If you have no current preference for a text editor check out VS Code. Here’s what Wikipedia has to say about VS Code:
“Visual Studio Code is a source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.”
The reason I recommend VS Code is because it runs on most common operating systems. It supports plugins allowing it to be extended. It’s customizable. And it includes instructions for installing it. Which is important if you’re not just new to programming, but new to tech in general.
Okay, this seems like a natural stopping point. Here are your key takeaways for this lesson:
- The purpose of a text editor is to edit text without including hidden formatting that the interpreter won't understand.
- The purpose of a code editor is to provide an editor that’s tailored to work with code.
Alright, that's all for this lesson. Thanks so much for watching. And I’ll see you in another lesson!
Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.