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

Почему компиляция занимает так много времени?
Я разрабатываю язык программирования, и одна из проблем, о которых я думал, заключалась в том, почему языки программирования долго компилируются. Предполагается, что C ++ занимает много времени, потому что ему необходимо анализировать и компилировать...
3850 просмотров

Почему переменная итерации в операторе C# foreach доступна только для чтения?
Насколько я понимаю, переменная итерации C# foreach неизменяема. Это означает, что я не могу изменить итератор следующим образом: foreach (Position Location in Map) { //We want to fudge the position to hide the exact coordinates...
21952 просмотров
schedule 14.05.2023

В чем смысл make_heap?
Может кто-нибудь, пожалуйста, скажите мне, в чем смысл шаблонов функций кучи STL, таких как std::make_heap ? Зачем кому-то их использовать? Есть ли практическое применение?
26005 просмотров
schedule 08.01.2024

Как иерархия Хомского и машины Тьюринга должны влиять на дизайн языка?
В настоящее время я готовлюсь к тесту по дискретной математике, в котором мы изучаем иерархию Хомского и тип автоматов, распознающих каждый уровень иерархии. Меня учат, что большинство компьютерных языков попадают в «уровни 2 и 1» иерархии, но не...
2063 просмотров

Почему множественное наследование запрещено в Java или C #?
Я знаю, что в Java и C # множественное наследование запрещено. Во многих книгах прямо говорится, что множественное наследование недопустимо. Но это можно реализовать с помощью интерфейсов. Ничего не обсуждается, почему это запрещено. Кто-нибудь...
81195 просмотров

Если вы разработчик языка, как бы вы сделали игнорирование параметров более лаконичным для лямбда-выражений?
Основываясь на это , как бы вы сделали игнорирование параметров более кратким ? var m = menuStrip.Items.Add("Привет", null, делегат { MessageBox.Show("Como Esta Mundo"); }); Я думаю в духе: var m = menuStrip.Items.Add("Привет", null, ==>...
116 просмотров
schedule 02.02.2023

Как бы вы заменили ключевое слово «новое»?
Была статья, которую я нашел давно (я не могу найти ее в банкомате), в которой изложены причины, по которым новое ключевое слово в C++ плохое. Я не могу вспомнить все причины, но две, которые я помню больше всего, это то, что вы должны сопоставлять...
1550 просмотров
schedule 06.12.2022

Зачем C ++ нужен отдельный файл заголовка?
Я никогда толком не понимал, зачем C ++ нужен отдельный файл заголовка с теми же функциями, что и в файле .cpp. Это очень затрудняет создание классов и их рефакторинг, а также добавляет в проект ненужные файлы. Кроме того, возникает проблема с...
59408 просмотров
schedule 03.03.2022

Какие языки программирования были разработаны с поддержкой Unicode с самого начала?
Какие широко используемые языки программирования были разработаны с нуля с поддержкой Unicode? Многие языки программирования добавили поддержку Unicode как запоздалую мысль в более поздних версиях, но какие широко используемые языки были выпущены с...
4199 просмотров

Нумерация месяцев с нуля [закрыта]
Некоторые популярные языки программирования используют нумерацию месяцев, которая смещена на 1 — на ум приходит JavaScript, как и Java, и, если мне не изменяет память, C — еще один. У меня есть несколько вопросов: Если вы собираетесь...
24357 просмотров
schedule 08.04.2023

Любая причина наличия val capacity : Int вместо val Int Capacity в Scala
Я читаю Scala и мне интересно... Почему val capacity : Int вместо val Int capacity. Любая причина, по которой был сделан этот выбор. Если нет, мне не кажется хорошим выбором отойти от способа объявления Java. Упростил бы переход с...
655 просмотров
schedule 01.09.2023

Почему типы значений хранятся в стеках?
Почему C# (.Net) предпочитает стек для хранения типов значений? Какова основная причина этого дизайна? Это потому, что операции чтения/записи в стек лучше используют процессор машины? Кроме того, может быть, вы можете обосновать, почему не другие?
10109 просмотров
schedule 22.06.2022

Утиный набор текста, он должен быть динамичным?
Википедия раньше говорила * о утином наборе : В компьютерном программировании с использованием объектно-ориентированных языков программирования утиная типизация - это стиль динамической типизации, в котором текущий набор методов и свойств...
4091 просмотров

Анализ F# абстрактных синтаксических деревьев
Как лучше всего использовать F# для разбора AST для создания интерпретатора? Существует множество примеров F# для тривиального синтаксиса (базовые арифметические операции), но я не могу найти ничего для языков с гораздо большим набором функций....
4381 просмотров

C # статическое наследование членов - почему оно вообще существует?
В C # статические члены суперкласса «наследуются» в области видимости подклассов. Например: class A { public static int M() { return 1; } } class B : A {} class C : A { public new static int M() { return 2; } } [...] A.M(); //returns 1 B.M();...
36886 просмотров
schedule 10.07.2023

История конечных запятых в грамматиках языков программирования
Многие языки программирования позволяют использовать запятые в грамматике после последнего элемента в списке. Якобы это было сделано для упрощения автоматической генерации кода, что и понятно. В качестве примера ниже приведена совершенно...
6174 просмотров

Теги в стиле ASP для веб-разработки Perl?
Я чувствую, что путешествую на 10 лет назад, задавая этот вопрос, но... Существуют ли какие-либо модули, исправления или какая-либо «новая» версия Perl (выпущенная за последние 10 лет), позволяющие писать веб-ориентированные сценарии Perl с...
196 просмотров

Почему Мац решил сделать строки изменяемыми по умолчанию в Ruby?
Это обратная сторона этого вопроса: Почему строки не могут быть изменяемыми в Java и .NET? Был ли этот выбор сделан в Ruby только потому, что операции (добавления и тому подобное) эффективны для изменяемых строк, или была какая-то другая...
6402 просмотров

Почему необязательные параметры должны стоять в конце объявления
Во всех языках программирования, поддерживающих необязательные параметры, которые я видел, есть имитация того, что необязательные параметры должны появляться в конце объявления. Никакие обязательные параметры не могут быть включены после...
17242 просмотров

Факторы в R: больше, чем раздражение?
Один из основных типов данных в R - это факторы. По моему опыту, факторы - это в основном боль, и я никогда не использую их. Я всегда конвертирую в персонажей. Я чувствую себя странно, будто что-то упускаю. Есть ли какие-нибудь важные примеры...
23882 просмотров
schedule 18.08.2023