Вопросы по теме 'language-design'
Почему короткое замыкание не является поведением по умолчанию в VB?
В VB есть операторы AndAlso и OrElse , которые выполняют замыкание логических соединение.
Почему это не поведение по умолчанию для выражений И и Или , поскольку сокращение полезно в каждом случае.
Как ни странно, это противоречит...
3610 просмотров
schedule
23.08.2022
Написание мини-языка
У меня есть приложение, которое должно позволять пользователям писать выражения, похожие на 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 просмотров
schedule
21.12.2023
Почему шаблон функции не может быть частично специализированным?
Я знаю, что спецификация языка запрещает частичную специализацию шаблона функции.
Я хотел бы знать, почему он запрещает это? Разве они не полезны?
template<typename T, typename U> void f() {} //allowed!
template<> void...
27381 просмотров
schedule
29.12.2023
Почему в C++ нет базового класса?
С точки зрения дизайна, почему в C++ нет основного базового класса, который обычно object в других языках?
10467 просмотров
schedule
01.11.2023
С чего начать, если я хочу понять, как создаются компиляторы и языки программирования
Возможный дубликат: Учимся писать компилятор
Я знаю, что это широкий вопрос, но где мне начать изучать, как на самом деле работают компиляторы, как создаются языки программирования, я имею в виду не то, как вы используете Java или...
385 просмотров
schedule
20.02.2024
Является ли это злоупотреблением общей системой типов?
Предположим, у нас есть компилятор, скомпилированный в .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 просмотров
schedule
02.07.2022
Почему логическое значение не зависит от целочисленного типа в 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 просмотров
schedule
21.03.2024