Компромиссы, или Как проектируются языки программирования
Когда-то компьютеры были большими, а языки программирования — маленькими. Когда-то совсем давно. Теперь компьютеры довольно маленькие, а языки — довольно большие. Почему? Все дело в балансе: слишком большой язык сложно изучать, слишком маленький — сложно использовать. Это один пример компромисса в дизайне языков, и таких примеров очень много на разных уровнях абстракции: от вопросов бинарной совместимости до конкретного синтаксиса и читаемости программ.
Этот доклад посвящен таким компромиссам: почему разработчики языков делают так или иначе. Мы рассмотрим несколько характеных примеров, касающихся Kotlin, Java, Scala и C#, что позволит сформировать некоторое представление о том, как проектируются языки.
АвторАндрей Бреслав
ОрганизаторСообщество JUG.ru
Лекции курса
20- Clean Tests: how to structure your tests, so that they serve you wellPawel Lipinski
- Groovy DSL для plugin-ов: Расширения человеческим языкомБарух Садогурский
- JBoss Drools Expert против грязиВиктор Полищук
- JDK8: Stream styleСергей Куксенко
- Java Embedded у вас дома!Александр Мироненко, Александр Белокрылов
- Java mapping для прагматичных программистовВладимир Красильщик
- Java-сертификация. Что такое и зачем это нужно?Сергей Клименков
- Spring 4.0: новое поколениеЕвгений Борисов
- UrsaJ: HTTP File StorageКузьма Деретюк
- Аварийный дамп — «черный ящик» упавшей JVMАндрей Паньгин
- В поисках Tommy HilfigerМихаил Хлуднев
- Занимательные истории из жизни технической поддержки JVMНикита Липский, Михаил Быков
Показать все 20 лекций
- Как я создал desktop-приложение на Java, скачанное 9 000 000 разАнтон Кекс
- Компромиссы, или Как проектируются языки программирования▶ Вы тут
- О чём молчат Heap Dump-ыАлексей Шипилёв
- Мутационное тестирование, или О чём молчит Code CoverageГлеб Смирнов
- Парадигмы ООП, основы здравого дизайна и архитектуры Java приложенийНиколай Алименков
- Платформа для Видео сроком в кварталАлександр Тоболь
- Спорим, в твоем приложении есть утечка памяти?Никита Сальников-Тарновский
- Франкенштейнизация Voldemort или key-value данные в ОдноклассникахРоман Антипин
Онлайн-курсы по программированию
3
Машинное обучение для анализа текстов
От бизнес-идеи к ее реализации: учимся инновационному предпринимательству с нуля.
С платными опциями

Разработка игры-платформера на Defold: базовый уровень
Создайте свой первый платформер с нуля! За 7 недель вы не просто освоите движок Defold, а пройдете весь путь геймдев-разработчика: от кода и анимаций до дизайна и сюжета.
Бесплатный

Python для начинающих
Курс посвящен основам программирования на языке Python — одном из самых популярных и понятных языков, идеально подходящих для первого знакомства с IT.
Бесплатный
