Editor or IDE? Another attempt at analysis.

Maximum performance achieved using the AHCI mechanism. Therefore, in all new PCs that run the operating system Windows systems 7 or higher versions of Microsoft OS, this option is used. If we're talking about about older systems, then you still need to think about whether to use AHCI or IDE. Which is better? The answer to this question depends on many factors.

AHCI or IDE - which is better? How to choose the desired mode?

Despite the popularity of the Windows 7, 8, 10 operating systems, many owners personal computers and laptops continue to use Win XP. The OS is stable. People feel comfortable working with her. However, Windows XP also has a number of significant disadvantages:

  • official Microsoft support this OS has been completely discontinued;
  • technologically outdated operating system;
  • does not support new versions of DirectX (versions 10-12);
  • security problems;
  • there is no support for the most current technologies;
  • It is impossible to install many modern programs on XP;
  • There are no drivers for new equipment.

The list could go on for a long time. If we consider the question of which operating mode is better - AHCI or IDE - then it is worth taking into account the fact that Windows XP simply does not support the first option. This, of course, also applies to older versions of the Microsoft OS. Therefore, the choice here is obvious - only IDE. But if a person belongs to the category of advanced users, he can load into the system special drivers, which allow the use of the AHCI mechanism. By default, this mode is not supported.

How IDE mode works

Components that require connection ATA interface, use the IDE mechanism to operate. This technology is outdated, but it was widely used in the nineties of the last century and at the beginning of the 2000s. The standard was introduced in the IBM PC - the first mass popular computers.

IDE Engine ( parallel interface drive connections) provided data transfer at a speed of 150 Mbit/s. It did not allow the use of some technological solutions that were relevant at that time. So, it was impossible to perform a hot extraction from the system hard drive or CD drive without shutting down or rebooting the system. Similar features were added by engineers after some time, but only some computers received their support. Knowing the background to the development of interfaces, you can easily answer a number of questions: AHCI or IDE - which is better for a specific operating system, which scheme provides faster operation?

Active use of Parallel ATA interfaces ended around 2006, when the main role began to play new standard SATA. However, even after 10 years, the IDE is still in use, although it is used much less frequently. The mechanism is used in almost all old computers and laptops, and is active even in systems that support AHCI.

Features of AHCI mode

The emergence of the new SATA interface, which had more powerful capabilities compared to the previous PATA technology, created the need for a new mechanism for working with the system. This is how AHCI mode appeared. It made it possible to use the resources of the recently appeared interface on full power. Today, this mechanism is supported by all modern motherboards.

Using the AHCI mode allows you to ensure the transfer of information at the highest possible speed and use any current technological solutions. All current operating systems have device drivers that operate this protocol. So what should you choose now, IDE or AHCI? What is better for a modern computer? In most cases, the choice should be made in favor of the second option.

Advantages of the AHCI mechanism

Modern drives with SATA interface are fully compatible with the new mode. What advantages does this mechanism have? Still, choose IDE or AHCI - which is better? Windows 7 and newer versions of Microsoft OS are capable of working with the two above protocols. But the second one is better used for new systems.

Benefits that the user receives when using AHCI:

  • high data transfer speed;
  • excellent performance;
  • full compatibility with modern operating systems;
  • the ability to hot-swap hard drives;
  • support for NCQ technology (improves HDD performance).

Knowing about all the pros and cons of the solution, it’s easy to make a choice between installing AHCI or IDE in the settings. What would be better for a modern computer? If it is not equipped with PATA drives, it is better to install a new mode.

Which mode to set in BIOS settings

Although IDE mode has long been obsolete, it is still supported by motherboard manufacturers. Even the newest models have the ability to use this interface. IN BIOS settings in the corresponding section you can change one mode to another. By default, the AHCI engine is usually installed. It is possible to run into an exception, but this happens extremely rarely.

If you take typical situation When a user tries to install the Windows 7 operating system on a computer, he does not even have to make any changes to the BIOS to use the new scheme. Perhaps some will find it familiar to work with the old interface. So, IDE or AHCI - which is better? Windows 7 allows you to use both modes.

If hard drive or another drive is connected to the motherboard via the SATA interface, you should leave the default AHCI mode. Full support this mechanism provided in operating systems Windows 7, 8, 10, Ubuntu 16.04 and others. Only possible with the new mode stable work OS data.

What to do if, after enabling AHCI mode, the system stops booting

This situation may occur if the user has Windows XP or old version Linux. There is no question here whether to prefer AHCI or IDE. What will be better for the old OS? Perhaps it is preferable to set the mode to IDE. You can try to install it on the system additional drivers, which provide support for the new standard. However, there is no guarantee that after this procedure the OS will work correctly.

In some cases, a computer that has successfully worked for a long time running Windows XP system, one day it stops booting. At the same time, the user did not change the operating mode of the drives in the BIOS. This situation may arise due to operational errors basic system I/O In this case, the settings are reset and the AHCI mode is activated. The user must independently set in the settings BIOS support IDE mechanism.

Hello! We looked at it in detail hard device disk, but I didn’t specifically say anything about interfaces - that is, ways of interaction between the hard drive and other computer devices, or more specifically, ways of interacting (connecting) the hard drive and the computer.

Why didn't you say so? But because this topic is worthy of no less than an entire article. Therefore, today we will analyze in detail the most popular ones on at the moment hard drive interfaces. I’ll immediately make a reservation that the article or post (whichever is more convenient for you) this time will have an impressive size, but unfortunately there’s no way to go without it, because if you write briefly, it will turn out to be completely unclear.

Computer hard drive interface concept

First, let's define the concept of "interface". In simple terms (and this is what I will express myself in if possible, because the blog is on ordinary people designed for people like you and me), interface - the way devices interact with each other and not only devices. For example, many of you have probably heard about the so-called “friendly” interface of a program. What does it mean? This means that the interaction between a person and a program is easier, not requiring the user to great effort, compared to the "not friendly" interface. In our case, the interface is simply a way of interaction between the hard drive and the computer motherboard. It is a set of special lines and a special protocol (a set of data transfer rules). That is, purely physically, it is a cable (cable, wire), on both sides of which there are inputs, and on the hard drive and motherboard there are special ports (places where the cable is connected). Thus, the concept of interface includes a connecting cable and ports located on the devices it connects.

Well, now for the “juice” of today’s article, let’s go!

Types of interaction between hard drives and computer motherboard (types of interfaces)

So, first in line we will have the most “ancient” (80s) of all, in modern HDDs You won’t find it anymore, it’s an IDE interface (aka ATA, PATA).

IDE- translated from English “Integrated Drive Electronics”, which literally means “built-in controller”. It was only later that IDE began to be called an interface for data transfer, since the controller (located in the device, usually in hard drives and optical drives) and the motherboard had to be connected with something. It (IDE) is also called ATA (Advanced Technology Attachment), it turns out something like “Advanced Connection Technology”. The point is that ATA - parallel data interface, for which soon (literally immediately after the release of SATA, about which we'll talk just below) it was renamed PATA (Parallel ATA).

What can I say, although the IDE was very slow ( throughput data transmission channel ranged from 100 to 133 megabytes per second per different versions IDE - and even then purely theoretically, in practice much less), but it allowed you to simultaneously connect two devices to the motherboard at once, using one cable.

Moreover, in the case of connecting two devices at once, the line capacity was divided in half. However, this is far from the only drawback of the IDE. The wire itself, as can be seen from the figure, is quite wide and, when connected, will take up the lion's share of the free space in the system unit, which will negatively affect the cooling of the entire system as a whole. All in all IDE is already outdated morally and physically, for this reason the IDE connector is no longer found on many modern motherboards, although until recently they were still installed (in the amount of 1 piece) on budget motherboards and on some boards in the mid-price segment.

The next interface, no less popular than the IDE in its time, is SATA (Serial ATA), a characteristic feature of which is serial data transmission. It is worth noting that at the time of writing this article is the most widespread for use in PCs.

There are 3 main variants (revisions) of SATA, differing from each other in throughput: rev. 1 (SATA I) - 150 Mb/s, rev. 2 (SATA II) - 300 Mb/s, rev. 3 (SATA III) - 600 Mb/s. But this is only in theory. In practice, the writing/reading speed of hard drives usually does not exceed 100-150 MB/s, and the remaining speed is not yet in demand and only affects the speed of interaction between the controller and the HDD cache memory (increases the disk access speed).

Among the innovations we can note - backwards compatible all versions of SATA (a disk with a SATA rev. 2 connector can be connected to a motherboard with a SATA rev. 3 connector, etc.), improved appearance and ease of connecting/disconnecting the cable, increased cable length compared to IDE (1 meter maximum, versus 46 cm on IDE interface), support NCQ functions starting from the first revision. I hasten to please owners of old devices that do not support SATA - they exist adapters from PATA to SATA, this is a real way out of the situation, allowing you to avoid wasting money on buying a new motherboard or a new hard drive.

Also, unlike PATA, the SATA interface provides for “hot-swappable” hard drives, which means that when the power is on system unit computer, you can attach/detach hard drives. True, to implement it you will need to delve a little into the BIOS settings and enable AHCI mode.

Next in line - eSATA (External SATA)- was created in 2004, the word "external" indicates that it is used to connect external hard disks. Supports " hot swap"disks. The length of the interface cable has been increased compared to SATA - the maximum length is now two meters. eSATA is not physically compatible with SATA, but has the same bandwidth.

But eSATA is far from the only way connect external devices to your computer. For example FireWire- serial high-speed interface for connection external devices, including HDD.

Supports hot swapping of hard drives. The throughput is comparable to USB 2.0, and with the advent of USB 3.0 - even loses in speed. However, it does have the advantage that FireWire is able to provide isochronous data transmission, which facilitates its use in digital video, since it allows data to be transmitted in real time. Sure, FireWire is popular, but not as popular as, for example, USB or eSATA. For connecting hard disks, it is used quite rarely; in most cases, various multimedia devices are connected using FireWire.

USB (Universal Serial Bus), perhaps the most common interface used to connect external hard drives, flash drives and solid state drives(SSD). As in the previous case, there is support for “hot swapping”, a rather large maximum length connecting cable- up to 5 meters in case USB usage 2.0, and up to 3 meters - if USB 3.0 is used. It is probably possible to make the cable longer, but in this case the stable operation of the devices will be in question.

Baud rate USB data 2.0 is about 40 Mb/s, which is generally a low figure. Yes, of course, for ordinary everyday work with files, a channel bandwidth of 40 Mb/s is enough, but as soon as we talk about working with large files, you will inevitably begin to look towards something faster. But it turns out there is a way out, and its name is USB 3.0, the bandwidth of which, compared to its predecessor, has increased 10 times and is about 380 Mb/s, that is, almost the same as SATA II, even a little more.

There are two types of contacts USB cable, these are type "A" and type "B", located at opposite ends of the cable. Type "A" - controller (motherboard), type "B" - connected device.

USB 3.0 (Type "A") is compatible with USB 2.0 (Type "A"). Types "B" are not compatible with each other, as can be seen from the figure.

Thunderbolt (Light Peak). In 2010 by Intel the first computer with this interface was demonstrated, and a little later in Thunderbolt support no less famous has joined Intel Apple company. Thunderbolt is quite cool (how could it be otherwise, Apple knows what is worth investing in), is it worth talking about its support for such features as: the notorious “hot swap”, simultaneous connection with several devices at once, truly “huge” data transfer speed (20 times faster than USB 2.0).

The maximum cable length is only 3 meters (apparently more is not necessary). However, despite all the listed advantages, Thunderbolt is not yet “massive” and is used mainly in expensive devices.

Let's move on. Next up we have a couple of very similar interfaces - SAS and SCSI. Their similarity lies in the fact that they are both used primarily in servers where it is required high performance and the shortest possible access time hard drive. However, there is also reverse side medals - all the advantages of these interfaces are compensated by the price of devices that support them. Hard drives that support SCSI or SAS are much more expensive.

SCSI(Small Computer System Interface) - a parallel interface for connecting various external devices (not just hard drives).

It was developed and standardized even somewhat earlier than the first version of SATA. IN fresh version SCSI has hot-swappable support.

SAS(Serial Attached SCSI), which replaced SCSI, was supposed to solve a number of the latter's shortcomings. And I must say - he succeeded. The fact is that, due to its “parallelism,” SCSI used a common bus, so only one of the devices could work with the controller at a time; SAS does not have this drawback.

Plus, it's backwards compatible with SATA, which is definitely a big plus. Unfortunately, the cost of hard drives with a SAS interface is close to the cost of SCSI hard drives, but there is no way to get rid of this; you have to pay for speed.

If you're not tired yet, I suggest you consider one more interesting way HDD connections - NAS(Network Attached Storage). Currently network systems data storage (NAS) are very popular. Essentially this is separate computer, a kind of mini-server responsible for storing data. It connects to another computer via network cable and is controlled from another computer through a regular browser. All this is needed in cases where great disk space, which is used by several people at once (in the family, at work). Data from network storage are transmitted to user computers either via a regular cable (Ethernet), or when Wi-Fi assistance. In my opinion, a very convenient thing.

I think that's all for today. I hope you liked the material, I suggest you subscribe to blog updates so as not to miss anything (form in the upper right corner) and we will meet you in the next blog articles.

Hello everyone, I would like to tell you which mode to choose for your hard drive so that it works as it should.

Most likely, this article is suitable for medium-sized computers that may have the wrong option selected. But just in case, check. Before that, I also somehow didn’t think about it until my director told me.

In general, closer to the point) First you need to go into the BIOS of your computer. Different BIOS versions have different login buttons, usually del on computers and F2 on laptops. When the computer boots, it usually says press F2 (Del) for bios. Just in case, here's a hint:

How to enter the BIOS in different versions:

On your computer:

On a laptop:

Once you have logged in, you need to look for the Sata Configuration parameter. In it you need to select AHCI mode.

At the same time, I’ll tell you what these modes are:

There are IDE and SATA connection methods:

IDE mode

The IDE (Integrated Development Environment) connector is an outdated connector (developed in the 80s), as can be seen in the picture, it was previously used to connect hard drives, floppy drives, CD-ROMs, etc. which supported such connectors. In those days, of course, this connector was incredibly popular, but now, of course, all that remains is to remember it and change it on old computers.

In addition to all this, even the cords themselves are more convenient and take up less space. The sat connectors support HotSwap and HotPlug i.e. hot replacement, which is convenient in servers. No need to reboot or shutdown.

AHCI is a mode SATA connections devices, so I came to the solution to all the articles. Thanks to this mode sata devices work properly.

In order for all your devices to work well, you need to select it (of course, if you have not already selected it).

But first you need to choose windows mode achi otherwise Windows will not start! Of course you can try, but most likely... Therefore, I will show you how to install achi mode on Windows 7.

How to enable ACHI mode?

This is done using the registry.

Press start - run (or WIN + R).

Type regedit and press enter.

The Registry Editor will appear. In it we follow the path:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci


(English) Integrated Development Environment ) - system software, used by programmers for development software.

  • IDE(English) Integrated Drive Electronics) - parallel interface for connecting storage devices (hard drives and optical drives) to the computer. Developed in 1986 by Western Digital, later became known as ATA, then PATA.
  • IDE- designation of the direct fuel injection system in gasoline engines from Renault.
  • __DISAMBIG__

    Write a review about the article "IDE"

    An excerpt describing the IDE

    After walking him ten steps, Villarsky stopped.
    “No matter what happens to you,” he said, “you must endure everything with courage if you firmly decide to join our brotherhood.” (Pierre answered in the affirmative by bowing his head.) When you hear a knock on the door, you will untie your eyes,” Villarsky added; – I wish you courage and success. And, shaking Pierre’s hand, Villarsky left.
    Left alone, Pierre continued to smile the same way. Once or twice he shrugged his shoulders, raised his hand to the handkerchief, as if wanting to take it off, and lowered it again. The five minutes he spent with his eyes tied seemed like an hour. His hands were swollen, his legs were giving way; he thought he was tired. He experienced the most complex and varied feelings. He was afraid of what would happen to him, and even more afraid of not showing fear. He was curious to know what would happen to him, what would be revealed to him; but most of all he was happy that the moment had come when he would finally embark on that path of renewal and actively virtuous life, which he had dreamed of since his meeting with Osip Alekseevich. Strong knocks were heard on the door. Pierre took off the bandage and looked around him. The room was black and dark: only in one place was a lamp burning, in something white. Pierre came closer and saw that the lamp stood on a black table, on which lay one open book. The book was the Gospel; that white thing in which the lamp was burning was a human skull with its holes and teeth. Having read the first words of the Gospel: “In the beginning was the word and the word was to God,” Pierre walked around the table and saw a large open box filled with something. It was a coffin with bones. He was not at all surprised by what he saw. Hoping to enter into a completely new life completely different from the previous one, he expected everything extraordinary, even more extraordinary than what he saw. The skull, the coffin, the Gospel - it seemed to him that he expected all this, expected even more. Trying to evoke a feeling of tenderness in himself, he looked around him. “God, death, love, brotherhood of people,” he said to himself, associating with these words vague but joyful ideas of something. The door opened and someone entered.

    Writing in Python using IDLE or Python Shell is quite convenient when it comes to simple things, however, as projects grow in size, programming becomes a pain. Using an IDE or even a good code editor can make your life a lot easier. But the question is - what to choose?

    In this article, we'll go through the basic tools that allow you to write in Python. We won't choose for you best option, but we’ll look at the pros and cons of each and help you make an informed decision.

    What is an IDE and code editor?

    An IDE (or integrated development environment) is a program designed for software development. As the name suggests, the IDE brings together several tools specifically designed for development. These tools typically include an editor designed to work with code (such as syntax highlighting and autocompletion); build, runtime, and debugging tools; and some form of version control system.

    Most IDEs support multiple programming languages ​​and have many features, which means they can be large, take a long time to download and install, and require extensive knowledge to use properly.

    On the other hand, there are code editors that are text editor with syntax highlighting and code formatting capabilities. Majority good editors coders can execute code and use a debugger, and the best ones can even interact with version control systems. Compared to an IDE, a good code editor is usually lighter and faster, but often at the cost of less functionality.

    Requirements for a good development environment

    So what do we need from a development environment? The set of functions of different environments may differ, but there is a set of basic things that simplify programming:

    • Saving files. If an IDE or editor doesn't give you the ability to save your work and later open everything in the same state it was in when you closed it, then it's not that much of an IDE;
    • Running code from the environment. Same thing, if you need to exit the environment to run code, then it's nothing more than a simple text editor;
    • Debugging support. The ability to step through the code is basic function all IDEs and most good code editors;
    • Syntax highlighting. Ability to quickly find keywords, variables, etc. makes reading and understanding the code much easier;
    • Automatic code formatting. Any editor or IDE that actually is one will recognize a colon after a while or for expression and will automatically indent the next line.

    Of course, there are many other features that you wouldn't want to miss, but the above are the basic features that a good development environment should have.

    Now let's take a look at some tools general purpose, which can be used for Python development.

    Editors and IDEs with Python support

    Eclipse + PyDev

    If you are close to the open-source community, then you have probably heard of Eclipse. Available for Linux, Windows and OS X, Eclipse is the de facto open-source IDE for Java development. There are many extensions and addons that make Eclipse useful for a variety of tasks.

    One such extension is PyDev, which provides an interactive Python console and debugging and code completion capabilities. Installing it is simple: launch Eclipse, select Help → Eclipse Marketplace, then search for PyDev. Click Install and restart Eclipse if necessary.

    Advantages: If you already had Eclipse installed, then installing PyDev will be quick and smooth. U experienced user Eclipse will have no problem learning this extension.

    Flaws: If you're just starting to learn Python or development in general, Eclipse can be an overwhelming burden. Remember we said that IDEs are big and require more experience to full use? All this can be said about Eclipse.

    Sublime Text

    Type: code editor
    Website: http://www.sublimetext.com

    Sublime Text, written by a Google engineer with a dream of a better text editor, is quite popular editor code. Available on all platforms, Sublime Text has built-in support for editing Python code, as well as a rich set of extensions called packages that extend its syntax and editing capabilities.

    Installing an additional Python package can be tricky - that's all Sublime packages Text are written in Python, so installing community packages may often require running a Python script directly in the editor.

    Advantages:y Sublime Text large number fans. As a code editor, Sublime Text is fast, lightweight, and well supported.

    Flaws: Sublime Text is not free, although you can use trial period as much as you like. Installing extensions can turn into another quest. In addition, the editor does not support debugging or running code.

    Atom

    Type: code editor
    Website: https://atom.io/

    Available on all platforms, Atom has been called "the hackable text editor of the 21st century." Atom is written using Electron - a framework for creating cross-platform desktop applications using JavaScript, HTML and CSS - and has many extensions. Python support can also be enabled using an extension that can be installed directly into Atom.

    Advantages: Supported on all platforms thanks to Electron. Atom is lightweight and quick to download and load.

    Flaws: Support for building and debugging is not built-in, but is added through extensions. Because Atom is written using Electron, it always runs as a JavaScript process, not as native app.

    GNU Emacs

    Type: code editor
    Website: https://www.gnu.org/software/emacs/

    Long before the iPhone-Android war, before the Linux-Windows war, even before the PC-Mac war, there was a war of editors with GNU Emacs as one of the combatants. Described as an "extensible, customizable, self-documenting text editor", GNU Emacs has been around almost as long as UNIX and has gained quite a following.

    Available free on every platform (in one form or another), GNU Emacs uses the Lisp language for customization. Of course, there are also customization scripts for Python.

    Advantages: You are familiar with Emacs, you use Emacs, you love Emacs. Lisp is your second language and you know you can do anything with it.

    Flaws: customization involves writing (or copy-pasting) Lisp code in various scripts. If there aren't any, you may have to learn Lisp to figure it out.

    Vi/Vim

    Type: code editor
    Website: https://www.vim.org/

    On the other side of the editor war is VI/VIM. Available by default on almost every UNIX system and Mac OS X, VI has won just as many fans. VI and VIM are modal editors that separate viewing a file from editing it. VIM includes everything that is in VI, plus some improvements such as the availability of extensions. For various types of Python tasks, you can use VIMScripts.

    Advantages: You are familiar with VI, you use VI, you love VI. VIMScripts don't scare you, and you know how to bend them to your will.

    Flaws: As with Emacs, you're not very comfortable finding or writing scripts to add Python development capabilities, and you have no idea how a modal editor is supposed to work at all.

    Visual Studio

    Advantages: as with Eclipse, if you already have it installed Visual Studio for other tasks, the installation of PTVS will proceed without problems.

    Flaws: As with Eclipse, Visual Studio will be a bit much if you only need Python. In addition, if you use Linux, then you are in trouble - there is no Visual Studio for this platform.

    Visual Studio Code

    Type: code editor
    Website: https://code.visualstudio.com/
    Python tools: https://marketplace.visualstudio.com/items?itemName=ms-python.python

    Visual Studio Code (not to be confused with Visual Studio) is a full-featured code editor available on Windows, Linux and Mac OS X. VS Code is an extensible open-source editor that can be customized for any task. Like Atom, VS Code is built on Electron, so it has the same advantages and disadvantages.

    Adding Python support to VS Code couldn't be easier—search for "Python" in the Marketplace, click "Install," and restart the editor if necessary. VS Code will automatically detect your Python interpreter and installed libraries.

    Advantages: Thanks to Electron, VS Code is available on all platforms with amazing functionality. In addition, the source code can be found in the public domain.

    Flaws: Since Electron is involved, it means VS Code is not a native application. In addition, some people's religion prevents them from using Microsoft products.

    Editors and IDEs designed for Python

    PyCharm

    One of the best full-featured IDEs designed specifically for Python is PyCharm. There are both free open-source (Community) and paid (Professional) IDE options. PyCharm is available on Windows, Mac OS X and Linux.

    PyCharm supports Python development out of the box - open new file and start writing code. You can run and debug code directly from PyCharm. In addition, the IDE has support for projects and version control.

    Advantages: This is a Python development environment with support for everything and a good community. In it, out of the box, you can edit, run and debug Python code.

    Flaws: PyCharm may be slow to load and default settings may need to be adjusted for existing projects.

    Spyder

    Spyder is an open-source IDE for Python, optimized for data scientist. Spyder comes bundled with the Anaconda package manager, so it's possible that you already have it installed.

    What's interesting about the Spyder is that it target audience are data scientists using Python. For example, Spyder works well with data science libraries such as SciPy, NumPy and Matplotlib.

    Spyder has the functionality you'd expect from a standard IDE, like a code editor with syntax highlighting, code completion, and even a built-in documentation browser.

    A distinctive feature of Spyder is the presence of a variable explorer. It allows you to view variable values ​​in table form right inside the IDE. Integration with IPython/Jupyter also works well.

    We can say about Spyder that it is more “down to earth” than other IDEs. It can be viewed as a tool for a specific purpose rather than as a primary development environment. What's great about it is that it's free, open-source, and available on Windows, macOS, and Linux.

    Advantages: You are a data scientist who uses Anaconda.

    Flaws: more experienced developers Python users may find Spyder not functional enough for everyday work and will opt for a more functional IDE or editor.

    Thonny

    Thonny is called an IDE for beginners. Written and maintained by the Institute of Informatics at the University of Tartu in Estonia, Thonny is available on all major platforms.

    By default, Tonny installs with the included version of Python, so you won't need to install anything else. Advanced users may need to change this setting to have the IDE find and use already installed libraries.

    Advantages: You are a newbie Python programmer and you need an IDE that you can jump straight into the action with.

    Flaws: Advanced users will not have enough functionality and will replace the built-in interpreter. In addition, given the newness of the IDE, problems may arise for which there is no solution at this time.

    So which one should you choose?

    • Beginning Pythonists should choose something with the least amount of customization options. The fewer obstacles the better;
    • If you already use some editor for other tasks, then look towards code editors;
    • Well, if you already have an IDE for another language, then try adding Python support to it.

    Are you also interested in the web? Then take a look at our similar one for web development.