Поиск по сайту
 
РЕШЕНИЯ
    Медицина
    Строительство
    Министерства и ведомства
    Компьютерные залы
    Казино
    Сфера услуг
    Спортивные комплексы
    Страховые компании
    Финансовые общества
    Другие
НОВОСТИ
17.05.2015
Обновление № 1552 для систем DentExpert, MedExpert и MedExpert Cosmetology
Общие направления доработок:
— ускорение работы Системы в некоторых режимах
— допол...
             подробнее
11.04.2015
Обновление № 1520 для систем DentExpert, MedExpert и MedExpert Cosmetology
Общие направления доработок:
— дополнительные возможности отображения расписания приёма ...
             подробнее
21.03.2015
Обновление № 1484 для систем DentExpert, MedExpert и MedExpert Cosmetology
Общие направления доработок:
— добавлена возможность привязки цен услуг к базовому курсу...
             подробнее
26.12.2014
Обновление № 1446 для систем DentExpert, MedExpert и MedExpert Cosmetology

Общие направления доработок:
- дополнительные возможности картотеки пациентов
...

             подробнее
26.06.2014
Обновление № 1365 для систем DentExpert, MedExpert и MedExpert Cosmetology

Общие направления доработок:
- в Регистратуру добавлены дополнительные отчёты по па...

             подробнее
10.06.2014
Обновление № 1323 для систем DentExpert, MedExpert и MedExpert Cosmetolog

Общие направления доработок:
- в финансовый монитор Руководителя добавлен учёт част...

             подробнее
Публикации>Свободу программам
В.В.Соколов
СВОБОДУ ПРОГРАММАМ


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

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

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

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

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

   А где же прогресс человечества? Где обработка информации? Где интеллектуализация? Или мы создаем игорную индустрию?

   Незадачливый пользователь-чайник, в погоне за имиджем купивший компьютер, никак не может ответить на занудливый вопрос жены «ты на что, паразит, потратил деньги?». А он, несчастный, то пытается показать ей Word, то рисует слайды в PowerPoint, то с трудом после изучения недешевой книжки слепил кривую табличку в Excel, а с Access’ом вообще не понял прикола. В результате по совету друзей еще вложил деньги, подключился к Интернету и смотрит «веселые картинки», скрывая от жены реальную оплату за эти услуги.

   Так где же польза? Где обещанный искусственный интеллект и ЭВМ 5-го поколения с распознаванием речи и логическим выводом? Что, не придумали, как найти экспертов и выдавить из них знания? Да его-то, интеллект, нужно годами обучать, как ребенка, долго и нудно, а где гарантия, что завтра его мозги не свихнутся и он вообще будет работать как надо?

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

   А с «железом» - вообще полный бред. Если раньше ЕС ЭВМ с 512 килобайтами памяти да 6-ю дисководами по 7,25 мегабайт обеспечивали работу большого учреждения, то сейчас только эти монстры – операционные системы – требуют по минимуму 32 Мб оперативной и 500 Мегабайт внешней памяти! Да это же уму не постижимо!

   На кого работают железячники? На производителей ОС! Они там между собой договорились и играют с нами в финансовые игры, да еще и на «иглу» сажают, чтобы мы каждый год делали апгрейд и железа, и ОС, а эта самая ОС «железо» же и съедает. А взамен мы получаем неизвестно что, тот же Office. Ничего себе прогресс человечества!

   Прикладные программы дохнут как мухи: прекрасные программные модели с ЕС-ок никто не реанимирует, тучи программ под DOS – тоже. Ведь если ПО стоит в 8-10 раз дороже «железа», то на что же мы тратим деньги? На ветер!

   Сколько хороших идей было реализовано на ЕС-ках, начиная от архитектуры «железа» и кончая СВМ. А что сегодня? Большие ЭВМ вымерли как мамонты, а заменившие их пресмыкающиеся - ПК - захватили все жизненное пространство и с бешеной скоростью размножаются и мутируют. Понятно, что прогресс идет по спирали, но спираль-то должна раскручиваться вверх и давать новые преимущества. А их нет. Да, пользователи получили в индивидуальное использование ПК, и что? Все надеются, что когда-нибудь количество перерастет в качество, вот и гонят мегагерцы и гигабайты. А проблемы автоматизации как были, так и остались. Информатизация – хорошо, а автоматизация – лучше!

   Начали появляться идеи централизации ресурсов на тех же мейнфреймах и концепция сетевого компьютера. Так ведь с централизации вроде и начинали, а сетевой компьютер – очередная тупиковая ветвь эволюции.

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

   Например, ураган порвал линии электропередач – катастрофа: народ замерзает, голодает и умирает. А как же раньше жили без электричества 6000 лет? Отключили газ – опять все погибают. Вот вам и живучесть. Зачем вести войну, если можно отключить все централизованные ресурсы, и война выиграна. Поэтому, независимость, автономность, самообеспечение – вот цель, достижение которой обеспечит живучесть системы.

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

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

   Аналогичные рассуждения можно перенести и на программное обеспечение. Ведь была разумная идея создавать библиотеки алгоритмов и программ, где накапливались бы полезные интеллектуальные ресурсы общества для всеобщего использования. Но она не реализовалась. А почему?

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

   Дело в том, что подавляющее большинство более-менее сложных программ из-за своего несовершенства не способны к самостоятельному существованию без определенной внешней поддержки. Это – проблема сопровождения программ, на которое, как известно, затрачивается до 70% совокупных затрат в течение ее жизненного цикла. А почему? Да потому что разработчик должен не только ее создать, но и обеспечить переносимость на разные платформы (т.е. иметь несколько версий) и постоянно совершенствовать, адаптировать, исправлять ошибки и т.д. А ведь платформа («железо»+ОС), как фундамент, постоянно плывет. А если платформа меняется радикально (ОС ЕС –> MS DOS -> Windows), то это подобно землетрясению: все рушится до основания и ни у кого уже нет ни сил, ни средств да и желания возрождать эти руины.

   Конечно, с точки зрения экономической разработчику вроде бы и выгодно получать новые заказы на переработку и разработку, сажая таким образом заказчика на «иглу», если важен сам процесс (за него-то и платят деньги), а не результат. Особенно это выгодно новой армии программистов, которые тоже хотят заработать себе на хлеб, пусть даже путем перепрограммирования старых идей.

   Но вот только пользователи не хотят заказывать новые программы, они хотят «на шару» (shareware). Заказывает тот, у кого есть лишние деньги или если их не жалко. Обычно это – государство.

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

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

   Но через время выяснилось, что для резервного копирования не хватает и ящика дискет. А затем накрылась и сама программа, а студент не сделал инсталяционного пакета и заказчик не знает, как же ее восстановить. Студент кое-как врукопашную ее восстановил и сделал копию на дискете.

   А тут еще сосед захотел поработать с этой базой, а версия-то не сетевая. А студент уже на заработанные денежки уехал в Германию и теперь там издевается над ихними бюргерами в отместку за дедушку.

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

   Частные же заказчики, которые своим трудом зарабатывают деньги, вообще редко что-нибудь заказывают, потому что автоматизация – это удобно, но дорого. Лучше держать троих бухгалтеров, чем устанавливать «Бухгалтерию-1С» + компьютер + программиста + обслуживание ПК и кучу остальных проблем с настройками и обучением персонала. В лучшем случае они идут по пути найма за символическую плату уже известного нам студента, а тот вытворяет все то, что описано выше. Просто он по-другому не умеет, он же студент. А хороший специалист за такие деньги работать не пойдет, он себя ценит не меньше $300 в месяц. Вот вам и автоматизация – сплошной закат солнца вручную.

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

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

   Но если мы из окна этого дома посмотрим на зеленое дерево, мы увидим, что оно растет само по себе безо всякой группы поддержки. Причем не просто стоит, а растет, развивается! Вот к чему надо стремиться. Или, к примеру, колорадский жук: сколько его, беднягу, ни травят, а вывести не могут. А программа, чуть что не так – пропала.

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

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

   Если производителей «железа» еще можно простить за их консерватизм, обусловленный определенными технологическими проблемами, то производителей ОС – никогда. Самый большой паразит и узурпатор всех времен и ресурсов – это ОС. Прямо как в жизни: государство существует для правительства и оно подстраивает его под себя, а народ страдает. А ему, народу, все равно какое государство (коммунизм или капитализм), он жить хочет хорошо, независимо от государства. А правительство должно делать все, чтобы народ жил хорошо. Если не может накормить каждого, то дайте народу свободу и он сам себя накормит. Или отпустите в другое государство, туда где лучше.

   Когда-то было такое оправдание существования ОС: мол, пока алгоритмы управления до конца не отработаны, они работают в ОС, а потом они будут переходить в функции «железа» (процессора, bios’а). Ну и где же реализация этой сказки? Кроме поддержки виртуальной памяти процессор ничего делать не хочет. Потому что процессор делают одни, а ОС – другие. Вот IBM – другое дело, у них все вместе, на них вся надежда. Тем более, что они прикупили Informix.

   Кстати, данные (т.е. информация) тоже не в лучшем положении. Без них же программы жить не могут, это их хлеб, им его жевать надо. А беспринципные разработчики ОС и СУБД так и норовят цепью привязать их именно к своей кормушке. Поначалу СУБДисты провозгласили, что они обеспечат независимость программ и данных: мол, они могут существовать сами по себе и программисту не нужно заботиться о том, как их правильно извлечь и куда положить, мол, мы за вас все сделаем, а вы, родненькие, занимайтесь только алгоритмами их обработки, не отвлекайтесь на всякие мелочи.

   Но в результате-то опять надули! Теперь моя гениальная программа оказалась привязанной к СУБД, та в свою очередь к ОС, а та – к «железу». Да мало того, она еще оказалась привязанной и к логической структуре базы: в своем Select’е я должен указать, какие атрибуты мне нужны и в каких таблицах они разбросаны! А у меня мозгов лишних нет, чтобы хранить в голове всю схему базы данных. А если структура таблиц изменилась – переделывай запросы, т.е. программу, а может еще и интерфейс. Вот вам и независимость.

   Если уж взялись мне помочь, так не нагружайте меня лишними проблемами. Что, ваша СУБД сама не знает, где нужный мне атрибут находится? Или лень сгенерировать оптимальный запрос его поиска и освободить меня от этой работы? Раз уж забрали от меня данные, так и позаботьтесь, как мне их легко и просто получить, и делайте со структурой таблиц все, что хотите, меня это не должно волновать.

   Я же файловой системе раньше не указывал, на какой дорожке и в каком секторе находятся мои данные, так чего же вы теперь от меня хотите, отката назад, в прошлое? Есть администратор БД, пусть у него голова и болит, а я хочу жить лучше и удобнее.

   А то мало того, что я должен изучить всю теорию баз данных, чтобы ее спроектировать, изучить язык, как с ней работать, поставить СУБД в смысле сервера или еще какой-нибудь дряни типа BDE и их изучить, а еще и отслеживать их версии и иметь головную боль с инсталяцией всего этого барахла на разных машинах при сдаче ее заказчику.

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

   А попробуй перейти на другую СУБД - пиши пропало: весь проект переделывать надо! Вот и обложили меня со всех сторон, поработили моего голубя сизокрылого, который уже не летает, а еле ползает с такими гирями на крыльях!

   Ведь пошли же по пути погружения SQL в процедурные языки, так нельзя было что ли с самого начала это сделать? Все равно приходится данные перебирать по частям, одними запросами не обойдешься, так можно же ввести в язык программирования тип данных «таблица» и к ней приложить библиотеку операций и функций, например, из реляционной алгебры. И благодарная армия программистов получила бы то, что надо: компактная программка без всяких паразитов-СУБД, легко инсталируется и более свободна.

   Долой СУБД, даешь свободу!

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

   Но мы-то знаем, кто у крантика, тот и при власти. Тот имеет, что хочет да еще и взятки с нас же берет и пускает посторонних через «черный ход», а потом вообще на нас плевать хотел. Оно чем выше поднимаешься вверх, те все больше хочется плюнуть вниз. Вот и получается, что эта ОС подстраивает все под свое удовольствие, а потом – этому дала, этому не дала. А попробуй уйди к другой ОС – не выйдет. Вот и живем в рабстве. А я хочу демократии, хочу свободы передвижения, хочу в Австралию, потому что мне здесь не нравится.

   Сегодня практически нет вычислительных центров и больших машин и на моем несчастном ПК не нужно повышать общую производительность всех программ сразу, потому что я реально работаю только с одной программой в данный конкретный момент, потому что они без меня работать не могут, они не знают, что им делать без меня. Потому что они – монстры. Их пока не пнешь пинком, они ничего не делают. Они так устроены – бездушные и безыдейные твари. А кто их такими сделал? Условия жизни, т.е. ОС.

   Ведь были же раньше пакетные программы, которые работали в автоматическом режиме и ничего от меня не требовали. А теперь? Пока не клюнешь ее мышкой, она не шевелится. Или как «джин»: чего изволите? А я должен ему все разжевать и за рычаги подергать. Так я с трудом справляюсь с одним монстром, а если еще другие начнут меня спрашивать по всякому нужному и ненужному поводу? Да я с ума сойду!

   Ничего себе помощники! Я б и без вас справился, да денежки за вас уплочены, вот и мучаюсь. А вы говорите об общей производительности! Правильнее, на самом деле, говорить о производительности каждого. Хотя это не такой уж важный вопрос – производительность. Главное – правильность и живучесть. А завтра добавят мегагерцы и будет вам производительность.

   Ведь главными являются два действующих лица – прикладная программа и машинный процессор, и задача процессора – выполнить эту самую программу. Ведь в конечном итоге все сводится именно к этому. Так зачем же столько посредников между ними? Были же на больших машинах автономные утилиты, которые работали без всякой ОС. А то этот управленческий аппарат уже разбух до размеров земного шара и ему все мало и мало ресурсов. А моя-то программка в тысячу раз меньше их.

   А сколько они забирают времени и средств по сравнению с моей программкой! И не только во время выполнения, но и во время разработки (я с ними должен возиться) и при сопровождении. Ничего себе издержки производства! А результат – низкая эффективность в течение жизненного цикла, да и сам жизненный цикл очень короткий. Нужно исследовать этот вопрос и вычислить среднюю продолжительность жизни прикладной программы. Я думаю, что результаты будут удручающими.

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

   Того и гляди, скоро все будут заняты переписыванием старых программ, а кто будет делать новые, кто будет двигать прогресс?

   Создавать системное ПО, конечно, гораздо удобнее: один раз сделал и всем оно надо. Поработил пользователей, посадил их на «иглу» и делай, что хочешь.

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

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

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

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

   Эх, не туды мы котимся, не туды…

   Хотя молодежь вообще-то не виновата, она просто еще зеленая, а виноваты скорее «старики», потому что не направляют молодежь куда надо. Вот и топчемся на месте. Пока молодежь дорастет, она вся разбежится: кто в торговлю, кто в Америку и будут работать на тех же узурпаторов – производителей ОС.

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

Продолжение следует
НАШИ ПРОДУКТЫ
      DentExpert
      MedExpert
      КРЕДОПОЛИС
      Сезам
      ICC-2000
      Реестр Предприятий
      Социометрия
      Информ-ФПУ
      Аладдин
      Back Track
      GPS диспетчер
      СтройЭксперт
      TVP Generator
      Менеджер Заказов
      AIT-SMU
      Mini-Content
      Интернет-сервис MyTaxi
      Интернет-магазин
      BUKET-EXPRESS.UA
      Интернет-магазин
      VUTKA.COM.UA
      Первая Украинская Федерация Спорта на Пилоне
      UFPOLESPORT.ORG.UA
      Спортивный клуб
      FITNES-LIGA.COM.UA
      Бесплатные программы
   Все продукты
ПУБЛИКАЦИИ
АДС-технология
    программирования

Подход к оценке сложности
   систем

Эволюция языков
   программирования

Свободу программам!
Декларация независимости
   программ

Поймать такси в интернете
ГЛАВНАЯ   |   РЕШЕНИЯ   |   ПРОДУКТЫ   |   УСЛУГИ   |   ИНФОРМАЦИЯ   |   НОВОСТИ   |   КАРТА САЙТА   |   БЛОГ   |   О НАС
Rambler's Top100
АИТ (с) 2000-2012. Все права защищены
Украина, 02660, Киев, ул. Евгения Сверстюка 11 оф.901/1
Tел: +38044 5865655, +38044 2091257, +38067 2091257,+7901 9034908
факс: +38044 5865655
E-mail: soft@ait.org.ua