Вопросы по теме 'language-design'
Почему компиляция занимает так много времени?
Я разрабатываю язык программирования, и одна из проблем, о которых я думал, заключалась в том, почему языки программирования долго компилируются. Предполагается, что C ++ занимает много времени, потому что ему необходимо анализировать и компилировать...
3850 просмотров
schedule
30.10.2022
Почему переменная итерации в операторе 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 просмотров
schedule
14.12.2022
Почему множественное наследование запрещено в Java или C #?
Я знаю, что в Java и C # множественное наследование запрещено. Во многих книгах прямо говорится, что множественное наследование недопустимо. Но это можно реализовать с помощью интерфейсов. Ничего не обсуждается, почему это запрещено. Кто-нибудь...
81195 просмотров
schedule
05.05.2022
Если вы разработчик языка, как бы вы сделали игнорирование параметров более лаконичным для лямбда-выражений?
Основываясь на это , как бы вы сделали игнорирование параметров более кратким ?
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 просмотров
schedule
30.06.2023
Нумерация месяцев с нуля [закрыта]
Некоторые популярные языки программирования используют нумерацию месяцев, которая смещена на 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 просмотров
schedule
23.04.2023
Анализ F# абстрактных синтаксических деревьев
Как лучше всего использовать F# для разбора AST для создания интерпретатора? Существует множество примеров F# для тривиального синтаксиса (базовые арифметические операции), но я не могу найти ничего для языков с гораздо большим набором функций....
4381 просмотров
schedule
15.02.2023
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 просмотров
schedule
05.04.2022
Теги в стиле ASP для веб-разработки Perl?
Я чувствую, что путешествую на 10 лет назад, задавая этот вопрос, но...
Существуют ли какие-либо модули, исправления или какая-либо «новая» версия Perl (выпущенная за последние 10 лет), позволяющие писать веб-ориентированные сценарии Perl с...
196 просмотров
schedule
26.03.2022
Почему Мац решил сделать строки изменяемыми по умолчанию в Ruby?
Это обратная сторона этого вопроса: Почему строки не могут быть изменяемыми в Java и .NET?
Был ли этот выбор сделан в Ruby только потому, что операции (добавления и тому подобное) эффективны для изменяемых строк, или была какая-то другая...
6402 просмотров
schedule
20.03.2023
Почему необязательные параметры должны стоять в конце объявления
Во всех языках программирования, поддерживающих необязательные параметры, которые я видел, есть имитация того, что необязательные параметры должны появляться в конце объявления. Никакие обязательные параметры не могут быть включены после...
17242 просмотров
schedule
17.01.2023
Факторы в R: больше, чем раздражение?
Один из основных типов данных в R - это факторы. По моему опыту, факторы - это в основном боль, и я никогда не использую их. Я всегда конвертирую в персонажей. Я чувствую себя странно, будто что-то упускаю.
Есть ли какие-нибудь важные примеры...
23882 просмотров
schedule
18.08.2023