Как должен работать жесткий диск? Что такое AHCI, IDE, SATA

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

  • IDE (англ. Integrated Drive Electronics ) - параллельный интерфейс подключения накопителей (жёстких дисков и оптических приводов) к компьютеру. Разработан в 1986 году фирмой Western Digital, позднее стал именоваться ATA , затем PATA .
  • IDE - обозначение системы непосредственного впрыска топлива в бензиновых двигателях от компании Renault.
  • __DISAMBIG__

    Напишите отзыв о статье "IDE"

    Отрывок, характеризующий IDE

    Проведя его шагов десять, Вилларский остановился.
    – Что бы ни случилось с вами, – сказал он, – вы должны с мужеством переносить всё, ежели вы твердо решились вступить в наше братство. (Пьер утвердительно отвечал наклонением головы.) Когда вы услышите стук в двери, вы развяжете себе глаза, – прибавил Вилларский; – желаю вам мужества и успеха. И, пожав руку Пьеру, Вилларский вышел.
    Оставшись один, Пьер продолжал всё так же улыбаться. Раза два он пожимал плечами, подносил руку к платку, как бы желая снять его, и опять опускал ее. Пять минут, которые он пробыл с связанными глазами, показались ему часом. Руки его отекли, ноги подкашивались; ему казалось, что он устал. Он испытывал самые сложные и разнообразные чувства. Ему было и страшно того, что с ним случится, и еще более страшно того, как бы ему не выказать страха. Ему было любопытно узнать, что будет с ним, что откроется ему; но более всего ему было радостно, что наступила минута, когда он наконец вступит на тот путь обновления и деятельно добродетельной жизни, о котором он мечтал со времени своей встречи с Осипом Алексеевичем. В дверь послышались сильные удары. Пьер снял повязку и оглянулся вокруг себя. В комнате было черно – темно: только в одном месте горела лампада, в чем то белом. Пьер подошел ближе и увидал, что лампада стояла на черном столе, на котором лежала одна раскрытая книга. Книга была Евангелие; то белое, в чем горела лампада, был человечий череп с своими дырами и зубами. Прочтя первые слова Евангелия: «Вначале бе слово и слово бе к Богу», Пьер обошел стол и увидал большой, наполненный чем то и открытый ящик. Это был гроб с костями. Его нисколько не удивило то, что он увидал. Надеясь вступить в совершенно новую жизнь, совершенно отличную от прежней, он ожидал всего необыкновенного, еще более необыкновенного чем то, что он видел. Череп, гроб, Евангелие – ему казалось, что он ожидал всего этого, ожидал еще большего. Стараясь вызвать в себе чувство умиленья, он смотрел вокруг себя. – «Бог, смерть, любовь, братство людей», – говорил он себе, связывая с этими словами смутные, но радостные представления чего то. Дверь отворилась, и кто то вошел.

    Некоторые 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% бесплатного продукта.

    Писать на 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.

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

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

    А почему не сказал? А потому что эта тема - достойна объема никак не меньшего целой статьи. Поэтому сегодня разберем во всех подробностях наиболее популярные на данный момент интерфейсы жесткого диска. Сразу оговорюсь, что статья или пост (кому как удобнее) в этот раз будет иметь внушительные размеры, но куда деваться, без этого к сожалению никак, потому как если написать кратко, получится совсем уж непонятно.

    Понятие интерфейса жесткого диска компьютера

    Для начала давайте дадим определение понятию "интерфейс". Говоря простым языком (а именно им я и буду по-возможности выражаться, ибо блог то на обычных людей рассчитан, таких как мы с Вами), интерфейс - способ взаимодействия устройств друг с другом и не только устройств. Например, многие из вас наверняка слышали про так называемый "дружественный" интерфейс какой-либо программы. Что это значит? Это значит, что взаимодействие человека и программы более легкое, не требующее со стороны пользователя большИх усилий, по сравнению с интерфейсом "не дружественным". В нашем же случае, интерфейс - это просто способ взаимодействия конкретно жесткого диска и материнской платы компьютера. Он представляет собой набор специальных линий и специального протокола (набора правил передачи данных). То есть чисто физически - это шлейф (кабель, провод), с двух сторон которого находятся входы, а на жестком диске и материнской плате есть специальные порты (места, куда присоединяется кабель). Таким образом, понятие интерфейс - включает в себя соединительный кабель и порты, находящиеся на соединяемых им устройствах.

    Ну а теперь самый "сок" сегодняшней статьи, поехали!

    Виды взаимодействия жестких дисков и материнской платы компьютера (виды интерфейсов)

    Итак, первым на очереди у нас будет самый "древний" (80-е года) из всех, в современных HDD его уже не встретить, это интерфейс IDE (он же ATA, PATA).

    IDE - в переводе с английского "Integrated Drive Electronics", что буквально означает - "встроенный контроллер". Это уже потом IDE стали называть интерфейсом для передачи данных, поскольку контроллер (находящийся в устройстве, обычно в жестких дисках и оптических приводах) и материнскую плату нужно было чем-то соединять. Его (IDE) еще называют ATA (Advanced Technology Attachment), получается что то вроде "Усовершенствованная технология подсоединения". Дело в том, что ATA - параллельный интерфейс передачи данных , за что вскоре (буквально сразу после выхода SATA, о котором речь пойдет чуть ниже) он был переименован в PATA (Parallel ATA).

    Что тут сказать, IDE хоть и был очень медленный (пропускная способность канала передачи данных составляла от 100 до 133 мегабайта в секунду в разных версиях IDE - и то чисто теоретически, на практике гораздо меньше), однако позволял присоединять одновременно сразу два устройства к материнской плате, используя при этом один шлейф.

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

    Следующим, не менее популярным, чем IDE в свое время, интерфейсом является SATA (Serial ATA) , характерной особенностью которого является последовательная передача данных. Стоит отметить, что на момент написания статьи - является самым массовым для применения в ПК.

    Существуют 3 основных варианта (ревизии) SATA, отличающиеся друг от друга пропускной способностью: rev. 1 (SATA I) - 150 Мб/с, rev. 2 (SATA II) - 300 Мб/с, rev. 3 (SATA III) - 600 Мб/с. Но это только в теории. На практике же, скорость записи/чтения жестких дисков обычно не превышает 100-150 Мб/с, а оставшаяся скорость пока не востребована и влияет разве что на скорость взаимодействия контроллера и кэш-памяти HDD (повышает скорость доступа к диску).

    Из нововведений можно отметить - обратную совместимость всех версий SATA (диск с разъемом SATA rev. 2 можно подключить к мат. плате с разъемом SATA rev. 3 и т.п.), улучшенный внешний вид и удобство подключения/отключения кабеля, увеличенная по сравнению с IDE длина кабеля (1 метр максимально, против 46 см на IDE интерфейсе), поддержка функции NCQ начиная уже с первой ревизии. Спешу обрадовать обладателей старых устройств, не поддерживающих SATA - существуют переходники с PATA на SATA , это реальный выход из ситуации, позволяющий избежать траты денег на покупку новой материнской платы или нового жесткого диска.

    Так же, в отличии от PATA, интерфейсом SATA предусмотрена "горячая замена" жестких дисков, это значит, что при включенном питании системного блока компьютера, можно присоединять/отсоединять жесткие диски. Правда для ее реализации необходимо будет немного покопаться в настройках BIOS и включить режим AHCI.

    Следующий на очереди - eSATA (External SATA) - был создан в 2004 году, слово "external" говорит о том, что он используется для подключения внешних жестких дисков. Поддерживает "горячую замену " дисков. Длина интерфейсного кабеля увеличена по сравнению с SATA - максимальная длина составляет теперь аж два метра. eSATA физически не совместим с SATA, но обладает той же пропускной способностью.

    Но eSATA - далеко не единственный способ подключить внешние устройства к компьютеру. Например FireWire - последовательный высокоскоростной интерфейс для подключения внешних устройств, в том числе HDD.

    Поддерживает "горячу замену" винчестеров. По пропускной способности сравним с USB 2.0, а с появлением USB 3.0 - даже проигрывает в скорости. Однако у него все же есть преимущество - FireWire способен обеспечить изохронную передачу данных, что способствует его применению в цифровом видео, так как он позволяет передавать данные в режиме реального времени. Несомненно, FireWire популярен, но не настолько, как например USB или eSATA. Для подключения жестких дисков он используется довольно редко, в большинстве случаев с помощью FireWire подключают различные мультимедийные устройства.

    USB (Universal Serial Bus) , пожалуй самый распространенный интерфейс, используемый для подключения внешних жестких дисков, флешек и твердотельных накопителей (SSD). Как и в предыдущем случае - есть поддержка "горячей замены", довольно большая максимальная длина соединительного кабеля - до 5 метров в случае использования USB 2.0, и до 3 метров - если используется USB 3.0. Наверное можно сделать и бОльшую длину кабеля, но в этом случае стабильная работа устройств будет под вопросом.

    Скорость передачи данных USB 2.0 составляет порядка 40 Мб/с, что в общем-то является низким показателем. Да, конечно, для обыкновенной повседневной работы с файлами пропускной способности канала в 40 Мб/с хватит за глаза, но как только речь пойдет о работе с большими файлами, поневоле начнешь смотреть в сторону чего-то более скоростного. Но оказывается выход есть, и имя ему - USB 3.0, пропускная способность которого, по сравнению с предшественником, возросла в 10 раз и составляет порядка 380 Мб/с, то есть практически как у SATA II, даже чуть больше.

    Есть две разновидности контактов кабеля USB, это тип "A" и тип "B", расположенные на противоположных концах кабеля. Тип "A" - контроллер (материнская плата), тип "B" - подключаемое устройство.

    USB 3.0 (тип "A") совместим с USB 2.0 (тип "A"). Типы "B" не совместимы между собой, как видно из рисунка.

    Thunderbolt (Light Peak). В 2010 году компанией Intel был продемонстрирован первый компьютер с данным интерфейсом, а чуть позже в поддержку Thunderbolt к Intel присоединилась не менее известная компания Apple. Thunderbolt достаточно крут (ну а как иначе то, Apple знает во что стоит вкладывать деньги), стоит ли говорить о поддержке им таких фич, как: пресловутая "горячая замена", одновременное соединение сразу с несколькими устройствами, действительно "огромная" скорость передачи данных (в 20 раз быстрее USB 2.0).

    Максимальная длина кабеля составляет только 3 метра (видимо больше и не надо). Тем не менее, несмотря на все перечисленные преимущества, Thunderbolt пока что не является "массовым" и применяется преимущественно в дорогих устройствах.

    Идем дальше. На очереди у нас пара из очень похожих друг на друга интерфейсов - это SAS и SCSI. Похожесть их заключается в том, что они оба применяются преимущественно в серверах, где требуется высокая производительность и как можно меньшее время доступа к жесткому диску. Однако, существует и обратная сторона медали - все преимущества данных интерфейсов компенсируются ценой устройств, поддерживающих их. Жесткие диски, поддерживающие SCSI или SAS стоят на порядок дороже.

    SCSI (Small Computer System Interface) - параллельный интерфейс для подключения различных внешних устройств (не только жестких дисков).

    Был разработан и стандартизирован даже несколько раньше, чем первая версия SATA. В свежих версия SCSI есть поддержка "горячей замены".

    SAS (Serial Attached SCSI) пришедший на смену SCSI, должен был решить ряд недостатков последнего. И надо сказать - ему это удалось. Дело в том, что из-за своей "параллельности" SCSI использовал общую шину, поэтому с контроллером одновременно могло работать только лишь одно из устройств, SAS - лишен этого недостатка.

    Кроме того, он обратно совместим с SATA, что несомненно является большим плюсом. К сожалению стоимость винчестеров с интерфейсом SAS близка к стоимости SCSI-винчестеров, но от этого никак не избавиться, за скорость приходится платить.

    Если вы еще не устали, предлагаю рассмотреть еще один интересный способ подключения HDD - NAS (Network Attached Storage). В настоящее время сетевые системы хранения данных (NAS) имеют большую популярность. По сути, это отдельный компьютер, этакий мини-сервер, отвечающий за хранение данных. Он подключается к другому компьютеру через сетевой кабель и управляется с другого компьютера через обычный браузер. Это все нужно в тех случаях, когда требуется большое дисковое пространство, которым пользуются сразу несколько людей (в семье, на работе). Данные от сетевого хранилища передаются к компьютерам пользователей либо по обычному кабелю (Ethernet), либо при помощи Wi-Fi. На мой взгляд, очень удобная штука.

    Думаю, это все на сегодня. Надеюсь вам понравился материал, предлагаю подписаться на обновления блога, чтобы ничего не пропустить (форма в верхнем правом углу) и встретимся с вами уже в следующих статьях блога.

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

    Чем IDE отличается от текстового редактора?

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

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

    Ознакомьтесь с приведенным ниже списком функций и недостатков каждой из 10 лучших IDE .

    1. Microsoft Visual Studio


    Microsoft Visual Studio — это интегрированная среда разработки , цена которой варьируется от $699 до $2900 . Множество версий этой IDE способны создавать все типы программ, начиная от веб-приложений и заканчивая мобильными приложениями, видеоиграми. Эта линейка программного обеспечения включает в себя множество инструментов для тестирования совместимости. Благодаря своей гибкости Visual Studio является отличным инструментом для студентов и профессионалов.

    Поддерживаемые языки: Ajax, ASP.NET, DHTML, JavaScript, JScript, Visual Basic, Visual C#, Visual C++, Visual F#, XAML и другие .

    Особенности:

    • Огромная библиотека расширений, которая постоянно увеличивается;
    • IntelliSense ;
    • Настраиваемая панель и закрепляемые окна;
    • Простой рабочий процесс и файловая иерархия;
    • Статистика мониторинга производительности в режиме реального времени;
    • Инструменты автоматизации;
    • Легкий рефакторинг и вставка фрагментов кода;
    • Поддержка разделенного экрана;
    • Список ошибок, который упрощает отладку;
    • Проверка утверждения при развертывании приложений с помощью ClickOnce , Windows Installer или Publish Wizard.

    Недостатки : поскольку Visual Studio является супертяжелой IDE , для открытия и запуска приложений требуются значительные ресурсы. Поэтому на некоторых устройствах внесение простых изменений может занять много времени. Для простых задач целесообразно использовать компактный редактор или средство разработки PHP .

    2. NetBeans


    Бесплатная среда разработки с открытым исходным кодом. Подходит для редактирования существующих проектов или создания новых. NetBeans предлагает простой drag-and-drop интерфейс, который поставляется с большим количеством удобных шаблонов проектов. Среда в основном используется для разработки Java приложений, но можно устанавливать пакеты, поддерживающие другие языки.

    Поддерживаемые языки программирования: C, C++, C++ 11, Fortan, HTML 5, Java, PHP и другие .

    Особенности:

    • Интуитивный drag-and-drop интерфейс;
    • Динамические и статические библиотеки;
    • Интеграция нескольких сессий GNU-отладчика с поддержкой кода;
    • Возможность осуществлять удаленное развертывание;
    • Совместимость с платформами Windows, Linux, OS X и Solaris;
    • Поддержка Qt Toolkit;
    • Поддержка Fortan и Assembler;
    • Поддержка целого ряда компиляторов, включая CLang / LLVM, Cygwin, GNU, MinGW и Oracle Solaris Studio.

    Недостатки: эта бесплатная среда разработки потребляет много памяти, поэтому может работать медленно на некоторых ПК.

    3. PyCharm


    PyCharm разработан командой Jet Brains . Пользователям предоставляется бесплатная версия Community Edition , 30-дневная бесплатная ознакомительная версия Professional Edition и годовая подписка за $213 — $690 на версию Professional Edition . Комплексная поддержка кода и анализ делают PyCharm лучшей IDE для Python-программистов .

    Поддерживаемые языки: AngularJS, Coffee Script, CSS, Cython, HTML, JavaScript, Node.js, Python, TypeScript.

    Особенности:

    • Совместимость с операционными системами Windows, Linux и Mac OS;
    • Поставляется с Django IDE;
    • Легко интегрируется с Git, Mercurial и SVN;
    • Настраиваемый интерфейс с эмуляцией VIM;
    • Отладчики JavaScript, Python и Django;
    • Поддержка Google App Engine.

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

    4. IntelliJ IDEA


    Еще одна IDE , разработанная Jet Brains . Она предлагает пользователям бесплатную версию Community Edition , 30-дневную бесплатную ознакомительную версию Ultimate Edition и годовую подписку на версию Ultimate Edition за $533 — $693 . IntelliJ IDEA поддерживает Java 8 и Java EE 7 , обладает обширным инструментарием для разработки мобильных приложений и корпоративных технологий для различных платформ. Если говорить о цене, IntelliJ является прекрасным вариантом из-за огромного списка функций.

    Поддерживаемые языки программирования: AngularJS, CoffeeScript, HTML, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass, TypeScript и другие.

    Особенности:

    • Расширенный редактор баз данных и дизайнер UML ;
    • Поддержка нескольких систем сборки;
    • Пользовательский интерфейс тестового запуска приложений;
    • Интеграция с Git ;
    • Поддержка Google App Engine , Grails , GWT , Hibernate , Java EE , OSGi , Play , Spring , Struts и других;
    • Встроенные средства развертывания и отладки для большинства серверов приложений;
    • Интеллектуальные текстовые редакторы для HTML , CSS и Java ;
    • Интегрированный контроль версий;
    • AIR Mobile с поддержкой Android и iOS .

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

    5. Eclipse


    Бесплатный и гибкий редактор с открытым исходным кодом. Он может оказаться полезен, как для новичков, так и для профессионалов. Первоначально создаваемый как среда для Java-разработки сегодня Eclipse имеет широкий диапазон возможностей благодаря большому количеству плагинов и расширений. Помимо средств отладки и поддержки Git / CVS , стандартная версия Eclipse поставляется с инструментами Java и Plugin Development Tooling . Если вам этого недостаточно, доступно много других пакетов: инструменты для построения диаграмм, моделирования, составления отчетов, тестирования и создания графических интерфейсов. Клиент Marketplace Eclipse открывает пользователям доступ к хранилищу плагинов и информации.

    Поддерживаемые языки: C, C++, Java, Perl, PHP, Python, Ruby и другие.

    Особенности:

    • Множество пакетных решений, обеспечивающих многоязычную поддержку;
    • Улучшения Java IDE , такие как иерархические представления вложенных проектов;
    • Интерфейс, ориентированный на задачи, включая уведомления в системном трее;
    • Автоматическое создание отчетов об ошибках;
    • Параметры инструментария для проектов JEE ;
    • Интеграция с JUnit .

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

    6. Code::Blocks


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

    Поддерживаемые языки: C, C++, Fortran .

    Особенности:

    • Простой интерфейс с вкладками открытых файлов;
    • Совместимость с Linux , Mac и Windows ;
    • Написана на C++ ;
    • Не требует интерпретируемых или проприетарных языков программирования;
    • Множество встроенных и настраиваемых плагинов;
    • Поддерживает несколько компиляторов, включая GCC, MSVC ++ , clang и другие;
    • Отладчик с поддержкой контрольных точек;
    • Текстовый редактор с подсветкой синтаксиса и функцией автоматического заполнения;
    • Настраиваемые внешние инструменты;
    • Простые средства управления задачами, идеально подходящие для совместной работы.

    Недостатки: относительно компактная среда разработки Си , поэтому она не подходит для крупных проектов. Это отличный инструмент для новичков, но продвинутые программисты могут быть разочарованы ее ограничениями.

    7. Aptana Studio 3


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

    Поддерживаемые языки: HTML5, CSS3, JavaScript, Ruby, Rails, PHP и Python .

    Особенности:

    • Подсказки для CSS , HTML , JavaScript , PHP и Ruby ;
    • Мастер развертывания с простой настройкой и несколькими протоколами, включая Capistrano , FTP , FTPS и SFTP ;
    • Возможность автоматической установки созданных приложений Ruby и Rails на серверы хостинга;
    • Интегрированные отладчики для Ruby и Rails и JavaScript ;
    • Интеграция с Git ;
    • Простой доступ к терминалу командной строки с сотнями команд;
    • Строковые пользовательские команды для расширения возможностей.

    Недостатки: есть проблемы со стабильностью, и она работает медленно. Поэтому профессиональные разработчики могут предпочесть более мощную HTML среду разработки.

    8. Komodo


    Предлагает бесплатную 21-дневную ознакомительную версию, полная версия стоит $99 – $1615 в зависимости от редакции и лицензии. Komodo поддерживает большинство основных языков программирования. Удобный интерфейс позволяет осуществлять расширенное редактирование, а небольшие полезные функции, такие как проверка синтаксиса и одноступенчатая отладка, делают Komodo одной из самых популярных IDE для веб и мобильной разработки.

    Поддерживаемые языки: CSS, Go, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby, Tcl и другие.

    Особенности:

    • Настраиваемый многооконный интерфейс;
    • Интеграция контроля версий для Bazaar , CVS , Git , Mercurial , Perforce и Subversion ;
    • Профилирование кода Python и PHP ;
    • Возможность развертывания в облаке благодаря Stackato PaaS ;
    • Графическая отладка для NodeJS , Perl , PHP , Python , Ruby и Tcl ;
    • Автоматическое заполнение и рефакторинг;
    • Стабильная производительность на платформах Mac , Linux и Windows

    Недостатки: бесплатная версия среды разработки программного обеспечения не включает в себя все функции. В то же время премиум версия явно стоит своих денег.

    9. RubyMine


    Еще одна премиум IDE , разработанная компанией Jet Brains . Предлагается 30-дневная бесплатная ознакомительная версия, полная версия стоит $210 — $687 в год. Удобная навигация, логичная организация рабочего процесса и совместимость с большинством платформ делают RubyMine одним из популярных инструментов для разработчиков.

    Поддерживаемые языки: CoffeeScript, CSS, HAML, HTML, JavaScript, LESS, Ruby и Rails, Ruby и SASS.

    Особенности:

    • Сниппеты кода, автоматическое заполнение и автоматический рефакторинг;
    • Дерево проектов, которое позволяет быстро анализировать код;
    • Схема модели Rails ;
    • Просмотр проекта Rails ;
    • RubyMotion поддерживает разработку под iOS ;
    • Поддержка стека включает в себя Bundler , pik , rbenv , RVM и другие;
    • Отладчики JavaScript , CoffeeScript и Ruby ;
    • Интеграция с CVS , Git , Mercurial , Perforce и Subversion .

    Недостатки среды разработки: чтобы RubyMine работала бесперебойно, компьютеру требуется не менее 4 ГБ оперативной памяти. Некоторые пользователи также жалуются на отсутствие опций настройки GUI .