Участник конференции:Курылёв Максим Сергеевич

Материал из ТолВИКИ
(Различия между версиями)
Перейти к: навигация, поиск
м
м
 
(не показаны 6 промежуточных версий 4 участников)
Строка 13: Строка 13:
  
  
'''Электронная почта: '''
+
'''Электронная почта: ''' ma1oi@bk.ru
  
  
'''Мои увлечения:'''
+
'''Мои увлечения:''' узнавать новое
  
  
'''Приглашаю к обсуждению:'''  
+
'''Приглашаю к обсуждению:''' Тенденции развития языков программирования
  
  
* '''''Аннотация конкурсной работы........'''''
+
* '''''Аннотация конкурсной работы.''''' <br>
 +
Развитие вычислительной техники сопровождается созданием новых и совершенствованием существующих средств общения программистов с ЭВМ - языков программирования (ЯП). Под ЯП понимают правила представления данных и записи алгоритмов их обработки, которые автоматически выполняются ЭВМ. В более абстрактном виде ЯП является средством создания программных моделей объектов и явлений внешнего мира. К настоящему времени созданы десятки различных ЯП от самых примитивных до близких к естественному языку человека. <br>
 +
 
 +
ЯП можно классифицировать по следующим признакам. <br>
 +
1. По степени ориентации на специфические возможности ЭВМ ЯП делятся на: <br>
 +
* машинно-зависимые; <br>
 +
* машинно-независимые.
 +
<br>К машинно-зависимым ЯП относятся машинные языки, ассемблеры и автокоды, которые используются в системном программировании. Программа на машинно-зависимом ЯП может выполняться только на ЭВМ данного типа. Программа на машинно-независимом ЯП после трансляции на машинный язык становится машинно-зависимой. Этот признак ЯП определяет мобильность получаемых программ (возможность переноса на ЭВМ другого типа). <br>
 +
 
 +
2. По степени детализации алгоритма получения результата ЯП делятся на: <br>
 +
* языки низкого уровня; <br>
 +
* языки высокого уровня; <br>
 +
* языки сверхвысокого уровня. <br>
 +
 
 +
3. По степени ориентации на решение определенного класса задач: <br>
 +
* проблемно-ориентированные; <br>
 +
* универсальные. <br>
 +
 
 +
4. По возможности дополнения новыми типами данных и операциями: <br>
 +
* расширяемые; <br>
 +
* нерасширяемые. <br>
 +
 
 +
5. По возможности управления реальными объектами и процессами: <br>
 +
* языки систем реального времени; <br>
 +
* языки систем условного времени. <br>
 +
 
 +
6. По способу получения результата: <br>
 +
* процедурные; <br>
 +
* непроцедурные. <br>
 +
 
 +
7. По типу решаемых задач: <br>
 +
* языки системного программирования; <br>
 +
* языки прикладного программирования. <br>
 +
 
 +
8. Непроцедурные языки по типу встроенной процедуры поиска решений делятся на:<br>
 +
* реляционные; <br>
 +
* функциональные; <br>
 +
* логические.<br>
 +
Рассмотренная схема классификации позволяет каждому ЯП присвоить один из признаков каждого класса. <br>
 +
Рассмотренная схема классификации ЯП позволяет сделать вывод о том, что ЯП обладают определенной специализацией. Поэтому рассмотрим тенденции развития классов ЯП.<br>
 +
Языки системного программирования, на которых создаются операционные системы, трансляторы и другие системные программы, развиваются в направлении повышения их уровня и независимости от ЭВМ. На сегодняшний день почти 90% системного программного обеспечения создается не на языке ассемблера, а на языке C. Например, операционная система Unix практически полностью написана на C. Язык C позволяет получать программы, сравнимые по своей эффективности с программами, написанными на языке ассемблера. Правда, объем программ получается больше, но зато эффективность их создания гораздо выше.
 +
<br>Машинная независимость достигается использованием стандарта языка, поддерживаемого всеми разработчиками трансляторов, и использованием так называемых кросс-систем для эквивалентного преобразования программ с одного языка низкого уровня на другой.<br>
 +
Другим направлением является повышение уровня самого машинного языка. Например, известны Lisp-машины, в которых машинным языком является язык Lisp (реализован аппаратно). Другим примером являются ЭВМ 5-го поколения с машинным языком искусственного интеллекта Prolog.<br>
 +
Язык высокого уровня(ЯВУ) развиваются в направлении поддержки технологий программирования, обеспечения низкоуровневых операций (уровня ассемблера), обеспечения новых информационных технологий (НИТ) и независимости от среды реализации. Следует сказать, что по своим возможностям ЯВУ постепенно сближаются и программисту на C все труднее становится спорить о преимуществах языка C с программистом, работающим на языке Basic.<br>
 +
Тотальный бум переживает технология объектно-ориентированного программирования (ООП): практически все современные ЯВУ поддерживают ООП. Да и все современные программные системы построены на принципах ООП, и сегодня каждый программирующий студент знает, что такое инкапсуляция, наследование и полиморфизм. Для обозначения факта поддержки ООП языки получают приставку Object (например, ObjectPascal) или другие (например, C++).<br>
 +
Windows, сети ЭВМ, серверы, базы данных и Internet, как основа НИТ, оказывают сильнейшее влияние на современные ЯП. Разработчики ЯП просто обязаны включать в языки средства поддержки НИТ, чтобы привлечь программистов на свою сторону. Для поддержки Windows создаются системы визуального программирования с приставкой Visual, например Visual C++, Visual Basic и др. Для работы с БД, сетями и Internet в ЯП включаются специальные внутренние или внешние средства.<br>
 +
Стремление к созданию программ, независимых от типа ЭВМ и операционной системы, привело к созданию языка Java. Основная задача Java - обеспечить выполнение программ, распространяемых через Web-страницы Internet, на любой рабочей станции. Кроме того, Java поддерживает все средства НИТ и в ближайшее время, очевидно, станет самым популярным ЯП.
 +
<br>Популярность языков искусственного интеллекта за последние 10 лет, к сожалению, заметно упала. На мой взгляд это связано прежде всего с психологическими проблемами, которые испытывают программисты при использовании этих языков. Например, в мощнейшем языке Lisp программа имеет очень сложную для понимания списочную структуру и небольшой по объему проект очень быстро выходит из под контроля. В языке Prolog программист должен точно знать логику работы встроенной машины логического вывода, а работа программы зависит от структуры и содержимого базы знаний (БЗ). Если с проектированием программы и структуры БЗ программист справляется, то для заполнения БЗ он должен быть экспертом в предметной области либо тесно контактировать с экспертом и извлекать из него знания, а то и другое является сложной задачей.<br>
 +
 
 +
--------
 +
 
 +
'''Вопрос 1.'''Максим, как Вы считате смогут ли языки искусственного интеллекта вернуть себе популярность? Как можно этого достичь? С какими языками искусственного интеллекта вы знакомы? (Емельянова Марта Сергеевна)
  
* '''''Презентация к выступлению:'''''
 
  
  
 
[[Категория:Секция ИКТ как составная часть подготовки специалистов]]
 
[[Категория:Секция ИКТ как составная часть подготовки специалистов]]

Текущая версия на 14:39, 9 апреля 2009


Фото участника

ФИО: Курылев Максим Сергеевич


Город: Тольятти


Место учебы и специальность: ГОУ СПО Тольяттинский социально-педагогический колледж, специальность Программное обеспечение ВТ и АС


Электронная почта: ma1oi@bk.ru


Мои увлечения: узнавать новое


Приглашаю к обсуждению: Тенденции развития языков программирования


  • Аннотация конкурсной работы.

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

ЯП можно классифицировать по следующим признакам.
1. По степени ориентации на специфические возможности ЭВМ ЯП делятся на:

  • машинно-зависимые;
  • машинно-независимые.


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

2. По степени детализации алгоритма получения результата ЯП делятся на:

  • языки низкого уровня;
  • языки высокого уровня;
  • языки сверхвысокого уровня.

3. По степени ориентации на решение определенного класса задач:

  • проблемно-ориентированные;
  • универсальные.

4. По возможности дополнения новыми типами данных и операциями:

  • расширяемые;
  • нерасширяемые.

5. По возможности управления реальными объектами и процессами:

  • языки систем реального времени;
  • языки систем условного времени.

6. По способу получения результата:

  • процедурные;
  • непроцедурные.

7. По типу решаемых задач:

  • языки системного программирования;
  • языки прикладного программирования.

8. Непроцедурные языки по типу встроенной процедуры поиска решений делятся на:

  • реляционные;
  • функциональные;
  • логические.

Рассмотренная схема классификации позволяет каждому ЯП присвоить один из признаков каждого класса.
Рассмотренная схема классификации ЯП позволяет сделать вывод о том, что ЯП обладают определенной специализацией. Поэтому рассмотрим тенденции развития классов ЯП.
Языки системного программирования, на которых создаются операционные системы, трансляторы и другие системные программы, развиваются в направлении повышения их уровня и независимости от ЭВМ. На сегодняшний день почти 90% системного программного обеспечения создается не на языке ассемблера, а на языке C. Например, операционная система Unix практически полностью написана на C. Язык C позволяет получать программы, сравнимые по своей эффективности с программами, написанными на языке ассемблера. Правда, объем программ получается больше, но зато эффективность их создания гораздо выше.
Машинная независимость достигается использованием стандарта языка, поддерживаемого всеми разработчиками трансляторов, и использованием так называемых кросс-систем для эквивалентного преобразования программ с одного языка низкого уровня на другой.
Другим направлением является повышение уровня самого машинного языка. Например, известны Lisp-машины, в которых машинным языком является язык Lisp (реализован аппаратно). Другим примером являются ЭВМ 5-го поколения с машинным языком искусственного интеллекта Prolog.
Язык высокого уровня(ЯВУ) развиваются в направлении поддержки технологий программирования, обеспечения низкоуровневых операций (уровня ассемблера), обеспечения новых информационных технологий (НИТ) и независимости от среды реализации. Следует сказать, что по своим возможностям ЯВУ постепенно сближаются и программисту на C все труднее становится спорить о преимуществах языка C с программистом, работающим на языке Basic.
Тотальный бум переживает технология объектно-ориентированного программирования (ООП): практически все современные ЯВУ поддерживают ООП. Да и все современные программные системы построены на принципах ООП, и сегодня каждый программирующий студент знает, что такое инкапсуляция, наследование и полиморфизм. Для обозначения факта поддержки ООП языки получают приставку Object (например, ObjectPascal) или другие (например, C++).
Windows, сети ЭВМ, серверы, базы данных и Internet, как основа НИТ, оказывают сильнейшее влияние на современные ЯП. Разработчики ЯП просто обязаны включать в языки средства поддержки НИТ, чтобы привлечь программистов на свою сторону. Для поддержки Windows создаются системы визуального программирования с приставкой Visual, например Visual C++, Visual Basic и др. Для работы с БД, сетями и Internet в ЯП включаются специальные внутренние или внешние средства.
Стремление к созданию программ, независимых от типа ЭВМ и операционной системы, привело к созданию языка Java. Основная задача Java - обеспечить выполнение программ, распространяемых через Web-страницы Internet, на любой рабочей станции. Кроме того, Java поддерживает все средства НИТ и в ближайшее время, очевидно, станет самым популярным ЯП.
Популярность языков искусственного интеллекта за последние 10 лет, к сожалению, заметно упала. На мой взгляд это связано прежде всего с психологическими проблемами, которые испытывают программисты при использовании этих языков. Например, в мощнейшем языке Lisp программа имеет очень сложную для понимания списочную структуру и небольшой по объему проект очень быстро выходит из под контроля. В языке Prolog программист должен точно знать логику работы встроенной машины логического вывода, а работа программы зависит от структуры и содержимого базы знаний (БЗ). Если с проектированием программы и структуры БЗ программист справляется, то для заполнения БЗ он должен быть экспертом в предметной области либо тесно контактировать с экспертом и извлекать из него знания, а то и другое является сложной задачей.


Вопрос 1.Максим, как Вы считате смогут ли языки искусственного интеллекта вернуть себе популярность? Как можно этого достичь? С какими языками искусственного интеллекта вы знакомы? (Емельянова Марта Сергеевна)

Личные инструменты
наши друзья
http://аудиохрестоматия.рф/