Тема 1. Языки и технологии
Цели занятия:
- Понять роль языков программирования в современном мире;
- Понять связь современных языков программирования с сопутствующими технологиями и жизнедеятельностью человека;
- Ориентировать читателя для выбора лучшего пути развития.
Язык программирования
Язык программирования описывает структуры данных и действия с ними.
Язык программирования сам по себе не имеет какой либо практической пользы. Пользу имеет практическая обработка реальных данных.
Технологии
Технологии - методы и средства обеспечения производства и ведения бизнеса. Роль технологий - упрощение жизнедеятельности людей.
Информационно-Коммуникационные технологии
Информационно-Коммуникационные технологии ( сакращённо ИКТ ) - технологии обработки и передачи информации. ИКТ в настоящее время претерпевают бурное развитие - это определяет их влияние на все сферы жизнедеятельности человека.
Примеры секторов ИКТ:
- Цифровые каналы передачи информации, включая сотовую связь, цифровое телевидение, Интернет;
- Мобильные технологии, включая развитие различных гаджетов и встраиваемых устройств;
- Технологии развлечений, включая развитие компьютерных игр и социальных сетей;
- Обработка и анализ больших массивов данных;
- Искусственный интелект и робототехника.
Технологии программирования
Технологии программирования в отличии от прочих технологий позволяют создавать сами программы. Они также являются технологиями ИКТ, но предназначены для узкого круга специалистов в отличии от прочих технологий, широко используемых массами. Технологии программирования будут более подробно рассмотрены ниже.
Технологии программирования и развитие аппаратуры
Развитие аппаратуры даёт возможности запуска всё более больших и сложных программ. Создание таких программ в свою очередь требует новых методик и технологий программирования. Использование недостаточно развитых технологий программирования может привести к неполному использованию возможностей аппаратуры и соответственно низкой эффективности.
Что первично
Основной вопрос - что первично - язык программирования или технологии ?
Поразмыслите и ответьте на вопросы:
- Как развитие языка программирования влияет на технологии ?
- Как развитие технологий влияет на язык программирования ?
Решение
Граница между языком программирования и технологиями часто размыта. Для устранения спопров и неоднозначности применяют термин "решение" (анг. Solution).
Решением может быть:
- Программа, например MS Office, Adobe Photoshop и т. п.;
- Библиотека, например плагин к программе;
- Программно-аппаратный комплекс, например промышленная линия, современный телевизор, модем, и т.п.;
- Интеграционное решение, например интеграция банковского программного обеспечения и сотовой связи ( микроплатежи с помощью сотового телефона);
- Прочие решения.
Характеристики решения
При разработке решения следует достигать нужного уровня следующих характеристик:
- Производительность - решение должно работать быстро.;
- Стоимость - затраты сил, времени и финансов на разработку решения должны быть минимальными.;
- Развертывание - получение и установка программы или решения должны быть быстрыми и удобными.;
- Масштабируемость - возможность увеличения производительности решения путём увеличения количества компонентов (например серверов);
- Расширяемость - возможность увеличения функциональности.;
- Обслуживание - обслуживание программы или решения должны быть быстрыми и удобными, а так же не требовать высококвалифмцмрованный персонал.;
- Сопутствующие технологии - определяет какие дополнительные технологии должны быть использованы.;
- Надежность - решение должно работать без ошибок.;
- Доступность - решение должно работать с пользователем без промедлений.;
- Безопасность - решение должно обеспечить нужный уровень Безопасности.;
- Способность к интеграции - решение должно быть способной к соединению с другими программами.
Поразмыслите и ответьте на вопросы:
- От чего зависит производительность решения ?
- Как можно уменьшить стоимость разработки решения ?
- Как сделать развертывание решения удобным ?
- Как сделать обслуживание решения удобным ?
- Приведите примеры сопутствующих технологий, используемых при разработке решения.
- Как повысить надежность решения?
- Как повысить доступность веб сайта ?
- Один пользователь случайно стёр данные другого пользователя. Является ли это проблемой безопасности ?
- В результате сбоя работы программы нарушилась целостность данных. Является ли это проблемой безопасности ?
- Какими способами можно интегрировать одно решение с другим ?