Оптимизация в языках программированияПродолжая тему создания своего языка программирования, я решил рассказать об оптимизации. С последнего 14-го урока в предыдущей серии, язык OwnLang заметно улучшился, поэтому для начала я предлагаю ознакомиться с изменениями. ![]() Все оптимизации делаются после парсинга, в момент, когда у нас уже сформировано дерево AST. Дальше нам поможет Visitor, с его помощью удобно обходить дерево и заменять узлы. OptimizationVisitor - базовый класс, который может заменить один узел (Statement или Expression) на другой, либо удалить его. Классы всех остальных Продолжить Рейтинг: 6 (Против: 0 | За: 6) Добавлено: 24.11.2017 от aNNiMON Комментарии (3) 7 особенностей языка Java, о которых вы могли не знать![]() Продолжить Рейтинг: 5 (Против: 0 | За: 5) Добавлено: 20.10.2017 от aNNiMON Комментарии (2) Полное руководство по Java 8 Stream API в картинках и примерахС момента выхода Java 8 я практически сразу начал пользоваться Stream API, так как функциональный подход обработки данных мне пришелся по нраву. Хотелось пользоваться им везде, поэтому я начал разрабатывать библиотеку Lightweight-Stream-API, которая привносит подобный подход в ранние версии Java. Также меня интересовало внутреннее устройство стримов. За это время накопилось достаточно опыта и теперь я спешу им поделиться. Продолжить Рейтинг: 18 (Против: 0 | За: 18) Добавлено: 9.08.2017 от aNNiMON Комментарии (23) Создание плагина для NetBeans IDEВ конце мая попросили записать видеоуроки по созданию NetBeans плагина для своего языка программирования. Выполняю эту просьбу ![]() Немного изменил подход к записи уроков, теперь они более компактные, к тому же содержат субтитры. Но время на создание одного урока увеличилось, так что новые видео будут появляться примерно раз в неделю. Репозиторий проекта: https://github.com/annimon-tutorials/NetBeans-Plugin-Tutorial Плейлист на YouTube: https://www.youtube.com/playli...Zk5-A3o96P6umMCYFieV Продолжить Рейтинг: 7 (Против: 0 | За: 7) Добавлено: 13.06.2017 от aNNiMON Комментарии (6) Обобщения в Java (Java Generics)![]() Дженерики появились в Java 1.5 и призваны обезопасить код от неправильной типизации. Параметризируя класс, интерфейс или метод, можно добиться гибкости в переиспользовании алгоритмов, строгой проверки типов и упростить написание кода. Без использования дженериков в код может пробраться ошибка типов:
Здесь мы случайно добавили в список число 3, а затем берём из списка строки. Код скомпилируется, но вот при запуске будет выдан ClassCastException на последней строке. Перепишем с использованием дженериков:
Продолжить Рейтинг: 10 (Против: 0 | За: 10) Добавлено: 30.03.2017 от aNNiMON Комментарии (15) Всего: 42
|