Lecture10 (Лекции по Технологии программирования. Компонентный подход)

PDF-файл Lecture10 (Лекции по Технологии программирования. Компонентный подход) Основы программной инженерии (40584): Лекции - 6 семестрLecture10 (Лекции по Технологии программирования. Компонентный подход) - PDF (40584) - СтудИзба2019-05-12СтудИзба

Описание файла

Файл "Lecture10" внутри архива находится в папке "Лекции по Технологии программирования. Компонентный подход". PDF-файл из архива "Лекции по Технологии программирования. Компонентный подход", который расположен в категории "". Всё это находится в предмете "основы программной инженерии" из 6 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Технологии программирования. Компонентный подходВ. В. КуляминЛекция 10. Основные конструкции языков Java и C#АннотацияРассматриваются базовые элементы технологий Java и .NET и основные конструкции языков Javaи С#. Рассказывается о лексике, базовых типах, выражениях и инструкциях обоих языков, а такжео правилах описания пользовательских типов.Ключевые словаJava, .NET, J2SE, J2EE, C#, Unicode, пакет, пространство имен, примитивный тип, выражение,инструкция, исключение, ссылочный тип, тип значений, класс, интерфейс, массив, перечислимыйтип, делегатный тип.Текст лекцииПлатформы Java и .NETНа данный момент наиболее активно развиваются две конкурирующие линии технологийсоздания ПО на основе компонентов — технологии Java и .NET. В этой и следующих лекциях мырассмотрим несколько элементов этих технологий, являющихся ключевыми в создании широковостребованного в настоящее время и достаточно сложного вида приложений.

Это Webприложения, т.е. распределенное программное обеспечение, использующее базовуюинфраструктуру Интернет для связи между различными своими компонентами, а стандартныеинструменты для навигации по Web — браузеры — как основу для своего пользовательскогоинтерфейса.Технологии Java представляют собой набор стандартов, инструментов и библиотек,предназначенных для разработки приложений разных типов и связанных друг с другомиспользованием языка программирования Java.

Торговая марка Java принадлежит компании SunMicrosystems, и эта компания во многом определяет развитие технологий Java, но в нем активноучаствуют и другие игроки — IBM, Intel, Oracle, Hewlett-Packard, SAP, Bea и пр.В этот набор входят следующие основные элементы.• Платформа Java Platform Standard Edition (J2SE) [1].Предназначена для разработки обычных, в основном, однопользовательских приложений.• Платформа Java Platform Enterprise Edition (J2EE) [2].Предназначена для разработки распределенных Web-приложений уровня предприятия.• Платформа Java Platform Micro Edition (J2ME) [3].Предназначена для разработки встроенных приложений, работающих на ограниченныхресурсах, в основном, в мобильных телефонах и компьютеризированных бытовыхустройствах.• Платформа Java Card [4].Предназначена для разработки ПО, управляющего функционированием цифровых карт.Ресурсы, имеющиеся в распоряжении такого ПО, ограничены в наибольшей степени.C некоторыми оговорками можно считать, что J2ME является подмножеством J2SE, а та, всвою очередь, подмножеством J2EE.

Java Card представляет собой, по существу, особый наборсредств разработки, связанный с остальными платформами только поддержкой (в сильноурезанном виде) языка Java.Язык Java — это объектно-ориентированный язык программирования, который транслируетсяне непосредственно в машинно-зависимый код, а в так называемый байт-код, исполняемыйспециальным интерпретатором, виртуальной Java машиной (Java Virtual Machine, JVM). Такаяорганизация работы Java-программ позволяет им быть переносимыми без изменений и одинаковоработать на разных платформах, если на этих платформах есть реализация JVM, соответствующаяопубликованным спецификациям виртуальной машины.Кроме того, интерпретация кода позволяет реализовывать различные политики безопасностидля одних и тех же приложений, выполняемых в разных средах, — к каким ресурсам (файлам,устройствам и пр.) приложение может иметь доступ, а к каким нет, можно определять при запускевиртуальной машины.

Таким способом можно обеспечить запускаемое пользователем вручнуюприложение (за вред, причиненный которым, будет отвечать этот пользователь) большимиправами, чем аплет, загруженный автоматически с какого-то сайта в Интернет.Режим интерпретации приводит обычно к более низкой производительности программ посравнению с программами, оттранслированными в машинно-специфический код. Для преодоленияэтой проблемы JVM может работать в режиме динамической компиляции (just-in-time-compilation,JIT), в котором байт-код на лету компилируется в машинно-зависимый, а часто исполняемыеучастки кода подвергаются дополнительной оптимизации.В настоящем курсе мы рассмотрим ряд элементов платформ J2EE и J2SE, имеющих большоезначение для разработки Web-приложений.

Читателей, интересующихся деталями устройства ииспользования J2ME и Java Card, мы отсылаем к документации по этим платформам [3] и [4]..NET [5] представляет собой похожий набор стандартов, инструментов и библиотек, норазработка приложений в рамках .NET возможна с использованием различных языковпрограммирования. Основой .NET являются виртуальная машина для промежуточного языка(Intermediate Language, IL, иногда встречается сокращение MSIL, Microsoft IL), в которыйтранслируются все .NET программы, также называемая общей средой выполнения (CommonLanguage Runtime, CLR), и общая библиотека классов (.NET Framework class library), доступная извсех .NET приложений.Промежуточный язык является полноценным языком программирования, но он непредназначен для использования людьми.

Разработка в рамках .NET ведется на одном из языков,для которых имеется транслятор в промежуточный язык —Visual Basic.NET, С++, C#, Java(транслятор Java в .NET называется J#, и он не обеспечивает одинаковой работы программ на Java,оттранслированных в .NET, и выполняемых на JVM) и пр. Однако разные языки достаточносильно отличаются друг от друга, и чтобы гарантировать возможность из одного языка работать скомпонентами, написанными на другом языке, необходимо при разработке этих компонентовпридерживаться общих правил (Common Language Specifications, CLS), определяющих, какимиконструкциями можно пользоваться во всех .NET языках без потери возможности взаимодействиямежду результатами.

Наиболее близок к промежуточному языку C# — этот язык был специальноразработан вместе с платформой .NET.Некоторым отличием от Java является то, что код на промежуточном языке в .NET неинтерпретируется, а всегда выполняется в режиме динамической компиляции (JIT).Компания Microsoft инициировала разработку платформы .NET и принятие стандартов,описывающих ее отдельные элементы (к сожалению, пока не все), и она же является основнымпоставщиков реализаций этой платформы и инструментов разработки. Благодаря наличиюстандартов возможна независимая реализация .NET (например, такая реализация разработана врамках проекта Mono [6]), но, в силу молодости платформы и опасений по поводу монопольноговлияния Microsoft на ее дальнейшее развитие, реализации .NET не от Microsoft используютсядостаточно редко.Прежде чем перейти к более детальному рассмотрению компонентных технологий Java и .NET,ознакомимся с языками, на которых создаются компоненты в их рамках.Для Java технологий базовым языком является Java, а при изучении правил построениякомпонентов для .NET мы будем использовать язык C#.

Он наиболее удобен при работе в этойсреде и наиболее похож на Java.Оба этих языка сейчас активно развиваются — в сентябре 2004 года вышла версия 1.5, она жебыла объявлена версией 5 платформы J2SE и языка Java. При переходе между версиями 1.4 и 1.5Java претерпела наиболее серьезные изменения за всю свою историю (достаточно полноеописание этих изменений стало доступно только в середине 2005 года). Во время написанияданной лекции готовится выход J2EE 1.5, пока доступной только в виде предварительныхспецификаций.Существенное обновление C# также должно произойти в версии 2.0, выходящей в ноябре 2005года. Поэтому мы сопоставляем характеристики уже имеющейся на момент написания версииJava 5 с готовящейся к выходу версией C# 2.0. Это представляется обоснованным еще и потому,что эти версии двух языков достаточно близки по набору поддерживаемых ими конструкций.Данная лекция дает лишь базовую информацию о языках Java и C#, которая достаточна дляпонимания приводимого далее кода компонентов и общих правил, регламентирующих ихразработку и может служить основой для дальнейшего их изучения.

Оба языка достаточносложны, и всем их деталям просто невозможно уделить внимание в рамках двух лекций. Для болееглубокого изучения этих языков (особенно необходимого при разработке инструментов дляработы с ними) рекомендуется обратиться к соответствующим стандартам [7] и [8] (ссылкиприведены на последние версии стандартов на момент написания этой лекции, кроме тогонекоторые элементы C# 2.0 не вошли в [8], они описываются согласно [9]).Оба языка имеют мощные выразительные возможности объектно-ориентированных языковпоследнего поколения, поддерживающих автоматическое управление памятью и работу вмногопоточном режиме. Они весьма похожи, но имеют большое число мелких отличий в деталях.Наиболее существенны для построения программ различия, касающиеся наличия в C#невиртуальных методов, возможности объявления и использования пользовательских типовзначений и делегатных типов в C# и возможности передачи значений параметров в C# по ссылке.Обсуждение и одновременно сравнение характеристик языков мы будем проводить последующему плану.1.

Лексика2. Общая структура программ3. Базовые типы и операции над ними4. Инструкции и выражения5. Пользовательские типы6. Средства создания многопоточных программОбщие черты Java и C# описываются далее обычным текстом, а особенности — в колонках.В левой колонке будут описыватьсяособенности Java.В правой колонке будут описыватьсяособенности C#.ЛексикаПрограммы на обоих рассматриваемых языках, C# и Java, могут быть написаны сиспользованием набора символов Unicode, каждый символ в котором представляется при помощи16-ти бит. Поскольку последние версии стандарта Unicode [10] определяют более широкоемножество символов, включая символы от U+10000 до U+10FFFF (т.е. имеющие коды от 216 до220+216-1), такие символы представляются в кодировке UTF-16, т.е.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее