Вопросы с тегом «language-design»

25
Почему базы данных не интегрированы как языковая функция?

Существуют ли какие-либо языки программирования, которые имеют встроенную базу данных в качестве первоклассной языковой функции вместо подключения к внешней базе данных SQL (или другой)? Каковы будут недостатки и преимущества такой функции? Как будет выглядеть такая функция и как она изменит способ...

22
Почему Scala возвращается, но не ломается и продолжает

Scala не имеет breakили continue, поэтому некоторое циклическое поведение требует немного больше размышлений. Раннее завершение цикла требует хвостовой рекурсии, исключений или scala.util.control.Breaks(которые используют исключения). Основанием для этого является то, что gotoони , как и они,...

21
Почему пакеты и модули являются отдельными понятиями в Java 9?

Java 9 будет иметь модули в дополнение к пакетам. Обычно языки имеют один или другой. И большинство программистов воспринимают два термина как синонимы. Модули строятся поверх пакетов, рассматривая их как примитивы. Композитный шаблон предлагает обращаться с примитивами и композитами равномерно....

21
Должны ли структуры данных быть интегрированы в язык (как в Python) или предоставлены в стандартной библиотеке (как в Java)?

В Python и, скорее всего, во многих других языках программирования общие структуры данных можно найти как интегрированную часть основного языка со своим собственным выделенным синтаксисом. Если мы оставим в стороне синтаксис интегрированного списка LISP, я не смогу думать о других известных мне...

21
Существует ли язык программирования, специально разработанный для внедрения зависимостей?

Многие общие языки программирования достаточно гибки, чтобы позволить вам поддерживать внедрение зависимостей. Даже без поддержки библиотеки или фреймворка. Но даже если язык Тьюринга достаточно полон, чтобы решить любую проблему программирования, язык делает выбор, который влияет на то, что легко...

21
Как Go повышает производительность с «неявными» интерфейсами и как это соотносится с понятием C # методов расширения?

В руководстве по языку Go они объясняют, как работают интерфейсы: Сразу нет классов. Однако вы можете определить методы для структурных типов. Приемник метода появляется в своем списке аргументов между Func ключевым словом и именем метода. type Vertex struct { X, Y float64 } func (v *Vertex) Abs()...

20
Существуют ли языки сверхвысокого уровня? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 5 лет назад . Исторически HLL - это что-то вроде C, Fortran или Pascal, а VHLL - это как Ruby или...

20
Почему нет сложных операторов присваивания для логических операторов (таких как ||, && и т. Д.)?

В соответствии с ECMA-262, частью 11.13, Ниже приводится исчерпывающий перечень составных операторов присваивания: *= /= %= += -= <<= >>= >>>= &= ^= |=. В соответствии с частью 11.11, значение var c = a || bбудет помещено в aзначение true, cесли ToBoolean(a)оно истинно, а...

20
Почему у Java есть примитивы для чисел разных размеров?

В Java есть примитивные типы для byte, short, intи longи то же самое для floatи double. Почему необходимо, чтобы человек установил, сколько байтов должно использоваться для примитивного значения? Разве размер не может быть определен динамически в зависимости от того, насколько большим было...

19
Почему в C # есть новое ограничение (), но нет другого подобного ограничения?

В обобщениях C # мы можем объявить ограничение для параметра типа, Tимеющего конструктор по умолчанию, например where T : new(). Тем не менее, никакие другие виды ограничений, как это не действует, new(string)например, и т. Д. Что является причиной этого с точки зрения языкового дизайна и / или...

19
Почему двойная двоеточие вместо точки?

Он , по слухам , что в начале C ++ реализация имела точечный оператор для доступа пространства имен. Существует мнение, что точка более удобна, чем современный оператор с двойным двоеточием. Что послужило причиной введения двойного...

19
Встроенные функции в C ++. В чем смысл?

Согласно тому, что я прочитал, компилятор не обязан заменять вызов функции встроенной функции своим телом, но сделает это, если сможет. Это заставило меня задуматься - почему у нас есть встроенное слово, если это так? Почему бы не сделать все функции встроенными по умолчанию и позволить компилятору...

19
Что Java-разработчики думают о Scala? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

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

Просто интересно почему Javaи .NET Frameworkиспользует другой алгоритм сортировки по умолчанию. В Java по умолчанию Array.Sort()используется алгоритм сортировки слиянием , и, как сказано в Wikipedia.com : В Java методы Arrays.sort () используют сортировку слиянием или настроенную быструю сортировку...

19
Почему x = x ++ не определено?

Он не определен, потому что он изменяется xдважды между точками последовательности. Стандарт говорит, что он не определен, поэтому он не определен. Это много я знаю. Но почему? Я понимаю, что запрет этого позволяет компиляторам оптимизировать лучше. Это могло иметь смысл, когда C был изобретен, но...

18
Почему именно PHP не может иметь полную поддержку юникода?

Всем известно, что у PHP проблемы с Unicode. Версия 6 фактически заброшена из-за трудностей реализации Unicode. Но мне интересно, кто-нибудь знает, каковы точные причины? Проблемы архитектуры / дизайна, проблемы производительности, проблемы сообщества (я держу пари, что нет), что-то...

17
Каковы проблемы приведения C ++ - подобного const в язык?

Меня интересует идея C ++ - например, constне это конкретное выполнение (например, отбрасывание const). Возьмем, к примеру, C # - ему не хватает C ++ - как const, и причина для этого обычная - люди и время. Здесь, кроме того, кажется, что команда C # посмотрела на выполнение C ++ const,...

17
Почему Python медленнее, чем Java, но быстрее, чем PHP [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

17
Каковы причины именования .NETs Select (Карта) и Aggregate (Уменьшить)?

В других языках программирования я видел Map и Reduce, и это краеугольные камни функционального программирования. Я не мог найти никаких рассуждений или истории, почему LINQ имеет Aggregate(так же, как Reduce) и Select(так же, как Map)? Почему я спрашиваю, это то, что мне потребовалось некоторое...