Similar presentations:
Общие сведения о сфере. Общие понятия об устройстве компьютера. Классификация языков программирования
1.
ВведениеОбщие сведения о сфере. Общие понятия об устройстве
компьютера. Классификация языков программирования.
2.
План• Сфера IT сегодня
• Порог входа
• Основные направления деятельности
• Общие сведения о компьютере
• Что такое ЯП?
• Классификация языков программирования
• По назначению
• По типу исполнения кода
3.
Организационный вопрос• В занятиях практику предпочитаю теории
• Между занятиями – ДЗ
• Вопросы по ДЗ приветствуются
• Некоторые темы пойдут на самостоятельное изучение
– для расширения кругозора в области
4.
Сфера ITФинтех
Разработка
Веб-разработка
Консультирование
Back-end
Full Stack
Front-end
5.
Сфера ITМикроэлектроника
ИИ
Разработка
новых
моделей
Выбор новых
применений
Работа с
«железом»
Разработка
приложений
Мобильные
платформы
Игры
6.
Порог входа• На сегодняшний день порог входа весьма высокий
• Вместе с этим – дефицит специалистов данной отрасли
• Компромисс – много стажировок, начальных позиций, куда
согласны брать сотрудников с дальнейшим обучением
• Однако, зависит от сферы
7.
Что такое компьютер?• Компьютер – устройство или система, способная выполнять
заданную, четко определенную, изменяемую
последовательность операций. (с) Википедия
8.
Что такое компьютер?9.
ПамятьRAM – Random Access Memory
• Оперативная память(ОЗУ)
• Энергозависимая
• Быстрая
• Предназначена для хранения
данных программ
• Небольшой объем
ROM – Read-Only Memory
• Постоянное запоминающее
устройство(ПЗУ)
• Энергонезависимая
• Медленная
• Предназначена для хранения
больших файлов длительное
время
• Большой объем
10.
Память• Далее речь пойдет только об ОЗУ. Именно в этой памяти
хранятся переменные и другие данные, используемые при
работе наших программ.
• Как сказано ранее, объем ОЗУ небольшой. Каждой программе
операционная система(ОС) выделяет некоторые объем
оперативной памяти, в котором та работает.
11.
Процессор• Центральный процессор(процессор, микропроцессор,
ЦП, ЦПУ) - электронный блок либо интегральная
схема, исполняющая машинные инструкции (код
программ), главная часть аппаратного обеспечения
компьютера или программируемого логического
контроллера. (с) Википедия
• Крайне расплывчатое определение, верно?
12.
Процессор13.
Язык программирования• Язы́к программи́рования — формальный язык,
предназначенный для записи компьютерных программ. Язык
программирования определяет набор лексических,
синтаксических и семантических правил, определяющих
внешний вид программы и действия, которые выполнит
исполнитель (обычно — ЭВМ) под её управлением. (с)
Википедия
14.
Язык программирования• Язык программирования – своего рода прослойка между тем,
что вы хотите сказать компьютеру и тем, что он может понять.
• Фактически, это некоторая нотация, понятная и программисту и
компьютеру.
• Некоторые языки «ближе» к компьютеру, некоторые – к
разработчику.
15.
Программирование1. Постановка задачи
2. Формализация задачи
3. Создание алгоритма решения
4. Выбор ЯП для реализации алгоритма
5. Реализация алгоритма на выбранном ЯП
6. Тестирование работы программы
16.
Классификация ЯП• Самое главное – ЯП это не панацея от всех бед) Это
исключительно инструмент
• Изучив на каком-то уровне один язык – можно значительно
быстрее изучить другой
• Основа основ – логика и алгоритмика
• Математика – зависит от сферы, высокие требования к
математике в области ИИ
17.
Классификация ЯП• В принципе, любой ЯП, почти любой можно использовать для
чего угодно.
• Но, есть языки, «заточенные» по ту или иную сферу
• Приведем небольшую классификацию ЯП для различных сфер
18.
ФинтехФинтех
Разработка
Консультирование
Java(Spring), Python,
JavaScript
Внутренние языки
различных систем, SAP
ERP, ABAP и т.д.
19.
Веб-разработкаВеб-разработка
Back-end
Full Stack
Front-end
PHP, Java, Python,
JavaScript, C++,
Go…
Python, JavaScript
…
JavaScript и
производные
20.
ИИИИ
Разработка
новых
моделей
Выбор новых
применений
Python, Matlab
Python
21.
МикроэлектроникаМикроэлектроника
Работа с
«железом»
С/С++, Assembler
22.
Разработка приложенийРазработка
приложений
Мобильные
платформы
Android
Игры
IOS
C++, C#, Java,
Python, Lua и т.д.
Java, Kotlin, Lua,
JavaScript
Objective-C, SWIFT
23.
Итоги• Языков много. Очень много)
• Основные конструкции очень похожи, часто совпадают в
различных языках
• Некоторые ЯП требуют дополнительных технических средств
• Есть более «универсальные» языки, есть более «специальные»
24.
По типу исполнения кода• По типу исполнения есть два типа – языки компилируемые и
интерпретируемые
• Данный параметр влияет на следующие характеристики:
• Зависимость от платформы
• Скорость выполнения
• Необходимость наличия специального ПО на компьютере пользователя
• Некоторые тонкости и нюансы
25.
Компилятор26.
КомпиляторДостоинства
• Быстрота работы программы;
• Отсутствие надобности
компилятора на компьютере
пользователя.
Недостатки
• Программа зависит от ОС,
под которую была
скомпилирована;
• При внесении изменений
требуется перекомпиляция
кода.
27.
Интерпретатор28.
ИнтерпретаторДостоинства
• Независимость от ОС
(переносимость кода);
• При внесении изменений НЕ
требуется перекомпиляция
кода.
Недостатки
• Для запуска программы
требуется наличие
интерпретатора;
• Низкая скорость работы.
29.
Итоги• Для того, чтобы попробовать себя в мире разработки, на мой
взгляд, идеальным ЯП является Python
• Это интерпретируемый ЯП с низким порогом вхождения
• Имеет широкую сферу применения
30.
Python• Python – высокоуровневый язык программирования
общего назначения.
• Синтаксис ядра Python минималистичен.
• Данный ЯП относится к интепретируемым языкам.
• Является одним из самых популярных языков в
мире(3 место по данным TIOBE).
31.
Переменные• Переменная – поименованная ячейка памяти
• Язык Python является языком с нестрогой типизацией – для создания
переменной необходимо лишь написать ее имя
a=2
str = "Vasy"
d = 2.3043
c = 'c'
32.
Переменные• Но лучше так не делать) Дефицита памяти в наших задачах нет –
создавайте под каждое значение свою переменную.
• Также, лучше сразу называть переменные адекватно – не нужно
никаких a, b, c. Допустим, при написании калькулятора вам нужны 2
аргумента и знак.
• Переменные, как вариант, можно назвать arg1, arg2 и znak. Всяко
понятней, чем a, b, c. Интерпретатору, конечно, всё равно, но
адекватные названия повышают читаемость кода.
33.
Ввод данных с клавиатуры• Используется конструкция input()
• a = input()
• Иногда необходимо явно привести вводимую переменную к
какому-либо типу данных
• a = int(input())
b = float(input())
34.
Задачи• Ввести два целых числа и посчитать их сумму.
• Ввести два дробных числе и посчитать их
произведение.
35.
На самостоятельное изучение• С целью расширения кругозора – почитать про различные
системы счисления, 2с/с, 8с/с, 16с/с.
• Попрактиковать простейшие переводы из 10с/с в различные
другие и обратно.
36.
Спасибо за внимание!Вопросы?