Языки программирования Дмитрий Сошников dmitryso@microsoft.com.

Презентация:



Advertisements
Похожие презентации
Язык программирования C# Дмитрий Сошников
Advertisements

Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет Прикладной математики и физики Кафедра Вычислительной математики и программирования.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
История развития языков программирования. ИСТОРИЯ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Алгоритм, записанный на «понятном» компьютеру языке программирования,
АНАСТАСИЯ ТКАЧУК PK11-PV TEKO 1 Языки программирования.
ДЕЛЕГАТЫ Лекция 7 1. Зачем нужны делегаты 2 И данные, и код располагаются в памяти компьютера по определенным адресам. Передача адресов данных в C# происходит.
1 Умение мыслить объектно (проектирование архитектуры) Культура кодирования Знание языка и технологий Знание языка и технологий Понимание процесса Задача.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Сравнительный анализ языков программирования Автор Родионов Михаил.
Вперёд ЯЗЫКИ ПРОГРАММИРОВАНИЯ ЦЕЛИ: ЦЕЛИ: 1. Средство для задания действий, которые должны быть выполнены машиной.(Машинный язык) 1. Средство для задания.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
ИНТЕГРАЦИЯ МЕТОДОВ ИНЖЕНЕРИИ ЗНАНИЙ И ИНЖЕНЕРИИ ПРОГРАММ СИСТЕМА УПРАВЛЕНИЯ ЗНАНИЯМИ KNOWLEDGE.NET Участники проекта Новиков Антон Владимирович Сигалин.
Наследование Наследование – это отношение является между классами. class Person { string first_name; int birth_year;... } class Student : Person { float.
Со времени создания первых компьютеров человечество придумало уже более восьми с половиной тысяч языков программирования Первым общепризнанным языком высокого.
Богданов Марат Робертович Современные веб-технологии. Подробный курс RIA-приложения.
AJAX Asynchronous Javascript and XML. Для чего нужен AJAX Недостаточная функциональность HTTP и HTML Не интерактивен Нет частичных обновлений Альтернативы.
Транксрипт:

Языки программирования Дмитрий Сошников

Как устроен компьютер? Центральный процессор Программа Данные Память Жесткий диск

Первый язык программирования высокого уровня – ФОРТРАН – был создан Дж.Бэкусом, чтобы математики могли программировать на уровне формул программирование переключателей машинные коды язык ассемблера FORTRAN г., Дж.Бэкус A 12 1F 4B C3 E0 EE F C3 1D F2 00 0C 0D 0010 … MOVAX, [ARG1] ADDAX, [ARG2] MOV[RES], AX JMPNEXT ARG1:DB10 ARG2:DB20 RES:DB0 NEXT:… S = 0 DO 10 I=1,10 S = S + I*I 10CONTINUE История языков программирования: начало

Императивные (алгоритмические) языки программирования Программы состоят из операторов Операторы «что-то делают»: изменяют состояние памяти Состояние памяти определяется переменными float a = 1, b = 2, c = -5; var d = b * b - 4 * a * c; var x1 = (-b + Math.Sqrt(d)) / 2 / a; var x2 = (-b - Math.Sqrt(d)) / 2 / a; Console.WriteLine(x1); Console.WriteLine(x2);

Императивные языки программирования программирование переключателей машинные коды язык ассемблера FORTRAN LISP С, Pascal С++ Java C# Python

Объектно-ориентированные языки Необходимо как-то структурировать код Мир состоит из объектов и классов объектов, со своими свойствами Более «конкретные» объекты наследуют свойства более абстрактных Ключевые свойства: – Инкапсуляция – Наследование – Полиморфизм (абстракция)

Основной язык – C# using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { float a = 1, b = 2, c = -5; var d = b * b - 4 * a * c; var x1 = (-b + Math.Sqrt(d)) / 2 / a; var x2 = (-b - Math.Sqrt(d)) / 2 / a; Console.WriteLine(x1); Console.WriteLine(x2); Console.ReadKey(); }

Функциональные языки Иногда удобно представлять себе процесс обработки данных как применение некоторой функции к этим данным В этом случае нет понятия памяти – данные подаются на вход функциям и получаются на выходе Возможность передавать функции другим функциям как данные даёт богатые возможности по комбинированию функций для достижения нужного результата let solve a b c = let d = b*b-4.0*a*c (-b+sqrt(d))/2./a, (-b-sqrt(d))/2./a solve

Эволюция языков программирования программирование переключателей машинные коды язык ассемблера FORTRAN FP LISP С, Pascal С++ Java C# Haskell Prolog Mercury F# OCaml ML Miranda Python

Платформа.NET Операционная система Аппаратура компьютера (процессор, память, …) Платформа Microsoft.NET Исполнитель byte-code Библиотека C# Visual Basic.NET F# Managed C++ … …

Когда нужны разные языки? ЗадачаЯзык программирования Встраиваемые системы, системы реального времени С, С++ Операционные системыС, С++ Корпоративные системыC# (+SQL) Веб-сайты, порталыC# (+HTML) Обработка данных, компиляторыF#, C# Игры (для Windows, XBox)C#, C++ Приложения для телефона (XNA)C# Богатые приложения для Интернет (RIA, Silverlight) C# (+XAML)

Другие компьютерные языки Разметка текста (HTML, XAML, CSS, …) Представление данных (XML) Запросы к данным (SQL) …

Разметка текста - HTML Привет! Это пример разметки в HTML

Представление данных - XQuery: //publications

Запросы к данным - SQL IDName 1Dmitri Soshnikov 2Peter Pen IDPerson_IDTitle 11Programming Languages 21Programming in C# People Publications SELECT People.Name, Publications.Title FROM People, Publications WHERE People.ID = Publications.Person_ID SELECT People.PName, (SELECT COUNT(*) FROM Publications WHERE Publications.Person_ID=People.ID) AS Count FROM People

Thank.You! Дмитрий Сошников