Статьи, которые добавил Oak:

Проблемный Rust или указатели на очищенную память

Прочие языки  rust

Текст и код статьи предоставлен на https://github.com/White-Oak/rust_articles

Когда впервые начинаешь программировать, или писать на языке с незнакомой парадигмой, или даже использовать неизученный фреймворк, то очень часто задаешься вопросом: "Как это сделать?".
Когда учишься программировать на Rust в голове чаще возникает вопрос: "Почему так нельзя сделать?".

Я пишу на Rust уже месяц и, признаюсь, первые дни были для меня ужасными: я фыркал, злился, закрывал редактор, потому что просто не мог понять, почему язык не дает мне написать код, который мне казался идеологически безукоризненным.

Одной из самых частых и раздражающих ошибок новичка является cannot
Продолжить

Рейтинг:  5  (За: 7 | Против: 2)
Добавлено: 18.01.2016 от Oak

Комментарии (16)

Перевод: пишем простой JIT на Rust

Прочие языки  rust, перевод

От переводчика
Обновление от 2015-12-05
Создание простого JIT на RustНа днях я набросал простенький Just-In-Time
Продолжить

Рейтинг:  8  (За: 9 | Против: 1)
Добавлено: 2.12.2015 от Oak

Комментарии (18)

Rust и Benchmarking

Прочие языки  rust

Оригинальный код бенчмарка на Java выглядел так:
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         int w = 25600;
  4.         int h = 2048;
  5.         int a[] = new int[w*h];
  6.         long stt = System.currentTimeMillis();
  7.         for (int i=0; i<w; i++)
  8.             for (int j=0; j<h; j++)
  9.                 a[i+w*j] = i*j;
  10.         System.out.println(System.currentTimeMillis()-stt);
  11.     }
  12. }
Казалось бы — что сложного просто перенести этот код на другой язык, тем более, что близкий по парадигме. Полный энтузиазма и решительности, я поставил Rust, Cargo и SolidOak (рекламирующую себя как Rust IDE, но на деле представляющую из себя просто NeoVim в окошке) и понял как сильно я ошибался.

Открыть спойлер

Продолжить

Рейтинг:  7  (За: 7 | Против: 0)
Добавлено: 9.11.2015 от Oak

Комментарии (13)

Пишем компилятор — Введение

Java

Компиляторы — вещь сложная, но принципы его работы достаточно просты.
1. Лексемный разбор — разбор входящего потока символов на лексемы и передача их следующему этапу в виде токенов.
2. Синтаксический разбор — разбор лексем, полученных в предыдущей стадии на синтаксические конструкции
3. Трансляция — формирование кода более низкого уровня из синтаксического дерева, полученного на предыдущей стадии

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

В цикле статей трансляция, скорее всего, рассматриваться не будет, хотя выполнять программы, составленные на нашем языке, мы сможем.

Идентификатор
Продолжить

Рейтинг:  9  (За: 10 | Против: 1)
Добавлено: 20.11.2014 от Oak

Комментарии (14)
Всего: 4
Категории

Мы в соцсетях

tw tg yt gt