Вопросы по теме 'language-design'

Почему короткое замыкание не является поведением по умолчанию в VB?
В VB есть операторы AndAlso и OrElse , которые выполняют замыкание логических соединение. Почему это не поведение по умолчанию для выражений И и Или , поскольку сокращение полезно в каждом случае. Как ни странно, это противоречит...
3610 просмотров

Написание мини-языка
У меня есть приложение, которое должно позволять пользователям писать выражения, похожие на excel: (H1 + (D1 / C3)) * I8 и более сложные вещи, такие как Если (H1 = 'True', D3 * .2, D3 * .5) Я могу сделать так много только с помощью...
1546 просмотров
schedule 04.02.2024

Почему массив не может быть назначен для Iterable?
с Java5 мы можем написать: Foo[] foos = ... for (Foo foo : foos) или просто используя Iterable в цикле for. Это очень удобно. Однако вы не можете написать универсальный метод для итерации следующим образом: public void...
50656 просмотров
schedule 17.07.2022

Есть ли у этого языка своя ниша | будущее?
Я работаю над новым языком, предназначенным для веб-разработки, встраивания в приложения, распределенных приложений, высоконадежного программного обеспечения (но это на будущее). Кроме того, его цель - сократить расходы на разработку в долгосрочной...
669 просмотров

Почему шаблон функции не может быть частично специализированным?
Я знаю, что спецификация языка запрещает частичную специализацию шаблона функции. Я хотел бы знать, почему он запрещает это? Разве они не полезны? template<typename T, typename U> void f() {} //allowed! template<> void...
27381 просмотров

Почему в C++ нет базового класса?
С точки зрения дизайна, почему в C++ нет основного базового класса, который обычно object в других языках?
10467 просмотров
schedule 01.11.2023

С чего начать, если я хочу понять, как создаются компиляторы и языки программирования
Возможный дубликат: Учимся писать компилятор Я знаю, что это широкий вопрос, но где мне начать изучать, как на самом деле работают компиляторы, как создаются языки программирования, я имею в виду не то, как вы используете Java или...
385 просмотров

Является ли это злоупотреблением общей системой типов?
Предположим, у нас есть компилятор, скомпилированный в .Net, где все методы будут универсальными для всех их типов (параметров и локальных переменных), и при написании метода вы будете указывать не типы, а ограничения. При компиляции метод может...
312 просмотров
schedule 17.01.2024

языки, в которых всегда было тройное равенство
Какие популярные языки программирования были намеренно разработаны с самого начала, чтобы иметь как ===, так и == (и требуют от программиста выяснить, какой из них использовать). Javascript, PHP, ruby ​​(и, возможно, другие) имеют тройное равенство...
2218 просмотров
schedule 29.08.2022

За вызовом функции C следует разделитель запятой
Я читал материал об ошибках, которых следует избегать при написании программ на C, и наткнулся на следующий код: #include <stdio.h> void foo(int param) { printf("foo is called\n"); printf("%d\n",param); } int main() { return...
269 просмотров
schedule 05.01.2024

Как реализовать break в функциональном языке
Привет, мне интересно, что является «лучшим» способом реализации прерывания и продолжения на языке, где операторы циклов, например. while и for, а также операторы if на самом деле являются функциями. Поэтому я думаю, что break может вызвать...
61 просмотров
schedule 13.03.2024

Почему спецификатор mutable классифицируется как спецификатор класса хранения, а не как квалификатор?
Когда спецификатор mutable используется в объявлении нестатического члена данных, данные изменяются независимо от того, рассматривается ли остальная часть объекта как константа. Учитывая этот факт, у нас легко может сложиться впечатление, что...
524 просмотров

Почему логическое значение не зависит от целочисленного типа в python?
В отличие от большинства языков программирования в python, я вижу, что логический тип является заполнителем целочисленного значения 1 , поскольку следующий код работает отлично. >>> i = 0 >>> while i < 10: ... i += True...
46 просмотров
schedule 18.01.2024

Почему ключи/значения python dict не крякают, как утка?
Python утиный тип , и, как правило, это позволяет избежать приведения faff, когда Работа с примитивными объектами. Каноническим примером (и причиной названия) является тест на утку: если он выглядит как утка, плавает как утка и крякает как...
928 просмотров
schedule 06.09.2022

Когда использовать записи C#9
C#9 был официально анонсирован пару дней назад, и одним из самых больших дополнений к языку является новый тип «запись», использующий ключевое слово data . Эта новая функция очень похожа на структуры только для чтения C# 7.2, поэтому я не...
2759 просмотров