Услуги админа   |  О пректе   |   Статьи   |   Конкурс   |   Just for fun
  Главная  
|  Услуги админа  
|  Безопасность  
|  Resque  
|  ALT Linux  
|  Ubuntu  
|  Debian  
|  Fedora  
|  Gentoo  
|  openSUSE  
|  Mandriva  
|  CentOS  
|  Slackware  
|  FreeBSD  
 
Расскажите о нас сейчас
Каталог
Услуги админа
Безопасность
Resque
ALT Linux
Ubuntu
Debian
Fedora
Arch Linux
Gentoo
Sabayon Linux
openSUSE
SUSE
Mandriva
CentOS
Slackware
Games
FreeBSD
PC-BSD
Solaris
Сервер для офиса
ASPLinux
DeLi Linux
Vixta.org
myLinux
Linux XP
Проект Операционные Системы
Публикации
Just for fun
Статьи конкурса
Путь к свету. Часть 1 Путь к свету. Часть 1
Путь к свету. Часть 2 Путь к свету. Часть 2
Почему Linux? Потому! Почему Linux? Потому!
Четыре мифа про Линукс Четыре мифа про Линукс
Linux Forever! или "Вы ещё вывариваете?" Linux Forever! или "Вы ещё вывариваете?"
Преимущества Linux Преимущества Linux
Почему я выбираю Linux Почему я выбираю Linux
Преимущества Linux 2 Преимущества Linux 2
Почему я выбираю Linux. Часть2 Почему я выбираю Linux. Часть2
Творчество или закрытость? Творчество или закрытость?
Linux и Windows: битва за десктопы Linux и Windows: битва за десктопы
За что я люблю Linux За что я люблю Linux
Почему я выбрал свободу? Почему я выбрал свободу?
LINUXомания! LINUXомания!
Мой переход с Windows на Linux Мой переход с Windows на Linux
Смысл свободы ПО Смысл свободы ПО
Linux простой и понятный Linux простой и понятный
Программы Linux и Windows Программы Linux и Windows
Freedom Freedom
Почему Линукс? Почему Линукс?
Почему переходят с Windows на Linux? Почему переходят с Windows на Linux?
Кто сказал, что Пингвин не летает? Кто сказал, что Пингвин не летает?
Путь программиста Часть 1 Путь программиста Часть 1
Путь программиста Часть 2 Путь программиста Часть 2
Путь программиста Часть 3 Путь программиста Часть 3
Путь программиста Часть 4 Путь программиста Часть 4
Путь программиста Часть 5 Путь программиста Часть 5
Путь программиста Часть 6 Путь программиста Часть 6
Путь программиста Часть 7 Путь программиста Часть 7
Популярные дистрибутивы

openSUSE Linux 11.0 Packman
Скачать openSUSE Linux 11.0 Packman

Путь программиста Часть 1

Автор : Князев Алексей

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

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

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

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

Пожалуйста, не воспринимайте эту статью как очередное заявление Linux vs. Windows. Проработав более десяти лет в операционных системах от Microsoft как программист, я, все-же ушел из них, наверное, окончательно и бесповоротно. Не потому, что Windows плохая и неработоспособная система, а просто потому, что после близкого знакомства с Linux она стала мне не интересна ни как пользователю, ни как программисту. Unix системы более открыты для профессиональной работы и, что самое главное, дают уверенность, что, получаемые вами знания по системе, не устареют безнадежно в ближайшие несколько лет.
Кому за 30 ...

Мое поколение программистов начало свой путь ознакомления с профессией в конце восьмидесятых на популярных, в те времена, “Синклерах”, “Микрошах” БК 0010 и “ДВК”. В университетских коридорах мы обсуждали свои собственные программы, языки программирования и сборку паяльником самодельных компьютеров на основе известных схем “Радио 86РК”, “Орион” и “Специалист”. Характерной чертой того времени было невероятное количество диалектов языка Basic, а характерными хобби начинающих программистов тех времен было написание программ на кодах процессора и коллекционирование опыта работы и знаний о различных языках программирования. Вообще, это было весьма благоприятное время для того, чтобы разобраться в основах профессии программиста. Мы прошли завидный ликбез по тому, как ЭТО работает.

Со временем, персональные компьютеры на основе открытой архитектуры, предложенной компанией IBM, начали стремительно завоевывать компьютерное пространство. Наверное тут-же появились варианты практически безальтернативной операционной системы DOS, используемой для “оживления” персоналок.

Изучив прерывания BIOS, прерывания DOS, адреса и устройство видеобуфера, низкоуровневую работу с внешними устройствами и реальный режим работы процессора, можно было бы продолжить изучение собственно программирования и писать программы, совершенствуя “отображение пространства предметной области задачи в пространство решения”. Все так, но, с ростом мощности персоналок, стало возможным использовать более мощные графические средства, что положило начало массового развития графических интерфейсов для персонального компьютера. Логическим продолжением этого стал факт производства компанией Microsoft графического приложения, запускаемого под операционной системой DOS, и способного самостоятельно управлять ресурсами компьютера, взаимодействуя с пользователем через графический интерфейс. Началась эпоха Windows на персональных компьютерах.

С появлением первых версий Windows, программисты встали перед необходимостью изучения нового интерфейса взаимодействия программ с операционной системой - API Win16. Аналогичный интерфейс для DOS (функции прерывания 21h и пр.) уходит в прошлое. Гораздо больший интерес вызывает программирование в защищенном режиме и тонкая настройка Windows через ini-файлы.

Новой эрой в истории персональных компьютеров явились технологии Windows NT и Windows 95. Все программисты дружно учат API Win32 и структуру реестра. Все хорошо, только жалко время, которое ушло на изучение программирования под DOS и Windows 3.1. Сколько бессонных ночей прошлось просто выкинуть в Recycled Bin.
Анализ

Легко понять неэффективность такого процесса познания, когда приходится выбрасывать знания полученные большим трудом и подкрепленные многолетним опытом. Если еще учесть возрастной человеческий фактор, то совсем не смешным может стать тот факт, что программист с колоссальным опытом работы может оказаться не у дел при очередной смене интерфейса взаимодействия программ с операционной системой. Особенно это неприятно для узких специалистов. Для программистов работающих с железом опасна смена архитектуры компьютера и изменение спецификации на интерфейс драйверов, для тех кто работает с системными вызовами опасна смена архитектуры операционной системы и т.д. Вспомните как потерялась армия программистов, которая не смогла пересесть с вычислительных систем единой серии (ЕС ЭВМ) на персоналки. И это трагедия не только каждого конкретного программиста. В масштабах страны это огромные экономические убытки.

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

Конечно, же такой операционной системы нет и, наверное не будет. Можно говорить только о том, насколько каждая из существующих операционных систем близка к этому.
Особенности развития Windows

О том как развивалась эта популярная операционная система знают наверное все, поэтому, мне бы хотелось ограничиться только своими комментариями.

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

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

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

Вообще, Windows и развитой социализм, на мой взгляд, очень удачное сравнение. “Любая кухарка может управлять государством”. На все есть одно, готовое, простое, и идеологически правильное решение. У всех все одинаково (от вида рабочего стола до установленных программ). Есть мощная идеологическая машина, которая за твои деньги убеждает тебя в том, что все очень хорошо, светло и просто, а на недостатки не нужно обращать внимание, так как это временно, и, вообще, не типично.

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

 

Home   |   Trademarks
Copyleft © 2005-2017 Сообщество пользователей "LINUXiso".
Последнее обновление сайта: 06-06-2017 09:07