воскресенье, 18 февраля 2007 г.

Ну программы-то почему не можем писать?

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

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

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

Росссия вроде как 15 лет подряд уже занимает первые места в международных разных соревнованиях по программированию (на первых местах студенты питерского ИТМО и саратовского СГУ), западные и американские конторы открывают офисы разработчиков в Питере, Москве, Саратове, Новосибирске и многих других городах, о которых я не знаю. К примеру, в Нижнем Новгороде у Intel уже 15 лет как занимаются разработкой разных программных вещей, типа оптимизации компиляторов и математической библиотеки для каких-то там вычислений (ну не помню подробностей). Хотя что много лет делает Intel в закрытом городе Сарове, где располагается РФЯЦ (который тоже не понятно чем занимается), и как американцев вообще туда пустили, остаётся только догадываться.

Так вот, кажется мне, что не все ещё уехали, и несмотря на все проблемы, ещё есть кому у нас писать программы. И написать все необходимые нашей стране программы можем. Всё - от офисного пакета и системы 3D-проектирования до драйверов видеокарты или системы реального времени. Причём разработки, относящиеся к базовому ПО, могут и должны быть открытыми, как и многие другие, профинансированные государством. Тем более, что писать не так и много надо, скорее нужно просто улучшить то, что уже есть. Но не перетягивая на себя одеяло, не прикрывая растраты и нежелание работать красивыми словами и планами. Вот Google же может, причём и для нас старается.
Нужно только навести порядок:
  • перестать на первом попавшемся инструментарии писать на коленке программы-однодневки;
  • больше внимания уделять преподаванию культуры программирования, для чего как можно теснее связать реальные коллективы разработчиков с университетами;
  • проектировать программы и обеспечивать их на всём протяжении жизненного цикла;
  • обеспечить разработку и поддержку программ, нужных всему населению - не сложно это, правда, не сложно. Это я как мантейнер Inkscape и Ekiga говорю;
  • обеспечить выполнение этих программ на всех популярных платформах, или хотя бы не чинить этому препятствия;
  • выработать и принять к исполнению отражающие реальную жизнь стандарты на форматы файлов, протоколы обмена данными - тут не надо изобретать велосипед, просто надо участвовать в международном движении;


Ну и многое, что я сейчас забыл, но позже допишу, особенно если вы мне напомните.

Программы написать можно.
И не обязательно для этого заводить уголовные дела на всех программистов и сажать и в шаражку. Можно и цивилизованным способом: привлечением на работу, целевым финансированием (с контролем) фирм-разработчиков. Да, есть у нас множество фирм-разработчиков ПО. Многие даже имеют дело с UNIX-системами. Только они сидят и не высовываются. Ну во-первых, продукты они разрабатывают для западного рынка, а во-вторых потому что многие официально у нас не зарегистрированы, и не платят налоги. Платят только зарплату сотрудникам, причём в долларах. А всю прибыль оставляют в других странах. Так что вот вам и что такое аутсорсинг.


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

И в тоже время в каждом вузе впустую уходят усилия множества студентов, которые выполняют различные учебные работы, отчёты по которым отправляются в мусорное ведро. Да, куда нам поступить как Dan Kegel, который пригласил 13 студентов написать тесты для одной из важнейших библиотек в WINE, реализующей базовые виджеты(comctl32). И работа сделана за пару недель - теперь тесты есть. А у нас как научились туфту гнать, так и считаем это нормой жизни во всём. Хорошо что хоть не все так считаем.

Комментариев нет: