0
ответов

При разработке языка ОО следует избегать свойств, доступных только для записи?

Я разрабатываю объектно-ориентированный язык программирования с целью обучения. В языке есть свойства, например, такие: Класс Fruit: Свойство ReadWrite Float weight Свойство WriteOnly Integer ...
вопрос задан: 24 October 2011 12:34
0
ответов

Поддержка современных языков + =, но не && =

Большинство (но я знаю лишь небольшое число, так что давайте не будем придирчивы в этом вопросе) языки высокого уровня поддерживают несколько различных операторы присваивания. а + = 5; // увеличиваем a и присваиваем результат ...
вопрос задан: 19 October 2011 21:04
0
ответов

языков, в которых всегда было тройное равенство.

Какие популярные языки программирования были намеренно разработаны с самого начала, чтобы иметь как ===, так и == (и требуют от программиста выяснить, какой из них использовать). Javascript, PHP, ruby ​​(и ...
вопрос задан: 18 October 2011 06:58
0
ответов

Почему Array не отменяет метод тройного знака равенства в Ruby?

Я только что заметил, что Array не отменяет метод тройного знака равенства ===, который иногда называют методом равенства случаев. x = 2 case x when [1, 2, 3] затем "match" else "no match" конец # ...
вопрос задан: 12 October 2011 01:20
0
ответов

Производительность «прямой» виртуальный вызов VS. Интерфейсный вызов в C #

Этот тест, по-видимому, показывает, что вызов виртуального метода непосредственно на ссылке объекта является быстрее, чем вызывая его на Ссылка на интерфейс Этот объект реализует. Другими словами: ...
вопрос задан: 1 October 2011 13:15
0
ответов

Ошибка компилятора о том, что граф классов не является конечным из-за расширенно рекурсивного параметра типа

С этим фрагмент кода: черта B [T] черта C [T] класс A [T] расширяет B [A [C [T]]] Я получаю следующую ошибку: error: class graph не является конечным, потому что параметр типа T является расширенно рекурсивным ...
вопрос задан: 24 September 2011 17:57
0
ответов

Каковы стратегии поддержки / интеграции единиц измерений на языках?

Интересно, от чисто языковой точки зрения, что «функции» (семантически и синтаксически) требуют «реализации» единиц SI. Как правило, что «функциональность», как правило, ожидается, если ...
вопрос задан: 20 September 2011 10:03
0
ответов

Почему стирание усложняет использование типов функций?

Я прочитал из интервью с внутренним данным: «Например, добавление типов функций к языку программирования гораздо сложнее с стиранием как часть дженериков ». РЕДАКТИРОВАТЬ: Другое место, где я ...
вопрос задан: 15 September 2011 20:24
0
ответов

Java и .NET: Почему по умолчанию используются разные алгоритмы сортировки? [закрыто]

Просто интересно, почему Java и .NET Framework по умолчанию используют разные алгоритмы сортировки. В Java Array.Sort () по умолчанию использует алгоритм сортировки слиянием, и, как сказано на Wikipedia.com: «В Java массивы ....
вопрос задан: 15 September 2011 19:52
0
ответов

Вопрос C #

Следующий класс имеет два метода где M1 жалуется «Не весь код код возвращает значение», а M2 не. Вопрос: Как компилятор разрешит M2 в контексте возвращаемого значения? Как ...
вопрос задан: 13 September 2011 10:23
0
ответов

Есть ли ограничение на длину имени идентификаторов в C ++?

Есть ли ограничение длины на имена переменных в C ++? Что это такое? Есть ли у этого есть что делать с «64/32-утомительной» машины? Редактировать: В частности, какой предел GCC?
вопрос задан: 12 September 2011 19:28
0
ответов

Почему Scala не имеет статических участников внутри класса?

Я знаю, что вы можете определить их косвенно добиться чего-то похожего с объектами компаньона, но мне интересно, почему в качестве языкового дизайна статики выпадают из определений классов.
вопрос задан: 4 September 2011 13:39
0
ответов

Что такое использование корпуса вторичных конструкторов в абстрактных классах?

Рассмотрим этот код: абстрактный класс FOO (VAL S: String) {def это (i: int) = это ("+ (i + 2)) } Насколько я понимаю, конструкторы не наследуются, а вторичные конструкторы не могут быть вызваны из ...
вопрос задан: 31 August 2011 10:11
0
ответов

Можно ли создавать модификации языка C#, как и LINQ?

Я довольно долго просматривал блог мистера Скита о том, как переделать LINQ. В частности, он утверждает, что код: var list = (от человека в людях, где person.FirstName.StartsWith("J")....
вопрос задан: 30 August 2011 17:29
0
ответов

Почему методы расширения C# должны быть определены в статических классах? [дублировать]

Я понимаю, что методы расширения C# должны быть статическими. Чего я не понимаю, так это почему эти расширения не могут быть определены в нестатических классах или общих классах? Обновление: Меня интересует причина ...
вопрос задан: 23 August 2011 16:33
0
ответов

Почему символы @ и $ ни для чего не используются в C и C ++? [closed]

В обоих языках базовый исходный набор символов включает в себя все печатаемые символы ASCII, кроме @, $ и `. Я понимаю, что не использую серьезный акцент, потому что он не всегда интерпретируется как отдельный ...
вопрос задан: 23 August 2011 04:41
0
ответов

Почему объектные литералы в javascript сохраняют ненужные ссылки на DOM?

Из этого документа, Don't do this car = new Object (); car.make = "Хонда"; car.model = "Гражданский"; car.transmission = "руководство"; car.miles = 1000000; car.condition = "требуется доработка"; Сделайте это вместо car = ...
вопрос задан: 5 August 2011 17:15
0
ответов

Почему мы должны определять как ==, так и! = В C #?

Компилятор C # требует, чтобы всякий раз, когда пользовательский тип определяет operator ==, он также должен определять! = (См. Здесь). Зачем? Мне любопытно узнать, почему дизайнеры сочли это необходимым и почему не могут ...
вопрос задан: 2 August 2011 08:57
0
ответов

Какие параметры синтаксиса / языковые функции были удалены в Scala со временем (и почему)? [закрыто]

Название в значительной степени резюмирует мой вопрос. Отказ от наследования класса case - довольно новый вопрос, и мне интересно, какие вещи были удалены / существенно изменены до этого. Я ...
вопрос задан: 25 July 2011 09:57
0
ответов

Почему HttpRequest.HttpMethod - это строка, а не Enum?

В справочнике HttpRequest.HttpMethod .NET Framework тип запроса объявляется с типом System.String. В RFC 2616 объявлены все методы HTTP-запроса (например, POST, GET, PUT, DELETE ...). ...
вопрос задан: 17 July 2011 06:17
0
ответов

Рубиновые блоки не первоклассные

С точки зрения языкового дизайна, почему рубиновые блоки не первоклассные? Точно так же я считаю, что блоки на самом деле должны быть лямбда-выражениями, тем самым избавляясь от необходимости в громоздком синтаксисе, таком как proc {...} ....
вопрос задан: 14 July 2011 05:55
0
ответов

Различия при переопределении унаследованных полей конструктора?

Рассмотрим этот простой класс Scala: класс A (val d: Int) Есть ли разница в Scala (в поведении или сгенерированном байт-код) между классом B (d: Int) расширяет A (d) и класс B (переопределить val d: ...
вопрос задан: 11 July 2011 22:05
0
ответов

C99 - почему false и true определены как 0 и 1, а не как ((bool) 0) и (( bool) 1)?

Просто наткнулся на assert, который потерпел неудачу, поскольку он сравнивал false с типом возврата функции, поскольку сама функция вернула bool, а assert проверил не только значение, но и тип .. .
вопрос задан: 8 July 2011 17:49
0
ответов

Массивы как отдельный тип

Некоторые языки сценариев, такие как Python и Javascript, имеют массивы (также известные как списки) в качестве отдельный тип данных от хеш-таблиц (они же словари, карты, объекты). В других языках сценариев, таких как PHP ...
вопрос задан: 3 July 2011 18:29
0
ответов

Синтаксически необходимы отдельные открытые и закрывающие ограничители?

При проведении аналогии между умными кавычками и языками программирования это произошло для меня, что отдельные символы для открывающих и закрывающих разделителей могут не быть необходимыми, это просто выбор в ...
вопрос задан: 1 July 2011 02:09
0
ответов

Спецификация основного языка схемы

Я изучаю схему, и меня особенно интересует, как построен язык. Я пытаюсь найти хорошее описание основного синтаксиса для реализации схемы мышление. Я не ...
вопрос задан: 29 June 2011 16:36
0
ответов

Добавление функции в LLVM (привязки haskell), когда количество параметров неизвестно во время компиляции

Предыстория: Я написал игрушечный интерпретатор Lisp, который я пытаюсь добавить LLVM JIT функциональность. На данный момент наложены следующие ограничения: В ...
вопрос задан: 23 June 2011 02:37
0
ответов

Когда авто используется против массива, почему он преобразован в указатель, а не ссылку?

См. пример ниже: int arr [10]; int * p = arr; // 1-й правильный выбор int (& r) [10] = arr; // 2-й допустимый выбор Теперь, когда мы используем auto против arr, он выбирает 1-й вариант. auto x = arr; // ...
вопрос задан: 22 June 2011 17:49
0
ответов

Поддерживает ли какой-либо язык программирования определение ограничений для примитивных типов данных?

Вчера вечером я подумал, что языки программирования могут иметь функцию, в которой мы должны иметь возможность ограничивать значения, присваиваемые примитивным типам данных? типы данных. Например, я мог бы сказать…
вопрос задан: 21 June 2011 08:27
0
ответов

На пути к пониманию CodeGen * в привязках LLVM Haskell

Предпосылки: я пишу игрушечный интерпретатор / компилятор Lisp на Haskell для мое собственное развлечение / назидание. Я пытаюсь добавить возможность компиляции в байт-код LLVM. Контекст: Я читал ...
вопрос задан: 16 June 2011 17:48