Статья опубликована в рамках: XV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 24 декабря 2013 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
- Условия публикаций
- Все статьи конференции
дипломов
ПРОБЛЕМЫ СОЗДАНИЯ СУПЕР-ЯЗЫКА ПРОГРАММИРОВАНИЯ
Алгинина Евгения Викторовна
студент 2 курса факультета информационных технологий Российского государственного социального университета, РФ, г. Москва
E-mail: algininae@yandex.ru
Гданский Николай Иванович
научный руководитель д-р техн. наук, профессор, заведующий кафедрой моделирования информационных систем и сетей Российского государственного социального университета, РФ, г. Москва
Язык программирования представляет собой формальную знаковую систему, предназначенную для записи компьютерных программ. Он определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением [1].
Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:
1. Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.
2. Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.
3. Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Со времени создания первых программируемых машин человечество придумало более двух с половиной тысяч языков программирования. Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.
В наше время, профессия программиста более чем востребована. Удешевление технологий производства вычислительных устройств позволяет встраивать их практически во все устройства и системы. А для того, чтобы программируемое устройство заработало, в него необходимо ввести соответствующий программный код.
В век информационных технологий информации становится все больше и больше, она становится доступной абсолютному большинству, благодаря этому люди стали стремиться получать как можно больше знаний. Несмотря на то, что информации стало очень много, она все же продолжает иметь огромную ценность, особенно подлинная информация. С помощью развитых технологий информация стала активно распространяться, но в этом распространении информации присутствует хаос, то есть информационный шум, неструктурированность данных и разрозненность информации. В сумме они способствуют дезинформации пользователей, потребляющих данную информацию. Для сбалансированности в эту систему надо добавить еще один немаловажный упорядочивающий компонент — программиста.
Кто такой программист? Можно сказать, что этот человек есть непосредственный транслятор естественного языка к языку программирования. Распространение информации представляется наиболее полным и достоверным, при применении алгоритмизации, способов представления знаний и систем управления базами данных. Автоматизация процесса разработки программного обеспечения имеет свои пределы. Сегодня это в основном — средства, помогающие программисту в его работе.
Супер-язык, о котором сейчас много говорят, предполагает возможность замены определенной части программистов, а у оставшихся — возможность навыков обладания необходимыми основами искусственного интеллекта. Современное поколение студентов и молодых ученых стоит на пути развития искусственного интеллекта, уже существуют некоторые наиболее удачные и лучшим образом смоделированные системы. В качестве примера используем перспективную разработку IBM — Watson, которая способна воспринимать человеческую речь и производить вероятностный поиск, с применением большого количества алгоритмов. Для демонстрации работы Watson принял участие в американской игре “Jeopardy!”, аналога «Своей игры» в России, где системе удалось выиграть в обеих играх [2]. Другим примером может послужить программа General Architecture for Text Engineering (GATE) — система обработки естественного языка с открытым исходным кодом, использующая наборы компонентов на языке Java. С помощью GATE реализуются задачи, где требуется выявить смысловое содержание текста и кодировать его в структурированном виде путем добавления аннотаций к сегментам текста. Система применяется для извлечения информации, ручной и автоматической семантической аннотации, анализа кореферентности, работы с онтологиями, машинного обучения и т. д. [3]. Тем не менее, требуется еще много времени и еще больше достижений в области создания искусственного интеллекта, для того, чтобы достичь приближенной к идеальной модели искусственного интеллекта.
При сравнении формальных языков с естественными, можно заметить, что естественных языков существует также много, но единственного универсального пока нет. Универсальность языка, в принципе, и не возможна. Это объясняется психологией человека. Например, если рассматривать создание чего-либо нового исходя из чего-то существующего, то, можно наблюдать, что в любом обществе всегда найдется не ординарно мыслящий человек, которого не устраивает позиция других и он создает что-то свое. Приблизительно таким образом и зарождаются все новые и новые языки, как естественные, так и формальные. На основе этого появляется нечто новое, что находит свою позицию в новом иначе мыслящем обществе. Этот цикл продолжается постоянно. Потребности человека никогда не будут удовлетворены целиком и полностью. «Хочу! — жить: дышать, есть, пить, спать... А без этого никак. Удовлетворяю свои желания — хорошо, отлично! Мало. Хочу! — денег, славы, власти, приключений» [4]. Создание универсального языка будет отличным открытием, но лишь временно, так как пользователь захочет создать что-нибудь новое, выходящее за рамки функционала этого языка и решит, что он ему не подходит. За этим последует создание нового, усовершенствованного языка и т. д.
Универсальный язык программирования не возможен из-за самого определения «язык программирования», если это набор команд предаваемых человеком компьютеру. А в так называемом, супер-языке программирования присутствует участие такого компонента как искусственный интеллект. Как известно, искусственный интеллект [5] — это раздел информатики, в котором разрабатываются методы и средства моделирования и воспроизведения с помощью ЭВМ отдельных функций творческой деятельности человека, решение проблемы представления знаний в ЭВМ и построение баз знаний, создание экспертных систем и т. д. Позволим себе предположить, что супер-язык подразумевает самостоятельное создание компьютером команд для себя же самого и их выполнение соответственно с помощью модели творческой деятельности человека. Во-первых, создается противоречие, а именно компьютер пишет программу для себя же самого, а во-вторых, используется некоторая модель творческой деятельности человека, которая не реализована. Это уже вопрос из области искусственного интеллекта. Возможно ли создание такой модели творческой деятельности? Создание такой модели возможно, но только в последующих поколениях. По представлениям автора, это устройство, которое, понимая запросы пользователя, выдавало бы уже программные варианты решения той или иной задачи, например, с помощью автоматизированных систем типа ТРИЗ, АРИЗ и т. п.
Только после создания такой реальной модели автоматизированной разработки программного обеспечения, можно говорить о создании супер-языка, который практически полностью бы вытеснил профессию программиста в современном понимании этой профессии и самих программистов. Это может произойти в связи с требованием качества к продукту, сокращения сроков и бюджета, выделяемые на продукт, к тому же уменьшается вероятность ошибки, что существенно влияет на результат.
Список литературы:
1.Большой Энциклопедический Словарь. М., 2000. — С. 463.
2.Веллер М. Все о жизни. М.: Астрель, 2011. — С. 53.
3.Викизнание. Языки программирования [Электронный ресурс] — Режим доступа. — URL: http://www.wikiznanie.ru/ru-wz/index.php/Языки_программирования (дата обращения 20.11.2013).
4.Википедия. GATE (программа) [Электронный ресурс] — Режим доступа. — URL: http://ru.wikipedia.org/wiki/GATE_(программа (дата обращения 20.11.2013).
5.TechNewsWorld. Mild-Mannered Watson Skewers Human Opponents on Jeopardy [Электронный ресурс] — Режим доступа. — URL: http://www.technewsworld.com/story/71651.html (дата обращения 20.11.2013).
дипломов
Оставить комментарий