Доклад-сообщение Языки программирования

Что такое язык программирования

Доклад-сообщение Языки программирования

1) Введениестр. 1

2) Что такоеязык программированиястр.2

3) Для чегонужны языкипрограммированиястр. 3

4) Какиесуществуютязыки программированиястр. 4 – 7

5) Что такоекомпилятори интерпретаторстр. 8

6) Списокиспользованнойлитературыстр. 9

Введение

Досередины 60-хкомпьютерыбыли слишкомдорогими машинами,использовавшимисятолько дляособых задач,и выполнявшимитолько однузадачу за раз(т. н. пакетнаяобработка).

Языкипрограммированияэтой эры, каки компьютерына которых онииспользовались,были разработаныдля специфичныхзадач, такихкак научныевычисления.Посколькумашины былидорогими и лишьодна задачавыполняласьза раз, то и машинноевремя былодорого – поэтомускорость выполненияпрограммыстояла на первомместе.

Однаков течение 60-хцена на компьютерыстала падатьтак, что даженебольшиекомпании моглиих себе позволить;скорость компьютероввсё увеличиваласьи наступиловремя, когдаони стали частопростаиватьбез задач. Чтобыэтого не происходило,стали вводитьсистемы с разделениемвремени (time-sharing).

В такихсистемах процессорноевремя «нарезалось»,и все пользователипоочерёднополучали короткиеотрезки этоговремени.

Машиныбыли достаточнобыстрыми длятого, чтобы врезультатекаждый пользовательза терминаломчувствовалсебя так, будтоработает ссистемой водиночку. Машинаже, в свою очередь,простаиваламеньше, посколькувыполняла неодну, а сразумного задач.

Разделениевремени радикальноснижало стоимостьмашинноговремени, посколькуодна машинамогла совместноиспользоватьсясотнями пользователей.

Вэтих условиях- когда мощностьстала дешеваи доступна -создателиязыков программированиявсе большестали задумыватьсяоб удобственаписанияпрограмм, а нетолько скоростиих выполнения.«Мелкие»(атомарные)операции, выполняемыенепосредственноустройствамимашины, объединилив более «крупные»,высокоуровневыеоперации ицелые конструкции,с которымичеловеку кудапроще и удобнееработать.

Что такоеязык программирования

Языкпрограммирования— формальнаязнаковая система,предназначеннаядля описанияалгоритмовв форме, котораяудобна дляисполнителя(например,компьютера).

Язык программированияопределяетнабор лексических,синтаксическихи семантическихправил, используемыхпри составлениикомпьютернойпрограммы.

Онпозволяетпрограммистуточно определитьто, на какиесобытия будетреагироватькомпьютер, какбудут хранитьсяи передаватьсяданные, а такжекакие именнодействия следуетвыполнять надэтими при различныхобстоятельствах.

Современи созданияпервых программируемыхмашин человечествопридумало ужеболее двух споловиной тысячязыков программирования.Каждый год ихчисло пополняетсяновыми.

Некоторымиязыками умеетпользоватьсятолько небольшоечисло их собственныхразработчиков,другие становятсяизвестны миллионамлюдей.

Профессиональныепрограммистыиногда применяютв своей работеболее десяткаразнообразныхязыков программирования.

Создателиязыков по-разномутолкуют понятиеязык программирования.Среди общинмест, признаваемыхбольшинствомразработчиков,находятсяследующие:

Функция:язык программированияпредназначендля написаниякомпьютерныхпрограмм, которыеприменяютсядля передачикомпьютеруинструкцийпо выполнениютого или иноговычислительногопроцесса иорганизацииуправленияотдельнымиустройствами.

Задача: языкпрограммированияотличаетсяот естественныхязыков тем,что предназначендля передачикоманд и данныхот человекакомпьютеру,в то время какестественныеязыки используютсялишь для общениялюдей междусобой. В принципе,можно обобщитьопределение”языков программирования”- это способпередачи команд,приказов, чёткогоруководствак действию;тогда какчеловеческиеязыки служаттакже для обменаинформацией.

Исполнение:язык программированияможет использоватьспециальныеконструкциидля определенияи манипулированияструктурамиданных и управленияпроцессомвычислений.

Длячего нужныязыки программирования

Процессработы компьютеразаключаетсяв выполнениипрограммы, тоесть наборавполне определённыхкоманд во вполнеопределённомпорядке. Машинныйвид команды,состоящий изнулей и единиц,указывает,какое именнодействие долженвыполнитьцентральныйпроцессор.

Значит, чтобызадать компьютерупоследовательностьдействий, которыеон должен выполнить,нужно задатьпоследовательностьдвоичных кодовсоответствующихкоманд. Программыв машинныхкодах состоятиз тысячи команд.Писать такиепрограммы –занятие сложноеи утомительное.

Программистдолжен помнитькомбинациюнулей и единицдвоичного кодакаждой программы,а также двоичныекоды адресовданных, используемыхпри её выполнении.

Гораздо прощенаписать программуна каком-нибудьязыке, болееблизком кестественномучеловеческомуязыку, а работупо переводуэтой программыв машинные кодыпоручить компьютеру.Так возниклиязыки, предназначенныеспециальнодля написанияпрограмм, – языкипрограммирования.

Имеетсямного различныхязыков программирования.Вообще-то длярешения большинствазадач можноиспользоватьлюбой из них.Опытные программистызнают, какойязык лучшеиспользоватьдля решениякаждой конкретнойзадачи, так каккаждый из языковимеет своивозможности,ориентациюна определённыетипы задач,свой способописания понятийи объектов,используемыхпри решениизадач.

Всёмножествоязыков программированияможно разделитьна две группы:языкинизкого уровняи языкивысокого уровня.

Кязыкам низкогоуровня относятсяязыки ассемблера(от англ. toassemble –собирать,компоновать).В языке ассемблераиспользуютсясимвольныеобозначениякоманд, которыелегко понятныи быстро запоминаются.

Вместо последовательностидвоичных кодовкоманд записываютсяих символьныеобозначения,а вместо двоичныхадресов данных,используемыхпри выполнениикоманды, – символьныеимена этихданных, выбранныепрограммистом.

Иногда языкассемблераназывают мнемокодомили автокодом.

Большинствопрограммистовпользуютсядля составленияпрограмм языкамивысокого уровня.Как и обычныйчеловеческийязык, такойязык имеет свойалфавит – множествосимволов,используемыхв языке. Из этихсимволов составляютсятак называемыеключевые словаязыка.

Каждоеиз ключевыхслов выполняетсвою функцию,так же как впривычном намязыке нам языкеслова, составленныеиз букв алфавитаданного языка,могут выполнятьфункции разныхчастей речи.Ключевые словасвязываютсядруг с другомв предложенияпо определённымсинтаксическимправилам языка.

Каждое предложениеопределяетнекоторуюпоследовательностьдействий, которыедолжен выполнитькомпьютер.

Языквысокого уровнявыполняет рольпосредникамежду человекоми компьютером,позволяя человекуобщаться скомпьютеромболее привычнымдля человекаспособом. Частотакой языкпомогает выбратьправильныйметод решениязадачи.

Передтем как писатьпрограмму наязыке высокогоуровня, программистдолжен составитьалгоритмрешениязадачи, то естьпошаговый пландействий, которыйнужно выполнитьдля решенияэтой задачи.Поэтому языки,требующиепредварительногосоставленияалгоритма,часто называюталгоритмическимиязыками.

Какиесуществуютязыки программирования

Фортран

Языкипрограммированиястали появлятьсяуже с середины50-х годов. Однимиз первых языковтакого типастал язык Фортран(англ. FORTRANот FORmulaTRANslator –переводчикформул), разработанныйв 1957 году. Фортранприменяетсядля описанияалгоритмарешения научно-техническихзадач с помощьюЦВМ.

Так же, каки первые вычислительныемашины, этотязык предназначался,в основном, дляпроведенияестественно-научныхи математическихрасчётов. Вусовершенствованномвиде этот языксохранилсядо нашего времени.Среди современныхязыков высокогоуровня он являетсяодним из наиболееиспользуемыхпри проведениинаучных исследований.

Наиболеераспространеныварианты Фортран-II,Фортран-IV,EASIC Fortranи их обобщения.

Алгол

ПослеФортрана в1958-1960 годах появилсяязык Алгол(Алгол-58, Алгол-60)(англ. ALGOLот ALGOrithmicLanguage– алгоритмическийязык). Алголбыл усовершенствованв 1964-1968 годах –Алгол-68.Алголбыл разработанкомитетом, вкоторый входилиевропейскиеи американскиеучёные. Онотносится кязыкам высокогоуровня (high-level language) ипозволяет легкопереводитьалгебраическиеформулы в программныекоманды.

Алголбыл популяренв Европе, в томчисле СССР, вто время каксравнимый сним Фортранбыл распространенв США и Канаде.Алгол оказалзаметное влияниена все разработанныепозднее языкипрограммирования,и, в частности,на язык Pascal.Этот язык также, как и Фортран,предназначалсядля решениянаучно-техническихзадач.

Крометого, этот языкприменялсякак средствообучения основампрограммирования– искусствасоставленияпрограмм.

Обычнопод понятиемАлгол подразумеваетсяязык Алгол-60,в то время какАлгол-68 рассматриваетсякак самостоятельныйязык. Даже когдаязык Алголпочти пересталиспользоватьсядля программирования,он ещё оставалсяофициальнымязыком дляпубликацииалгоритмов.

Кобол

В1959 – 1960 годах былразработанязык Кобол(англ. COBOL от COmmom BusinessOriented Language – общий язык,ориентированныйна бизнес).

Этоязык программированиятретьего поколения,предназначенный,в первую очередь,для разработкибизнес приложений.

ТакжеКобол предназначалсядля решенияэкономическихзадач, обработкиданных длябанков, страховыхкомпаний идругих учрежденийподобного рода.Разработчикомпервого единогостандартаКобола являласьГрейс Хоппер(бабушкаКобола).

Коболобычно критикуетсяза многословностьи громоздкость,поскольку однойиз целей создателейязыка быломаксимальноприблизитьконструкциик английскомуязыку.

(До сихпор Кобол считаетсяязыком программирования,на котором былонаписано большевсего строккода).

В то жевремя, Коболимел прекрасныедля своеговремени средствадля работы соструктурамиданных и файлами,что обеспечилоему долгуюжизнь в бизнесприложениях,по крайнеймере, в США.

Лисп

Почтиодновременнос Коболом (1959 –1960 гг.) в Массачусетскомтехнологическоминституте былсоздан языкЛисп (англ. LISPот LIStProcessing– обработкасписков).

Лиспоснован напредставлениипрограммысистемой линейныхсписков символов,которые притомявляются основнойструктуройданных языка.Лисп считаетсявторым послеФортрана старейшимвысокоуровневымязыком программирования.

Этотязык широкоиспользуетсядля обработкисимвольнойинформациии применяетсядля созданияпрограммногообеспечения,имитирующегодеятельностьчеловеческогомозга.

Любаяпрограмма наЛиспе состоитиз последовательностивыражений(форм). Результатработы программысостоит в вычисленииэтих выражений.Все выражениязаписываютсяв виде списков— одной из основныхструктур Лиспа,поэтому онимогут легкобыть созданыпосредствомсамого языка.Это позволяетсоздаватьпрограммы,изменяющиедругие программыили макросы,позволяющиесущественнорасширитьвозможностиязыка.

Основнойсмысл Лисп-программы”жизнь” в символьномпространстве:перемещение,творчество,запоминание,создание новыхмиров и т.д.

Лиспкак метафорамозга, символ,метафора сигнала:”Как происходитбиологическийанализ сигналовмозгом, каквнешний фактор- физическоеи химическоевоздействие,являющеесядля организмараздражителемпревращаетсяв биологическизначимый сигнал,зачастую жизненноважный, определяющийвсе поведениечеловека илиживотного; икак происходитразделениеразных сигналовна положительные,отрицательныеи безразличные,индифферентные.Сигнал это ужеинтегративноепонятие. Онпредставляетсобой опознавательныйзнак группы,комплексныхраздражителей,связанных междусобой общейисторией ипричинноследственнымиотношениями.В этом комплексе,системе раздражителей,сигнальныйстимул самявляется такжесоставляющимэлементом ипри иных обстоятельствахего роль можетпринадлежатьдругому стимулуиз комплекса.В сигналеконцентрируетсявесь прошлыйопыт животногоили человека.”[1]

Бейсик

Всередине 60-хгодов (1963 г.) вДартмутскомколледже (США)был создан языкБейсик (англ.BASIC от Beginner’s Allpurpose Instruction Code –всецелевойсимволическийкод инструкцийдля начинающих).Со временем,когда сталипоявлятьсядругие диалекты,этот «изначальный»диалект сталиназывать DartmouthBASIC.

Язык был основанчастично наФортранII и частичнона Алгол-60,с добавлениями,делающими егоудобным дляработы в режимеразделениявремени и, позднее,обработкитекста и матричнойарифметики.ПервоначальноБейсик былреализованна мейнфреймеGE-265 с поддержкоймножестватерминалов.

Вопреки распространённомуубеждению, вмомент своегопоявления этобыл компилируемыйязык.

Бейсикбыл спроектировантак, чтобы студентымогли писатьпрограммы,используятерминалы сразделениемвремени. Онсоздавалсякак решениедля проблем,связанных сосложностьюболее старыхязыков.

Онпредназначалсядля более «простых»пользователей,не столькозаинтересованныхв скоростипрограмм, сколькопросто в возможностииспользоватькомпьютер длярешения своихзадач.

В силупростоты языкаБейсик многиеначинающиепрограммистыначинают с негосвой путь впрограммировании.

Форт

Вконце 60-х – начале70-х годов появилсяязык Форт (англ.FOURTH –четвёртый).Этот язык сталприменятьсяв задачах управленияразличнымисистемами послетого, как егоавтор ЧарльзМур написална нём программу,предназначеннуюдля управлениярадиотелескопомАризонскойобсерватории.

Рядсвойств, а именноинтерактивность,гибкость ипростота разработкиделают Фортвесьма привлекательными эффективнымязыком в прикладныхисследованияхи при созданииинструментальныхсредств. Очевиднымиобластямипримененияэтого языкаявляются встраиваемыесистемы управления.Также находитприменениепри программированиикомпьютеровпод управлениемразличныхоперационныхсистем.

Паскаль

Появившийсяв 1972 году языкПаскаль былназван так вчесть великогофранцузскогоматематикаXVII века,изобретателяпервой в миреарифметическоймашины БлезаПаскаля. Этотязык был созданшвейцарскимучёным, специалистомв области информатикиНиклаусомВиртом как языкдля обученияметодам программирования.Паскаль – этоязык программированияобщего назначения.

Особенностямиязыка являютсястрогая типизацияи наличие средствструктурного(процедурного)программирования.Паскаль былодним из первыхтаких языков.По мнению Н. Вирта,язык долженспособствоватьдисциплинированиюпрограммирования,поэтому, нарядусо строгойтипизацией,в Паскале сведенык минимумувозможныесинтаксическиенеоднозначности,а сам синтаксисинтуитивнопонятен дажепри первомзнакомствес языком.

ЯзыкПаскаль учитне только тому,как правильнонаписать программу,но и тому, какправильноразработатьметод решениязадачи, подобратьспособы представленияи организацииданных, используемыхв задаче. С 1983 годаязык Паскальвведён в учебныекурсы информатикисредних школСША.

Ада

На основеязыка Паскальв конце 70-х годовбыл создан языкАда, названныйв честь одарённогоматематикаАды Лавлейс(Огасты АдыБайрон – дочерипоэта Байрона).Именно она в1843 году смоглаобъяснить мирувозможностиАналитическоймашины ЧарльзаБэббиджа.

ЯзыкАда был разработанпо заказуМинистерстваобороны СШАи первоначальнопредназначалсядля решениязадач управлениякосмическимиполётами.

Этотязык применяетсяв задачах управлениябортовымисистемамикосмическихкораблей, системамиобеспеченияжизнедеятельностикосмонавтовв полёте, сложнымитехническимипроцессами.

Ада — этоструктурный,модульный,объектно-ориентированныйязык программирования,содержащийвысокоуровневыесредствапрограммированияпараллельныхпроцессов.

Синтаксис Адыунаследованот языков типаAlgol или Паскаль,но расширен,а также сделанболее строгими логичным.

Ада— язык со строгойтипизацией,в нём исключенаработа с объектами,не имеющимитипов, а автоматическиепреобразованиятипов сведенык абсолютномуминимуму.

ПоутверждениюСтефена Цейглера[2],разработкапрограммногообеспеченияна Аде в целомобходится на60 % дешевле, аразработаннаяпрограмма имеетв 9 раз меньшедефектов, чемпри использованииязыка Си.

Си

Внастоящее времяпопулярнымсреди программистовявляется языкСи (С – букваанглийскогоалфавита). ЯзыкСи берёт своёначало от двухязыков – BCPL и B. В1967 году МартинРичардс разработалBCPL как язык длянаписаниясистемногопрограммногообеспеченияи компиляторов.В 1970 году КенТомпсон использовалВ для созданияранних версийоперационнойсистемы UNIX накомпьютереDEC PDP-7. Как в BCPL, таки

Источник: https://xreferat.com/33/5593-1-chto-takoe-yazyk-programmirovaniya.html

Реферат на тему «языки программирования»

Доклад-сообщение Языки программирования

Апр 18 2012

Реферат на тему

«Языки программирования».

Осипов Михаил, 10 4 класс.

                   21.02.12.

  1. Вступление.
  2. Ada.
  3. Basic.
  4. C# (C sharp).
  5. Java.
  6. Вывод.

Существует множество сред языков программирования. И у каждой из них есть свои преимущества и недостатки. Я попробую обсудить наиболее важные и основные из них, а затем найду, по моему мнению, самую оптимальный язык.

Ada 

                                                                       Ада Лавлейс

Начнем с языка Ada. Этот язык был создан в 1979—1980 годах в результате проекта, предпринятого Министерством обороны США с целью разработать единый язык программирования для встроенных систем (то есть систем управления автоматизированными комплексами, функционирующими в реальном времени).

Имелись в виду, прежде всего, бортовые системы управления военными объектами (кораблями, самолётами, танками, ракетами, снарядами и т. п.). Перед разработчиками не стояло задачи создать универсальный язык, поэтому решения, принятые авторами Ады, нужно воспринимать в контексте особенностей выбранной предметной области.

Язык назван в честь Ады Лавлэйс. Также этот язык имеет массу особенностей, среди них:

С момента появления Ада подверглась критике некоторых признанных авторитетов в области разработки языков программирования, в первую очередь — за сложность синтаксиса и большой объём. В частности, язык критиковали Чарльз Хоар и Никлаус Вирт (участвовавшие со своим проектом в данном конкурсе, но выбывшие после первого этапа), а также Эдсгер Дейкстра.

Ада — мощнейший объектно–ориентированный язык общего назначения, ориентированный на разработку надёжного программного обеспечения.

В язык включены механизмы поддержки параллельного исполнения, обработки исключений, настраиваемых модулей, поддержки распределённых вычислений, стандартные интерфейсы к другим языкам и библиотекам.

Ада имеет компиляторы под практически любую операционную систему плюс Java и .NET байткод.

Ада — это структурный, модульный, объектно-ориентированный язык программирования, содержащий высокоуровневые средства программирования параллельных процессов.

Синтаксис унаследован от языков типа ALGOL или Pascal, но расширен, а также сделан более строгим и логичным.

Ада — язык со строгой типизацией, в нём исключена работа с объектами, не имеющими типов, а автоматические преобразования типов сведены к абсолютному минимуму.

Для удовлетворения требованиям надёжности язык построен таким образом, чтобы как можно большее количество ошибок обнаруживалось на этапе компиляции.

Кроме того, одним из требований при разработке языка была максимально лёгкая читаемость текстов программ, даже в ущерб лёгкости написания.

Результатом такого подхода стал несколько «тяжеловесный» синтаксис и множество ограничений, часто воспринимаемых непрофессиональными программистами как «глупые» и «ненужные».

Язык Ада используется в США и Европе при разработке сложных больших проектов, главным образом, встроенных систем, причём, далеко не только в военных приложениях.

Basic

Теперь я бы хотел поговорить о Basic. Он был разработан в 1963 году профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени.

Язык предназначался для обучения программированию и получил широкое распространение в виде различных диалектов, прежде всего как язык для домашних компьютеров.

При проектировании языка использовались следующие восемь принципов. Новый язык должен:

1.Быть простым в использовании для начинающих

2.Быть языком программирования общего назначения

3.Предоставлять возможность расширения функциональности, доступную опытным программистам

4.Быть интерактивным

5.Предоставлять ясные сообщения об ошибках

6.Быстро работать на небольших программах

7.Не требовать понимания работы аппаратного обеспечения

8.Защищать пользователя от операционной системы

Язык был основан частично на Фортран II и частично на Алгол-60, с добавлениями, делающими его удобным для работы в режиме разделения времени и, позднее, обработки текста и матричной арифметики. Первоначально Бейсик был реализован на мейнфрейме GE-265 с поддержкой множества терминалов. Вопреки распространённому убеждению, в момент своего появления это был компилируемый язык.

Синтаксис языка напоминает Fortran, и многие элементы — явные заимствования из него. Язык задумывался для обучения, поэтому его конструкции максимально просты. Как и в других языках программирования, ключевые слова взяты из английского языка. Основных типов данных два: строки и числа.

С появлением версии Visual Basic, а также различных его модификаций (таких как VBA), в языке появились многие другие типы данных и дополнения, типичные для современных языков программирования (например, такие, как объектная модель). Объявление переменных не требует специальной секции (в отличие, например, от Паскаля).

Объявление переменной — это первое её использование.

Ранние версии Бейсика (такие как BASICA, GW-BASIC) существенно отличаются от современных диалектов и сегодня практически не используются.

Бейсик подвергается жёсткой критике за то, что его простота и бесструктурность поощряют порочные методики и привычки программирования, которые могут быть уместны при создании малых программ, но способны привести к краху крупных проектов.

Одной из «визитных карточек» Эдсгера Дейкстры стало высказывание: «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации». Однако, это высказывание цитируется вне контекста, в котором Дейкстра подверг критике и многие другие популярные в то время языки.

Кроме того, критики Бейсика часто игнорируют тот факт, что он создавался в качестве отнюдь не инструмента профессиональной разработки сложных программ, а средства, с помощью которого студенты-непрограммисты смогут писать простейшие программы. Если же говорить о современных диалектах и реализациях Бейсика, то они далеко ушли от первоначальной формы языка, являются более структурированными и сопоставимы по возможностям с такими языками, как Си, Паскаль и т. п.

C Sharp

 C# (произносится си шарп) — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java.

Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++).

C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL.

Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем.

(Однако эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования.

Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др.

Java

И последний язык программирования, который меня заинтересовал – Java. Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем, приобретённой компанией Oracle).

Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры. Дата официального выпуска — 23 мая 1995 года.

Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.

Достоинство подобного способа выполнения программ — в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина.

Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной.

Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.

Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. В последнее время был внесен ряд усовершенствований, которые несколько увеличили скорость выполнения программ на Java:

применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,

широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,

аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

По данным сайта shootout.alioth.debian.org, для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее.

С другой стороны, для большинства из них потребление памяти Java-машиной было в 10-30 раз больше, чем программой на C/C++.

Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и бо́льшее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на C++.

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

Классификация платформ Java

Внутри Java существуют несколько основных семейств технологий:

  1. Java SE — Java Standard Edition, основное издание Java, содержит компиляторы, API, Java Runtime Environment; подходит для создания пользовательских приложений, в первую очередь — для настольных систем.
  2. Java EE — Java Enterprise Edition, представляет собой набор спецификаций для создания программного обеспечения уровня предприятия.
  3. Java ME — Java Micro Edition, создана для использования в устройствах, ограниченных по вычислительной мощности, например в мобильных телефонах, КПК, встроенных системах;
  4. JavaFX — технология, являющаяся следующим шагом в эволюции Java как Rich Client Platform; предназначена для создания графических интерфейсов корпоративных приложений и бизнеса.
  5. Java Card — технология предоставляет безопасную среду для приложений, работающих на смарт-картах и ​​других устройствах с очень ограниченным объемом памяти и возможностями обработки.

Применения платформы Java

Следующие успешные проекты реализованы с привлечением Java (J2EE) технологий: RuneScape, Amazon, eBay, Yandex (неоднозначная информация в отношении Java), LinkedIn, Yahoo!.

Следующие компании в основном фокусируются на Java (J2EE) технологиях: SAP, IBM, Oracle. В частности, СУБД Oracle включает JVM как свою составную часть, обеспечивающую возможность непосредственного программирования СУБД на языке Java, включая, например, хранимые процедуры.

Производительность

Программы, написанные на Java, имеют репутацию более медленных и занимающих больше оперативной памяти, чем написанные на языке Си. Тем не менее, скорость выполнения программ, написанных на языке Java, была существенно улучшена с выпуском в 1997—1998 годах так называемого JIT-компилятора в версии 1.

1 в дополнение к другим особенностям языка для поддержки лучшего анализа кода (такие как внутренние классы, класс StringBuffer, упрощенные логические вычисления и т. д.). Кроме того была произведена оптимизация виртуальной машины Java — с 2000 года для этого используется виртуальная машина HotSpot. В настоящее время[уточнить], код Java 2.

0 приблизительно лишь в 2 раза медленнее кода, написанного на языке Cи.

Некоторые платформы предлагают аппаратную поддержку выполнения для Java. К примеру, микроконтроллеры выполняющие код Java на аппаратном обеспечении вместо программной JVM, а также основанные на ARM процессоры, которые поддерживают выполнение байткода Java через опцию Jazelle.

Основные возможности:

  1. автоматическое управление памятью;
  2. расширенные возможности обработки исключительных ситуаций;
  3. богатый набор средств фильтрации ввода/вывода;
  4. набор стандартных коллекций, таких как массив, список, стек и т. п.;
  5. наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI);
  6. встроенные в язык средства создания многопоточных приложений;
  7. параллельное выполнение программ.

Вывод

Таким образом, в наше время существует множество языков, и у каждого из них свои особенности. Но из всех мне больше всего понравился C#, по производительности он опережает Java, по удобству – Basic. В наше время каждый программист может найти для себя тот, с которым ему будет наиболее удобно работать.

Источники

Скачать:

Среда разработки программных проектов

p align=»center»

sir.Don_Kihot • Школьники 2012-2013 • 1

Источник: http://edu.cps.tver.ru/archives/1175

Доклад Языки программирования сообщение 9 класс

Доклад-сообщение Языки программирования

В результате развития компьютерной техники человек создал множество языков для программирования на компьютере. Сегодня в различных областях индустрии используются десятки языков, которые имеют свои особенности. Наиболее востребованными являются следующие.

Python – это язык, который может работать в режиме интерпретатора и основан на гибкой и надежной семантике. Он используется в сфере информационных технологий, инжиниринга, профессиональных услуг и дизайна. Python позволяет быстро интегрировать системы в качестве скриптового или связующего языка.

Его удобно использовать для быстрой разработки приложений. Так, игра Civilization 4 имеет внутреннюю логику, реализованную на Python. НАСА использует Python в своей интегрированной системе планирования в качестве стандартного языка сценариев. Язык легко учить и легко читать.

В его состав входит бесплатный интерпретатор и стандартная библиотека.

Java – это высокоуровневый язык с несколькими функциями, которые делают его идеально подходящим для разработки веб-приложений. Этот язык используется для создания видеоигр и мобильных приложений, а также для создания веб-продуктов. В Java поддерживается переносимость приложений, язык надежен и имеет обширную сетевую библиотеку.

Ruby – это язык сценариев с открытым кодом, используемый как отдельно, так и как часть веб-инфраструктуры Ruby on Rails.

Язык используется для моделирования, трехмерного моделирования, а также для управления и отслеживания информации. Амазон и Твиттер были созданы с использованием Ruby on Rails.

НАСА использует этот язык для проведения моделирования. Ruby можно свободно копировать, изменять и распространять.

JavaScript – это клиентский язык, который работает внутри браузера и обрабатывает команды на компьютере, а не на сервере. Обычно он помещается в файл HTML или ASP.

JavaScript используется главным образом в веб-разработке для манипулирования различными элементами страницы и повышения их динамичности, включая возможности прокрутки, печати времени и даты, создания календаря и других задач, которые невозможно выполнить с помощью обычного HTML. Он также может быть использован для создания игр и API.

C ++ является очень мощным языком. Он используется для создания компьютерных программ и упакованного программного обеспечения. На нем делают игры, офисные приложения, графические и видеоредакторы, операционные системы. Blackberry OS разработана с использованием C ++. Новейший пакет Microsoft Office также был разработан с использованием C ++.

Кроме перечисленных программ, сегодня используется еще много интересных и мощных языков.

Доклад №2

Информационные технологии и их возможности развиваются каждый день. Для того чтобы улучшать компьютеры и программы нужны особенные языки. Люди создали много языков программирования и продолжают их создавать.

Язык программирования – это письменные команды компьютеру. На языках программирования никто не разговаривает, но у них есть лексические, семантические и пунктуационные правила, от которых зависит внешний вид и функционал программы.

Первый такой язык появился задолго до создания компьютеров и вычислительных машин ­- в музыкальной шкатулке. Первые программы и прародители языков программирования появились в 1840-х годах, а в 1940-х люди создали язык высшего уровня для цифровых компьютеров.

На данный момент существует около 8 тысяч языков, поэтому невозможно назвать все, их даже сложно классифицировать. Однако классификации все же есть.

В первую очередь языки делят на низкий и высокий уровень. К языкам низкого уровня относятся языки машинных кодов, которые представляют собой сокращенные английские слова.

Такой язык может понять и человек без технического образования с хорошим знанием английского. Самый яркий пример – группа языков Ассемблера. Языки высокого уровня состоят из смысловых конструкций, понятных программистам.

Они не содержат сокращенных слов, как низкоуровневые языки. Например: Паскаль, СИ.

Также языки разделяют по поколениям. Сейчас выделяют 5 поколений языков. Разделение проходит согласно временным промежуткам создания, а так же области применения языка. Первое поколение – наиболее ранние языки программирования, пятое поколение – наиболее близкое к современности.

Каждый язык состоит из алфавита, представляющего собой символы и буквы; синтаксиса – возможных конструкций, выстраиваемых алфавитом; семантики – единого значения конструкций для всех программистов.

Таким образом, языки программирования – сложные команды компьютеру, заставляющие его выполнять определенные действия. Несмотря на их большое количество, немногие действительно нужны и важны в современном мире.

9 класс

Популярные темы сообщений

  • Повесть временных летПовесть временных лет задумана летописцем Нестером в начале XII века. Он служил монахом в Киево-Печерской Лавре, и является первым летописцем на Руси. Был наделен скромностью, святостью и особым Божьим даром.
  • Дикорастущие и культурные растенияЕсли взглянуть по сторонам, особенно летом мы увидим вокруг огромное количество зелени. Это деревья, трава, кустарники. Это и есть растительный мир. Все растения могут приспосабливаться ко всяким условиям обитания. Ведь даже на крайнем севере,
  • БуддаБудда – это состояние наивысшего просветления среди смертных. Следующее за ним – нирвана. Буддой может стать любой человек, и Будд было, есть и будет неисчислимое количество. Имена некоторых сохранились в истории, но конечно, это

Источник: https://more-dokladov.ru/doklad-soobshchenie/raznoe/yazyiki-programmirovaniya-9-klass

Языки программирования

Доклад-сообщение Языки программирования

Программирование

Программирование – это искусство создавать программные продукты, которые написаны на языке программирования. 

Язык программирования (англ.

 Programming language) – система обозначений для описания алгоритмов и структур данных, определенная искусственная формальная система, средствами которой можно выражать алгоритмы.

Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполняет исполнитель (компьютер) под ее управлением.

Со времени создания первых программируемых машин было создано более двух с половиной тысяч языков программирования. Ежегодно их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты обычно применяют в своей работе несколько языков программирования.

Языки программирования низкого уровня

Первым компьютерам приходилось программировать двоичными машинными кодами. Однако программировать таким образом – достаточно трудоемкая и сложная задача.

Для упрощения этой задачи стали появляться  языки программирования низкого уровня, которые позволяли задавать машинные команды в более понятном для человека виде.

Для преобразования их в двоичный код были созданы специальные программы – трансляторы.

Трансляторы делятся на:

  1. компиляторы – превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).

  2. интерпретаторы – превращают часть программы в машинный код, выполняют и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.

Язык Ассемблер (Assembler) – это низкоуровневый язык программирования. Он хоть и сложный, но написанные на нем программы работают быстрее, чем на Паскале и на Си.

Достоинства языка состоят в том, что программист может написать более высокоскоростную программу, чем на других языках высокого уровня.

Также Ассемблер используется для написания прошивок на BIOS, а также возможет непосредственный доступ к регистрам процессора, и к портам компьютера.

Языки низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности, поэтому для переноса программы на ассемблере на другую аппаратную платформу ее нужно почти полностью переписать.

Определенные различия имеются и в синтаксисе программ под разные компиляторы. Правда, центральные процессоры для компьютеров фирм AMD и Intel практически совместимы и отличаются лишь некоторыми специфическими командами.

А вот специализированные процессоры для других устройств, например, видеокарт, телефонов содержат существенные различия.

Преимущества:

с помощью языков низкого уровня создаются эффективные и компактные программы, поскольку разработчик получает доступ ко всем возможностям процессора.

Недостатки:

  1. программист, работающий с языками низкого уровня, должен быть высокой квалификации, хорошо понимать устройство микропроцессорной системы, для которой создается программа. Так, если программа создается для компьютера, нужно знать устройство компьютера и, особенно, устройство и особенности работы его процессора.

  2. результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора.

  3. значительное время разработки больших и сложных программ.

Языки низкого уровня, как правило, используют для написания небольших системных программ, драйверов устройств, модулей стыков с нестандартным оборудованием, программирование специализированных микропроцессоров, когда важнейшими требованиями являются компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.

Языки программирования высокого уровня

Можно сказать более понятными человеку, чем компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому созданные программы легко переносятся с компьютера на компьютер.

В основном достаточно просто перекомпилировать программу под определенную компьютерную архитектурную и операционную систему. Разрабатывать программы на таких языках гораздо проще и ошибок допускается меньше.

Значительно сокращается время разработки программы, что особенно важно при работе над большими программными проектами.

К языкам программирования высокого уровня относятся:

Язык Паскаль (Pascal) – его изучают не столько для применения, как для обучения в учебных заведениях. Потому что он прост для понимания и нанести вред системе от некорректного кода пользователя не может.

  Программы на Паскале начинаются с ключевого слова Program и следующего за ним имени программы с точкой с запятой (в некоторых диалектах является необязательным), за именем может в скобках следовать список внешних файловых дескрипторов («окружение») в качестве параметров; за ним следует тело программы, состоящее из секций описания констант (Const), типов (Type), переменных (Var), объявлений процедур (Procedure) ифункций (Function) и следующего за ними блока операторов, являющегося точкой входа в программу. В языке Паскаль блок ограничивается ключевыми словами begin и end. Операторы разделяются точками с запятой, после тела помещается точка, служащая признаком конца программы. Регистр символов в Паскале не имеет значения.

Язык программирования Java – сильно типизированный объектно-ориентированный язык программирования. Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре, с помощью виртуальной Java-машины.

Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной.

Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание. Часто к недостаткам концепции виртуальной машины относят снижение производительности.

Язык программирования MATLAB– является высокоуровневым интерпретируемым языком программирования, включающий широкий спектр функций, интегрированную среду разработки, основанные на матричных структурах данных, объектно-ориентированные возможности написанным на других языках программирования.

Программы, написанные на MATLAB, бывают двух типов -функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство.

Как скрипты, так и функции сохраняются в виде текстовых файлов и компилируются в машинный код динамически. Существует также возможность сохранять так называемые pre-parsed программы – функции и скрипты, обработанные в вид, удобный для машинного исполнения.

В общем случае такие программы выполняются быстрее обычных, особенно если функция содержит команды построения графиков.

Основной особенностью языка MATLAB являются его широкие возможности по работе с матрицами.

Язык программирования Cи –  компилируемый статически типизированный язык программирования общего назначения, который более популярен, чем Паскаль и Ассемблер. Си, позволяет писать программы под Windows. Программирование под Windows сейчас очень распространено в мире, но для этого необходимо много труда и усилия.

Си создавался с одной важной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования, не добавляя на итоговый код программ лишних накладных расходов для компилятора, как это всегда делают языки очень высокого уровня, такие, как Бейсик.

С этой стороны Си предлагает следующие важные особенности:

  1. простую языковую базу, из которой вынесены в библиотеки многие существенные возможности, вроде математических функций или функций управления файлами;

  2. ориентацию на процедурное программирование, обеспечивающую удобство применения структурного стиля программирования;

  3. систему типов, предохраняющую от бессмысленных операций;

  4. использование препроцессора для, например, определения макросов и включения файлов с исходным кодом;

  5. непосредственный доступ к памяти компьютера через использование указателей;

  6. минимальное число ключевых слов;

  7. передачу параметров в функцию по значению, а не по ссылке (при этом передача по ссылке эмулируется с помощью указателей);

  8. указатели на функции и статические переменные;

  9. области действия имён;

  10. структуры и объединения — определяемые пользователем собирательные типы данных, которыми можно манипулировать как одним целым;

  11. средства объектно-ориентированного программирования[3];

В то же время в Си отсутствуют

  1. вложенные функции;

  2. сопрограммы;

а также средства:

  1. автоматического управления памятью;

  2. функционального программирования.

Язык программирования Basicсемейство высокоуровневых языков программирования. Язык задумывался для обучения, поэтому его конструкции максимально просты. Как и в других языках программирования, ключевые слова взяты из английского языка. Основных типов данных два: строки и числа.

С появлением версии Visual Basic, а также различных его модификаций (таких как VBA), в языке появились многие другие типы данных и дополнения, типичные для современных языков программирования (например, такие, как объектная модель). Объявление переменных не требует специальной секции (в отличие от Паскаля).

Объявление переменной  – это первое её использование.

Язык программирования PHPскриптовый язык программирования, применяющийся для создания сайтов. Важное его достоинство языка php – это создания динамических веб-сайтов, работа с базами данных.

Php является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных.

Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий.

Язык программирования Delphi –  императивный, структурированный, объектно-ориентированный  язык программирования со строгой статической типизацией переменных. Основная область использования – написание прикладного программного обеспечения.

Язык программирования HTMLстандартизированный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML).

Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.Текстовые документы, содержащие разметку на языке HTML (такие документы традиционно имеют расширение.html или .

htm), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде.

Такие приложения, называемые «браузерами» или «интернет-обозревателями», обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра (и вывода на иные внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Google Chrome, Mozilla Firefox, Opera, Internet Explorer иSafari 

Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня.

Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти.

А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы.

5

Источник: https://multiurok.ru/files/iazyki-proghrammirovaniia-1.html

Пцк естественнонаучных дисциплин, математики и информатики реферат. на тему

Доклад-сообщение Языки программирования

1 МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Хакасский государственный университет им. Н.Ф.

Катанова» Колледж педагогического образования, информатики и права ПЦК естественнонаучных дисциплин, математики и информатики РЕФЕРАТ на тему: Язык программирования C# Автор реферата: Бондарев А. Н.

(подпись) (инициалы, фамилия) Специальность: Программирование в компьютерных системах Курс: II Группа: И-21 Зачет/незачет: Руководитель: Когумбаева О.П. (подпись, дата) (инициалы, фамилия) г. Абакан, 2017г.

2 Введение… 3 История возникновения… 4 Общее описание языка… 5 Особенности C# Сравнение C# с другими языками программирования Интерфейсы Сфера применения C# Заключение Библиографический список

3 Введение С# это типизированный, объектно-ориентированный, простой и в то же время мощный язык программирования, который позволяет разработчикам создавать многофункциональные приложения.

Разработан в годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft.NET (программной платформы от компании Microsoft, предназначенной для создания обычных программ и вебприложений).

Символ # (октоторп) в названии языка печатается на клавиатуре как Shift+З, что символизирует третью реализацию С.

С другой стороны # можно интерпретировать и как две пары плюсов ++;++, намекающие на новый шаг в развитии языка по сравнению с C++ (подобно шагу от С к C++), и как музыкальный символ диез, вместе с буквой С составляющий в английском языке название ноты до-диез (англ. С sharp).

Октоторп # часто называют «шарпом» (от англ, sharp) из-за его схожести с диезом?, отсюда и название языка «Си шарп». C# относится к семье языков с С-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. C# это фактически гибрид разных языков.

Переняв многое от своих предшественников языков C++, Java, Delphi, Модула и Smalltalk – и опираясь на практику их использования, C# синтаксически не менее (если не более) чист, чем Java, так же прост, как Visual Basic, и обладает практически той же мощью и гибкостью, что и C++. Актуальность: Язык программирования C# является одним из наиболее популярных за счет простоты его изучения. Цель: Дать представление языка C#, особенности его работы. Задача: Выявить преимущества языка C# перед другими языками. 3

4 История возникновения Язык C# появился на свет в июне 2000 г. в результате кропотливой работы большой группы разработчиков компании Microsoft, возглавляемой Андерсом Хейлсбергом (Anders Hejlsberg). Появление языка C# и инициативы.net отнюдь не случайно пришлось на начало лета 2000 г.

Именно к этому моменту компания Microsoft подготовила промышленные версии новых компонентных технологий и решений в области обмена сообщениями и данными, а также создания Internet-приложений (COM+, ASP+, ADO+, SOAP, Biztalk Framework).

Несомненно, лучшим способом продвижения этих новинок является создание инструментария для разработчиков с их полноценной поддержкой. В этом и заключается одна из главных задач нового языка C#.

Кроме того, Microsoft не могла больше расширять все те же инструменты и языки разработки, делая их все более и более сложными (а это было необходимо, так как требования поддержки современного оборудования и требования обеспечения обратной совместимости с программными продуктами начала 90-х годов становились всё более конфликтующими).

Наступил момент, когда необходимо начать с чистого листа для того, чтобы создать простой, но имеющий сложную структуру набор языков, сред и средств разработки, которые позволят разработчику легко создавать современные программные продукты. С# и.net являются той самой отправной точкой. Если говорить упрощенно, то.

net представляет собой новую платформу, новый API (англ. Application Programming Interface – интерфейс прикладного программирования)для программирования в Windows, а С# – новый язык, созданный с нуля, для работы с этой платформой, а также для извлечения всех выгод из прогресса сред разработки и достижений объектно-ориентированного программирования в течение последних 20 лет. 4

5 Общее описание языка Последнее время С и С++ являются наиболее используемыми языками для разработки коммерческих и бизнес приложений. Эти языки устраивают многих разработчиков, но в действительности не обеспечивают должной продуктивности разработки.

К примеру, процесс написания приложения на С++ зачастую занимает значительно больше времени, чем разработка эквивалентного приложения, скажем, на Visual Basic. Сейчас существуют языки, увеличивающие продуктивность разработки за счет потери в гибкости, которая так привычна и необходима программистам на С/С++.

Подобные решения являются весьма неудобными для разработчиков и зачастую предлагают значительно меньшие возможности. Эти языки также не ориентированы на взаимодействие с появляющимися сегодня системами и очень часто они не соответствуют существующей практике программирования для Web.

Многие разработчики хотели бы использовать современный язык, который позволял бы писать, читать и сопровождать программы с простотой Visual Basic и в то же время давал мощь и гибкость C++, обеспечивал доступ ко всем функциональным возможностям системы, взаимодействовал бы с существующими программами и легко работал с возникающими Web стандартами.

Учитывая все подобные пожелания, Microsoft разработала новый язык – C#. В него входит много полезных особенностей – простота, объектная ориентированность, типовая защищенность, “сборка мусора”, поддержка совместимости версий и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения, особенно COM+ приложения и Web сервисы.

При создании C#, его авторы учитывали достижения многих других языков программирования: C++, C, Java, SmallTalk, Delphi, Visual Basic и т.д. Надо заметить что по причине того, что C# разрабатывался с чистого листа, у его авторов была возможность (которой они явно воспользовались), оставить в прошлом все неудобные и неприятные особенности (существующие, как правило, для обратной совместимости), любого из предшествующих ему языков. В 5

6 результате получился действительно простой, удобный и современный язык, по мощности не уступающий С++, но существенно повышающий продуктивность разработок. Очень часто можно проследить такую связь – чем более язык защищен и устойчив к ошибкам, тем меньше производительность программ, написанных на нем.

К примеру рассмотрим две крайности – очевидно это Assembler и Java. В первом случае вы можете добиться фантастической быстроты своей программы, но вам придется очень долго заставлять ее работать правильно не на вашем компьютере.

В случае же с Java – вы получаете защищенность, независимость от платформы, но, к сожалению, скорость вашей программы вряд ли совместима со сложившимся представлением о скорости, например, какого-либо отдельного клиентского приложения (конечно существуют оговорки – JIT компиляция и прочее).

Рассмотрим C++ с этой точки зрения – на мой взгляд соотношение в скорости и защищенности близко к желаемому результату, но на основе собственного опыта программирования я могу с уверенностью сказать, что практически всегда лучше понести незначительную потерю в производительности программы и приобрести такую удобную особенность, как “сборка мусора”, которая не только освобождает вас от утомительной обязанности управлять памятью вручную, но и помогает избежать вам многих потенциальных ошибок в вашем приложении. В действительности скоро “сборка мусора”, да и любые другие шаги к устранению потенциальных ошибок стану отличительными чертами современного языка. В C#, как в несомненно современном языке, также существуют характерные особенности для обхода возможных ошибок. Например, помимо упомянутой выше “сборки мусора”, там все переменные автоматически инициализируются средой и обладают типовой защищенностью, что позволяет избежать неопределенных ситуаций в случае, если программист забудет инициализировать переменную в объекте или попытается произвести недопустимое преобразование типов. Также в C# были предприняты меры для исключения ошибок при обновлении программного обеспечения. Изменение кода, в такой ситуации, может непредсказуемо изменить 6

7 суть самой программы. Чтобы помочь разработчикам бороться с этой проблемой C# включает в себя поддержку совместимости версий (vesioning). В частности, в отличии от C++ и Java, если метод класса был изменен, это должно быть специально оговорено. Это позволяет обойти ошибки в коде и обеспечить гибкую совместимость версий.

Также новой особенностью является native поддержка интерфейсов и наследования интерфейсов. Данные возможности позволяют разрабатывать сложные системы и развивать их со временем. В C# была унифицирована система типов, теперь вы можете рассматривать каждый тип как объект.

Несмотря на то, используете вы класс, структуру, массив или встроенный тип, вы можете обращаться к нему как к объекту. Объекты собраны в пространства имен (namespaces), которые позволяют программно обращаться к чему-либо.

Это значит что вместо списка включаемых файлов заголовков в своей программе вы должны написать какие пространства имен, для доступа к объектам и классам внутри них, вы хотите использовать. В C# выражение using позволяет вам не писать каждый раз название пространства имен, когда вы используете класс из него.

Например, пространство имен System содержит несколько классов, в том числе и Console. И вы можете писать либо название пространства имен перед каждым обращением к классу, либо использовать using как это было показано в примере выше. Важной и отличительной от С++ особенностью C# является его простота.

К примеру, всегда ли вы помните, когда пишите на С++, где нужно использовать “- >”, где “::”, а где “.”? Даже если нет, то компилятор всегда поправляет вас в случае ошибки. Это говорит лишь о том, что в действительности можно обойтись только одним оператором, а компилятор сам будет распознавать его значение.

Так в C#, оператор”->” используется очень ограничено (в unsafe блоках, о которых речь пойдет ниже), оператор “::” вообще не существует. Практически всегда вы используете только оператор “.” и вам больше не нужно стоять перед выбором. Еще один пример. При написании программ на C/С++ вам приходилось думать не только о типах данных, но и о их размере в конкретной реализации. В 7

8 C# все упрощено – теперь символ Unicode называется просто char (а не wchar_t, как в С++) и 64-битное целое теперь – long (а не int64). Также в C# нет знаковых и беззнаковых символьных типов. В C#, также как и в Visual Basic после каждого выражения case в блоке switch подразумевается break. И более не будет происходить странных вещей если вы забыли поставить этот break.

Однако если вы действительно хотите чтобы после одного выражения case программа перешла к следующему вы можете переписать свою программу с использованием, например, оператора goto. Многим программистам (на тот момент, наверное, будущим программистам) было не так легко во время изучения C++ полностью освоиться с механизмом ссылок и указателей. В C# (кто-то сейчас вспомнит о Java) нет указателей.

В действительности нетривиальность указателей соответствовала их полезности. Например, порой, трудно себе представить программирование без указателей на функции. В соответствии с этим в C# присутствуют Delegates – как прямой аналог указателя на функцию, но их отличает типовая защищенность, безопасность и полное соответствие концепциям объектно-ориентированного программирования.

Хотелось бы подчеркнуть современное удобство C#. Когда вы начнете работу с C#, а, надеюсь, это произойдет как можно скорее, вы увидите, что довольно большое значение в нем имеют пространства имен. Уже сейчас, на основе первого примера, вы можете судить об этом – ведь все файлы заголовков заменены именно пространством имен.

Так в C#, помимо просто выражения using, предоставляется еще одна очень удобная возможность – использование дополнительного имени (alias) пространства имен или класса. Современность C# проявляется и в новых шагах к облегчению процесса отладки программы. Традиционым средством для отладки программ на стадии разработки в C++ является маркировка обширных частей кода директивами #ifdef и т.д.

В C#, используя атрибуты, ориентированные на условные слова, вы можете куда быстрее писать отлаживаемый код. 8

9 В наше время, когда усиливается связь между миром коммерции и миром разработки программного обеспечения, и корпорации тратят много усилий на планирование бизнеса, ощущается необходимость в соответствии абстрактных бизнес процессов их программным реализациям. К сожалению, большинство языков реально не имеют прямого пути для связи бизнес логики и кода.

Например, сегодня многие программисты комментируют свои программы для объяснения того, какие классы реализуют какой-либо абстрактный бизнес объект. C# позволяет использовать типизированные, расширяемые метаданные, которые могут быть прикреплены к объекту.

Архитектурой проекта могут определяться локальные атрибуты, которые будут связанны с любыми элементами языка – классами, интерфейсами и т.д. Разработчик может программно проверить атрибуты какого-либо элемента.

Это существенно упрощает работу, к примеру, вместо того чтобы писать автоматизированный инструмент, который будет проверять каждый класс или интерфейс, на то, является ли он действительно частью абстрактного бизнес объекта, можно просто воспользоваться сообщениями основанными на определенных в объекте локальных атрибутах. 9

10 Особенности C# Полный и хорошо определенный набор основных типов. Встроенная поддержка автоматической генерации XML-документации. Автоматическое освобождение динамически распределенной памяти.

Возможность отметки классов и методов атрибутами, определяемыми пользователем, (это может быть полезно при документировании и способно воздействовать на процесс компиляции – например, можно пометить методы, которые должны компилироваться только в отладочном режиме). Полный доступ к библиотеке базовых классов.

net, а также легкий доступ к Windows API (если это действительно необходимо). Указатели и прямой доступ к памяти, если они необходимы (однако язык разработан таким образом, что практически во всех случаях можно обойтись и без этого). Поддержка свойств и событий в стиле Visual Basic. Простое изменение ключей компиляции.

Позволяет получать исполняемые файлы или библиотеки компонентов.net, которые могут быть вызваны другим кодом так же, как элементы управления ActiveX (компоненты СОМ). Возможность использования C# для написания динамических web-страниц ASP.NET.

Одной из областей, для которых не предназначен этот язык, являются критичные по времени и высокопроизводительные программы, когда имеет значение, занимать на исполнение цикла 1000 или 1050 машинных циклов, и освобождать ресурсы требуется немедленно. C++ остается в этой области наилучшим из языков высокого уровня.

В C# отсутствуют некоторые ключевые моменты, необходимые для создания высокопроизводительных приложений, в частности подставляемые функции и деструкторы, выполнение которых гарантируется в определенных точках кода. 10

11 Сравнение C# с другими языками программирования C#, являясь последним из широко распространенных языков программирования, должен впитать в себя весь имеющийся опыт и вобрать лучшие стороны существующих языков программирования, при этом являясь специально созданным для работы в.net. Сама архитектура.net продиктовала ему (как и многим другим языкам, на которых можно писать под.

net) объектноориентированную направленность. Конечно, это не является правилом, возможно создание компиляторов даже функциональных языков по.net, на эту тему существуют специальные работы. Свой синтаксис C# во многом унаследовал от C++ и Java. Разработчики, имеющие опыт написания приложений на этих языках, найдут в C# много знакомых черт.

Но вместе с тем он является во многом новаторским – аттрибуты, делегаты и события, прекрасно вписанные в общую идеологию языка, прочно заняли место в сердцах.net – разработчиков. Их введение позволило применять принципиально новые приемы программирования. Конечно, излюбленным объектом для сравнения с C# у мировой коммьюнити является Java.

Также разработанный для работы в виртуальной среде выполнения, имеющей объектно-ориентированную архитектуру и сборщик мусора, осноыванный на механизме ссылок. При сравнении с этим языком сразу выделаются такие особенности, как возможность объявлять несколько классов в одном файле, из чего следует синтаксическая поддержка иерархической системы пространств имен.

Из реализации ООП-концепций сходство в механизме наследования и реализации (и в Java и в C# возможно единичное наследование, но множественная реализация интерфейсов, в отличие от C++). Но в Java отсутствуют свойства и индексаторы (а также делегаты и события, но они отсутствуют еще много где). Также есть возможность перечисления контейнеров.

Из вещей, включенных в спецификацию языка, но не являющихся чисто “программистскими” необходимо отметить возможность использование комментариев в формате XML. Если комментарии отвечают специально 11

12 описанной стркутуре, компилятор по ним может сгенерировать единый XMLфайл документации. Но C# внес и свои уникальные черты, которые уже были упомянуты – это события, индексаторы, аттрибуты и делагаты. Все эти элементы будут обсуждены в следующих частях, сейчас лишь отмечу, что они предоставляют собой очень полезные возможности, которые не останутся невостребованными. 12

13 Интерфейсы Интерфейсы объявляются тем же способом, что и классы, только вместо ключевого слова class используется ключевое слово interface. Ключевые слова для модификации доступа public и internal используются точно так же, поэтому, например, для того, чтобы сделать интерфейс общедоступным, следует использовать ключевое слово public.

Для интерфейсов ключевые слова abstract и sealed использовать нельзя, так как ни один модификатор для интерфейсов не имеет смысла (у них отсутствует реализация, следовательно, для них не могут создаваться экземпляры в явном виде). Наследование для интерфейсов определяется аналогично наследованию для классов.

Основное отличие здесь в том, что мы можем использовать интерфейсы с множественными базами, например: public interface IMylnterface : IMyBaselnterface, IMyBaselnterface2 Интерфейсы, как и классы, наследуются от System.object. Этот механизм допускает полиморфизм интерфейсов.

Однако, как отмечалось ранее, нельзя создать экземпляр интерфейса таким же способом, как и экземпляр класса. 13

14 Сфера применения C# C# один из языков программирования, который может использоваться для создания приложений. Создавать приложения на С# легче, чем на С+ +, поскольку синтаксис языка C# более простой, чем синтаксис С+ +. Некоторые наиболее часто встречающиеся типы приложений: Приложения Windows.

Это приложения вроде Microsoft Office, имеющие знакомый “Windows-подобный” вид и представление. Создавать такие приложения достаточно просто с помощью модуля.net Framework, который называется Windows Forms и представляет собой библиотеку управляющих элементов (кнопок, панелей инструментов, меню и т. п.

); эта библиотека может использоваться для создания пользовательского интерфейса (user interface, Ul) Windows. Web-приложения. Эти приложения представляют собой web-страницы, которые могут просматриваться любым web-браузером. В состав.

net Framework входит мощная система динамического создания содержимого web-страниц, позволяющая идентифицировать пользователя, обеспечивать безопасность и пр. Эта система называется Active Server Pages.NET (ASP.NET активные серверные страницы.net); для создания приложений ASP.NET можно применять Web Forms языка С#. Web-службы.

Это новый замечательный способ создания гибких распределенных приложений. С помощью web-служб можно обмениваться по Интернету практически любыми данными с использованием единого простого синтаксиса независимо оттого, какой язык программирования применялся при создании web-службы и на какой системы она размещена.

Приложениям всех перечисленных типов может потребоваться доступ к базам данных, что осуществляется с помощью раздела.net Framework, называемого Active Data Objects.NET (ADO.NET активные объекты с данными.net). Также можно использовать и многие другие ресурсы, например, инструменты для создания 14

15 сетевых компонентов, графического вывода, выполнения сложных математических вычислений и т.д. 15

16 Заключение На основании материала, изученного в данной работе, можно сформулировать следующие выводы: Возникновение языка C# было обусловлено прогрессом технологий и возрастающими достижениями в области программирования и разработки C# относится к С-подобным языкам, поэтому многие синтаксические конструкции являются заимствованными из более ранних реализаций С. Также C# имеет некоторое сходство с Java, так как создан на общем базисе для решения сходной задачи (создание переносимого кода) Язык C# выгодно отличается от своих предшественников и конкурентов широким спектром поддерживаемых возможностей и относительной простотой в использовании C# популярен, так как применяется для создания приложений, пользующихся большим спросом (а также вследствие распространения ОС Windows и созданной для неё NET Framework) В данной работе реализованы следующие цели: Описана история создания С#. Рассмотрены особенности языка и реализация основных его конструкций. Представлены сферы применения языка С#. Проведено сравнение C# с предшествующими ему языками: С и C++. 16

17 Библиографический список 1. C Sharp. Википедия – свободная энциклопедия, – [Электронный ресурс] URL: (Дата обращения: ) 2. Введение в язык C# и.net Framework, – [Электронный ресурс] URL: (Дата обращения: ) 3. Лахатин, А.С. Языки программирования. Учеб. пособие / А. С. Лахатин, Л.Ю. Исакова.

Екатеринбург, с.: ил. 4. Уэйт, М. Язык С. Руководство для начинающих. / М. Уэйт, С. Прага, Д. Мартин. – М.: Мир, с.: ил. 5. Богатырев, А. Язык программирования С, – [Электронный ресурс] URL: (Дата обращения: ) 6. C# 2005 для профессионалов / К. Нейгел, Б. Ивьен, Д. Глин и др.

– Москва, Санкт-Петербург, Киев: «Диалектика», Петцольд Ч. Программирование для Microsoft Windows на C#. В 2-х томах: Пер. с англ. – М.: Издательско-торговый дом “Русская Редакция”, Лабор В. В. СиШарпсозданиеприложенийдляWindows. – Минск :Харвест, Марченко А. Л. Основы программирования на C# М.

: БИНОМ (Лаборатория знаний, Интернет-университет информационных технологий – ИНТУИТ.ру), Кариев Ч. А. Разработка Windows-приложений на основе Visual C#. – М.: БИНОМ (Лаборатория знаний, Интернет-университет информационных технологий – ИНТУИТ.ру), C Sharp.

Википедия – свободная энциклопедия, – [Электронный ресурс] URL: (Дата обращения: ) 17

18 12. Воройский Ф. С. Информатика. Новый систематизированный толковый словарь-справочник. – 3-е изд. – М.: ФИЗМАТЛИТ, Brown E. Windows Forms Programming with C#. – Manning Publications Co.,

Источник: https://docplayer.ru/60547984-Pck-estestvennonauchnyh-disciplin-matematiki-i-informatiki-referat-na-temu-yazyk-programmirovaniya-c-avtor-referata-bondarev-a-n.html

Языки программирования. Их классификация и развитие – Examenna5/Рефераты-Скачать

Доклад-сообщение Языки программирования

Введение……….3

1. Классификация языков программирования……….5

1.1. Машинно – ориентированные языки……….5

1.2 Машинно – независимые языки……….7

2. Развитие языков програмирования ………9

2.1. Ассемблер………..9

2.2. Лисп……….9

2.3 Фортран……….10

2.4 Бейсик………..11

2.5 Рефал……….12

2.6 Пролог и Пролог………..13

2.7 Лекс……….14

2.8 Cи……….14

Заключение……….17

Список литературы……….18

Введение

Язык формирует наш способ

мышления и определяет то,

о чем мы можем мыслить.

Б.Л Ворф

Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Смысл появления такого языка – оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм.

Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько “близок к машине”, что всеми основными машинными аспектами…

 

1.1. Машинно – ориентированные языки

Машинно – ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно –ориентированные языки позволяют использовать все возможности и особенности Машинно – зависимых языков:

– высокое качество создаваемых программ (компактность и скорость выполнения);

– возможность использования конкретных аппаратных ресурсов;

– предсказуемость объектного кода и заказов памяти;

– для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;

– трудоемкость процесса составления программ ( особенно на машинных…

1.2 Машинно – независимые языки

…Позволяя четко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны быть выполнены прежде чем переходить к какому-либо действию. Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения.

Табличные методы легко осваиваются специалистами любых профессий.

Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе.

2.1. Ассемблер

Язык Ассемблера – это символическое представление машинного языка. Он облегчает процесс программирования по сравнению с программированием в машинных кодах.

2.2. Лисп

Один из самых старых языков программирования Фортран был создан в 50-х гг. нашего века. Фортран и подобные ему языки программирования (Алгол, ПЛ/1) предназначались для решения вычислительных задач, возникающих в математике, физике, инженерных расчетах, экономике и т.п. Эти языки в основном работают с числами.

2.3 Фортран

Одним из первых и наиболее удачных компиляторов стал язык Фортран, разработанный фирмой IBM. Профессор Дж. Букс и группа американских специалистов в области программирования в 1954 году опубликовало первое сообщение о языке. Дословно, название языка FORmulae TRANslation –преобразование формул.

2.4 Бейсик

Как знаменитые гамбургеры, бейсбол и баскетбол, Бейсик – это продукт Новой Англии. Как я говорил, созданный в 1964г., как язык обучения программированию. Бейсик является общепринятым акронимом от”Beginner's All-purpose Symbolic Insruction Code” (BASIC) – Многоцелевой Символический Обучающий Код для Начинающих”.

2.5 Рефал

Рефал широко применяется при разработке трансляторов с алгоритмических языков как универсальных и проблемно – ориентированных, так и автокодов. Кроме использования в задачах трансляции, Рефал имеет такие важные сферы применения, как машинное выполнение громоздких аналитических выкладок в теоретической физике и прикладной математике; проектирование «умных» информационных систем,…

2.6 Пролог и Пролог

Пролог – это язык, предназначенный для поиска решений. Это декларативный язык, то есть формальная постановка задачи может быть использована для ее решения. Пролог определяет логические отношения в задаче, как отличные от пошагового решения этой задачи.

2.7 Лекс

Лекс – генератор программ лексического анализа. Лексический анализ – это распознавание лексем во входном потоке символов. Предположим, что задано некоторое конечное множество слов (лексем) в некотором языке и некоторое входное слово.

Необходимо установить, какой элемент множества (если он существует) совпадает с данным входным словом. Обычно лексический анализ выполняется так называемым лексическим анализатором. Лексический анализатор – это программа.

Лексический анализ применяется во многих случаях, например, для построения пакетного редактора или в качестве распознавателя директив в диалоговой программе и…

2.8

Си – это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью.

Указанные преимущества Си обеспечивают хорошее качество разработки почти любого вида программного продукта.

Использование Си в качестве инструментального языка позволяет получать быстрые и компактные программы. Во многих случаях программы, написанные на Си, сравнимы по…

Заключение

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

Список литературы

1. “Язык программирования Си.” Б.В. Керниган, Д. Ритчи, А. Фьюэр. Русский перевод: Москва: Финансы и Статистика. 1985 г.;

2. “Основы автоматизации” ч.1, Золотарев В.В., 1978 г.;

3. “Языки программирования” кн.5, Ваулин А.С., 1993 г.;

Источник: http://examenna5.net/work/27

Referat-i-doklad
Добавить комментарий