Пять больших причин, почему я выбрал операционную систему Linux вместо Windows
Пять больших
причин, почему я выбрал операционную систему Linux вместо Windows
1. Свободность/открытость (Free
software/OpenSource) *Это относится не только к Линукс, но и ко всему OpenSource
движению*
В отличие от проприетарных лицензий, всячески пытающихся
ущемлять естественные права человека, свободные лицензии (такие как GPL, LGPL,
BSD, Artistic, ...) не лишают Вас этих прав. Ущемлением прав я считаю запрет на
копирование или изменение купленной программы, или в последнее время все больше
набирающей обороты в проприетарном мире модели арендования софта. Свободный софт
можно копировать сколько угодно, модифицировать по своему усмотрению, к тому же
всегда доступны его исходные коды, и сам он бесплатен.
Открытые исходные
коды дают неоспоримые преимущества по сравнению с закрытым софтом:
а.
Открытые технологии доступны всему обществу, тем самым научный прогресс не
тормозится. б. Быстрота исправления ошибок, опять же из-за его доступности
каждому. То есть свободный софт - безопаснее использовать чем его
проприетарные аналоги. в. Отсутствие лазеек для
спецслужб/автора/кого-нибудь еще. В крайнем случае Вы всегда можете убедиться в
этом, скачав исходные коды и просмотрев их.
И даже если Вам на научный
прогресс все равно, ошибки для Вас некритичны, лазейки Вы считаете полным бредом
и выдумкой, а на цену Вам наплевать, потому что пользуетесь пиратской
продукцией, задумайтесь о возрастающей мощи корпораций, продвигающих
проприетарные идеи и технологии (ярчайший пример - микрософт). Подумайте о
новомодных технологиях, позволяющих все больше следить за людьми. Правительству
это только на руку (даже если официально - они против). И вот в один прекрасный
день недалекого будущего пиратов не станет, вы будете несвободны в выборе ОС, а
что-то на подобие микрософт будет править миром. Нравится такая перспектива? Мне
тоже нет. По этой тематике очень рекомендую почитать Ричарда Столлмана -- Право
читать.
2. Идеология софта: Unix-way vs
Windows-way.
Линукс конечно же идет по Unix-way. Далее по контексту
можете считать Unix=Linux.
Windows-way -- Большинство программ создаются
по принципу "все в одном" (разработчики реализуют все сами в своей программе).
Из-за этого возрастает сложность продукта, а отсюда и количество ошибок, а также
значительно повышается размер программ. Здесь любят также добавлять, зачастую
излишнюю функциональность, по маркетинговым/ другим причинам. Зачастую это
перекрывает функции других программ и тормозит в скорости данную.
Unix-way -- Программа должна выполнять только одну задачу, но выполнять
ее хорошо. Многие программы используют другие программы/библиотеки, тем самым
позволяя разработчикам сосредоточиться на функциональности самой
программы/библиотеке. К примеру, есть графическая библиотека libpng, и
разработчики GQview просто используют ее для вывода png изображений, а также
есть библиотека виджетов и разработчики используют ее для отрисовки
пользовательского интерфейса. Другой пример: текстовый редактор использует
программу проверки орфографии.
Мне более нравится
Unix/Linux-way.
3. Логичность.
В чем же заключается
логичность Unix''a? В его архитектуре! Начнем с того что с точки зрения Unix
системы существует только два вида объектов: файлы и процессы. Процессы - это
запущенные программы. Им можно посылать различные сигналы. А вот важность файлов
переоценить нельзя Во первых директории это тоже файлы, просто содержащие в себе
другие файлы. Ссылки (жесткие и мягкие) - тоже файлы. Конфиги - тоже хранятся в
файлах, различные комплектующие (например видеокарта, различные порты или
жесткий диск) тоже представлены файлами! Почему же так сделали? Потому что это
удобно (допустим надо записать в порт какое-то значение - "echo 34 >
/dev/ttyS0"). Да и универсальный файловый интерфейс для программ и пользователя.
Командная строка в Unix очень сильно развита и позволяет комбинировать команды,
автодополнять, хранить историю команд... А сколько существует консольных простых
команд, которые можно комбинировать и запускать, глядя на логичный и хорошо
продуманный фундамент Unix!
4. Масштабируемость.
Линукс
можно запихнуть в наручные часы и сделать так чтобы он эффективно работал, а
можно поставить (и IBM ставит) на сверхмощные сервера. Причем не надо изобретать
велосипед. Да и зачем его изобретать если есть Линукс =). Микрософт''у _такой_
масштабируемости и не снилось.
5. Гибкость.
В Линукс можно
изменить почти все. Это я к тому что если Вам что-то не понравится это можно
изменить/заменить/ убрать/дописать и т.д. Возьмем пример: Кому-то не нравится
огромный и полный для него излишеств десктоп KDE. Он вообще не любит работать в
десктопах, а предпочитает оконные менеджеры, в частности Fluxbox. Быстро, удобно
и незагромождено ненужными ему вещами. Так вот он ставит Fluxbox вместо KDE и
все работает. Графический интерфейс абсолютно поменялся. В Windows я так не могу
сделать.
В Windows много чего интегрировано по умолчанию (типичный
Windows-way). Например графический интерфейс. Тем самым если что-то заглючило в
графическом интерфейсе, то глючит уже целая система. Глупо и неудобно. А про
этот засоряющийся реестр я вообще молчу...
Про
дистрибутивы.
Существует много разных дистрибутивов, но я бы выделил
следующие направления:
Mandrake, Red Hat, ALT Linux, ASPLinux, SuSE, ...
- Графическая простая инсталляция, установка прекомпилированных пакетов, формат
пакетов - RPM, включают графические простые утилиты для конфигурации системы по
умолчанию. Очень рекомендую для начинающих.
Debian - Текстовая
инсталляция. Полностью некоммерческий дистрибутив. Разрабатывается людьми со
всего мира. Установка прекомпилированных пакетов, формат пакетов - DEB. По сути
представляет из себя огромный сборник свободного софта. Графические простые
утилиты для конфигурации входят в комплект.
Slackware - Текстовая
инсталляция. Установка прекомпилированных пакетов, формат пакетов - TGZ.
Логичное разделение пакетов на разделы, конфигурирование происходит с помощью
текстового редактора.
Yoper - Текстовая инсталляция, но большинство
делается автоматом. Включает 1 CD. Установка прекомпилированных пакетов. Выбрать
софт вручную нельзя. Оптимизирован под i686. Имхо дистрибутив пойдет для
домохозяек. Хоть он и занимает первое место в distrowatch.
KNOPPIX, ... -
Нет инсталляции. 1 LiveCD. Загружайся с CD и работай! Вот она - гибкость
Unix-way.
Lindows - Э-э-э... Это даже нельзя назвать дистрибутивом. Взяли
Линукс, повытрясли с него много хороших идей (прозрачность разделов, дисков,
...), заменили их угробищными идеями Windows (С, D). И эмулятор Wine прикрутили
в ядро. В результате получилась недо-линукс+недо-windows OC. Кому такая нужна не
знаю...
Gentoo - Инсталляция через shell. Пакеты закачиваются из
интернета. Инсталляция/установка пакетов с исходными кодами, что позволяет
максимально оптимизировать их под конкретную машину. Формат пакетов - TBZ2.
Логично проработаная система портежей. Прекрасно документирован.
LFS
(Linux From Scratch) - Инсталляция через shell. Компилирование/Установка
исходников. Форматы исходников - tar.gz и tar.bz2 =). Немного все-таки не
дистрибутив...
Послесловие.
Все вышенаписанное является моим
собственным мнением. Я никому не навязываю использовать то что ему не нравится.
Линукс конечно же не лишен недостатков. Например нехватка некоторых программ
которые есть под Windows. Но тем не менее я перечислил именно: "Пять больших
причин почему _Я_ выбираю операционную систему Linux вместо Windows".
Инструменты Internet Explorer 8 Beta 2 для разработчиков.
В марте этого года мы
уже писали об инструментах для разработчика в IE8 Beta 1, но IE8 Beta2
позволяет более полно использовать инструменты за счет значительных изменений в
имеющихся функциях, а также новых возможностей.
В принципе инструменты для разработчика должны обладать следующими свойствами: Быть интегрированными и простыми в использовании;
Иметь визуальный интерфейс; C их помощью можно быстро протестировать сайт.
Дата проведения: 28 октября 2008 г.; Место проведения: Амбер Плаза, Москва,
Россия. Конференция для веб-разработчиков и разработчиков мобильных приложений в
Москве. Узнайте, как наилучшим образом использовать инструменты разработки и API
от Google, чтобы создавать социальные, мобильные и картографические приложения,
как использовать AJAX/JavaScript инструменты и библиотеки от Google и многое
другое из первых уст.
ТОП 10 самых раздражающих факторов для программиста.
Совсем недавно наткнулся в интернете на забавный "хит-парад" наиболее
раздражающих вещей для программиста. Поскольку он был на английском — решил
перевести текст и несколько адаптировать к нашим реалиям…