Язык программирования C#
Разработка Microsoft нового языка С#. Общее описание языка С#, сравнение с другими языками программирования, использование и примеры программы. Возможность конструирования различных компонентов - от высокоуровневой бизнес логики до системных приложений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 22.11.2009 |
Размер файла | 25,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
18
Язык программирования C#
Реферат
Тамбов 2009
Содержание
Введение
Общее описание языка
Сравнение C # с другими языками программирования
Использование C #
Пример программы на C #
Заключение
Список использованных источников
Введение
Язык программирования С# был создан в конце 1990-х годов и стал частью общей .NET-стратегии Microsoft. Впервые он увидел свет в качестве б-версии в середине 2000 года. Главным архитектором С# был Андерс Хейлсберг (Anders Hejlsberg) -- один из ведущих специалистов в области языков программирования, получивший признание во всем мире. Достаточно сказать, что в 1980-х он был автором весьма успешного продукта Turbo Pascal, изящная реализация которого установила стандарт для всех будущих компиляторов. С# непосредственно связан с С, C++ и Java. И это не случайно. Эти три языка -- самые популярные и самые любимые языки программирования в мире. Более того, почти все профессиональные программисты сегодня знают С и C++, и большинство знает Java. Поскольку С# построен на прочном, понятном фундаменте, то переход от этих "фундаментальных" языков к "надстройке" происходит без особых усилий со стороны программистов. Так как Андерс Хейлсберг не собирался изобретать свое "колесо", он сосредоточился на введении усовершенствований и новшеств.
"Дедушкой" С# является язык С. От С язык С# унаследовал синтаксис, многие ключевые слова и операторы. Кроме того, С# построен на улучшенной объектной модели, определенной в C++. Если вы знаете С или C++, то с С# вы сразу станете друзьями. С# и Java связаны между собой несколько сложнее. Как упоминалось выше, Java также является потомком С и C++. У него тоже общий с ними синтаксис и сходная объектная модель. Подобно Java C# предназначен для создания переносимого кода. Однако С# -- не потомок Java. Скорее С# и Java можно считать двоюродными братьями, имеющими общих предков, но получившими от родителей разные наборы "генов".
Общее описание языка
Последнее время С и С++ являются наиболее используемыми языками для разработки коммерческих и бизнес приложений. Эти языки устраивают многих разработчиков, но в действительности не обеспечивают должной продуктивности разработки. К примеру, процесс написания приложения на С++ зачастую занимает значительно больше времени, чем разработка эквивалентного приложения, скажем, на Visual Basic. Сейчас существуют языки, увеличивающие продуктивность разработки за счет потери в гибкости, которая так привычна и необходима программистам на С/С++. Подобные решения являются весьма неудобными для разработчиков и зачастую предлагают значительно меньшие возможности. Эти языки также не ориентированы на взаимодействие с появляющимися сегодня системами и очень часто они не соответствуют существующей практике программирования для Web. Многие разработчики хотели бы использовать современный язык, который позволял бы писать, читать и сопровождать программы с простотой Visual Basic и в то же время давал мощь и гибкость C++, обеспечивал доступ ко всем функциональным возможностям системы, взаимодействовал бы с существующими программами и легко работал с возникающими Web стандартами.
Учитывая все подобные пожелания, Microsoft разработала новый язык - C#. В него входит много полезных особенностей - простота, объектная ориентированность, типовая защищенность, "сборка мусора", поддержка совместимости версий и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения, особенно COM+ приложения и Web сервисы. При создании C#, его авторы учитывали достижения многих других языков программирования: C++, C, Java, SmallTalk, Delphi, Visual Basic и т.д. Надо заметить что по причине того, что C# разрабатывался с чистого листа, у его авторов была возможность (которой они явно воспользовались), оставить в прошлом все неудобные и неприятные особенности (существующие, как правило, для обратной совместимости), любого из предшествующих ему языков. В результате получился действительно простой, удобный и современный язык, по мощности не уступающий С++, но существенно повышающий продуктивность разработок.
Очень часто можно проследить такую связь - чем более язык защищен и устойчив к ошибкам, тем меньше производительность программ, написанных на нем. К примеру рассмотрим две крайности - очевидно это Assembler и Java. В первом случае вы можете добиться фантастической быстроты своей программы, но вам придется очень долго заставлять ее работать правильно не на вашем компьютере. В случае же с Java - вы получаете защищенность, независимость от платформы, но, к сожалению, скорость вашей программы вряд ли совместима со сложившимся представлением о скорости, например, какого-либо отдельного клиентского приложения (конечно существуют оговорки - JIT компиляция и прочее). Рассмотрим C++ с этой точки зрения - на мой взгляд соотношение в скорости и защищенности близко к желаемому результату, но на основе собственного опыта программирования я могу с уверенностью сказать, что практически всегда лучше понести незначительную потерю в производительности программы и приобрести такую удобную особенность, как "сборка мусора", которая не только освобождает вас от утомительной обязанности управлять памятью вручную, но и помогает избежать вам многих потенциальных ошибок в вашем приложении. В действительности скоро "сборка мусора", да и любые другие шаги к устранению потенциальных ошибок стану отличительными чертами современного языка. В C#, как в несомненно современном языке, также существуют характерные особенности для обхода возможных ошибок. Например, помимо упомянутой выше "сборки мусора", там все переменные автоматически инициализируются средой и обладают типовой защищенностью, что позволяет избежать неопределенных ситуаций в случае, если программист забудет инициализировать переменную в объекте или попытается произвести недопустимое преобразование типов. Также в C# были предприняты меры для исключения ошибок при обновлении программного обеспечения. Изменение кода, в такой ситуации, может непредсказуемо изменить суть самой программы. Чтобы помочь разработчикам бороться с этой проблемой C# включает в себя поддержку совместимости версий (vesioning). В частности, в отличии от C++ и Java, если метод класса был изменен, это должно быть специально оговорено. Это позволяет обойти ошибки в коде и обеспечить гибкую совместимость версий. Также новой особенностью является native поддержка интерфейсов и наследования интерфейсов. Данные возможности позволяют разрабатывать сложные системы и развивать их со временем.
В C# была унифицирована система типов, теперь вы можете рассматривать каждый тип как объект. Несмотря на то, используете вы класс, структуру, массив или встроенный тип, вы можете обращаться к нему как к объекту. Объекты собраны в пространства имен (namespaces), которые позволяют программно обращаться к чему-либо. Это значит что вместо списка включаемых файлов заголовков в своей программе вы должны написать какие пространства имен, для доступа к объектам и классам внутри них, вы хотите использовать. В C# выражение using позволяет вам не писать каждый раз название пространства имен, когда вы используете класс из него. Например, пространство имен System содержит несколько классов, в том числе и Console. И вы можете писать либо название пространства имен перед каждым обращением к классу, либо использовать using как это было показано в примере выше.
Важной и отличительной от С++ особенностью C# является его простота. К примеру, всегда ли вы помните, когда пишите на С++, где нужно использовать "->", где "::", а где "."? Даже если нет, то компилятор всегда поправляет вас в случае ошибки. Это говорит лишь о том, что в действительности можно обойтись только одним оператором, а компилятор сам будет распознавать его значение. Так в C#, оператор"->" используется очень ограничено (в unsafe блоках, о которых речь пойдет ниже), оператор "::" вообще не существует. Практически всегда вы используете только оператор "." и вам больше не нужно стоять перед выбором.
Еще один пример. При написании программ на C/С++ вам приходилось думать не только о типах данных, но и о их размере в конкретной реализации. В 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#, используя атрибуты, ориентированные на условные слова, вы можете куда быстрее писать отлаживаемый код.
В наше время, когда усиливается связь между миром коммерции и миром разработки программного обеспечения, и корпорации тратят много усилий на планирование бизнеса, ощущается необходимость в соответствии абстрактных бизнес процессов их программным реализациям. К сожалению, большинство языков реально не имеют прямого пути для связи бизнес логики и кода. Например, сегодня многие программисты комментируют свои программы для объяснения того, какие классы реализуют какой-либо абстрактный бизнес объект. C# позволяет использовать типизированные, расширяемые метаданные, которые могут быть прикреплены к объекту. Архитектурой проекта могут определяться локальные атрибуты, которые будут связанны с любыми элементами языка - классами, интерфейсами и т.д. Разработчик может программно проверить атрибуты какого-либо элемента. Это существенно упрощает работу, к примеру, вместо того чтобы писать автоматизированный инструмент, который будет проверять каждый класс или интерфейс, на то, является ли он действительно частью абстрактного бизнес объекта, можно просто воспользоваться сообщениями основанными на определенных в объекте локальных атрибутах.
Сравнение C# с другими языками программирования
C#, являясь последним из широко распространенных языков программирования, должен впитать в себя весь имеющийся опыт и вобрать лучшие стороны существующих языков программирования, при этом являясь специально созданным для работы в .NET. Сама архитектура .NET продиктовала ему (как и многим другим языкам, на которых можно писать под .NET) объектно-ориентированную направленность. Конечно, это не является правилом, возможно создание компиляторов даже функциональных языков по .NET, на эту тему существуют специальные работы.
Свой синтаксис C# во многом унаследовал от C++ и Java. Разработчики, имеющие опыт написания приложений на этих языках, найдут в C# много знакомых черт. Но вместе с тем он является во многом новаторским - аттрибуты, делегаты и события, прекрасно вписанные в общую идеологию языка, прочно заняли место в сердцах .NET - разработчиков. Их введение позволило применять принципиально новые приемы программирования.
Конечно, излюбленным объектом для сравнения с C# у мировой коммьюнити является Java. Также разработанный для работы в виртуальной среде выполнения, имеющей объектно-ориентированную архитектуру и сборщик мусора, осноыванный на механизме ссылок. При сравнении с этим языком сразу выделаются такие особенности, как возможность объявлять несколько классов в одном файле, из чего следует синтаксическая поддержка иерархической системы пространств имен. Из реализации ООП-концепций сходство в механизме наследования и реализации (и в Java и в C# возможно единичное наследование, но множественная реализация интерфейсов, в отличие от C++). Но в Java отсутствуют свойства и индексаторы (а также делегаты и события, но они отсутствуют еще много где). Также есть возможность перечисления контейнеров.
Из вещей, включенных в спецификацию языка, но не являющихся чисто "программистскими" необходимо отметить возможность использование комментариев в формате XML. Если комментарии отвечают специально описанной стркутуре, компилятор по ним может сгенерировать единый XML-файл документации.
Но C# внес и свои уникальные черты, которые уже были упомянуты - это события, индексаторы, аттрибуты и делагаты. Все эти элементы будут обсуждены в следующих частях, сейчас лишь отмечу, что они предоставляют собой очень полезные возможности, которые не останутся невостребованными.
Использование C#
В этой части будут рассмотрены более практические аспекты использования C#. Компиляция, отладка и тому подобные вопросы. Начнем с компиляции:
Переходя к более подробному знакомству с C#, традиционно рассмотрим программу "Hello, world": using System;
class Hello{
static void Main() {
Console.WriteLine("hello, world");
}
}
Поместите эту программу в файл hello.cs и скомпилируйте ее командой
csc hello.cs
Так выглядит вызов компилятора в простейшем случае. Далее мы приведем полный список параметров компилятора. При вызове компилятора убедитесь, что у вас прописан путь csc.exe - C Sharp Compiler
В результате вы получите файл hello.exe, запустив который, вы увидите надпись "hello, world".
Метод Main - это точка входа в программу. С него начинается выполнение (те, кто знаком с C++ или Java) понимают, о чем идет речь. Этот метод обязательно должен быть статическим. Далее в нашем примере используется метод WriteLine из класса System.Console. Этот метод отправляет строку на стандартный вывод.
Вы можете также создавать библиотеки классов - dll-сборки, которые могут использоваться другими приложениями. Для этого нужно указать /target:library в опциях компилятора
Если компилятор обнаружит ошибки в программе, он выдаст соответствующее сообщение и остановит процесс компиляции. Также он может выдать предупреждения - если он обнаружит код, который, строго говоря, правильный, но имеет подозрения на ошибку. К таким предупреждениям стоит прислушиваться.
Вообще, компилятор C# имеет множество возможностей, узнать о которых можно из слеующей таблицы. В ней описаны все опции командной строки компилятора CSC:
Выходные файлы/out:<file> Имя выходного файла (если не указано - производное от имени первого исходного файла)
/target:exe Скомпилировать консольный запускаемый файл (по умолчанию) (Краткая форма: /t:exe)
/target:winexe Скомпилировать запускаемый файл Windows (Краткая форма: /t:winexe)
/target:library Скомпилировать в библиотеку DLL (Краткая форма: /t:library)
/target:module Скомпилировать модуль, который может быть добавлен в другую конструкцию (Краткая форма: /t:module)
* Примечание: Модуль и библиотека имеют одинаковые расширения (DLL), но несмотря на это, они представляют из себя разные вещи. Библиотека - это классическая библиотека DLL. Модуль - это файл откомпилированный без создания конструкции (assembly). В дальнейшем вы можете добавить модуль в любую другую конструкцию при компиляции (с помощью опции /addmodule). /nooutput[+|-] Только проверять ошибки в коде; не создавать запускаемый файл
/define:<список символов> Определяет директивы препроцессора (Краткая форма: /d)
Написание csc /define:mark1 MyApp.cs равносильно наличию в файле строки
#define mark1
/doc:<file> Создать XML файл документации
Входные файлы/recurse:<маска> Включить все файлы, удовлетворяющие маске.
/main:<тип> Обозначить класс, содержащий точку входа в программу (все остальные будут игнорироваться) (Краткая форма: /m)
/reference:<список файлов> Включить метаданные из указанных файлов конструкций (Краткая форма: /r)
* Примечание: все данные, помеченные как public, из указаных файлов конструкций будут включены в данную конструкцию. Если файл не содержит объявления конструкции, то метаданные из него могут быть включены с помощью /addmodule./addmodule:<список файлов> Включить указанные модули в сборку
Ресурсы/win32res:<file> Добавляет файл ресурсов Win32(.res) в выходной файл
/win32icon:<file> Добавляет иконку в выходной файл
/resource:<resinfo> Включает .NET ресурс (Краткая форма: /res)
* Примечание: resinfo являет собой следующую последовательность: filename[,identifier[,mimetype]], где filename - имя файла ресурса, identifier - логическое имя ресурса (используется для его загрузки), mimetype - медиа тип ресурса (обычно отсутствует). /linkresource:<resinfo> Создает ссылку на ресурсный файл в данной сборке (не включая его в выходной файл)(Краткая форма: /linkres)
Создание кода/debug[+|-] Создавать информацию отладки.
/debug:{full|pdbonly} Указание типа отладки ('full' - по умолчанию, позволяет прикреплять отладчик к запускаемой программе)
/optimize[+|-] Запускать оптимизацию (Краткая форма: /o)
/incremental[+|-] Запускать компиляцию только измененных частей кода(Краткая форма: /incr)
Ошибки и предупреждения /warnaserror[+|-] Относиться к предупреждениям, как к ошибкам
/warn:<n> Установить уровень предупреждений (0-4) (Краткая форма: /w)
/nowarn:<список предупреждений> Исключить указанные предупреждения
* Примечание: список предупреждений - последовательность их номеров num1[,num2[...]]
Язык/checked[+|-] Выполнять проверки на переполнения и опустошения
/unsafe[+|-] Допускать unsafe код (unsafe код - небезопасный код, он будет обсужден в дополнительных главах)
Разное@<file> Прочтение команд и опций компилятора из файла
/help Показывает информацию о использовании (Краткая форма: /?)
/nologo Не показывать копирайт при компиляции
Дополнительно/baseaddress:<address> Базовый адрес для создаваемой библиотеки
/bugreport:<file> Создавать файл отчета об ошибках
/codepage:<n> Указать таблицу символов, для использования во время открытия исходного текста
/fullpaths Компилятор будет указывать полные имена файлов
/nostdlib[+|-] Не допускать включения стандартной библиотеки (mscorlib.dll). В этой библиотеке хранятся все основные классы .NET Framework.
Пример программы на C#
Теперь пришло время "пощупать" новый язык - посмотреть как он на вкус. Для этого мы разберем небольшую программу на C#.
// Используем основные классы .NET Framework
using System;
// Объявляем, что мы работаем в пространстве имен SampleProgram
namespace SampleProgram
{
///
/// Класс Client содержит информацию о кленте - его имя и баланс счета
///
class Client
{
///
/// Эта переменная хранит имя клиента
///
private string _name;
///
/// Эта переменная хранит баланс счета клиента
///
private int _balance;
///
/// Это свойство используется для доступа к имени клиента.
/// Принято все переменные класса закрывать для доступа извне
/// и предоставлять доступ к ним через свойства, чтобы контролировать
/// доступ.
///
public string Name
{
// Здесь мы определяем код, который будет использован для
// получения значения свойства
get
{
return _name;
}
// Этот код служит для присвоения свойству нового значения
// Параметр value здесь представляет новое значения свойства
set
{
_name = value;
}
}
///
/// Это свойство служит для доступа к счету клиента. Доступ на
/// запись для него закрыт, чтобы нельзя было извне класса
/// в обход его методов изменить сумму на счету клиента.
///
public int Balance
{
get
{
return _balance;
}
}
///
/// Здесь мы определяем констуктор - метод, используемый
/// для создания нового объекта данного класса.
///
/// Параметр name задает имя для нового клиента
/// Параметр initialCash задает начальную сумму, которая будет на его счету
public Client( string name, int initialCash )
{
// Задаем имя клиента через свойство
Name = name;
// Задаем начальный счет через непосредственный доступ к переменной
_balance = initialCash;
}
///
/// Этот метод перечисляет деньги на счет клиента
///
/// Этот параметр задает сумму, которая будет перечислена
/// Этот параметр задает идентификатор транзакции для проверки подлинности перечисления
public void AddMoney( int amount, int transactionID )
{
// Если транзакция верна
if (Transaction.CheckID(transactionID))
// Перечисляем деньги
_balance += amount;
else
// Иначе генерируем исключение
throw new Exception("Wrong transaction ID");
}
///
/// Этот метод переопределяет стандартный метод ToString, определенный в классе
/// System.Object. По умолчанию этот метод выводит класс объекта.
///
/// Метод возвращает стороковое представление объекта
public override string ToString()
{
return Name + " (" + Balance + ")";
}
}
///
/// Класс транзакции. В нашем примере он будет лишь проверять правильность идентификатора транзакции
///
public class Transaction
{
///
/// Этот метод проверяет, верный ли идентификатор ему передан
///
/// Идентификатор для проверки
/// Возвращает true, если идентификатор верен и false если нет
public static bool CheckID( int id )
{
// В нашем примере идентификатор считается правильным, если он не делится на 2
return id % 2 != 0;
}
}
///
/// Класс приложения - класс, предстваляющий основное направление выполнения программы.
/// В нем определена точка входа
///
public class Application
{
///
/// Точка входа в программу
///
public static void Main()
{
// Создаем нового клиента по имени Johny Smith и двумястами долларами на счету
Client client = new Client("Johnny Smith", 200);
// Выводим начальное состояние клиента
// Благодаря перегрузке метода ToString, мы получим информацию о клиенте
Console.WriteLine("Начальное состояние: " + client);
// Следующий код мы заключаем в try...catch блок, так как в нем могут
// возникнуть исключения.
try
{
client.AddMoney(100, 0);
client.AddMoney(140, 1);
}
// Этот блок будет вызван, если возникнет исключение
catch (Exception)
{
Console.WriteLine("Перечисление денег было отклонено");
}
// Этот код будет вызван в любом случае либо по отработке блока catch, либо блока try
finally
{
Console.WriteLine("Конечное состояние клиента: " + client);
}
}
}
}
Приведенная программа демонстрирует различные аспекты C#. Что касается логики, она просто создает объект класса Client и пытается изменить состояние его счета. Первый раз удачно, второй - нет. Программа выводит на экран следющий текст:
Начальное состояние: Johnny Smith (200)
Перечисление денег было отклонено
Конечное состояние клиента: Johnny Smith (200)
Заключение
Ввиду очень удобного объектно-ориентированного дизайна, C# является хорошим выбором для быстрого конструирования различных компонентов - от высокоуровневой бизнес логики до системных приложений, использующих низкоуровневый код. Также следует отметить, что C# является и Web ориентированным - используя простые встроенные конструкции языка ваши компоненты могут быть легко превращены в Web сервисы, к которым можно будет обращаться из Internet посредством любого языка на любой операционной системе. Дополнительные возможности и преимущества перед другими языками приносит в C# использование передовых Web технологий, таких как: XML (Extensible Markup Language) и SOAP (Simple Object Access Protocol). Среда разработки Web сервисов позволяет программисту смотреть на существующие сегодня Web приложения, как на родные C# объекты, что дает возможность разработчикам соотнести имеющиеся Web сервисы с их познаниями в объектно-ориентированном программировании.
Список использованных источников
1. Лахатин, А.С. Языки программирования. Учеб. пособие / А.С. Лахатин, Л.Ю. Искакова. - Екатеринбург, 1998. - 548с.: ил.
2. Богатырев, А. Язык программирования С [Электронный ресурс] / А. Богатырев.- электр. дан. - Режим доступа: http://www.refby.com. - Загл. с экрана.
3. Уэйт, М. Язык С. Руководство для начинающих. / М. Уэйт, С. Прага, Д. Мартин. - М.: Мир, 1995. - 521с.: ил.
4. Фридман, А.Л. Язык программирования С++ / А.Л.Фридман. - М.: Бином, 2006. - 523с.: ил.
Подобные документы
Сравнение языка Php с другими языками программирования web-приложений. Язык разметки гипертекстовых страниц Html. Технология Macromedia Flash, её преимущества и недостатки. Этапы создания флеш-сайта, руководство пользователя и листинг программы.
дипломная работа [2,3 M], добавлен 04.10.2013Создание простого непроцедурного языка, которым может воспользоваться любой пользователь. Разработка языка запросов. Стандартный язык реляционных баз данных. Вопросы практического программирования. Фиксированный исполняемый код SQL и типы команд SQL.
доклад [1,9 M], добавлен 12.01.2011Разработка программы, реализующей построение объемной гистограммы с использованием свойств языка программирования Java. Возможность графически отобразить статистические данные урожайности как основное требование к программе. Реализация кода программы.
курсовая работа [333,5 K], добавлен 21.01.2013Характеристика структурированного языка программирования С, его основных структурных компонентов, области памяти, библиотеки. Методы поиска в массивах данных. Описание программы, функции сортировки и меню выбора, последовательного и бинарного поиска.
курсовая работа [1,7 M], добавлен 19.05.2014Изучение общей структуры языка программирования Delphi: главные и дополнительные составные части среды программирования. Синтаксис и семантика языка программирования Delphi: алфавит языка, элементарные конструкции, переменные, константы и операторы.
курсовая работа [738,1 K], добавлен 17.05.2010Разработка на языке программирования C# в среде Microsoft Visual Studio 2010 на базе Microsoft NET Framework 4 (4.5) программного средства, реализующего компилятор модельного языка программирования. Лексический, синтаксический и семантический анализатор.
курсовая работа [1,3 M], добавлен 24.06.2013Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Выбор языка программирования и его обоснование. Определение системных требований. Схема алгоритма и программа на языке Qbasic. Разработка руководства пользователя. Способы конструирования программ. Особенности и принципы динамического программирования.
курсовая работа [398,8 K], добавлен 21.01.2014Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".
практическая работа [26,0 K], добавлен 04.02.2015Понятие и специфические особенности языка программирования Си, история его создания. Интегрированная система Borland C. Процесс программирования с помощью данного языка. Графические примитивы в языках программирования. Преобразования на плоскости.
курс лекций [782,2 K], добавлен 04.10.2011