Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Телевизоры (Smart TV)
  • Интерфейсы подключения жестких дисков — IDE, SATA и другие. Интерфейсы периферийных устройств - как все устроено

Интерфейсы подключения жестких дисков — IDE, SATA и другие. Интерфейсы периферийных устройств - как все устроено

И с его появлением получил название PATA (Parallel ATA).

История

Шлейфы ATA (IDE): 40-проводной сверху, 80-проводной с кабельной выборкой снизу

Предварительное название интерфейса было PC/AT Attachment («Соединение с PC/AT »), так как он предназначался для подсоединения к 16-битной шине ISA , известной тогда как шина AT . В окончательной версии название переделали в «AT Attachment» для избежания проблем с торговыми марками.

Первоначальная версия стандарта была разработана в 1986 году фирмой Western Digital и по маркетинговым соображениям получила название IDE (англ. Integrated Drive Electronics - «электроника, встроенная в привод»). Оно подчеркивало важное нововведение: контроллер привода располагается в нём самом, а не в виде отдельной платы расширения , как в предшествующем стандарте ST-506 и существовавших тогда интерфейсах SCSI и ST-412 . Это позволило улучшить характеристики накопителей (за счёт меньшего расстояния до контроллера), упростить управление им (так как контроллер канала IDE абстрагировался от деталей работы привода) и удешевить производство (контроллер привода мог быть рассчитан только на «свой» привод, а не на все возможные; контроллер канала же вообще становился стандартным). Следует отметить, что контроллер канала IDE правильнее называть хост-адаптером , поскольку он перешёл от прямого управления приводом к обмену данными с ним по протоколу.

В стандарте АТА определён интерфейс между контроллером и накопителем, а также передаваемые по нему команды.

Интерфейс имеет 8 регистров, занимающих 8 адресов в пространстве ввода-вывода. Ширина шины данных составляет 16 бит. Количество каналов, присутствующих в системе, может быть больше 2. Главное, чтобы адреса каналов не пересекались с адресами других устройств ввода-вывода. К каждому каналу можно подключить 2 устройства (master и slave), но в каждый момент времени может работать лишь одно устройство.

Принцип адресации CHS заложен в названии. Сперва блок головок устанавливается позиционером на требуемую дорожку (Cylinder), после этого выбирается требуемая головка (Head), а затем считывается информация из требуемого сектора (Sector).

Стандарт EIDE (англ. Enhanced IDE - «расширенный IDE»), появившийся вслед за IDE, позволял использование приводов ёмкостью, превышающей 528 Мб (504 МиБ), вплоть до 8,4 Гб. Хотя эти аббревиатуры возникли как торговые, а не официальные названия стандарта, термины IDE и EIDE часто употребляются вместо термина ATA . После введения в 2003 году стандарта Serial ATA («последовательный ATA») традиционный ATA стали именовать Parallel ATA , имея в виду способ передачи данных по параллельному 40- или 80-жильному кабелю.

Поначалу этот интерфейс использовался с жёсткими дисками, но затем стандарт был расширен для работы и с другими устройствами, в основном - использующими сменные носители. К числу таких устройств относятся приводы CD-ROM и DVD-ROM , ленточные накопители, а также дискеты большой ёмкости, такие, как ZIP и флоптические (используют магнитные головки с лазерным наведением ) диски (LS-120 /240). Кроме того, из файла конфигурации ядра FreeBSD можно сделать вывод, что на шину ATAPI подключали даже накопители на гибких магнитных дисках (дискета). Этот расширенный стандарт получил название Advanced Technology Attachment Packet Interface (ATAPI), в связи с чем полное наименование стандарта выглядит как ATA/ATAPI . ATAPI практически полностью совпадает со SCSI на уровне команд и, по сути, есть «SCSI по ATA-кабелю».

Первоначально интерфейсы для подключения приводов CD-ROM не были стандартизованы и являлись проприетарными разработками производителей приводов. В результате для подключения CD-ROM было необходимо устанавливать отдельную плату расширения, специфичную для конкретного производителя, например, для Panasonic (существовало не менее 5 специфичных вариантов интерфейсов, предназначенных для подключения CD-ROM). Некоторые варианты звуковых карт, например, Sound Blaster , оснащались именно такими портами (часто привод CD-ROM и звуковая плата поставлялись в виде мультимедиа-комплекта). Появление ATAPI позволило стандартизировать всю эту периферию и дать возможность подключать её к любому контроллеру, к которому можно подключить жесткий диск.

Другим важным этапом в развитии ATA стал переход от PIO (англ. Programmed input/output - программный ввод-вывод) к DMA (англ. Direct memory access - прямой доступ к памяти). При использовании PIO считыванием данных с диска управлял центральный процессор компьютера, что приводило к повышенной нагрузке на процессор и замедлению работы в целом. По причине этого компьютеры, использовавшие интерфейс ATA, обычно выполняли операции, связанные с диском, медленнее, чем компьютеры, использовавшие SCSI и другие интерфейсы. Введение DMA существенно снизило затраты процессорного времени на операции с диском.

В данной технологии потоком данных управляет сам накопитель, считывая данные в память или из памяти почти без участия процессора, который выдаёт лишь команды на выполнение того или иного действия. При этом жёсткий диск выдаёт сигнал запроса DMARQ на операцию DMA контроллеру. Если операция DMA возможна, контроллер выдаёт сигнал DMACK, и жёсткий диск начинает выдавать данные в 1-й регистр (DATA), с которого контроллер считывает данные в память без участия процессора.

Операция DMA возможна, если режим поддерживается одновременно BIOS , контроллером и операционной системой, в противном случае возможен лишь режим PIO.

В дальнейшем развитии стандарта (АТА-3) был введён дополнительный режим UltraDMA 2 (UDMA 33).

Этот режим имеет временные характеристики DMA Mode 2, однако данные передаются и по переднему, и по заднему фронту сигнала DIOR/DIOW. Это вдвое увеличивает скорость передачи данных по интерфейсу. Также введена проверка на чётность CRC, что повышает надёжность передачи информации.

В истории развития ATA был ряд барьеров , связанных с организацией доступа к данным. Большинство из этих барьеров, благодаря современным системам адресации и технике программирования, были преодолены. К их числу относятся ограничения на максимальный размер диска в 504 МиБ , около 8 ГиБ , около 32 ГиБ, и 128 ГиБ. Существовали и другие барьеры, в основном связанные с драйверами устройств, и организацией ввода-вывода в операционных системах, не соответствующих стандартам ATA.

Оригинальная спецификация АТА предусматривала 28-битный режим адресации. Это позволяло адресовать 2 28 (268 435 456) секторов по 512 байт каждый, что давало максимальную ёмкость в 137 Гб (128 ГиБ). В стандартных PC BIOS поддерживал до 7,88 ГиБ (8,46 Гб), допуская максимум 1024 цилиндра, 256 головок и 63 сектора. Это ограничение на число цилиндров/головок/секторов CHS (Cyllinder-Head-Sector) в сочетании со стандартом IDE привело к ограничению адресуемого пространства в 504 МиБ (528 Мб). Для преодоления этого ограничения была введена схема адресации LBA (Logical Block Address), что позволило адресовать до 7,88 ГиБ. Со временем и это ограничение было снято, что позволило адресовать сначала 32 ГиБ, а затем и все 128 ГиБ, используя все 28 разрядов (в АТА-4) для адресации сектора. Запись 28-битного числа организована путём записи его частей в соответствующие регистры накопителя (с 1 по 8 бит в 4-й регистр, 9-16 в 5-й, 17-24 в 6-й и 25-28 в 7-й).

Адресация регистров организована при помощи трёх адресных линий DA0-DA2. Первый регистр с адресом 0 является 16-разрядным и используется для передачи данных между диском и контроллером. Остальные регистры 8-битные и используются для управления.

Новейшие спецификации ATA предполагают 48-битную адресацию, расширяя таким образом возможный предел до 128 ПиБ (144 петабайт).

Эти ограничения на размер могут проявляться в том, что система думает, что объём диска меньше его реального значения, или вовсе отказывается загружаться и виснет на стадии инициализации жёстких дисков. В некоторых случаях проблему удаётся решить обновлением BIOS. Другим возможным решением является использование специальных программ, таких, как Ontrack DiskManager, загружающих в память свой драйвер до загрузки операционной системы. Недостатком таких решений является то, что используется нестандартная разбивка диска, при которой разделы диска оказываются недоступны, в случае загрузки, например, с обычной DOS-овской загрузочной дискеты. Впрочем, многие современные операционные системы (начиная от Windows NT4 SP3) могут работать с дисками большего размера, даже если BIOS компьютера этот размер корректно не определяет.

Интерфейс ATA

Для подключения жёстких дисков с интерфейсом PATA обычно используется 40-проводный кабель (именуемый также шлейфом). Каждый шлейф обычно имеет два или три разъёма, один из которых подключается к разъёму контроллера на материнской плате (в более старых компьютерах этот контроллер размещался на отдельной плате расширения), а один или два других подключаются к дискам. В один момент времени шлейф P-ATA передаёт 16 бит данных. Иногда встречаются шлейфы IDE, позволяющие подключение трёх дисков к одному IDE каналу, но в этом случае один из дисков работает в режиме read-only.

Разводка Parallel ATA
Контакт Назначение Контакт Назначение
1 Reset 2 Ground
3 Data 7 4 Data 8
5 Data 6 6 Data 9
7 Data 5 8 Data 10
9 Data 4 10 Data 11
11 Data 3 12 Data 12
13 Data 2 14 Data 13
15 Data 1 16 Data 14
17 Data 0 18 Data 15
19 Ground 20 Key
21 DDRQ 22 Ground
23 I/O Write 24 Ground
25 I/O Read 26 Ground
27 IOC HRDY 28 Cable Select
29 DDACK 30 Ground
31 IRQ 32 No Connect
33 Addr 1 34 GPIO_DMA66_Detect
35 Addr 0 36 Addr 2
37 Chip Select 1P 38 Chip Select 3P
39 Activity 40 Ground

Долгое время шлейф ATA содержал 40 проводников, но с введением режима Ultra DMA/66 (UDMA4 ) появилась его 80-проводная версия. Все дополнительные проводники - это проводники заземления, чередующиеся с информационными проводниками. Таким образом вместо семи проводников заземления их стало 47. Такое чередование проводников уменьшает ёмкостную связь между ними, тем самым сокращая взаимные наводки. Ёмкостная связь является проблемой при высоких скоростях передачи, поэтому данное нововведение было необходимо для обеспечения нормальной работы установленной спецификацией UDMA4 скорости передачи 66 МБ/с (мегабайт в секунду). Более быстрые режимы UDMA5 и UDMA6 также требуют 80-проводного кабеля.

Хотя число проводников удвоилось, число контактов осталось прежним, как и внешний вид разъёмов. Внутренняя же разводка, конечно, другая. Разъёмы для 80-проводного кабеля должны присоединять большое число проводников заземления к небольшому числу контактов заземления, в то время как в 40-проводном кабеле проводники присоединяются каждый к своему контакту. У 80-проводных кабелей разъёмы обычно имеют различную расцветку (синий, серый и чёрный), в отличие от 40-проводных, где обычно все разъёмы одного цвета (чаще чёрные).

Стандарт ATA всегда устанавливал максимальную длину кабеля равной 45,7 см (18 дюймов). Это ограничение затрудняет присоединение устройств в больших корпусах, или подключение нескольких приводов к одному компьютеру, и почти полностью исключает возможность использования дисков PATA в качестве внешних дисков. Хотя в продаже широко распространены кабели большей длины, следует иметь в виду, что они не соответствуют стандарту. То же самое можно сказать и по поводу «круглых» кабелей, которые также широко распространены. Стандарт ATA описывает только плоские кабели с конкретными характеристиками полного и ёмкостного сопротивлений. Это, конечно, не означает, что другие кабели не будут работать, но, в любом случае, к использованию нестандартных кабелей следует относиться с осторожностью.

Если к одному шлейфу подключены два устройства, одно из них обычно называется ведущим (англ. master ), а другое - ведомым (англ. slave ). Обычно ведущее устройство идёт перед ведомым в списке дисков, перечисляемых BIOS’ом компьютера или операционной системы . В старых BIOS’ах (486 и раньше) диски часто неверно обозначались буквами: «C» для ведущего диска и «D» для ведомого.

Если на шлейфе только один привод, он в большинстве случаев должен быть сконфигурирован как ведущий. Некоторые диски (в частности, производства Western Digital) имеют специальную настройку, именуемую single (то есть «один диск на кабеле»). Впрочем, в большинстве случаев единственный привод на кабеле может работать и как ведомый (такое часто встречается при подключении CD-ROM’а на отдельный канал).

Настройка, именуемая cable select (то есть «выбор, определяемый кабелем», кабельная выборка), была описана как опциональная в спецификации ATA-1 и стала широко распространена начиная с ATA-5, поскольку исключает необходимость переставлять перемычки на дисках при любых переподключениях. Если привод установлен в режим cable select, он автоматически устанавливается как ведущий или ведомый в зависимости от своего местоположения на шлейфе. Для обеспечения возможности определения этого местоположения шлейф должен быть с кабельной выборкой . У такого шлейфа контакт 28 (CSEL) не подключен к одному из разъёмов (серого цвета, обычно средний). Контроллер заземляет этот контакт. Если привод видит, что контакт заземлён (то есть на нём логический 0), он устанавливается как ведущий, в противном случае (высокоимпедансное состояние) - как ведомый.

Во времена использования 40-проводных кабелей широко распространилась практика осуществлять установку cable select путём простого перерезания проводника 28 между двумя разъёмами, подключавшимися к дискам. При этом ведомый привод оказывался на конце кабеля, а ведущий - в середине. Такое размещение в поздних версиях спецификации было даже стандартизировано. Когда на кабеле размещается только одно устройство, такое размещение приводит к появлению ненужного куска кабеля на конце, что нежелательно - как из соображений удобства, так и по физическим параметрам: этот кусок приводит к отражению сигнала, особенно на высоких частотах.

80-проводные кабели, введённые для UDMA4, лишены указанных недостатков. Теперь ведущее устройство всегда находится в конце шлейфа, так что, если подключено только одно устройство, не получается этого ненужного куска кабеля. Кабельная же выборка у них «заводская» - сделанная в самом разъёме просто путём исключения данного контакта. Поскольку для 80-проводных шлейфов в любом случае требовались собственные разъёмы, повсеместное внедрение этого не составило больших проблем. Стандарт также требует использования разъёмов разных цветов, для более простой идентификации их как производителем, так и сборщиком. Синий разъём предназначен для подключения к контроллеру, чёрный - к ведущему устройству, серый - к ведомому.

Термины «ведущий» и «ведомый» были заимствованы из промышленной электроники (где указанный принцип широко используется при взаимодействии узлов и устройств), но в данном случае являются некорректными, и потому не используются в текущей версии стандарта ATA. Более правильно называть ведущий и ведомый диски соответственно device 0 (устройство 0 ) и device 1 (устройство 1 ). Существует распространённый миф, что ведущий диск руководит доступом дисков к каналу. На самом деле управление доступом дисков и очерёдностью выполнения команд осуществляет контроллер (которым, в свою очередь, управляет драйвер операционной системы). То есть фактически оба устройства являются ведомыми по отношению к контроллеру.

Писать на Python, используя IDLE или Python Shell, вполне удобно, если речь идёт о простых вещах, однако с ростом размеров проектов программирование превращается в мучение. С помощью IDE или даже хорошего редактора кода можно значительно упростить себе жизнь. Но вот вопрос - что выбрать?

В этой статье мы пройдёмся по основным инструментам, позволяющим писать на Python. Мы не выберем за вас лучший вариант, но рассмотрим «за» и «против» каждого и поможем сделать взвешенное решение.

Что такое IDE и редактор кода?

IDE (или интегрированная среда разработки) - это программа, предназначенная для разработки программного обеспечения. Как следует из названия, IDE объединяет несколько инструментов, специально предназначенных для разработки. Эти инструменты обычно включают редактор, предназначенный для работы с кодом (например, подсветка синтаксиса и автодополнение); инструменты сборки, выполнения и отладки; и определённую форму системы управления версиями.

Большинство IDE поддерживают множество языков программирования и имеют много функций, из-за чего могут быть большими, занимать много времени для загрузки и установки и требуют глубоких знаний для правильного использования.

С другой стороны, есть редакторы кода, которые представляют собой текстовый редактор с подсветкой синтаксиса и возможностями форматирования кода. Большинство хороших редакторов кода могут выполнять код и использовать отладчик, а лучшие даже могут взаимодействовать с системами управления версиями. По сравнению с IDE, хороший редактор кода, как правило, легковесней и быстрее, но зачастую ценой меньшей функциональности.

Требования для хорошей среды разработки

Итак, что нам нужно от среды разработки? Набор функций разных сред может отличаться, но есть набор базовых вещей, упрощающих программирование:

  • Сохранение файлов. Если IDE или редактор не дают вам возможности сохранить работу и позже всё открыть в том же состоянии, в котором оно было во время закрытия, то не такая уж это и IDE;
  • Запуск кода из среды. То же самое, если вам нужно выйти из среды для запуска кода, то это не более, чем простой текстовый редактор;
  • Поддержка отладки. Возможность пошагово выполнить код является базовой функцией всех IDE и большинства хороших редакторов кода;
  • Подсветка синтаксиса. Возможность быстро найти ключевые слова, переменные и прочее делает чтение и понимание кода на порядок проще;
  • Автоматическое форматирование кода. Любой редактор или IDE, который действительно таковым является, распознает двоеточие после while или for выражения и автоматически сделает отступ на следующей строке.

Разумеется, есть множество других функций, от которых вы бы не отказались, но приведённые выше - основные функции, которыми должна обладать хороша среда разработки.

А теперь давайте взглянем на некоторые инструменты общего назначения, которые можно использовать для разработки на Python.

Редакторы и IDE с поддержкой Python

Eclipse + PyDev

Если вы близки с open-source сообществом, то вы наверняка слышали об Eclipse. Будучи доступным для Linux, Windows и OS X, Eclipse де-факто является open-source IDE для разработки на Java. Существует множество расширений и аддонов, которые делают Eclipse полезным для разного рода задач.

Одним из таких расширений является PyDev, предоставляющий интерактивную консоль Python и возможности для отладки и автодополнения кода. Установить его просто: запустите Eclipse, выберите Help → Eclipse Marketplace, затем найдите PyDev. Нажмите «Install» и при необходимости перезапустите Eclipse.

Преимущества : если у вас уже был установлен Eclipse, то установка PyDev пройдёт быстро и гладко. У опытного пользователя Eclipse не возникнет проблем с изучением этого расширения.

Недостатки : если вы только начинаете изучать Python или разработку в целом, Eclipse может стать непосильной ношей. Помните, мы говорили, что IDE большие и требуют больше опыта для полноценного использования? Всё это можно сказать об Eclipse.

Sublime Text

Тип: редактор кода
Сайт: http://www.sublimetext.com

Sublime Text, написанный инженером из Google с мечтой о лучшем текстовом редакторе, является весьма популярным редактором кода. Доступный на всех платформах, Sublime Text имеет встроенную поддержку редактирования Python-кода, а также богатый набор расширений, называемых пакетами, которые расширяют возможности синтаксиса и редактирования.

Установить дополнительный Python-пакет может быть непросто - все пакеты Sublime Text написаны на Python, поэтому для установки пакетов сообщества зачастую может потребоваться выполнить Python-скрипт непосредственно в редакторе.

Преимущества :у Sublime Text большое количество поклонников. Как редактор кода, Sublime Text быстрый, лёгкий и имеет хорошую поддержку.

Недостатки : Sublime Text не является бесплатным, хотя вы можете использовать пробный период сколько угодно. Установка расширений может превратиться в тот ещё квест. Кроме того, в редакторе нет поддержки отладки и запуска кода.

Atom

Тип: редактор кода
Сайт: https://atom.io/

Доступный на всех платформах Atom называют «хакабельным текстовым редактором 21 века». Atom написан с использованием Electron - фреймворка для создания кроссплатформенных приложений для десктопа средствами JavaScript, HTML и CSS - и имеет множество расширений. Поддержку Python можно также можно подключить с помощью расширения, которое можно установить прямо в Atom.

Преимущества : поддержка на всех платформах благодаря Electron. Atom лёгкий и быстро скачивается и загружается.

Недостатки : поддержка сборки и отладки не встроенная, а добавляется с помощью расширений. Поскольку Atom написан с помощью Electron, он всегда работает как JavaScript-процесс, а не как нативное приложение.

GNU Emacs

Тип: редактор кода
Сайт: https://www.gnu.org/software/emacs/

Задолго до войны iPhone с Android, до войны Linux с Windows, даже до войны PC с Mac была война редакторов с GNU Emacs в качестве одного из участников военных действий. Описываемый как «расширяемый, настраиваемый, самодокументированный текстовый редактор», GNU Emacs существует почти столь же долго, сколько и UNIX, и успел завоевать немало поклонников.

Доступный бесплатно на каждой платформе (в той или иной форме) GNU Emacs использует язык Lisp для кастомизации. Само собой, для Python тоже найдутся скрипты кастомизации.

Преимущества : вы знакомы с Emacs, вы используете Emacs, вы любите Emacs. Lisp - ваш второй язык, и вы знаете, что с ним вы способны на всё.

Недостатки : кастомизация подразумевает написание (или копипасту) Lisp-кода в различные скрипты. Если таковых не имеется, то вам, возможно, придётся изучить Lisp, чтобы со всем разобраться.

Vi / Vim

Тип: редактор кода
Сайт: https://www.vim.org/

По другую сторону баррикад в войне редакторов находится VI/VIM. Доступный по умолчанию на почти каждой UNIX-системе и Mac OS X, VI завоевал не меньшее количество поклонников. VI и VIM - модальные редакторы, которые отделяют просмотр файла от его редактирования. VIM включает в себя всё, что есть в VI, плюс некоторые усовершенствования вроде доступности расширений. Для разного рода Python-задач можно воспользоваться VIMScripts.

Преимущества : вы знакомы с VI, вы используете VI, вы любите VI. VIMScripts вас не пугают, и вы знаете, как подчинить их своей воле.

Недостатки : как и в случае с Emacs, вам не очень удобно искать или писать скрипты для добавления возможности разработки под Python, и вы не имеете ни малейшего понятия, как вообще должен работать модальный редактор.

Visual Studio

Преимущества : как и в случае с Eclipse, если у вас уже установлена Visual Studio для других задач, установка PTVS пройдёт без проблем.

Недостатки : как и в случае с Eclipse, Visual Studio будет многовато, если вам нужен только Python. Кроме того, если вы пользуетесь Linux, то вы в пролёте - Visual Studio для этой платформы нет.

Visual Studio Code

Тип: редактор кода
Сайт: https://code.visualstudio.com/
Python tools: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Visual Studio Code (не путать с Visual Studio) - полнофункциональный редактор кода, доступный на Windows, Linux и Mac OS X. VS Code является расширяемым open-source редактором, который можно настроить под любую задачу. Как и Atom, VS Code построен на Electron, поэтому у него есть те же преимущества и недостатки.

Добавить поддержку Python в VS Code проще простого - выполните поиск по запросу «Python» в Marketplace, нажмите «Install» и перезапустите редактор, если потребуется. VS Code автоматически определит интерпретатор Python и установленные библиотеки.

Преимущества : благодаря Electron, VS Code доступен на всех платформах с удивительно большой функциональностью. Кроме того, исходники можно найти в открытом доступе.

Недостатки : раз замешан Electron, значит VS Code не нативное приложение. Кроме того, некоторым людям религия не позволяет пользоваться продуктами Microsoft.

Редакторы и IDE, разработанные для Python

PyCharm

Одной из лучших полнофункциональных IDE, предназначенных именно для Python, является PyCharm. Существует как бесплатный open-source (Community), так и платный (Professional) варианты IDE. PyCharm доступен на Windows, Mac OS X и Linux.

PyCharm «из коробки» поддерживает разработку на Python напрямую - откройте новый файл и начинайте писать код. Вы можете запускать и отлаживать код прямо из PyCharm. Кроме того, в IDE есть поддержка проектов и системы управления версиями.

Преимущества : это среда разработки для Python с поддержкой всего и вся и хорошим коммьюнити. В ней «из коробки» можно редактировать, запускать и отлаживать Python-код.

Недостатки : PyCharm может медленно загружаться, а настройки по умолчанию, возможно, придётся подкорректировать для существующих проектов.

Spyder

Spyder - open-source IDE для Python, оптимизированная для data science. Spyder идёт в комплекте с менеджером пакетов Anaconda, поэтому вполне возможно, что он у вас уже установлен.

Что в Spyder интересно, так это то, что его целевой аудиторией являются data scientist’ы, использующие Python. Например, Spyder хорошо взаимодействует с такими библиотеками для data science, как SciPy, NumPy и Matplotlib.

Spyder обладает той функциональностью, которую вы можете ожидать от стандартной IDE, вроде редактора кода с подсветкой синтаксиса, автодополнения кода и даже встроенного обозревателя документации.

Отличительной особенностью Spyder является наличие проводника переменных. Он позволяет просмотреть значения переменных в форме таблицы прямо внутри IDE. Также хорошо работает интеграция с IPython/Jupyter.

Про Spyder можно сказать, что он более «приземлённый», чем другие IDE. Его можно рассматривать как инструмент для определённой цели, а не как основную среду разработки. Что в нём хорошо, так это, что он бесплатный, open-source и доступный на Windows, macOS и Linux.

Преимущества : вы data scientist, который пользуется Anaconda.

Недостатки : более опытные разработчики на Python могут найти Spyder недостаточно функциональным для повседневной работы и сделают свой выбор в пользу более функциональной IDE или редактора.

Thonny

Thonny называют IDE для новичков. Написанный и поддерживаемый Институтом информатики Тартуского университета в Эстонии, Thonny доступен на всех основных платформах.

По умолчанию Tonny устанавливается с версией Python, идущей в комплекте, поэтому вам не понадобится устанавливать ещё что-нибудь. Продвинутым пользователям, возможно, придётся изменить эту настройку, чтобы IDE нашла и использовала уже установленные библиотеки.

Преимущества : вы начинающий Python-программист и вам нужна IDE, с которой можно сразу идти в бой.

Недостатки : продвинутым пользователям будет недостаточно функциональности, а встроенный интерпретатор они заменят. Кроме того, учитывая новизну IDE, могут возникнуть проблемы, решения которых на данный момент нет.

Так что из этого выбрать?

  • Начинающим питонистам следует взять что-то с наименьшими возможностями кастомизации. Чем меньше препятствий, тем лучше;
  • Если вы уже пользуетесь каким-нибудь редактором для других задач, то посмотрите в сторону редакторов кода;
  • Ну а если у вас уже стоит IDE для другого языка, то попробуйте добавить в неё поддержку Python.

Интересуетесь ещё и вебом? Тогда загляните в нашу аналогичную для веб-разработки.

Когда планируется апгрейд компьютерной системы, путаница в интерфейсах может основательно затруднить выбор комплектующих. Так, на материнских платах может не быть интерфейса IDE, тогда как жесткий диск или оптический привод подключается именно по нему. Или новый накопитель с SATA-интерфейсом не удается установить в систему с портами IDE.

Определение

IDE — маркетинговое название параллельного интерфейса (PATA), применяемого для подключения к материнским платам внутренних жестких дисков, оптических приводов и других типов накопителей.

SATA последовательный интерфейс передачи данных, применяемый для подключения как внешних (eSATA), так и внутренних накопителей и оптических приводов.

Сравнение

Разница между IDE и SATA в первую очередь временная. Интерфейс IDE сегодня — редкий гость на материнских платах и накопителях, и применение его оправдано, в основном, только в целях апгрейда малой кровью. Правда, в случае с оптическими приводами замена IDE на SATA не даст фактически никакого прироста, да и скорость чтения/записи жестких дисков далека от той, которую может обеспечивать SATA. Но IDE в скором времени исчезнет совсем, так что позаботиться о переходе на SATA все же стоит. Сегодня SATA-диски дешевле, чем IDE, и обладают большим объемом.

SATA в любой из версий имеет более высокую скорость передачи данных (максимум IDE в теории 133 Мб/с, минимум SATA — 150 Мб/с), а пропускная способность шины PATA (IDE) в последней версии составляет около 1064 Мбит/с против 1500 Мбит/с SATA первой версии и 6000 Мбит/с — третьей.

Кабель для подключения по IDE представляет собой широкую плоскую ленту с 80 жилами (раньше было 40), контактов интерфейса IDE неизменно 40. Кабель для подключения по SATA — узкий, и контактов всего 7. Одним кабелем IDE можно подключить к материнской плате два устройства, одно из которых будет ведущим, на кабеле SATA висит всего лишь одно. Из-за своей формы шлейфы IDE часто становятся причиной неправильной циркуляции воздуха внутри корпуса и мешают установке комплектующих.

Слева — SATA. Справа — IDE

Питание устройств, подключаемых по IDE, осуществляется посредством четырехконтактного разъема molex, устройства SATA питаются либо от 15-контактного разъема, либо от того же molex. Существуют переходники, позволяющие не беспокоиться о подключении к блоку питания любых устройств с любым интерфейсом. Также в SATA последней версии существует возможность замены устройства без полного обесточивания компьютера, IDE же требуется отключать при верной последовательности действий.

Выводы сайт

  1. SATA — последовательный интерфейс, IDE — параллельный.
  2. Скорость передачи данных и пропускная способность SATA выше.
  3. Кабель SATA компактнее, чем шлейф IDE.
  4. К шлейфу IDE можно подключить два устройства, к SATA — только одно.
  5. Устройства IDE питаются через molex, устройства SATA — через 15-контактный разъем или molex.
  6. SATA-устройства сегодня дешевле, чем IDE, и гораздо больше распространены.

Удобство и скорость разработки.

Александр Макарчук , qb
Повышение скорости и удобства разработки.

Александр Смирнов , Greensight
Ускорение разработки, уменьшение ошибок, просто удобство.

2. Важно ли обучать разработчиков использованию IDE? Почему?

Алексей Федоров , Одноклассники
Это интересная идея. Наверняка есть компании, которые готовы в это вложиться.

, ADV
Если разработчик не будет знать базовых вещей IDE, то разработка будет занимать больше времени. В современном мире это уже требование к профессии.

Александр Макарчук , qb
Нет, не нужно. Обучать - это навязывать свое. Каждый разработчик работает на том, что ему удобно. При этом всегда можно показывать преимущества своего IDE.

Александр Смирнов , Greensight
Это скорее вопрос к каждому разработчику отдельно - что ему удобнее. Но на ранних этапах умное автодополнение и подсветка ошибок практически незаменимы.

3. Большинство качественных IDE платные. Стоит ли тратиться на лицензии?

Алексей Федоров , Одноклассники
Стоит. Текущая ситуация на рынке такова, что платные IDE, как правило, сильно лучше бесплатных.

Алексей Персианов, Михаил Парфенюк , ADV
Если хотите качественную IDE, то стоит потратиться. Если не поддерживать разработчиков качественных IDE «рублем», то они не будут делать качественные IDE

Александр Макарчук , qb
Если целесообразно, то, конечно, нужно. Время - деньги.

Александр Смирнов , Greensight
В зависимости от потребностей и средств. Кому-то хватает Sublime, кто-то хочет использовать продукты Jetbrains, кому-то неизбежно приходится покупать Xcode.

4. Чего не хватает современным IDE? Может ли на этом рынке появиться гигант, подобный JetBrains?

Алексей Федоров , Одноклассники
Может. Но конкурировать с ними будет трудно: разработка IDE - это сотни человеко-лет работы и десятки миллионов долларов.

Алексей Персианов, Михаил Парфенюк , ADV
В данный момент JetBrains захватила данный рынок, и в ближайшее время вряд ли появится что-то лучше.

Александр Макарчук , qb
Всегда будет появляться что-то новое, и IDE не исключение. Преимущество новых проектов всегда в том, что они учитывают недостатки старых.

Александр Смирнов , Greensight
Если появится что-то лучше, то почему бы и нет.

5. Какие еще существуют или могут появиться инструменты, ускоряющие разработку и облегчающие жизнь разработчикам?

Алексей Федоров , Одноклассники
Сборщики проектов, баг-трекеры, системы контроля версий, системы непрерывной сборки и интеграции и многие-многие другие.

Алексей Персианов, Михаил Парфенюк , ADV
Например, CI системы.

Александр Смирнов , Greensight
Сложно сказать. Все больше сторонних инструментов интегрируется в IDE, нежели существуют отдельно.

6. Какие тренды в развитии функционала IDE вы бы могли отметить в последние годы?

Алексей Федоров , Одноклассники
Интеграция с другими системами, такими как баг-трекеры, сервера VCS или CI. И конечно, скорость - тормозят современные IDE сильно меньше, чем 10 лет назад.

Алексей Персианов, Михаил Парфенюк , ADV
Переход всех платных IDE к распространению по подписке.

Александр Макарчук , qb
Подписки. Всегда проще заплатить меньшую сумму, особенно если есть сомнения в выборе или еще не привык к инструменту.

Александр Смирнов , Greensight
Развитие плагинов, интеграций со сторонними утилитами и софтом, улучшение автодополнения.

Некоторые IDE являются бесплатными, другие - платными. Некоторые из них довольно простые, в то время как другие делают практически все, что можно только представить. Вариантов очень много, а это значит что вы точно найдете то что подходит именно вам.

В этой статье мы поможем вам сделать этот выбор детально познакомившись с пятью популярными IDE для веб разработки.

Сначала давайте разберемся что такое IDE? Согласно википедии IDE — это интегрированная среда разработки (англ. Integrated Development Environment) — система программных средств, используемая программистами для разработки программного обеспечения.

IDE можно расценивать как швейцарский нож для разработки программного обеспечения! В хорошей IDE вы найдете все, что вам нужно, для продуктивной работы.

В отличие от большинства редакторов, IDE обычно поддерживают полноценные проекты, а не только возможность обрабатывать отдельные файлы исходного кода. Даже если редактор способен редактировать несколько файлов, он не способен поддерживать создание проекта, который охватывает всю папку, полную файлов, а также специфические параметры для этого проекта. Эти параметры проекта могут включать в себя ссылки на внешние библиотеки программного обеспечения, настройку редактора, контроль версий и параметры отладки.

Решение о том, какую IDE использовать очень субъективно, поскольку оно действительно зависит от функционала, который вы ищете, это может быть:

  • Поддержка различных языков
  • Автодополнение
  • Рефакторинг
  • Подсветка
  • Дебаггер
  • Интеграция SVN / Git
  • Проверка соблюдения стандартов
  • Компилятор
  • Переводчик
  • Управление и редактирование баз данных

Нет никаких жестких правил относительно того, что является IDE, а что нет. Чем больше функций из приведенного выше списка, присутствуют в программе, так и доступного в качестве надстройки, тем ближе он становится IDE.

Возможно, вы заметите, что некоторые из IDE, которые мы рассмотрим в этом учебном пособии, на самом деле не являются IDE, они являются редакторами близкими к IDE. Так зачем вообще их включать в наш список? Эти редакторы стали чрезвычайно популярными в сфере веб-разработки и имеют большие сообщества пользователей, которые их развивают добавляя множество пакетов, расширений и дополнений, которые значительно облегчают разработку и преобразовывают их из просто редакторов в очень полезные IDE.

Представьте их как легкие IDE. Быстрые, надежные и настраиваемые. Помните нашу аналогию с швейцарским армейским ножом раньше? Sublime Text 3, Coda 2 и Atom - отличные примеры таких IDE. Они не являются традиционными IDE, но при правильной настройке они прекрасно вписываются в поняти IDE.

Преимущества выбора легкого редактора над полностью признанной традиционной IDE заключаются в том что они открываются и запускаются быстрее. Вы поймете, что я имею в виду, если вы когда-либо откроете IDE с большим проектом, вам нужно будет подождать некоторое время, пока приложение откроет и проиндексирует все файлы, прежде чем вы сможете начать редактирование.

Сравните это с «легким» редактором, только с добавленными вами функциями. Это приводит к созданию среды IDE, которая не содержит большого количества функций, которые вы никогда не сможете использовать. Это помогает быстро и быстро настроить ваши разработки. Однако, если вы находитесь на очень быстрой машине, вы можете не заметить слишком большой разницы в повседневной разработке между полной IDE и тщательно настроенным редактором. Однако, если у вас нет такой роскоши, производительность IDE может быть очень важным фактором в вашей повседневной разработке.

По этим причинам мы решили немного смешать список и включить как полноценные, так и «облегченные» IDE, которые будут очень полезны веб разработчикам.

Давайте начнем наш тур по IDE для веб разработки с PhpStorm.

PhpStorm

PhpStorm - это коммерческая IDE от компании JetBrains, она может похвастаться внушительным набором полезных функций.

Однако для нового пользователя огромное количество функций, доступных в PhpStorm, может показаться немного сложным. Не стоит пугаться, поскольку PhpStorm имеет отличную документацию и видеоуроки, доступные на официальном веб-сайте .

Поскольку PhpStorm очень богат своим функционалом, для загрузки может потребоваться некоторое время. Однако, после полной загрузки, PhpStorm чувствует себя отлично и нет никаких заметных задержек при редактировании файлов. Одна из заметных особенностей PhpStorm заключается в регулярных обновлении, исправлении ошибок и добавлении новых функций.

PhpStorm не только для разработки PHP (кстати, у него есть полная поддержка PHP 7). Он также имеет отличную поддержку HTML, JavaScript и CSS.

Веб-сайт: https://www.jetbrains.com/phpstorm/
Стоимость: бесплатная 30-дневная версия
Релиз: 2009
Регулярно обновляется: да
Поддерживаемые расширения: плагины
Написан на: Java

Sublime Text 3

Далее в нашем списке - Sublime Text 3, разработанный Джоном Скиннером. Спустя много лет многих лет он стал мощным и очень быстрым пользовательским редактором. Он также хорошо известен как чрезвычайно стабильный и может легко обрабатывать очень большие файлы.

Интересно, что Sublime Text 3 не видел крупного релиза уже несколько лет. Несмотря на то, что он регулярно обновляется, обновления в основном содержат исправления ошибок наряду с незначительными улучшениями и новыми функциями. Sublime Text 3 по-прежнему находится в стадии бета-тестирования, не смотря на то, что он был выпущен как бета-версия еще в 2013 году! И в настоящее время новостей о новом крупном выпуске нет.

Sublime Text 3 очень быстро запускается. Фактически, это происходит почти мгновенно. Он работает очень быстро, без задержек или сбоев, что обеспечивает чрезвычайно плавное и эффективное редактирование кода. Он довольно минималистский и имеет менеджер пакетов для установки надстроек (написанных на Python) без необходимости перезапуска.

Как упоминалось выше, он обрабатывает файлы больших размеров очень хорошо. Существует огромное количество мощных надстроек (называемых пакетами), которые делают Sublime Text очень гибким и универсальным.Сложно отрицать, что использование Sublime Text одно удовольствие.

Вы также можете найти большое количество руководств и видеоуроков по Sublime Text 3. Это доказывает, что Sublime Text 3 по-прежнему очень популярен и широко используется многими веб-разработчиками на повседневной основе, что свидетельствует о качестве этого фантастического маленького редактора.

Несмотря на то, что Sublime Text по-прежнему очень популярен, он может начать терять почву в течение следующих нескольких лет. Однако, если библиотека пакетов Sublime Text 3 продолжит свое процветание, то на отсутствие крупного выпуска можно закрыть глаза, в краткосрочной перспективе.

  • Веб-сайт: https://www.sublimetext.com/
  • Стоимость: 70$, присутствует бесплатная версия
  • Релиз: 2008
  • Регулярно обновляется: нет
  • Написан на: C ++, Python
  • Кросс-платформенная поддержка: да

Atom

Построенный командой GitHub, Atom - это новый парень среди популярных IDE в нашем обзоре. Выпущенный в 2014 году, это один из самых популярных редакторов на данный момент и имеет быстро растущее сообщество.

Эта популярность может быть обусловлена, по крайней мере частично, тем фактом, что Atom с открытым исходным кодом и полностью управляется сообществом.

Atom также имеет огромную дополнительную библиотеку с более чем 6 000 пакетов .

Подобно Sublime Text, Atom полностью поддерживает проекты, а также индивидуальное редактирование файлов. Есть встроенная поддержка Git, что неудивительно, поскольку Atom разработала команда GitHub.

Обновления выпускаются регулярно, но так как редактор относительно новый, вы вряд ли будете ждать их.

Многие пользователи жалуются на то, что при редактировании наблюдается медленная загрузка и неоднородная производительность, особенно при работе с большими файлами. Возможно это связанно с тем, что Atom создан на JavaScript, в то время как, Sublime Text разработан на C ++, который работает изначально быстрее. Только время покажет, смогут ли будущие версии Atom решить эти проблемы. Однако стоит помнить, что Atom относительно молодой и имеет достаточно времени, чтобы созреть.

В целом, Atom - отличный редактор, который можно легко настроить для веб разработки. Неудивительно, что Atom уже приобрел такое большое сцепление, и будет действительно интересно посмотреть, как он созревает в течение следующих нескольких лет. Это определенно нужно следить!

  • Веб-сайт: https://atom.io/
  • Стоимость: 100% бесплатно
  • Релиз: 2014
  • Регулярные обновления: да
  • Поддерживаемые расширения: пакеты
  • Написан на: JavaScript
  • Кросс-платформенная поддержка: да

Coda 2

Coda был впервые выпущен в 2007 году, всего за год до Sublime Text. На протяжении многих лет он был очень сильным игроком, разделяя большую часть рынка веб-разработки с Sublime Text, на компьютерах Mac. Это главный недостаток Coda - даже спустя десять лет после первоначального выпуска, нет версии на Windows. Это единственный не кросс-платформенный редактор нашего обзора.

Редактор включает в себя встроенный терминал и клиент управления исходным кодом, а также FTP-клиент и встроенный редактор MySQL.

Несмотря на то, что Coda 2 регулярно обновляется, это, в основном, исправления ошибок и в течение многих лет не было выпусков новых версий.

Не ошибитесь, Coda 2 - очень хороший выбор. Возможно, он еще себя покажет, я все же определенно рекомендую проверить его, прежде чем принимать окончательное решение. Особенно, если вы пользователь macOS!

  • Веб-сайт:
  • Стоимость: 25$ (бесплатная пробная версия на 7 дней)
  • Релиз: 2007
  • Регулярно обновляется: да
  • Поддерживаемые расширения: плагины
  • Кросс-платформенная поддержка: нет

NetBeans

NetBeans существует уже давно (со середины 1990-х годов), но все еще процветает и может конкурировать с новыми IDE. Как и PhpStorm, он разработан на Java и доступен для нескольких платформ. NetBeans состоит из набора «модулей» для добавления функций в среду IDE.

В течение многих лет NetBeans является сильным фаворитом среди веб-разработчиков как одна из наиболее полнофункциональных IDE.

NetBeans хорошо работает с веб проектами. Вы получаете подсказки и подсветку кода, полную навигацию по коду, а также мощный отладчик, который довольно впечатляет для 100% бесплатного продукта.

Лучшие статьи по теме