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

7
Почему парадигма деструктора объекта в языках с мусорным сбором повсеместно отсутствует?
Ищите понимание решений, связанных с языковым дизайном, собираемым мусором. Возможно, специалист по языку мог бы просветить меня? Я родом из C ++, так что эта область сбивает меня с толку. Кажется, что почти все современные языки со сборкой мусора с поддержкой объектов OOPy, такие как Ruby, Javascript / ES6 / …

3
Инструменты визуального программирования, почему они не работают с AST напрямую?
Я нашел несколько инструментов визуального программирования с открытым исходным кодом, таких как Blockly и друзья, и другие проекты, размещенные на Github, но не смог найти ни одного, который бы работал непосредственно с абстрактным синтаксическим деревом. Почему это? Я спрашиваю, потому что, как только я обнаружил, что у каждого компилятора есть …

4
Имеет ли смысл иметь понятия «ноль» и «возможно»?
При создании клиента для веб-API в C # я столкнулся с проблемой, связанной nullсо значением, в которой он представлял бы две разные вещи: ничего , например, fooможет иметь или не иметьbar неизвестно : по умолчанию ответ API включает только подмножество свойств, вы должны указать, какие дополнительные свойства вы хотите. Таким …

3
Автоматический Даункинг путем определения типа
В Java, вы должны явно привести, чтобы уменьшить значение переменной public class Fruit{} // parent class public class Apple extends Fruit{} // child class public static void main(String args[]) { // An implicit upcast Fruit parent = new Apple(); // An explicit downcast to Apple Apple child = (Apple)parent; } …

1
Типы как гражданин первого класса
Исходя из опыта C ++, я не понимаю, зачем нужны типы / выражения типов как первоклассный гражданин? Единственный язык, который я знаю, который поддерживает эту функцию, это Aldor. Есть ли у кого-нибудь литература о типах как первоклассном гражданине или есть причины, почему это полезно?
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.