|
|
||||||
Что такое программирование? Основные понятия с нуля. Часть 016.08.2017, 22:01. Показов 1927. Ответов 23
Метки нет (Все метки)
Часть 0. Как программировать и какие языки программирования существуют
Предисловие Эти уроки призваны заполнить большой пробел в интернете: рассказать, что такое в принципе программирование и помочь осмыслить некоторые базовые понятия (например, что такое функции) так, чтобы было понятно тем, кто никогда не программировал. Ведь если подумать, нет книги, которую можно было бы посоветовать для полного нуля... Изначально я хотел написать эти уроки на хабре, но там меня не приняли. Сразу скажу, что критика очень приветствуется! Так, что же всё таки такое, это ваше программирование? Вопреки стереотипам, программирование это не какие-то там иероглифы и уже давным-давно не единицы и нули, всё намного проще. Сегодня программирование очень приближено к английскому языку. Вот, например, программа, которая выводит на экран "hello, world!":
А как собственно пишутся программы? Программист пишет код в специальной ide, после чего в зависимости от языка, он(программист) компилирует и запускает или сразу запускает написанную программу в интерпретаторе. А теперь подробнее. Ide Ide или по-русски среда разработки - это сборка инструментов(программ) для удобства программирования. В неё входят: текстовый редактор со всякими удобствами, компилятор или интерпретатор(про них чуть позже) и ещё несколько компонентов, которые нам пока не нужны. Можно не пользоваться ide, и программировать прямо хоть в блокноте(стандартный текстовый редактор windows), но это не так удобно. Компилятор или интерпретатор Как известно, компьютер понимает только единицы и нули(машинные коды), но так программировать очень сложно. Поэтому были созданы языки программирования, которые приближенны к человеческому языку. Но компьютер не понимает наши слова. Как же тогда быть? Чтобы компьютер понял нашу программу надо перевести программу с наших слов в машинные коды.Именно этим и занимается компилятор.Компилятор это программа, переводящая (компилирующая) слова (правильней ключевые слова) языков программирования в машинные коды(в исполняемый файл, который можно запустить). Вот так. А вот, что такое интерпретатор: Если же с компилятором что бы запустить вашу программу, нужно её скомпилировать, то интерпретатор выполняет программу, не переводя в машинные коды. Подробнее об этом вы узнаете в следующих моих уроков. Какие языки программирования существуют Программирование на языках программирования, это, как говорилось ранее, написание ключевых слов(обычно на английском) и символов, вроде (), "", [] и т.д. Каждый язык программирования это свои правила, свои ключевые слова, своя логика, разное предназначение. Некоторые основываются на других, другие созданы с нуля. Языки программирования имеют две основные характеристики: Интерпретируемые\компилируемые Низко\средне\высоко-уровневые Интерпретируемые\компилируемые Разные языки программирования, могут только либо компилироваться, либо интерпретироваться. То есть, либо написанную программу перед запуском надо скомпилировать только потом запускать, либо сразу запускать в интерпретаторе. И здесь же я напишу определение, что такое программа: Программа, если она написана на компилируемом языке программирования, то это исполняемый файл, который представляет собой набор машинных кодов и некоторых сведений для операционной системы, если она написана на интерпретируемом, то это просто текстовый файл содержащий код на этом языке Уровень Ещё одна характеристика языков программирования, это уровень. Что же такое уровень? Грубо говоря, чем ниже уровень языка, тем программирование на нём будет сложнее, тем он ближе к машинным кодам. Чтобы вывести что-то на экран, допустим(это просто пример, в реальности всё может быть по-другому) компьютеру нужно считать из памяти записанную вашу строку из символов, далее для каждого символа найти его изображение(у каждого символа есть свой код, пр которому подбирается изображение)и вывести его на экран. На низкоуровневом языке вам придётся это всё прописывать, а на высокоуровневом вам нужно будет написать всего одну строчку и интерпретатор\компилятор сам проделает\пропишет в исполняемый файл всё это за вас. Вообще обычно языки программирования разделяют на два уровня, но вообще-то правильней разделять на три, здесь я буду разделять на три. Ну вот и всё пока на сегодня. В следующем уроке я напишу подробней о языках программирования и какой язык выбрать. Критика очень приветствуется!
0
|
||||||
| 16.08.2017, 22:01 | |
|
Ответы с готовыми решениями:
23
Программирование. Формулы. Основные понятия. Структуры. Модули Основные понятия класса Основные понятия JavaScript |
|
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
|
|
| 17.08.2017, 05:40 | |
|
Если картинок добавить, то для детей сгодится. Хотя, я бы в части 0 рассказал бы про сам компьютер, а не про языки программирования. Вы в школе учитесь?
1
|
|
|
|
|
| 17.08.2017, 09:16 [ТС] | |
|
oldnewyear, Я это написал не для детей. Соответственно, я рассчитываю на то, что люди уже знают, что такое компьютер. А подробней про компьютер(как устроена память, как устроен процессор и т.д.) я напишу в дальнейшем.
Вообще, если надо, то и для детей могу написать...
0
|
|
|
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
|
|
| 17.08.2017, 09:38 | |
|
ну это уровень 7 класс школы, если честно
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 17.08.2017, 09:47 | |
|
Profi_GMan, может, не стоит пытаться учить других, если сам еще плаваешь в основах?
0
|
|
|
|
|
| 17.08.2017, 10:03 [ТС] | |
|
oldnewyear, спасибо за отзыв.
Просто я забыл, что в школах учат программированию.
0
|
|
|
|
|
| 17.08.2017, 11:55 | |
|
Очень напоминает самоучитель по езде на автомобиле, в котором даже ни одной картинки нет. И далее этот самоучитель даётся каким-нибудь папуасам, которые никогда в жизни автомобиль не видели
Попросту говоря, эта статья представляет собой набор слов, после прочтения которых у человека, обладающего нулевым уровнем, этот же самый нулевой уровень и останется
2
|
|
|
|
|
| 17.08.2017, 13:16 | |
|
Лучше учить в своём блоге. На форуме есть такая фича.
Бернард Шоу: Тот, кто умеет, тот делает, кто не умеет, тот учит...
0
|
|
| 17.08.2017, 13:21 | ||
|
Не по теме:
Ты можешь подобные статьи пихать в свой блог (там будет возможность вносить правки, в отличие от форума)
1
|
||
|
|
|
| 17.08.2017, 16:07 [ТС] | |
Сообщение было отмечено Shamil1 как решение
Решение
Evg, спасибо, не знал
![]() Добавлено через 1 минуту что ж, спасибо всем за объективную критику(без сарказма). Подобное писать больше не буду
0
|
|
|
33 / 59 / 6
Регистрация: 22.01.2017
Сообщений: 640
|
|
| 17.08.2017, 20:16 | |
|
0
|
|
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|||
| 17.08.2017, 20:36 | |||
|
большими буквами задается вопрос:
смысл? графоманство? цель? в прицел не попала?...
0
|
|||
|
331 / 199 / 9
Регистрация: 12.05.2015
Сообщений: 334
|
||||
| 18.08.2017, 10:23 | ||||
Это неправильные мёд инеправильные пчелы ![]() Добавлено через 11 минут ![]() Добавлено через 5 минут
0
|
||||
|
33 / 59 / 6
Регистрация: 22.01.2017
Сообщений: 640
|
||
| 18.08.2017, 12:08 | ||
|
0
|
||
|
331 / 199 / 9
Регистрация: 12.05.2015
Сообщений: 334
|
|||
| 18.08.2017, 14:45 | |||
![]() Добавлено через 10 минут
0
|
|||
|
33 / 59 / 6
Регистрация: 22.01.2017
Сообщений: 640
|
||
| 18.08.2017, 16:15 | ||
|
0
|
||
|
331 / 199 / 9
Регистрация: 12.05.2015
Сообщений: 334
|
||||
| 18.08.2017, 16:59 | ||||
|
Добавлено через 4 минуты Добавлено через 8 минут Одна команда. Одна мнемоника асэмблера может быть а вот в какие байты маш. кода она переведтся это уже зависитНа сем, прошу прощения и откланиваюсь. я уже себя реликтом чуствую. который объясняет что телефоны бывают не только сотовые а булки не растут в магазине
0
|
||||
|
33 / 59 / 6
Регистрация: 22.01.2017
Сообщений: 640
|
||
| 18.08.2017, 17:09 | ||
0
|
||
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
|
| 19.08.2017, 02:59 | |
|
Команды языка ассемблера представляют собой более удобную для компилятора символьную форму записи... А человеку наиболее удобно писать на родном языке.
0
|
|
|
Почетный модератор
|
|
| 19.08.2017, 06:24 | |
|
А когда мы уже увидим "часть первую" этого бреда?
0
|
|
| 19.08.2017, 06:24 | |
|
Помогаю со студенческими работами здесь
20
Основные понятия алгебры логики Основные понятия языка Pascal Основные понятия и приемы программирования Основные понятия теории множество основные понятия логики высказываний Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|