5. Языки - о разделе
О разделе
Новичок часто задаётся вопросом - какой язык программирования выбрать. Конечно, JavaScript и Python. Затем - Java и C#. После этого у вас сформируется отличный набор знаний, умение работать с фронтэндом и бэкендом, и вы сможете перейти более сложные языки. Однако, есть специальная статья:
Мы изучили, как пишут программы, теперь пора посмотреть, на чём пишут. Что используется для фронтенда, что для бэкенда - какие инструменты и технологии нужны в разных областях.
Технически, языки по большей части универсальны. Они обычно появляются с определённой целью (JavaScript для оживления страниц, C/C++ для системного программирования, а Java чтобы обезопасить и упростить разработку), но в дальнейшем развиваются, получая новый функционал, новые фичи и возможности.
В интернете часто можно найти громкие заголовки вроде "Какой язык программирования выбрать?" И почти всегда вы встретите от года в год одно и то же - Python лучше всех, JavaScript и Java нужны везде, а C# никому не нужен. Но не всё так просто.
Вообще, лучше воспользуйтесь содержанием или перейдите к Базе знаний. Но для удобства, я размещу здесь ссылки на основные главы раздела:
JavaScript
- 5.01. Основы JavaScript
- 5.01. История языка JavaScript
- 5.01. Синтаксис и пунктуация в JavaScript
- 5.01. Структура и подключение JavaScript-кода
- 5.01. Применение JavaScript в вебе и за его пределами
- 5.01. Функции в JavaScript
- 5.01. Область видимости и замыкания в JavaScript
- 5.01. Переменные в JavaScript
- 5.01. Типы данных в JavaScript
- 5.01. Выражения и операторы в JavaScript
- 5.01. Циклы в JavaScript
- 5.01. Асинхронное программирование в JavaScript
- 5.01. Работа с объектами и прототипами
- 5.01. События и обработка событий в браузере
- 5.01. Консоль, отладка и боль
- 5.01. Экосистема JavaScript - инструменты и фреймворки
- 5.01. TypeScript
- 5.01. JavaScript — практика
- 5.01. Тестирование JavaScript — Vitest и Testing Library
- 5.01. Виджеты интерфейса на ванильном JavaScript
- 5.01. Регулярные выражения в JavaScript
- 5.01. Валидация форм в JavaScript
- 5.01. Отмена запросов и поток событий с сервера
- 5.01. Наблюдатели DOM — Intersection, Resize и Mutation
- 5.01. Хранение данных в браузере
- 5.01. ES-модули в браузере и обзор Temporal API
- 5.01. Объектная модель браузера (BOM)
- 5.01. Чтение файлов в браузере
- 5.01. Web Components — Custom Elements и Shadow DOM
- 5.01. Кнопка "Поделиться" — DOM, события и Web Share API
- 5.01. Нативные уведомления в браузере — Notification API
- 5.01. Canvas 2D — программируемая графика в браузере
- 5.01. Рекомендации по разработке на JavaScript
- 5.01. Работа с HTML в JavaScript
- 5.01. Простые приложения на JavaScript
- 5.01. Форматы JavaScript
- 5.01. Ключевые слова языка JavaScript
- 5.01. Встроенные функции JavaScript
- 5.01. Массивы в JavaScript
- 5.01. Встроенные типы ошибок и их обработка
- 5.01. Обработка исключений в JavaScript
- 5.01. Справочник по JavaScript
- 5.01. Шпаргалка по TypeScript
- 5.01. JavaScript — итоги
- 5.01. JavaScript — чек-лист
- 5.01. Что требуется знать перед началом изучения языка программирования JavaScript
Node.js
- 5.01. Node.js - серверный JavaScript
- 5.01. Точка входа в Node.js — require.main и import.meta
- 5.01. Справочник по Node
- 5.01. Первая программа на Node.js
- 5.01. Express — middleware, маршруты и ошибки
- 5.01. Fullstack на JavaScript — API и фронтенд
- 5.01. npm — команды, зависимости и lock-файлы
- 5.01. Структура Node-проекта и правила разработки
- 5.01. CLI Node.js — запуск, отладка и деплой
- 5.01. Встроенные модули Node.js — fs, потоки и http
- 5.01. Первая программа на NestJS
- 5.01. Prisma ORM — первая программа
- 5.01. Drizzle ORM — первая программа
Frontend Frameworks
- 5.01. SPA и выбор frontend-фреймворка
- 5.01. Первая программа на Svelte
- 5.01. Первая программа на Astro
- 5.01. Vite — сборка и dev-server
jQuery
React
- 5.01. React - библиотека для пользовательских интерфейсов
- 5.01. Кнопка с загрузкой — React, Promise и поток обновлений
- 5.01. Справочник по React
- 5.01. Первая программа на React
- 5.01. React — компоненты, JSX и поток данных
- 5.01. React — хуки, состояние и формы
- 5.01. React — Router, данные с API и оптимизация
Vue.js
- 5.01. Vue.js
- 5.01. Справочник по Vue.js
- 5.01. Первая программа на Vue.js
- 5.01. Vue — реактивность и Composition API
- 5.01. Vue — Router, Pinia и Vite
- 5.01. Vue — SSR, тесты и production
Angular
- 5.01. Angular
- 5.01. Справочник по Angular
- 5.01. Первая программа на Angular
- 5.01. Angular — DI, RxJS и формы
Ext JS
- 5.01. Ext JS
- 5.01. Справочник по Ext JS
- 5.01. Первая программа на Ext JS
- 5.01. Ext JS — Model, Store и proxy
Meta Frameworks
CLI экосистемы
Python
- 5.02. Python - язык общего назначения
- 5.02. Архитектура интерпретатора Python
- 5.02. Фреймворки и библиотеки Python
- 5.02. Виртуальные окружения и управление зависимостями
- 5.02. История языка Python
- 5.02. Философия Python - Zen of Python
- 5.02. Первая программа на Python
- 5.02. Синтаксис и пунктуация в Python
- 5.02. Алгоритмы и структуры данных в Python
- 5.02. Типы данных в Python
- 5.02. Переменные и присваивание
- 5.02. Работа с типами данных в Python
- 5.02. Коллекции - списки, кортежи, словари, множества
- 5.02. Управляющие конструкции - if, for, while
- 5.02. Функции - определение, аргументы, возврат значений
- 5.02. Итераторы, генераторы и контекстные менеджеры
- 5.02. Объектно-ориентированное программирование в Python
- 5.02. Архитектура выполнения и сборка мусора
- 5.02. Обработка исключений в Python
- 5.02. Асинхронность и многопоточность в Python
- 5.02. Django в Python
- 5.02. Работа с файлами, сетью и внешними API
- 5.02. Turtle
- 5.02. Анализ данных - pandas, NumPy, SciPy
- 5.02. Веб-разработка и REST API на Python
- 5.02. Автоматизация задач и DevOps-скрипты
- 5.02. Справочник по Python
- 5.02. Тестирование на pytest
- 5.02. Однострочные приёмы Python
- 5.02. Зависимости Python — requirements.txt, pyproject.toml и pip
- 5.02. if name == "main" — точка входа при запуске файла
- 5.02. Pydantic — валидация входящих данных
- 5.02. Рекомендации по разработке на Python
- 5.02. Простые приложения на Python
- 5.02. Встроенный модуль builtins и типизация в Python
- 5.02. Экосистема Python-приложений
- 5.02. Модули в Python
- 5.02. Ключевые слова языка Python
- 5.02. Встроенные функции Python
- 5.02. Магические методы и дандер-методы
- 5.02. Сопоставление с образцом (match / case)
- 5.02. Даты и время в Python
- 5.02. Распространённые типы исключений
- 5.02. Основы asyncio в Python
- 5.02. Справочник по Django
- 5.02. Tkinter и GUI
- 5.02. Разработка игр на Python
- 5.02. PyQt, PySide и Flet — GUI beyond Tkinter
- 5.02. Работа с базами данных в Python
- 5.02. Сетевое программирование на Python
- 5.02. Парсинг на Python
- 5.02. BeautifulSoup — парсинг HTML
- 5.02. Трёхмерная графика и Panda3D
- 5.02. Matplotlib — графики
- 5.02. Kivy — мобильные приложения и игры на Python
- 5.02. Справочник по модулю Turtle
- 5.02. Pandas — объединение таблиц, своды и временные ряды
- 5.02. Классическое машинное обучение на Python
- 5.02. PyTorch для разработчика
- 5.02. Практикум — Pandas Data Viewer
- 5.02. Практикум — распознавание цифр на PyTorch
- 5.02. Практикум — тональность отзывов на PyTorch
- 5.02. NumPy — массивы, векторы и матрицы
- 5.02. Flask
- 5.02. Справочник по Flask
- 5.02. Создание собственного API на Python
- 5.02. Poetry и uv — управление зависимостями Python
- 5.02. Python для ML — мост к PyTorch
- 5.02. Python — итоги
- 5.02. Python — чек-лист
- 5.02. Что требуется знать перед началом изучения языка программирования Python
- 5.02. Первая программа на Django
- 5.02. Первая программа на Django REST Framework
- 5.02. Практикум — доска объявлений на Django
- 5.02. Первая программа на Tkinter
- 5.02. Справочник по Tkinter — элементы UI
- 5.02. Справочник по pygame.sprite
- 5.02. Первая программа на PyQt6
- 5.02. Первая программа на Flask
- 5.02. FastAPI
- 5.02. Первая программа на FastAPI
- 5.02. FastAPI и база данных
- 5.02. pyTelegramBot — боты в Telegram
Практикум Kivy
Java
- 5.03. Основы языка Java
- 5.03. Справочник по Java
- 5.03. История языка Java
- 5.03. Структура и сборки Java-проектов
- 5.03. Первая программа на Java
- 5.03. Синтаксис и пунктуация в Java
- 5.03. Типы данных и переменные в Java
- 5.03. Основные конструкции языка Java
- 5.03. Операторы и циклы в Java
- 5.03. Объектно-ориентированное программирование в Java
- 5.03. Особенности и расширения языка Java
- 5.03. Стандартные библиотеки и утилиты Java
- 5.03. Обработка исключений в Java
- 5.03. Работа с базами данных из Java
- 5.03. JVM, память и потоки
- 5.03. Коллекции в Java
- 5.03. JavaServer Faces - фреймворк для веб-интерфейсов
- 5.03. JavaBeans - компонентная модель
- 5.03. Spring Framework
- 5.03. Ключевые классы и интерфейсы стандартной библиотеки
- 5.03. public static void main — точка входа JVM
- 5.03. Рекомендации по разработке на Java
- 5.03. Ввод и вывод в Java
- 5.03. IntelliJ IDEA — IDE для разработки на Java
- 5.03. Экосистема Java-приложений
- 5.03. Справочник по конфигурациям в Java
- 5.03. Простые приложения на Java
- 5.03. Отладка Java-кода в IDE
- 5.03. Ключевые слова в Java
- 5.03. Встроенные функции и методы Java
- 5.03. Иерархия классов исключений в Java
- 5.03. Массивы в Java
- 5.03. Первая программа на JavaServer Faces
- 5.03. Практикум JSF — список задач
- 5.03. Практикум Swing — XML-валидатор
- 5.03. Практикум Spring Boot — Simple CRM
- 5.03. Первая программа на JavaBean
- 5.03. Первая программа на Spring Framework
- 5.03. Spring Security — практический старт
- 5.03. Testcontainers — интеграционные тесты с реальной БД
- 5.03. JWT и OAuth2 Resource Server в Spring Boot
- 5.03. Spring Boot — безопасность в продакшене
- 5.03. JUnit 5 и тестирование Java
- 5.03. Gradle — практический старт
- 5.03. Hibernate и JPA — практический старт
- 5.03. Документация и инструменты Java (Microsoft)
- 5.03. Stream API в Java
- 5.03. Строки в Java
- 5.03. Ввод-вывод и файлы в Java
- 5.03. Асинхронность в Java
- 5.03. Аннотации и рефлексия в Java
- 5.03. Современные конструкции Java
- 5.03. Вопросы на собеседовании — Core Java
- 5.03. JVM в проде — jcmd, дамп памяти и JFR
- 5.03. Ошибки REST — @Valid и @ControllerAdvice
- 5.03. Аннотации Spring Boot
- 5.03. Virtual Threads в Java (Java 21+)
- 5.03. Quarkus — первая программа
- 5.03. Micronaut — первая программа
- 5.03. JavaFX и GUI
- 5.03. Records в Java — практическое руководство
- 5.03. Java — итоги
- 5.03. Java — чек-лист
- 5.03. Что требуется знать перед началом изучения языка программирования Java
- 5.03. Первая программа на JavaFX
- 5.03. Справочник по JavaFX и Swing — элементы UI
Платформа .NET
- 5.04. Платформа .NET
- 5.04. SignalR - реализация реального времени в .NET
- 5.04. История платформы .NET
- 5.04. Архитектурные особенности .NET
- 5.04. Типы приложений на платформе .NET
- 5.04. Сборка и развёртывание .NET-приложений
- 5.04. Пакеты и зависимости в .NET
- 5.04. Инструменты разработки для .NET
- 5.04. NuGet - система управления пакетами
- 5.04. F# - функциональный язык в экосистеме .NET
- 5.04. ADO.NET - доступ к данным
- 5.04. ASP.NET - веб-платформа Microsoft
- 5.04. Экосистема .NET-приложений
- 5.04. Справочник по F#
- 5.04. Первая программа на F#
- 5.04. Справочник .NET API
- 5.04. Справочник языка F# (Microsoft Learn)
- 5.04. Интерактивная работа с F# (FSI)
- 5.04. Сопоставление с образцом в F# — практикум
- 5.04. Императивные конструкции в F#
- 5.04. ООП в F# для взаимодействия с .NET
- 5.04. Асинхронность в F#: async, task и агенты
- 5.04. Структура F#-проекта
- 5.04. Native AOT
- 5.04. Semantic Kernel и AI
- 5.04. Платформа .NET — итоги
- 5.04. Платформа .NET — чек-лист
C#
- 5.05. C# - язык программирования платформы .NET
- 5.05. Синтаксис и пунктуация в C#
- 5.05. Пространства имён в C#
- 5.05. Управляющие конструкции и логические операторы
- 5.05. Условные выражения и ветвления
- 5.05. Обработка исключений в C#
- 5.05. Первая программа на C#
- 5.05. Переменные и их области видимости
- 5.05. Типы данных в C#
- 5.05. Стек и куча
- 5.05. Преобразование типов и система типизации
- 5.05. Работа с типами данных в C#
- 5.05. Обработка значения null и nullable-типы
- 5.05. Массивы, списки и диапазоны
- 5.05. Анонимные типы и кортежи
- 5.05. Объектно-ориентированное программирование в C#
- 5.05. Обобщения (generics)
- 5.05. Ковариантность, контравариантность, инвариантность
- 5.05. Коллекции и структуры данных в C#
- 5.05. LINQ - язык интегрированных запросов
- 5.05. Итераторы и ключевое слово yield
- 5.05. Сериализация и десериализация объектов
- 5.05. Служебные классы и утилиты .NET
- 5.05. Делегаты, события и обратные вызовы
- 5.05. Методы расширения и вложенные типы
- 5.05. Внедрение зависимостей (Dependency Injection) в C#
- 5.05. Лямбда-выражения и отложенная инициализация
- 5.05. Регулярные выражения в C#
- 5.05. Синтаксический сахар и нововведения
- 5.05. Асинхронное программирование, многопоточность и параллелизм
- 5.05. Инфраструктура .NET и метаданные сборок
- 5.05. Управление ресурсами и профилирование производительности
- 5.05. Сетевое взаимодействие в C#
- 5.05. Безопасность приложений на C#
- 5.05. Работа с базами данных и ORM в C#
- 5.05. Веб-разработка и API на C#
- 5.05. Популярные библиотеки и пакеты для C#
- 5.05. Пример реализации бэкенда на C#
- 5.05. Версии C# и .NET
- 5.05. Main и top-level statements — точка входа в .NET
- 5.05. C# и Java
- 5.05. Справочник по конфигурациям в C#
- 5.05. Рекомендации по разработке на C#
- 5.05. Visual Studio — IDE для разработки на C#
- 5.05. Ключевые слова языка C#
- 5.05. Встроенные функции и методы C#
- 5.05. Иерархия классов исключений в C#
- 5.05. Простые приложения на C#
- 5.05. Передача параметров в C# — числа, объекты, ref, out, in
- 5.05. Справочник по LINQ
- 5.05. Класс Thread в C# — создание, Start, фоновые потоки и практика
- 5.05. Task и async/await в C#
- 5.05. EF Core — первая программа
- 5.05. ADO.NET / Dapper — первая программа
- 5.05. EF Core — продвинутое
- 5.05. ASP.NET - фреймворк для веб-приложений
- 5.05. Справочник по ASP.NET
- 5.05. Приложение с S3, PostgreSQL и ASP.NET Core Web API
- 5.05. Практика C# на Microsoft Learn
- 5.05. Документация и практика ASP.NET (Microsoft Learn)
- 5.05. Справочник по C#
- 5.05. Справочник языка C# (Microsoft Learn)
- 5.05. Справочник .NET API (BCL)
- 5.05. Собеседование .NET/C#
- 5.05. Маршрут Junior → Senior
- 5.05. Архитектура под сценарий
- 5.05. Guid в C# — шпаргалка
- 5.05. C# — итоги
- 5.05. C# — чек-лист
- 5.05. Что требуется знать перед началом изучения языка программирования C#
- 5.05. Первая программа на ASP.NET Core
- 5.05. Blazor — первая программа
- 5.05. .NET MAUI — первая программа
- 5.05. Razor Pages — первая программа
- 5.05. Identity — JWT и cookie
- 5.05. Тесты ASP.NET Core
- 5.05. Minimal API и OpenAPI
- 5.05. MediatR и pipeline
- 5.05. Валидация и устойчивость API
C++
- 5.06. C++ - язык системного программирования
- 5.06. Справочник по C++
- 5.06. Экосистема приложений на C++
- 5.06. Типы данных в C++
- 5.06. Операторы и выражения в C++
- 5.06. Циклы и управляющие конструкции в C++
- 5.06. Объектно-ориентированное программирование в C++
- 5.06. Синтаксис и пунктуация в C++
- 5.06. Переменные и области видимости в C++
- 5.06. Функции и лямбда-выражения в C++
- 5.06. Стандартные и сторонние библиотеки C++
- 5.06. Управление памятью в C++
- 5.06. Многопоточность и асинхронное выполнение в C++
- 5.06. Системное программирование на C++
- 5.06. Разработка игр с использованием C++
- 5.06. Работа с типами данных в C++
- 5.06. Работа с данными
- 5.06. Сетевое взаимодействие в C++
- 5.06. Особенности и расширения языка C++
- 5.06. Qt - кроссплатформенный фреймворк на C++
- 5.06. C++ — углублённые темы
- 5.06. Vulkan и низкоуровневая графика на C++
- 5.06. Идиомы современного C++
- 5.06. Диапазоны и представления в C++20
- 5.06. Компиляторы и toolchain C++
- 5.06. Легаси — C++ Builder и Win32 RAD
- 5.06. Рекомендации по разработке на C++
- 5.06. Композиция и наследование в C++
- 5.06. RTTI в C++ — typeid и dynamic_cast
- 5.06. Класс в C++ — this, static, friend и вложенные типы
- 5.06. Ключевые слова языка C++
- 5.06. Встроенные функции и методы стандартной библиотеки
- 5.06. Иерархия исключений в стандартной библиотеке C++
- 5.06. Обработка исключений в C++
- 5.06. C++ — итоги
- 5.06. C++ — чек-лист
- 5.06. Что требуется знать перед началом изучения языка программирования C++
- 5.06. Первая программа на C++
- 5.06. Начало работы с C++
- 5.06. Конфигурация и сборка в C++
- 5.06. Простые приложения на C++
- 5.06. CMake — первая программа
- 5.06. Google Test и Catch2 в C++
- 5.06. Практические задания по C++
- 5.06. Qt — первая программа
- 5.06. Qt Quick — первая программа на QML
- 5.06. SFML — 2D-графика и мультимедиа на C++
- 5.06. SDL — мультимедиа и окна на C++
- 5.06. Siv3D — 2D/3D и мультимедиа на C++
- 5.06. Raylib — быстрые 2D/3D прототипы на C++
- 5.06. OpenGL — 3D-графика на C++
- 5.06. DirectX — графика и мультимедиа на Windows
PHP
- 5.07. PHP - язык веб-разработки
- 5.07. Экосистема PHP-приложений
- 5.07. История языка PHP
- 5.07. Фреймворки и библиотеки PHP
- 5.07. Первая программа на PHP
- 5.07. Синтаксис, операторы и пунктуация в PHP
- 5.07. Переменные и типы данных в PHP
- 5.07. Управляющие конструкции и циклы в PHP
- 5.07. Функции и замыкания в PHP
- 5.07. Объектно-ориентированное программирование в PHP
- 5.07. Важные встроенные классы и интерфейсы
- 5.07. Работа с базами данных из PHP
- 5.07. Глобальные функции и константы PHP
- 5.07. index.php и require — точка входа и подключение
- 5.07. Модель исполнения PHP
- 5.07. Composer - управление зависимостями в PHP
- 5.07. Настройка веб-сервера для работы с PHP
- 5.07. Локальная среда разработки на PHP
- 5.07. Рекомендации по разработке на PHP
- 5.07. Простые приложения на PHP
- 5.07. Ключевые слова языка PHP
- 5.07. Встроенные функции и расширения PHP
- 5.07. Laravel - MVC-фреймворк и паттерны проектирования
- 5.07. Symfony
- 5.07. PHPUnit и тестирование PHP
- 5.07. WordPress
- 5.07. Работа с данными со страницы в PHP
- 5.07. Работа со скалярными типами в PHP
- 5.07. Работа с составными типами в PHP
- 5.07. Глобальные переменные и суперглобальные массивы в PHP
- 5.07. Работа с сессиями в PHP
- 5.07. Шаблоны простых элементов веб-страниц
- 5.07. Пространства имён и автозагрузка в PHP
- 5.07. Современный PHP 8 — enum, readonly и атрибуты
- 5.07. Обработка исключений в прикладном коде PHP
- 5.07. PDO в PHP — подключение и безопасные запросы
- 5.07. От HTML-формы до записи в базу данных на PHP
- 5.07. Загрузка файлов и валидация в PHP
- 5.07. Symfony — первая программа
- 5.07. WordPress — разработка для начинающих
- 5.07. Иерархия исключений в PHP
- 5.07. Справочник по PHP
- 5.07. PHP — итоги
- 5.07. PHP — чек-лист
- 5.07. Что требуется знать перед началом изучения языка программирования PHP
- 5.07. Первая программа на Laravel
- 5.07. Laravel — очереди и политики
- 5.07. Laravel API с Sanctum
- 5.07. Laravel и Livewire
- 5.07. Laravel Filament — админ-панель
- 5.07. Первая программа на Symfony
- 5.07. Справочник по Symfony
- 5.07. Первая тема WordPress
phpMyAdmin
- 5.07. phpMyAdmin — что это и где встретить
- 5.07. phpMyAdmin — требования, установка и подключение
- 5.07. phpMyAdmin — SQL, DDL и DML
- 5.07. phpMyAdmin — импорт, экспорт, настройка и FAQ
- 5.07. История phpMyAdmin, phpPgAdmin и веб-админок БД на PHP
phpPgAdmin
- 5.07. phpPgAdmin — что это и где встретить
- 5.07. phpPgAdmin — требования, установка и подключение
- 5.07. phpPgAdmin — SQL, DDL и DML
- 5.07. phpPgAdmin — дампы, безопасность и FAQ
Smalltalk
- 5.08. Smalltalk - язык объектно-ориентированного программирования
- 5.08. История языка Smalltalk
- 5.08. Синтаксис и особенности языка
- 5.08. Объектно-ориентированная модель Smalltalk
- 5.08. Справочник по Smalltalk
- 5.08. Первая программа на Smalltalk
- 5.08. Крестики-нолики на Morphic — практикум
- 5.08. Pharo
- 5.08. Squeak
- 5.08. Morphic — графическая система
- 5.08. Raylib в Pharo
- 5.08. Glamorous Toolkit
- 5.08. SmallDesktop на Morphic — практикум
- 5.08. Философия и принципы Smalltalk
- 5.08. SmallPong на Morphic — практикум
- 5.08. Типы данных и переменные в Smalltalk
- 5.08. Smalltalk — SmallShooter
- 5.08. Рекомендации по разработке на Smalltalk
- 5.08. Smalltalk — итоги
- 5.08. Smalltalk — чек-лист
Kotlin
- 5.09. История языка Kotlin
- 5.09. Первая программа на Kotlin
- 5.09. Справочник по Kotlin
- 5.09. Экосистема Kotlin-приложений
- 5.09. Основы языка Kotlin
- 5.09. Типы данных и объявление переменных в Kotlin
- 5.09. Операторы и выражения в Kotlin
- 5.09. Циклы и управляющие конструкции в Kotlin
- 5.09. Объектно-ориентированное программирование в Kotlin
- 5.09. Синтаксис и пунктуация в Kotlin
- 5.09. Синтаксические конструкции Kotlin
- 5.09. Работа с базами данных из Kotlin
- 5.09. Важные классы и интерфейсы стандартной библиотеки
- 5.09. Простые приложения на Kotlin
- 5.09. Kotlin — KotlinMobileApp
- 5.09. Kotlin — Kotlinochi
- 5.09. fun main() — точка входа Kotlin
- 5.09. Рекомендации по разработке на Kotlin
- 5.09. Ключевые слова языка Kotlin
- 5.09. Встроенные функции и расширения Kotlin
- 5.09. Иерархия исключений в Kotlin
- 5.09. Ktor — первая программа
- 5.09. Корутины в Kotlin
- 5.09. Тестирование на Kotlin
- 5.09. Compose Multiplatform — первая программа
- 5.09. Коллекции и Sequence в Kotlin
- 5.09. Flow в Kotlin
- 5.09. Консольный ввод и вывод в Kotlin
- 5.09. Ktor Client — HTTP-запросы
- 5.09. Jetpack Compose — первый экран
- 5.09. DSL и функции с получателем в Kotlin
- 5.09. Room, ViewModel и Compose — список заметок
- 5.09. Spring Boot на Kotlin — первая программа
- 5.09. Kotlin и Java — совместимость на практике
- 5.09. Мобильные приложения на Kotlin
- 5.09. Java и Kotlin
- 5.09. Kotlin — итоги
- 5.09. Kotlin — чек-лист
- 5.09. Что требуется знать перед началом изучения языка программирования Kotlin
Go
- 5.10. Основы языка Go
- 5.10. Справочник по языку Go
- 5.10. История языка Go
- 5.10. Синтаксис и пунктуация в Go
- 5.10. Особенности языка Go
- 5.10. Синтаксические конструкции Go
- 5.10. Области применения Go
- 5.10. Типы данных и объявление переменных в Go
- 5.10. Операторы и управляющие конструкции в Go
- 5.10. Функции и методы в Go
- 5.10. Фреймворки и библиотеки Go
- 5.10. Работа с базами данных из Go
- 5.10. Асинхронность и горутины
- 5.10. Популярные проекты на языке Go
- 5.10. Важные интерфейсы и типы Go
- 5.10. Первая программа на Go
- 5.10. Веб на стандартной библиотеке Go
- 5.10. Строки, руны и Unicode в Go
- 5.10. TCP и UDP в Go
- 5.10. Рефлексия в Go
- 5.10. Модули, workspace, embed и slog
- 5.10. Механика языка и гонки данных
- 5.10. Дженерики в Go
- 5.10. gRPC в Go
- 5.10. CLI на cobra и viper
- 5.10. WebSocket в Go
- 5.10. Профилирование, trace и fuzz в Go
- 5.10. package main и func main() — исполняемая программа Go
- 5.10. Рекомендации по разработке на Go
- 5.10. GoLand — IDE для разработки на Go
- 5.10. Экосистема приложений на Go
- 5.10. Ключевые слова языка Go
- 5.10. Встроенные функции и пакеты Go
- 5.10. Обработка ошибок в Go
- 5.10. Тестирование в Go
- 5.10. Практикум GoHTMLParser
- 5.10. GoEmailVerifier — практикум
- 5.10. Пример микросервиса на Go
- 5.10. Go — итоги
- 5.10. Go — чек-лист
- 5.10. Что требуется знать перед началом изучения языка программирования Go
- 5.10. Простые приложения на Go
- 5.10. Первая программа на Gin
- 5.10. Первая программа на Echo
- 5.10. Первая программа на Fiber
TypeScript
- 5.10. Основы TypeScript и структура языка
- 5.10. Справочник по TypeScript
- 5.10. Экосистема и архитектура TypeScript
- 5.10. Первая программа на TypeScript
- 5.10. Простые приложения на TypeScript
- 5.10. Рекомендации по разработке на TypeScript
- 5.10. История TypeScript
- 5.10. Синтаксис и пунктуация TypeScript
- 5.10. Форматы и подключение TypeScript
- 5.10. Типы данных и типизация в TypeScript
- 5.10. Переменные и константы в TypeScript
- 5.10. Операторы и условные ветвления в TypeScript
- 5.10. Циклы в TypeScript
- 5.10. Функции в TypeScript
- 5.10. Архитектура компиляции TypeScript и runtime
- 5.10. TypeScript Server
- 5.10. Асинхронное программирование в TypeScript
- 5.10. Объекты и классы в TypeScript
- 5.10. Коллекции и массивы в TypeScript
- 5.10. События и обработка событий в TypeScript
- 5.10. TypeScript и React
- 5.10. TypeScript и Node.js
- 5.10. Декораторы в TypeScript
- 5.10. Дженерики в TypeScript
- 5.10. Генераторы и итераторы в TypeScript
- 5.10. TypeORM
- 5.10. Обработка ошибок в TypeScript
- 5.10. Паттерны в TypeScript
- 5.10. Сравнение JavaScript и TypeScript
- 5.10. TypeScript — итоги
- 5.10. TypeScript — чек-лист
Ruby
- 5.11. Основы языка Ruby
- 5.11. Справочник по языку Ruby
- 5.11. История языка Ruby
- 5.11. Синтаксис и пунктуация в Ruby
- 5.11. Типы данных в Ruby
- 5.11. Управляющие конструкции и циклы в Ruby
- 5.11. Фреймворки и экосистема Ruby
- 5.11. Работа с базами данных из Ruby
- 5.11. Асинхронность в Ruby
- 5.11. Важные классы и модули Ruby
- 5.11. Популярные проекты на Ruby
- 5.11. Первая программа на Ruby
- 5.11. Ruby on Rails
- 5.11. Hotwire и Stimulus
- 5.11. RSpec — практикум
- 5.11. Компактный справочник API Ruby
- 5.11. if FILE == $0 — запуск скрипта и require
- 5.11. Рекомендации по разработке на Ruby
- 5.11. Объектно-ориентированное программирование в Ruby
- 5.11. Простые приложения на Ruby
- 5.11. Ключевые слова языка Ruby
- 5.11. Встроенные функции и методы Ruby
- 5.11. Иерархия исключений в Ruby
- 5.11. Ruby — итоги
- 5.11. Ruby — чек-лист
- 5.11. Что требуется знать перед началом изучения языка программирования Ruby
Groovy
- 5.12. История языка Groovy
- 5.12. Первая программа на Groovy
- 5.12. Справочник по языку Groovy
- 5.12. Основы языка Groovy
- 5.12. Типы данных и объявление переменных в Groovy
- 5.12. Операторы и выражения в Groovy
- 5.12. Циклы и управляющие конструкции в Groovy
- 5.12. Объектно-ориентированное программирование в Groovy
- 5.12. Особенности и расширения языка Groovy
- 5.12. Синтаксис и пунктуация в Groovy
- 5.12. Синтаксические конструкции Groovy
- 5.12. Работа с базами данных из Groovy
- 5.12. Java и Groovy
- 5.12. Spock — первая спецификация
- 5.12. Jenkins Pipeline — первый Jenkinsfile
- 5.12. Gradle Groovy DSL — первая сборка
- 5.12. FastJ — первая игра на Groovy
- 5.12. Job DSL Playground — jobs Jenkins как код
- 5.12. Jenkins Shared Library — общий Groovy-код CI
- 5.12. Практикум — API-тестер на Groovy и JMeter
- 5.12. Рекомендации по разработке на Groovy
- 5.12. Простые приложения на Groovy
- 5.12. Иерархия исключений в Groovy
- 5.12. Ключевые слова языка Groovy
- 5.12. Встроенные функции и метапрограммирование
- 5.12. Groovy — итоги
- 5.12. Groovy — чек-лист
- 5.12. Что требуется знать перед началом изучения языка программирования Groovy
Rust
- 5.13. История языка Rust
- 5.13. Справочник по языку Rust
- 5.13. Основы языка Rust
- 5.13. Синтаксис и пунктуация в Rust
- 5.13. Типы данных и владение памятью
- 5.13. Управляющие конструкции и циклы в Rust
- 5.13. Фреймворки и инструменты Rust
- 5.13. Работа с данными и структурами
- 5.13. Асинхронное программирование в Rust
- 5.13. Важные трейты и типы Rust
- 5.13. Популярные проекты на Rust
- 5.13. Первая программа на Rust
- 5.13. fn main() — бинарный crate и библиотека Rust
- 5.13. Рекомендации по разработке на Rust
- 5.13. Rust для начинающих
- 5.13. Простые приложения на Rust
- 5.13. Экосистема приложений на Rust
- 5.13. Системное программирование на Rust
- 5.13. Ключевые слова языка Rust
- 5.13. Встроенные функции и стандартная библиотека
- 5.13. Объектно-ориентированные концепции в Rust
- 5.13. Обработка ошибок в Rust
- 5.13. Первая программа на Axum
- 5.13. Тестирование в Rust
- 5.13. Потоки и синхронные каналы в Rust
- 5.13. Cargo — workspace, features и профили
- 5.13. FFI на практике в Rust
- 5.13. GUI на Windows — выбор стека
- 5.13. Rust — итоги
- 5.13. Rust — чек-лист
- 5.13. Что требуется знать перед началом изучения языка программирования Rust
Swift
- 5.14. История языка Swift
- 5.14. Справочник по языку Swift
- 5.14. Экосистема приложений на Swift
- 5.14. Основы языка Swift
- 5.14. Синтаксис и пунктуация в Swift
- 5.14. Типы данных и объявление переменных в Swift
- 5.14. Управляющие конструкции и циклы в Swift
- 5.14. Фреймворки Apple и сторонние решения
- 5.14. Работа с данными и коллекциями
- 5.14. Асинхронность и Concurrency в Swift
- 5.14. Важные протоколы и классы Swift
- 5.14. Популярные проекты на Swift
- 5.14. Первая программа на Swift
- 5.14. Жизненный цикл приложения на Swift
- 5.14. Интерактивное изучение Swift
- 5.14. Параметры функций и читаемость API в Swift
- 5.14. Сопоставление с образцом в Swift
- 5.14. Свойства-обёртки в Swift
- 5.14. Xcode — IDE для экосистемы Apple
- 5.14. Рекомендации по разработке на Swift
- 5.14. Объектно-ориентированное программирование в Swift
- 5.14. Простые приложения на Swift
- 5.14. Ключевые слова языка Swift
- 5.14. Встроенные функции и методы Swift
- 5.14. Обработка ошибок в Swift
- 5.14. SwiftUI практикум — мини-приложение
- 5.14. TestFlight и App Store — публикация для начинающих
- 5.14. Swift — итоги
- 5.14. Swift — чек-лист
- 5.14. Что требуется знать перед началом изучения языка программирования Swift
Lua и Luau
- 5.15. Основы языка Lua
- 5.15. Справочник по Lua
- 5.15. Экосистема приложений на Lua
- 5.15. История языка Lua
- 5.15. Первая программа на Lua
- 5.15. Синтаксис и пунктуация в Lua
- 5.15. Типы данных и объявление переменных в Lua
- 5.15. Управляющие конструкции и циклы в Lua
- 5.15. Функции, замыкания и анонимные функции
- 5.15. Метатаблицы и метаметоды
- 5.15. Модули и организация кода
- 5.15. Работа с памятью и сборка мусора
- 5.15. Асинхронность и кооперативная многозадачность
- 5.15. Архитектура выполнения и встраиваемость
- 5.15. Luau - типизированный диалект Lua от Roblox
- 5.15. Рекомендации по разработке на Lua
- 5.15. Простые приложения на Lua
- 5.15. Ключевые слова языка Lua
- 5.15. Встроенные функции и стандартная библиотека Lua
- 5.15. Объектно-ориентированное программирование в Lua
- 5.15. Работа со строками, таблицами и файлами
- 5.15. Обработка ошибок в Lua
- 5.15. Lua и Luau — итоги
- 5.15. Lua и Luau — чек-лист
Старые языки
Ассемблер
- 5.16. История ассемблерных языков
- 5.16. Основы ассемблера
- 5.16. Архитектура ассемблерных программ
- 5.16. Типы данных и регистры
- 5.16. Управляющие конструкции и команды процессора
- 5.16. Команды и подпрограммы
- 5.16. Первая программа на ассемблере
- 5.16. Длинная целочисленная арифметика
- 5.16. SETcc, CMOV и ветвления без прыжков
- 5.16. Макросы и условная сборка
- 5.16. Несколько модулей и линковка
- 5.16. Взаимодействие с C и C++
- 5.16. Чтение исполняемого файла и листинга
- 5.16. Строковые инструкции и таблицы поиска
- 5.16. Числа с плавающей точкой и SIMD
- 5.16. Windows x64, WinAPI и отличия от Linux
- 5.16. Система команд (ISA) и синтаксис Intel/AT&T
- 5.16. Процедуры и прерывания
- 5.16. Справочник по ассемблеру
Си
- 5.16. История языка С
- 5.16. Основы языка С
- 5.16. Архитектура программ на С
- 5.16. Типы данных в С
- 5.16. Управляющие конструкции и операторы С
- 5.16. Функции и указатели
- 5.16. Первая программа на С
- 5.16. Справочник по языку С
- 5.16. Инструментальная цепочка компиляции С
- 5.16. Преобразование исходного кода в исполняемый файл
- 5.16. Стандарты языка С
- 5.16. Память процесса и сегменты
- 5.16. Компиляторы и среды разработки для С
- 5.16. Структуры и объединения
- 5.16. Идиомы кода и обработка ошибок
- 5.16. Хеш-таблица на С
- 5.16. Встраиваемая база данных из С
- 5.16. Многопоточность на С
- 5.16. Файловый ввод-вывод
- 5.16. Примеры игр и системных утилит на С
- 5.16. Системное программирование на С
Cobol
- 5.16. История языка COBOL
- 5.16. Основы языка COBOL
- 5.16. Архитектура программ на COBOL
- 5.16. Типы данных в COBOL
- 5.16. Управляющие конструкции и операторы COBOL
- 5.16. Процедуры и параграфы в COBOL
- 5.16. Первая программа на COBOL
- 5.16. Справочник по COBOL
- 5.16. Cobol — итоги
- 5.16. Cobol — чек-лист
Fortran
- 5.16. История языка Fortran
- 5.16. Основы языка Fortran
- 5.16. Архитектура Fortran-программ
- 5.16. Типы данных в Fortran
- 5.16. Управляющие конструкции и операторы Fortran
- 5.16. Подпрограммы и функции в Fortran
- 5.16. Первая программа на Fortran
- 5.16. Функциональные особенности Fortran
- 5.16. Справочник по языку Fortran
- 5.16. Fortran — итоги
- 5.16. Fortran — чек-лист
Lisp
- 5.16. История языка Lisp
- 5.16. Основы языка Lisp
- 5.16. Архитектура Lisp-систем
- 5.16. Типы данных в Lisp
- 5.16. Управляющие конструкции и операторы Lisp
- 5.16. Функции и рекурсия в Lisp
- 5.16. Первая программа на Lisp
- 5.16. Функциональное программирование в Lisp
- 5.16. Справочник по Lisp
Pascal
- 5.16. История языка Pascal
- 5.16. Основы языка Pascal
- 5.16. Архитектура Pascal-программ
- 5.16. Типы данных в Pascal
- 5.16. Управляющие конструкции и операторы Pascal
- 5.16. Процедуры и функции в Pascal
- 5.16. Первая программа на Pascal
- 5.16. Справочник по Pascal
- 5.16. Pascal — итоги
- 5.16. Pascal — чек-лист
Visual Basic
- 5.16. История языка visual-basic
- 5.16. Основы языка visual-basic
- 5.16. Архитектура приложений на visual-basic
- 5.16. Типы данных в visual-basic
- 5.16. Управляющие конструкции и операторы visual-basic
- 5.16. Процедуры и события в visual-basic
- 5.16. Первая программа на visual-basic
- 5.16. VBA в Excel
- 5.16. Типы и преобразования
- 5.16. Консоль и файлы
- 5.16. Лямбды и LINQ
- 5.16. VBScript
- 5.16. VBA Word и Access
- 5.16. Справочник по visual-basic
- 5.16. visual-basic — итоги
- 5.16. visual-basic — чек-лист
Haskell
- 5.17. История языка Haskell
- 5.17. Основы функционального программирования на Haskell
- 5.17. Архитектура выполнения Haskell-программ
- 5.17. Типы данных и система типов в Haskell
- 5.17. Управляющие конструкции и операторы Haskell
- 5.17. Функции, каррирование и композиция
- 5.17. Первая программа на Haskell
- 5.17. Монады в Haskell
- 5.17. Cabal и Stack
- 5.17. Простые приложения на Haskell
- 5.17. Haskell — итоги
Scala
- 5.18. История языка Scala
- 5.18. Основы языка Scala
- 5.18. Архитектура JVM-приложений на Scala
- 5.18. Типы данных и паттерн-матчинг
- 5.18. Управляющие конструкции и операторы Scala
- 5.18. Функции и функциональные конструкции
- 5.18. Первая программа на Scala
- 5.18. Простые приложения на Scala
- 5.18. Play Framework — первая программа
- 5.18. Akka — основы
- 5.18. Apache Spark на Scala — обзор
- 5.18. Scala — итоги
Elixir
- 5.19. История языка Elixir
- 5.19. Основы языка Elixir
- 5.19. Архитектура на базе Erlang VM (BEAM)
- 5.19. Типы данных и неизменяемость
- 5.19. Управляющие конструкции и операторы Elixir
- 5.19. Функции и процессы в Elixir
- 5.19. Первая программа на Elixir
- 5.19. Простые приложения на Elixir
- 5.19. Phoenix — первая программа
- 5.19. Elixir — итоги
Zig
- 5.20. История языка Zig
- 5.20. Основы языка Zig
- 5.20. Архитектура системного программирования на Zig
- 5.20. Типы данных и управление памятью
- 5.20. Управляющие конструкции и операторы Zig
- 5.20. Функции и время компиляции
- 5.20. Первая программа на Zig
- 5.20. Простые приложения на Zig
- 5.20. Zig — итоги
Nim
- 5.21. История языка Nim
- 5.21. Основы языка Nim
- 5.21. Архитектура компиляции и метапрограммирования
- 5.21. Типы данных и шаблоны
- 5.21. Управляющие конструкции и операторы Nim
- 5.21. Функции и макросы в Nim
- 5.21. Первая программа на Nim
- 5.21. Простые приложения на Nim
- 5.21. Nim — итоги
Dart
- 5.22. История языка Dart
- 5.22. Основы языка Dart
- 5.22. Архитектура платформы Dart
- 5.22. Типы данных и безопасность типов
- 5.22. Управляющие конструкции и операторы Dart
- 5.22. Функции и асинхронность
- 5.22. Первая программа на Dart
- 5.22. Паттерны и switch в Dart 3
- 5.22. Консоль, файлы и HTTP в Dart
- 5.22. Классы и ООП в Dart
- 5.22. Синтаксис и пунктуация в Dart
- 5.22. Простые приложения на Dart
- 5.22. Flutter
- 5.22. Provider и Riverpod во Flutter
- 5.22. Dart — итоги
- 5.22. Dart — чек-лист
R
- 5.23. История языка R
- 5.23. Основы языка R
- 5.23. Архитектура аналитических приложений на R
- 5.23. Типы данных и векторные операции
- 5.23. Управляющие конструкции и операторы R
- 5.23. Функции и пакеты
- 5.23. Первая программа на R
- 5.23. Простые приложения на R
- 5.23. tidyverse и ggplot2
- 5.23. R — итоги
Julia
- 5.24. История языка Julia
- 5.24. Основы языка Julia
- 5.24. Архитектура высокопроизводительных вычислений
- 5.24. Типы данных и множественная диспетчеризация
- 5.24. Управляющие конструкции и операторы Julia
- 5.24. Функции и макросы в Julia
- 5.24. Первая программа на Julia
- 5.24. Простые приложения на Julia
- 5.24. Pkg и Plots в Julia
- 5.24. Julia — итоги
Bash
- 5.25. История оболочки Bash
- 5.25. Экосистема скриптов и автоматизации на Bash
- 5.25. Обработка ошибок и коды возврата
- 5.25. Простые приложения на Bash
- 5.25. Основы языка Bash
- 5.25. Синтаксис и специальные символы в Bash
- 5.25. Ключевые слова и зарезервированные конструкции
- 5.25. Встроенные команды и функции оболочки
- 5.25. Переменные и подстановка значений
- 5.25. Условные операторы и циклы в Bash
- 5.25. Функции и локальные переменные
- 5.25. Работа с файлами, каталогами и процессами
- 5.25. Популярные утилиты и примеры скриптов
- 5.25. Первая программа на Bash
- 5.25. Справочник по командам и синтаксису Bash
- 5.25. Bash — итоги
PowerShell
- 5.26. История PowerShell
- 5.26. Экосистема автоматизации на PowerShell
- 5.26. Обработка ошибок и стратегии отладки
- 5.26. Простые приложения на PowerShell
- 5.26. Рекомендации по написанию PowerShell-скриптов
- 5.26. Основы языка PowerShell
- 5.26. Синтаксис и операторы PowerShell
- 5.26. Ключевые слова и управляющие конструкции
- 5.26. Командлеты и встроенные функции PowerShell
- 5.26. Типы данных и работа с переменными
- 5.26. Условные выражения и циклы
- 5.26. Функции и продвинутые параметры
- 5.26. Объектная модель и конвейерная обработка
- 5.26. Популярные модули и примеры скриптов
- 5.26. Первая программа на PowerShell
- 5.26. Справочник по PowerShell
- 5.26. Практическая автоматизация — модель и окупаемость
- 5.26. Стандартные блоки и модули PowerShell
- 5.26. Триггеры — расписание и наблюдатели
- 5.26. Секреты и безопасная автоматизация
- 5.26. Конфигурация и адаптивные скрипты
- 5.26. PowerShell — итоги
1С
- 5.27. Платформа 1С
- 5.27. История 1С
- 5.27. Экосистема 1С
- 5.27. Архитектура и мета-объекты 1С
- 5.27. Синтаксис и пунктуация 1С
- 5.27. Переменные и типы данных 1С
- 5.27. Управление потоком выполнения 1С
- 5.27. Функции и процедуры 1С
- 5.27. Объекты и классы 1С
- 5.27. Работа с базами данных 1С
- 5.27. Обработка ошибок 1С
- 5.27. Интеграция и взаимодействие 1С
- 5.27. Первая программа на 1С
- 5.27. Управляемые формы 1С
- 5.27. Выборки данных 1С
- 5.27. Регистры 1С — записи, срезы, остатки
- 5.27. Таблицы значений и табличные части 1С
- 5.27. Печать, макеты и отчёты 1С
- 5.27. Коллекции значений 1С
- 5.27. JSON в интеграции 1С
- 5.27. HTTP-сервисы 1С
- 5.27. HTTP-запросы из 1С
- 5.27. OData в 1С
- 5.27. Web-сервисы 1С (SOAP)
- 5.27. Сеансы интернет-сервисов 1С
- 5.27. FTP и электронная почта в 1С
- 5.27. Внешние источники данных 1С
- 5.27. Планы обмена и РИБ 1С
- 5.27. Универсальный обмен данными 1С
- 5.27. Внешние компоненты 1С
- 5.27. Automation и внешнее соединение 1С
- 5.27. 1С — итоги
- 5.27. Конфигурирование — мини-склад
- 5.27. XML и XDTO в интеграции 1С