Skip to content

Latest commit

 

History

History
68 lines (51 loc) · 3.85 KB

ROADMAP.ru.md

File metadata and controls

68 lines (51 loc) · 3.85 KB

Дорожная карта

Трансляция синтаксиса

Переменные

  1. Объявление и инициализация переменных с аннотацией типов
  2. Объявление и инициализация переменных без аннотирования (сейчас выбрасывается исключение)
  3. Объявление и инициализация списков как массивов (следите, чтобы все элементы массива имели одинаковый тип)
  4. Объявление и инициализация списков как массивов, с разным типом элементов в одном массиве
  5. Объявление и инициализация множества
  6. Объявление и инициализация словаря как структуры

Функции

  1. Объявление функций с аргументами, имеющих значения по-умолчанию
  2. Объявление функций с *args
  3. Объявление функций с **kwargs
  4. Возврат функцией нескольких значений

Циклы

  1. Цикл for i in [...]:
  2. Цикл for i in range():
  3. Цикл while
  4. Цикл while...else (язык C такой конструкции не имеет)
  5. break и continue
  6. Списочная генерация (list comprehension): [i for i in b]

Условия

  1. Условие if...elif...else
  2. Условное выражение (condition expression) a if b else c (в C - тернарный оператор)
  3. switch (в языке C конструкция гораздо проще)

Импорт

  1. t
  2. t
  3. t
  4. t
  5. t

Ссылки

  1. Инициализация ссылки: int__link: a - аналог int *a;
  2. Получение ссылки: a.link - аналог *a

Прочее

  1. print() для строки
  2. print() с учётом форматирования
  3. Если переменная написана верхним регистром, то она в C она станет константой
  4. Арифметические операции: +, -, /, *, ,
  5. Арифметические операции: ** - в языке C требует импорта библиотеки cmath.h
  6. Арифметические операции: // (целочисленное деление)
  7. Поразрядные операции; унарная операция -
  8. Булевы значения True и False транслируются в 1 и 0 соответственно

Семантическая трансляция

  1. Учёт области видимости (в Python область видимости определяют модули и функции/методы, в C - фигурные скобки)
  2. Автоматическое определение типа переменной на основе действий над списком: массив, динамический массив
  3. Автоматическое определение типа переменной на основе действий над словарём: структура, словарь
  4. Если для константы есть второе и последующее присваивание, то такая константа становится переменной
  5. Объявление классов с методами и свойствами
  6. Написание веб-сервера
  7. Написание графического интерфейса