sonyps4.ru

Ide расшифровка. Разница между IDE и SATA

Хотелось бы в очередной раз поднять эту довольно спорную тему.

С тех пор, как я начал заниматься программированием, этот вопрос не даёт мне покоя, а многочисленные темы на форумах и хабре ясности не внесли. Плюс к этому, мне кажется, некоторые аргументы как за одну, так и за другую сторону не были приведены. А у тех, что приведены, неверно расставлены приоритеты и упущен контекст.

В статье я постараюсь исправить это упущение и расставить ещё немного точек над «ё».

Приглашаю всех поучавствовать в поисках идеального инструмента.

О моём опыте

Программировать я начинал ещё в ДОС. на Turbo Pascal-е. Причём, почему-то, IDE мы тогда использовали только для отладки, и то достаточно редко. Для писания кода предпочитали использовать некий безымянный edit.exe без всякой подсветки синтаксиса в связке с Volkov Commander. И этого хватало. Этим же способом я позже занимался ассемблером и, частично, C++.

Продолжая изучать C++ я перешел на Windows и, соответственно, Visual Studio - куда же без него. Застал версии, если не ошибаюсь, с 5 до 7. После простенького редактора это было нечто - кодогенерация и автодополнение вызывали восторг. Правда, во всём этом сгенерированном добре разобраться было практически невозможно, но это казалось неважным.

Через некоторое время я пересел на Linux и занялся веб-разработкой на php. Здесь параллельно изучал vim и для разработки использовал ZendStudio. В какой-то момент начал использовать только Vim для всего - превратил его, в соответствии с многочисленными руководствами в маленькую ide. В нём же написал свою первую велосипедную CMS на php.

Замечу, что до этого программирование не было основным видом моей деятельности. Да, я и для работы писал различные мелкие утилитки, делал темы для для WordPress, но основным родом деятельности было администрирование.

Как только я занялся разработкой профессионально - возможностей vim мне перестало хватать. Был сначала eclipse, потом netbeans, сейчас - phpstorm.

Последние пол-года героически пытаюсь освоить emacs, в т.ч. в качестве основной рабочей среды.

Так что у меня есть с чем сравнивать и, надеюсь, моё мнение будет достаточно обоснованным и агрументированным.

IDE? IDE...

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

Начну, пожалуй, с одного из бесспорных преимуществ редактора - его богатых возможностей по работе с текстом и возможности всё делать не отрывая рук от клавиатуры. Cреды в большинстве своём так не умеют. Только вот нужны ли такие возможности при написании кода? При написании статьи или письма, думаю, удобно одним нажатием клавиши поменять местами 2 слова или передвинуть абзац вверх страницы. Но в тексте программы это, в большинстве случаев бессмысленно и требует рефакторинга. А платить за это приходится либо пальцедробительными сочетаниями клавиш emacs, либо не менее мозгодробительными командами в vim. А ведь это всё нужно поминать! То, что просто решается одним движением мыши, вроде перемещения окна или изменения их размеров, превращается в целый квест. Да даже выделить текст проще мышкой - точнее, быстрее, и на надо считать сколько там слов до нужнго места в тексте. Нет, программисту тоже могут быть полезны эти функции, но дело в том, что его временные затраты на собственно редактирование кода ничтожны, так что выгоды во времени не будет практически никакой. А вот значительное усложнение инструмента - налицо.

Программист 80% своего времени тратит на понимание написанного кода и перемещению по нему. Причём перемещению именно по коду, а не по тексту! И здесь ему редактор не может помочь абсолютно ничем. Список параметров метода во всплывающей подсказке не покажет, перейти к определению метода не позволит, синтаксис не проконтролирует. А IDE, даже самые простые, с этим справляются просто и элегантно. Я недавно потратил минут 10 на поиск определения одного метода в проекте при помощи silversearcher из emacs. Оказалось, класс был определён в другом модуле и т.п. 10 минут, вместо одного клика мышкой! Я в emacs, конечно, недостаточно опытен, поэтому пусть будет 5 минут, даже минута. Но всё равно соотношение впечатляет.

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

Да, на проекте из десятка файлов и пары тысяч строк, этот плюс не проявляет себя во всей красе. Редактор тоже может выполнять то же самое автодополнение, но он никогда не отсеет бессмысленные, варианты. И если размер проекта приближается к 100 тыс строк и состоит из тысяч файлов не считая библиотек, то становится проблемно выбирать нужное название из мешанины из названий переменных, методов других классов, да и просто слов из комментариев (было такое в vim-е у меня, не знаю, может, исправили). Интеллектуальные подсказки избавляют от необходимости помнить названия нужных функций и их параметры. Часто это просто физически невозможно.

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

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

Кто-то может возразить, что в современных редакторах многие из этих функций уже реализованы и ничем не уступают самым навороченным IDE. Не соглашусь. Во-первых, полноценных реализаций нет. Не работают они, как должны. Во-вторых, установка всего этого уже достаточно сложная задача. Да даже конфигурация внутренних функций редактора уже нетривиальна. Попробуйте, скажем, включить нумерацию строк в том же emacs! Плюс ко всему, часто нужный функционал реализуется десятком плагинов непонятно как между собой взаимодействующих. А часто ещё и имеющих десяток версий и веток, не всегда совместимых, странно настраиваюхся и т.п. Можно, конечно, потратить месяц, всё настроить и установить (что тоже удел энтузиастов), но это всего лишь приблизит редактор к уровню IDE. К примеру, вернёмся к тем же проектам - я пробовал и Project под vim и projectile под emacs и ещё некоторые плагины. Если Project ещё более-менее отвечает моим требованиям (хотя в последней версии мне вообще не удалось создать проект из-за багов), то projectile оставил исключительно негативные впечатления.

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

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

Во-вторых, в некоторых специфических областях все преимущества IDE нивелируются. Например, низкоуровневая разработка для linux. Я этим не занимался, но, судя по структуре кода и предпочтениям разрабочиков (около 70% - emacs и клоны, 25% - vim, 5% - какая-то экзотика вроде jed), IDE там делать нечего. Весь нужный код, с которым происходит работа, собран, как правило в одном-двух файлах, и не нужно прыгать в пределах всего проекта. Да и не сильно поможет автодополнение при выборе из десятка-двух функций с почти одинаковыми названиями.

В-третьих, редакторы могут работать не только с кодом. Всю их мощь можно задействовать при работе с csv или xml файлами. Либо чего-то другого, в чём иногда возникает необходимость, вроде статьи или письма. И не нужно переучиваться, искать удобную программу или запоминать горячие клавиши - всё под рукой, всё одинаковое.

В-четвёртых, возможность работы с языками, для которых нет вменяемой IDE. Скажем, с тем же ruby мне среда не сильно помогла. SublimeText-а оказалось достаточно. Хотя с большим ruby проектом я не работал, возможно, там бы IDE себя показала.

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

Итого

Я не очень люблю IDE, хотя так могло показаться по предыдущему тексту. Считаю их довольно монструозными, с кучей ненужных функций, медленными и требовательными к ресурсам. Да и лучшие из них довольно дорогие. Кроме того, я считаю, использование IDE расслабляет, и привязывает к себе. У редакторов, соответственно, всё наоборот. Плюс доступность и возможности тонкой доводки под себя. По крайней мере vim и emacs. В конце концов, они мне просто нравятся. Эту статью, например, я пишу в Emacs.

Но индустрия (и начальство) диктует свои требования. Если не использовать IDE, производительность значительно упадёт. Но никто не даст вам пол-часа на поиск пропущенной запятой в 10 тыс строках кода. Это всё должно выполняться автоматически и автоматически же исправляться. Мне тоже иногда нравится покопаться в коде без всяких инструментов - но на работе это непозволительная трата времени.

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

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

"Бутылочное горлышко"

Известно, что одним из наиболее медленных составляющих современной вычислительной системы является основанный на классической шпиндельной системе. Сегодня появились SSD-аналоги, но они пока еще не получили массового распространения из-за слишком высокой стоимости.

Поэтому обычные HDD устанавливаются практически на каждый компьютер. В итоге получается, что память стандарта DDR3 легко передает 20 000 Мб/с; внутренняя шина центрального процессора позволяет обработать в десять раз больше данных; а винчестер со стандартом SATA-3 лишь в идеальных условиях «разгоняется» до настоящих 100 мегабайт в секунду. Не случайно рекомендуется хотя бы для системных файлов использовать производительные SSD-модели. Из всего вышесказанного следует простой вывод: именно HDD замедляет современную систему, являясь тем самым «бутылочным горлышком». А так как пользователь может легко внести изменения в способ обработки команд дисковой подсистемы, в определенной степени влияя на скорость, то часто можно услышать вопрос о том, какой режим лучше: AHCI или IDE.

Стандарты

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

Он возник на заре компьютерной индустрии и несколько раз модернизировался. С появлением высокоскоростных SATA-дисков потребовалась кардинальная переделка протокола. Так и возник легко справляется с возросшим потоком данных (интерфейс), поддерживает модную очередь команд NCQ и реализует возможность отключения устройства «на ходу». Итак, что такое AHCI? IDE, в котором добавлены некоторые новые возможности. Вот так все просто, на первый взгляд.

Возможности и перспективы

Так как стандарты являются обратно совместимыми (устройство SATA отлично работает по протоколу IDE), то в БИОС или его аналоге почти всегда присутствует пункт, позволяющий выбрать желаемый режим.

Во многих случаях лишь благодаря этому удается добиться нормальной работоспособности компьютера. Функция выбора режимов присутствует только в программном обеспечении тех материнских плат, которые предусматривают работу с SATA. Это все современные системы. Однако сюда же можно приписать гибридные решения, позволяющие подключать как классические IDE-устройства (РАТА, широкая гребенка разъема), так и SATA (компактный коннектор). Итак, AHCI или IDE? Что лучше? Чтобы было проще разобраться в этом, приведем список «бонусов», которые получает пользователь, активируя более современный режим:

1. по внутренним электронным цепям «контроллер диска - контроллер платы» достигает от 1.5 Гб/с (гигабит) для модификации SATA-1 до 6 в третьей ревизии. Напомним, что UDMA-6, в котором могу работать старые винчестеры, предусматривает лишь 133 Мбит/c.

2. Говоря о том, что лучше - AHCI или IDE, нельзя не указать поддержку технологии NCQ. Ее суть заключается в том, что винчестер может «вмешиваться» в очередь потока команд, перестраивая их для повышения эффективности работы.

3. Возможность «горячей» замены устройства, при которой не требуется отключение всей системы.

4. Параллельное обращение сразу ко всем дискам, без использования поочередного переключения.

Вот такой весьма заманчивый список возможностей. Неудивительно, что вопрос: «AHCI или IDE: что лучше?» является, пожалуй, одним из самых наболевших. Многие владельцы компьютеров, как это ни удивительно, все еще верят в «волшебную кнопку».

Теория и практика

Так все-таки, AHCI или IDE - что лучше? Из вышеприведенного списка можно сделать вывод, что устаревший протокол значительно проигрывает новому. Однако это не совсем так. Рассмотрим этот момент подробнее. Да, действительно, скорость передачи данных возросла в десятки раз, однако магнитные диски в винчестерах как вращались со скоростью 7200 оборотов (наиболее популярное решение), так и вращаются. Соответственно, в процессе считывания никаких революционных прорывов не произошло. Ни в каком тесте HDD пользователь не увидит 6 Гбит передачи. Даже 200 Мбит недостижимы! Исключение - твердотельные накопители. Если в системе присутствует такое устройство, то можно не разбираться с вопросом: "AHCI или IDE: что лучше?", а сразу активировать обновленный протокол. Однако, как мы указывали, из-за стоимости подобные накопители еще не стали массовыми.

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

IDE или AHCI - что лучше? Windows 7 при активировании последнего режима поддерживает подключение/отключение SATA-устройства «на ходу». Довольно удобно, особенно в серверных системах, где выключение нежелательно. Тем не менее для использования «горячей замены» рекомендуется задействовать не внутренние разъемы, а выведенные на корпус модификации SATA.

И, наконец, протокол позволяет нескольким винчестерам на шине работать одновременно, а не ожидать запросов. Именно в данном случае потенциал NCQ полностью раскрывается. Для среднестатистического компьютера не актуально.

В итоге получается, что хотя протокол AHCI, с точки зрения технологий, более интересен, тем не менее от его включения основная масса пользователей не получит ничего, кроме морального удовлетворения. Всего два исключения из общего правила: серверная система и использование SSD.

Нюансы использования

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

Пакеты драйверов AHCI стали интегрировать в систему лишь с Vista. Все предыдущие решения от «Майкрософт» встроенной поддержки не имеют, поэтому нужно либо использовать «сборки», либо перед установкой приготовить носитель с соответствующим драйвером. С новым стандартом отлично работает Windows 7. Переключение SATA из IDE режима в AHCI должно осуществляться из БИОС (пункт Configure SATA). В очень редких случаях может потребоваться внесений изменений в реестр.

Способ переключения

Для того чтобы попасть в БИОС, сразу после включения вычислительной системы нужно несколько раз подряд нажать кнопку Delete (персональные компьютеры) или F2 (ноутбуки). В зависимости от реализации, нужный пункт может находиться в любых разделах. Например, для его активации может потребоваться перевод Boot Mode в CSM вместо UEFI, после чего в появляется Compatible (IDE) и AHCI. Искомый пункт может находиться в разделе SATA Enhanced. Нужно внимательно просмотреть весь существующий список. После переключения следует нажать ESC и согласиться с сохранением изменений.

Итоги

Решение о том, какому именно протоколу отдать предпочтение, зависит от нескольких факторов. Прежде всего, от используемой операционной системы. От совместимости на «железном» уровне. И конечно же от нагрузки на подсистему. Чем она выше, тем предпочтительней AHCI. Если проанализировать все отзывы, то можно сказать, что оба протокола отлично работают, при правильной настройке не вызывая никаких сбоев. Тем не менее более целесообразно использовать обновленную версию. Это, так сказать, задел "на будущее", например, на покупку SSD.

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

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


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

Александр Макарчук , 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
Развитие плагинов, интеграций со сторонними утилитами и софтом, улучшение автодополнения.

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

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

Вообщем ближе к делу) Для начала необходимо зайти в биос компьютере. На разных версиях биоса разные кнопки входа, обычно это del на компьютерах и F2 на ноутбуках. При загрузке компьютера обычно написано press F2 (Del) for bios. На всякий случай вот подсказка:

Как зайти в биос в различных версиях:

На компьютере:

На ноутбуке:

После того как вы зашли необходимо искать параметр Sata Configuration. В нем необходимо выбрать режим AHCI.

Заодно расскажу что это за режимы:

Существуют способы подключения IDE и SATA:

Режим IDE

Разъем IDE (Integrated Development Environment) это уже устаревший разъем (разработанный в 80-х годах), как видно на картинке, раньше использовался для подключения жестких дисков, дисководов, сидиромов и т.д. что поддерживало такие разъемы. В те времена это конечно была сумасшедшая популярность этого разъема, сейчас же конечно остается его только вспоминать и менять на старых компьютерах.

По мимо всего этого даже сами шнуры удобнее и занимаю меньше места. Разъемы сата поддерживают HotSwap и HotPlug т.е. горячую замену, что удобно в серверах. Не нужно перезагружать или выключать.

AHCI — это режим подключения SATA устройств, вот я и пришел к разгадке все статьи. Благодаря этому режиму sata устройства работают должным образом.

Чтобы и у вас все устройства работали хорошо необходимо его выбрать (конечно если у вас уже он не выбран).

Но для начала нужно выбрать в windows режим achi иначе винда у вас не запуститься! Можете конечно попробовать, но скорее всего . По этому я покажу как поставить режим achi на вндовс 7.

Как включить режим ACHI?

Это делается с помощью реестра.

Нажимаем пуск — выполнить (или WIN+R).

Вводим regedit и нажимаем enter.

Появится редактор реестра. В нем идем по пути:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci




Загрузка...