Вопросы с тегом «language-design»

Вопросы, связанные с дизайном и структурой языков программирования.

3
Почему Swift сначала инициализирует собственные поля подкласса?
В языке Swift, чтобы инициализировать экземпляр, нужно заполнить все поля этого класса и только потом вызывать суперконструктор: class Base { var name: String init(name: String) { self.name = name } } class Derived: Base { var number: Int init(name: String, number: Int) { // won't compile if interchange lines self.number …

3
Насколько полезен «истинный» размер переменных в C?
Одна вещь, которая всегда интуитивно поражала меня как положительная особенность C (ну, собственно, его реализаций, таких как gcc, clang, ...), это то, что он не хранит скрытую информацию рядом с вашими переменными во время выполнения. Под этим я подразумеваю, что если вы, например, хотите переменную «x» типа «uint16_t», вы можете …

3
Является ли дублирующий синтаксис для определения именованных функций плохим решением для проектирования языка?
Я забавляюсь языком программирования, и его синтаксис находится под сильным влиянием Scala, в частности определений функций. Я столкнулся с проблемой проектирования, потому что мой язык не различает функции, определенные с помощью defсинтаксиса (методы класса), и анонимные функции, назначенные значениям (созданные с использованием =>) - он устраняет различия как в реализации, …

3
Какое обоснование используется, когда разработчики языка программирования решают, какой знак дает результат операции по модулю?
Проходя операцию по модулю (проспект, в который я вошел, исследуя разницу между remиmod ), я наткнулся на: В математике результатом операции по модулю является остаток от евклидова деления. Однако возможны и другие соглашения. Компьютеры и калькуляторы имеют различные способы хранения и представления чисел; таким образом, их определение операции по модулю …

1
В чем проблема с XML-литералами Scala?
В этом посте Мартин (глава языка) пишет: [Литералы XML] В то время это выглядело великолепной идеей, а теперь она торчит как больной большой палец. Я полагаю, что с новой схемой интерполяции строк мы сможем поместить всю обработку XML в библиотеки, что должно стать большой победой. Я сам интересуюсь языковым дизайном …

4
Может ли язык программирования работать без заявлений?
Что касается программирования на JavaScript, я заметил, что все, что можно сделать с помощью операторов, а блоки можно сделать только с помощью выражений. Может ли язык программирования нормально работать только с выражениями? И если да, то почему вообще используются заявления?

3
Что такое реальный вариант использования грамматики Chomsky Type-I (контекстно-зависимой)
В последнее время мне было весело исследовать разработку синтаксических анализаторов языка в контексте того, как они вписываются в иерархию Хомского. Что является хорошим реальным (то есть не теоретическим) примером контекстно-зависимой грамматики?

3
Почему модули .NET отделяют имена файлов модулей от пространств имен?
В реализациях языка программирования Scheme (стандарт R6RS) я могу импортировать модуль следующим образом: (import (abc def xyz)) Система попытается найти файл, в $DIR/abc/def/xyz.slsкотором $DIRнаходится какой-то каталог, в котором вы храните свои модули Scheme. xyz.slsявляется исходным кодом для модуля и при необходимости компилируется на лету. В этом отношении системы модулей Ruby, …

7
Какие функции необходимы для объектной ориентации?
Мне просто интересно, какие именно функции должен предоставлять язык или библиотека, чтобы его можно было определить как «объектно-ориентированный». Является ли объектная ориентация чем-то, чего можно более или менее достичь в любом языке программирования общего назначения с приличными функциями? Или это может быть достигнуто только в тех языках, которые специально рекламируют, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.