Определение
Программирование - процесс создания компьютерных программ. По выражению одного из основателей языков программирования Никлауса Вирта «Программы = алгоритмы + структуры данных».
Программирование основывается на использовании языков программирования, на которых записываются исходные тексты программ.
Считают, самый древний «компьютер» — Антикитерский механизм — устройство, с помощью которого древние греки предсказывали астрономические события, и это 150 год до н. э..
Компьютерная программа – комбинация компьютерных инструкций и данных, позволяющая аппаратному обеспечению вычислительной системы выполнять вычисления или функции управления.
Машинный код – система команд (набор кодов операций) конкретной электронной вычислительной машины (ЭВМ), которая интерпретируется непосредственно процессором или микропрограммами этой ЭВМ. Компьютерная программа, записанная в машинных кодах, состоит из инструкций, которые представлены в виде двоичных кодов каждой отдельной операции из системы команд ЭВМ.
Набор символьных мнемоник, обозначающих двоичные коды операций из системы команд ЭВМ, вместе с некоторыми дополнительными возможностями (например, набором макрокоманд, директив), называется языком ассемблера.
Низкоуровневыми языками программирования называют группу языков ассемблера и непосредственные машинные коды.
Различные языки программирования поддерживают различные парадигмы программирования. Выбор нужного языка программирования для некоторых частей алгоритма позволяет сократить время написания программы и решить задачу описания алгоритма наиболее эффективно. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между «временем программиста» и «временем пользователя»).
Единственный язык, напрямую выполняемый ЭВМ — это машинный язык (также называемый машинным кодом и языком машинных команд). Изначально все программы писались в машинном коде, но сейчас этого практически уже не делается. Вместо этого программисты пишут исходный код на том или ином языке программирования, затем, используя компилятор, транслируют его в один или несколько этапов в машинный код, готовый к исполнению на целевом процессоре, или в промежуточное представление, которое может быть исполнено специальным интерпретатором — виртуальной машиной. Но это справедливо только для языков высокого уровня. Если требуется полный низкоуровневый контроль над системой на уровне машинных команд и отдельных ячеек памяти, программы пишут на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора ЭВМ (по этой причине трансляторы с языков ассемблера получаются алгоритмически простейшими трансляторами).
В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python, языках для .NET Framework.
Низкоуровневыми языками программирования называют группу языков ассемблера и непосредственные машинные коды.
Высокоуровневый язык программирования – язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых языков – это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.
Высокоуровневые языки программирования: 1. Fortran (1967) 2. Algol (1958) 3. Pascal (1970) 4. C (1972) 5. C++ (1983) 6. Python (1991) 7. Java (1995) 8. C# (2000)
NoCode (No-code, zero-code, low-code) — «программирование без кода» — создание приложений и сайтов без традиционной разработки. Вместо этого используются NoCode-инструменты (их более 500!), с которыми можно создать приложение или сайт быстрее и дешевле по сравнению с обычным кодом. NoCode можно использовать для разработки сайтов и веб-приложений — всё зависит от ваших целей, фантазии и выбранных инструментов.
IDE среда разработки
При использовании языков высокого уровня ЭВМ должна быть снабжена комплексом программных средств, обеспечивающих выполнение программ написанных на языке высокого уровня, называемым средой выполнения программ.
Модуль – часть программы, хранящаяся в одном файле.
Исходный модуль – модуль, содержащий программу на языке высокого уровня. Текст исходного модуля состоит из отдельных предложений, называемых операторами.
Исполняемый модуль – модуль содержащий программу в виде готовом для непосредственного исполнения ЭВМ.
Методы преобразования исходного модуля в исполняемый: ▪трансляция; ▪интерпретация; ▪виртуализация.
Определение. Интегрированная среда разработки (англ. Integrated development environment или IDE) – комплекс программных средств, используемый программистами для разработки программного обеспечения. Среда разработки включает в себя: ▪ текстовый редактор, ▪ Транслятор (компилятор и/или интерпретатор), ▪ средства автоматизации сборки, ▪ отладчик.
1 вариант компилятор
2 вариант интерпретатор
3 вариант виртуальная машина
Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ и являющийся стандартом языка, дефакто. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные. CPython компилирует исходные тексты в высокоуровневый байт-код, который исполняется в стековой виртуальной машине.
PyCharm – IDE для языка программирования Python. Предоставляет средства для анализа кода, графический отладчик, инструмент для запуска юнит-тестов и поддерживает вебразработку на Django. PyCharm разработана компанией JetBrains на основе IntelliJ IDEA, кросс-платформенная среда разработки, которая совместима с Windows, MacOS, Linux. PyCharm Community Edition (бесплатная версия) находится под лицензией Apache License, а PyCharm Professional Edition (платная версия) является проприоритетным ПО.
Eclipse (затмение) – свободная IDE модульных кроссплатформенных приложений. Развивается и поддерживается сообществом Eclipse Foundation, возможна разработка не только на Java, но и на других языках.
Microsoft предложил три, например:
.NET Framework общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для различных языков программирования.
Visual Studio – мощная IDE для разработчиков которые разрабатывают, тестируют и развертывают сложные приложения для любой платформы, включая платформы Microsoft.
*_*++*_
Термины
Операции с простыми типами данных
Однородные структуры данных - массивы и матрицы
Неоднородные типы данных. Структуры, записи, объединения.
Обучение
Основы программирования
Основы программирования можно начать с каналом Основы Программирования на канале loftblog.
Лекции есть на уже упомянутом в разделе "Математическая копилка" канале Roman Shamin.
Могу также предложить курсы на Степике - Информатика, Информатика и ИКТ 11 класс 2023, Подготовка к ОГЭ по информатике, Информатика, Подготовка к ЕГЭ по информатике, Азы, Базовый курс.
От Хекслета на ютубе есть курс про ОС, выглядит как для чайников, и Клименко от ИТМО. Я б начала с вики и статьи.
Хотелось бы, чтоб все авторы курсов на он-лайн платформах писали количество часов видеолекций.
Полезные сайты
Скорость - если DOWNLOAD меньше 20 Mbps, провайдер жилит. :)