> For the complete documentation index, see [llms.txt](https://timosii.gitbook.io/py_tutorial/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://timosii.gitbook.io/py_tutorial/osnovy-programmirovaniya/obzor-yazykov-programmirovaniya.md).

# Обзор языков программирования

* **низкоуровневые** языки программирования — ближе к машинному языку, сложнее для человека
* **высокоуровневые** языки программирования — дальше от машинного языка, проще для человека

**Исходный код** — код программы, написанный на языке программирования

Способы превращения исходного кода в машинный:

* **компиляция** — исходная программа транслируется (переводится) один раз при помощи программы: компилятора.
  * Программа запускается и работает уже будучи переведенной в машинный код, засчет этого работает быстрее
  * Процесс компиляции может занимать значительное количество времени
  * Сгенерированный двоичный код зависит от платформы — компилировать программу нужно под каждую платформу отдельно
  * Доступа к исходному коду в скомпилированной программе нет
* **интерпретация** — исходная программы транслируется каждый раз при запуске программы.
  * Пользователю нужен интерпретатор для запуска
  * Исходный код выполняется интерпретатором, а значит не зависит от платформы
  * Есть доступ к исходному коду.

В зависимости от того, каким образом происходит перевод в машинный язык, языки программированрия бывают **компилируемыми**: *C, C++, Erlang, Haskell, Rust, Go* и **интерпретируемыми**: *PHP, Ruby, Python и JavaScript*

*Дополнительные материалы:*\
[Компиляция и интерпретация кода — в чем разница?](https://ru.hexlet.io/blog/posts/kompilyatsiya-i-interpretatsiya-koda-chto-eto-takoe-i-v-chem-raznitsa)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://timosii.gitbook.io/py_tutorial/osnovy-programmirovaniya/obzor-yazykov-programmirovaniya.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
