Участник конференции:Курылёв Максим Сергеевич
SD (обсуждение | вклад) м |
|||
(не показаны 9 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
− | |||
<!----------------------------------------------------------> | <!----------------------------------------------------------> | ||
Строка 5: | Строка 4: | ||
[[Изображение:Foto IT.jpg|thumb|Фото участника]] | [[Изображение:Foto IT.jpg|thumb|Фото участника]] | ||
− | '''ФИО:''' | + | '''ФИО:''' Курылев Максим Сергеевич |
+ | |||
+ | |||
+ | '''Город:''' Тольятти | ||
+ | |||
+ | '''Место учебы и специальность:''' ГОУ СПО Тольяттинский социально-педагогический колледж, специальность Программное обеспечение ВТ и АС | ||
− | |||
+ | '''Электронная почта: ''' 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.Максим, как Вы считате смогут ли языки искусственного интеллекта вернуть себе популярность? Как можно этого достичь? С какими языками искусственного интеллекта вы знакомы? (Емельянова Марта Сергеевна)