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

Материал из ТолВИКИ
(Различия между версиями)
Перейти к: навигация, поиск
м
Строка 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>
  
 
[[Категория:Секция ИКТ как составная часть подготовки специалистов]]
 
[[Категория:Секция ИКТ как составная часть подготовки специалистов]]

Версия 11:26, 6 апреля 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 программист должен точно знать логику работы встроенной машины логического вывода, а работа программы зависит от структуры и содержимого базы знаний (БЗ). Если с проектированием программы и структуры БЗ программист справляется, то для заполнения БЗ он должен быть экспертом в предметной области либо тесно контактировать с экспертом и извлекать из него знания, а то и другое является сложной задачей.

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