Запитання з тегом «language-design»

Питання, що стосуються дизайну та структури мов програмування.

13
Чому бази даних не інтегровані як мовна функція?
Чи є мови програмування, які мають вбудовану базу даних як функцію мови першого класу, а не підключення до зовнішньої бази даних SQL (чи іншої)? Які б були недоліки та переваги такої особливості? Як виглядатиме така функція та як вона змінила би спосіб програмування?


2
Чому Скала повертається, але не ламається і продовжує
У Scala немає breakабо continue, отже, певна поведінка циклу вимагає трохи більше мислення. Закінчення циклу достроково вимагає рекурсії хвоста, винятку або scala.util.control.Breaks(що використовує винятки). Обґрунтуванням цього є те, що, мовляв, gotoвони є проточними конструкціями, які затьмарюють потік, і можуть бути виконані кращими, менш дивними способами. Але, схоже, ці самі аргументи …

4
Чи існує мова програмування, спеціально розроблена для введення залежності?
Багато загальних мов програмування досить гнучкі, що дозволяє підтримувати введення залежності. Навіть без підтримки бібліотеки чи рамок. Але навіть якщо мова є Тюрінгом достатньо повною для вирішення будь-якої проблеми програмування, мова робить вибір, який впливає на те, що легко і що важко зробити в них. Чи є мова, яка була …

1
Як Go покращує продуктивність роботи з "неявними" інтерфейсами, і як це порівнюється з поняттям методів розширення C #?
У підручнику Go Go вони пояснюють, як працюють інтерфейси: Іти не має занять. Однак можна визначити методи за типами структури. Приймач методу з'являється в своєму списку аргументів між Func ключовим словом і ім'ям методу. type Vertex struct { X, Y float64 } func (v *Vertex) Abs() float64 { return math.Sqrt(v.X*v.X …
21 c#  language-design  go 

13
Чи слід інтегрувати структури даних у мову (як у Python) або надаватись у стандартній бібліотеці (як у Java)?
У Python та, швидше за все, у багатьох інших мовах програмування загальні структури даних можна знайти як інтегровану частину основної мови з власним виділеним синтаксисом. Якщо відкласти синтаксис інтегрованого списку LISP убік, я не можу уявити жодних інших мов, які я знаю, які забезпечують якусь структуру даних над масивом як …

2
Чому пакети та модулі - це окремі поняття в Java 9?
У Java 9 будуть додатково встановлені модулі. Зазвичай мови мають те чи інше. І більшість програмістів сприймають два терміни як синоніми. Модулі побудовані поверх пакетів, трактуючи їх як примітиви. Складений малюнок пропонує ставитись до примітивів та композитів рівномірно. Інакше трапляться погані речі. Наприклад, подивіться на проект Valhalla, де вони намагаються …

6
Чи є там мови надвисокого рівня? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб це було темою для обміну стеками програмного забезпечення. Закрито 5 років тому . Історично HLL - це щось на зразок C, Fortran або Pascal, а VHLL - це щось на кшталт Ruby або …

3
Чому для логічних операторів (таких як ||, && тощо) немає операторів складеного призначення?
У відповідності з ECMA-262, частиною 11.13, Нижче наводиться вичерпний перелік складових операторів присвоювання: *= /= %= += -= <<= >>= >>>= &= ^= |=. Згідно з частиною 11.11, var c = a || bбуде введено aзначення cif, якщо ToBoolean(a)це правда, і введе bзначення в cінше. Як такий, логічний АБО часто …

7
Чому у Java є примітиви для різних розмірів?
У Java є примітивні типи для byte, short, intі longі те ж саме для floatі double. Чому потрібно, щоб людина встановила, скільки байтів слід використовувати для примітивного значення? Не вдалося розмір просто визначити динамічно залежно від того, наскільки велике було передане число? Я думаю про дві причини: Динамічне встановлення розміру …

2
Чому в C # є нове () обмеження, але немає іншого подібного обмеження?
У C # generics ми можемо оголосити обмеження для параметра типу, Tщоб мати конструктор за замовчуванням, сказавши where T : new(). Однак ніякі інші види таких обмежень не є дійсними - new(string)наприклад, тощо. Що з мовної розробки та / або впровадження, що є причиною цього? Чи є щось у тому, …

8
Чому x = x ++ не визначено?
Це не визначено, оскільки воно змінюється xдвічі між точками послідовності. Стандарт говорить, що він не визначений, тому він не визначений. Стільки я знаю. Але чому? Я розумію, що заборона цього дозволяє компіляторам краще оптимізувати. Це могло мати сенс, коли винайдено С, але зараз це здається слабким аргументом. Якби ми сьогодні …

3
Java та .NET: Чому різні алгоритми сортування використовуються за замовчуванням?
Цікаво, чому Javaі .NET Frameworkвикористовує різні алгоритми сортування за замовчуванням. У Java Array.Sort() використовується алгоритм сортування об'єднань за замовчуванням і, як каже Wikipedia.com : У Java методи Arrays.sort () використовують сортування злиття або відрегульований quicksort залежно від типів даних та для ефективності реалізації переходять на сортування вставки, коли сортується менше …

6
Вбудовані функції в C ++. У чому справа?
Згідно з тим, що я прочитав, компілятор не зобов'язаний заміщати виклик функції вбудованої функції своїм тілом, але зробить це, якщо зможе. Це змусило мене задуматися - чому ми маємо вбудоване слово, якщо це так? Чому б не зробити всі вбудовані функції за замовчуванням і не дати компілятору розібратися, чи може …

10
Що думають розробники Java про Scala? [зачинено]
Наразі це питання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.