Поиск по этому блогу

вторник, 18 января 2011 г.

Как я стал "программистом"

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

Во время учебы в университете программировал на Quick Basic, Turbo Pascаl 7.0 с использованием следующих приёмов и техник программирования: работа с динамической памятью, указателями, связанными списками, рекурсией, ООП и т.д. Сортировал массивы, транспонировал матрицы, искал корни трансцендентных уравнений, находил значения определённых интегралов, настойчиво овладевал методами статистической обработки данных :). Это касается владения алгоритмами.

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

Первым моим опытом программирования для Windows было создание VBA-макросов для Microsoft Excel. А Office тогда инсталлировали с помощью дискет :).

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

1998 год Информационно-управляющая система установки комплексной
подготовки газа Горобцовского газового месторождения
(Полтавская область)
1998 год Информационно-управляющая система установки комплексной
подготовки газа Байракского газового месторождения
(Полтавская область)
1999 год Информационно-управляющая система (ИУС) установки
сепарации газа "ГС Солоха" (Полтавская область)

Эти системы разрабатывались с иcпользованием ещё 16-разрядных средств программирования для Windows 3.11 - Visual Basic 3.0 и Delphi 2.0. На Delphi мною были разработаны функции информационного обмена с микропроцессорными контроллерами через COM-порт на уровне Windows API. Эти функции компилировались в DLL-библиотеку и подгружались в host-программу, реализованную на Visual Basic. Применение Visual Basic было обусловлено командной разработкой. В данных проектах возможности БД не использовались, данные процесса сохранялись в типизированных бинарных файлах.

2000 год Система удаленного доступа к ИУС установки сепарации газа "ГС Солоха"

Был произведён переход на 32-разрядную платформу (Visual Basic 4.0) с использованием сетевых возможностей Windows 98, а также средств междупрограммной коммуникации - экспорт данных процесса в Excel для подготовки отчетов.

В период с 2001 по 2003 год я настойчиво разрабатывал программы для учета продукции на складе небольшой частной фирмы. Юзал Delphi 3.0 и SQL, анализировал бизнес-процессы, ваял оптимальной структуры Базу Данных с использованием всех преимуществ реляционной модели БД: нормализация данных, отношения "один-ко-многим", "многие-ко-многим", обеспечение целостности данных (data integrity) всякие прочие программистские заморочки :).

2003 год Система сбора информации о работе основного технологического оборудования ОАО "Мыколаевцемент"

Был применён принцип разделения кода. Программный модуль коммуникации с технологическим оборудованием реализован как OLE Server, для доступа к БД использовались технология ADO (запись данных, выборка, подготовка отчетов). Подробнее здесь.

2003 год Web-сайт проектной организации (http://www.votum.ua)

ТОО "ВОТУМ" - это фирма, где я работал в то время. При разработке сайта средства динамической генерации содержимого страниц (PHP, MySQL) не использовались, только HTML и CSS в среде Macromedia Dreamweaver MX. Применение PHP и MySQL на том этапе было нецелесообразно - стояла задача сделать имиджевый сайт.

2004 год Система мониторинга процесса обжига в цементной печи №5
ОАО "Волынь-цемент"
2004 год Cистема SCADA (сбора данных и
оперативного диспетчерского управления)
"ГС Солоха - пропановая установка"
2004 год Система управления дозированной подачей шлама
на печах №№1,2 и №№5,6 ОАО "Мыколаевцемент"
2005 год Автоматизированная система управления малогабаритной
нефтеперерабатывающей установкой

В составе этих АСУ я разработал системы SCADA на Visual Basic 5.0 Enterprise Edition с учетом всех требований, предъявляемых к такого рода системам. Часть программного кода генерируется VBA-скриптом на основе данных конфигурационной БД проекта.

Немного ворчания "старого" программиста в оффтоп. Почему Visual Basic, а не Delphi? И то и другое есть средством быстрой разработки приложений (RAD) и визуального программирования. Единственным значительным преимуществом Delphi есть сам язык программирования Object Pascal, дающий все возможности объектно-ориентированного программирования и работы с памятью. Но кто, скажите, использует эти возможности и создаёт свои классы, если практически всё есть в VCL? Для Visual Basic Enterprise Edition набор готовых компонент не меньше, а системные требования к среде разработки ниже, что очень хорошо в рабочих условиях на этапе внедрения - не всякий ноутбук "тянул" тогда Delphi Client/Server и СУБД Sybase, к примеру.

2006 год Автоматизированная система управления установкой углубленного извлечения жидких углеводородов на Тимофеевском газоконденсатном месторождении

Система SCADA на основе WinCC 6.0 от Siemens. Технология Client/Server (три операторских станции, одна из которых используется также в качестве сервера). WinCC, начиная с версии 6, использует в качестве СУБД Microsoft SQL Server 2000. Некоторые функции SCADA-системы реализованы скриптами и функциями, написанными на С#.


Система SCADA на основе WinCC flexible 2005 SP1 от Siemens.

2007 год Автоматизированная система управления цементной мельницей №9 ОАО "Мыколаевцемент"
2008 год Автоматизированная система управления цементной печью №4 ОАО "Мыколаевцемент"

Системы SCADA реализованы с помощью WinCC 6.0 SP3a. В качестве СУБД используется Microsoft SQL Server 2000. Технология Client/Server используется как для совместной разработки в лабораторных условиях, так и для сопровождения проекта на целевой платформе. Генерация отчетов реализована скриптами и функциями, написанными на С#.

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

Но сменил я сферу деятельности не по причине ошибок и аварий. Просто заманчиво было попробовать себя в другой области, а тем более стране :).

2008 - 2009 год Инженер по обслуживанию офисной техники и менеджер по информационным технологиям (ИТ)
Компания Ассанад, Триполи, Ливия

Так или иначе, с ИТ я не разлучался. В мои обязанности входила поддержка и сопровождение работы сервера и сетевого оборудования, системное администрирование Windows 2003 Server, а также ремонт и обслуживание офисного оборудования (фотокопировальные машины / сканеры / принтеры / многофункциональные устройства от Canon, Minolta, Konica, HP, Sagem и т.д.)

После возвращения на Родину я некоторое время работал менеджером по информационным технологиям в одной из фирм, сейчас - разработчик программного обеспечения на заказ для одной из аутсорсинговых компаний (информация по запросу :)). Безудержно использую PHP, MySQL, Javascript, HTML, CSS...

Продолжение следует


Поделиться ВКонтакте

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

Отправить комментарий