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

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

9
Что такое закрытие?
Время от времени я вижу упомянутое «замыкание», и я пытался найти его, но Вики не дает объяснения, которое я понимаю. Может ли кто-нибудь помочь мне здесь?

30
Какие функции вы хотели бы иметь в PHP? [закрыто]
Так как сейчас сезон отпусков и все загадывают желания, мне интересно, какие языковые функции вы бы хотели добавить в PHP? Я заинтересован в некоторых практических предложениях / пожеланиях для языка. Под практическим я подразумеваю: Что-то, что можно сделать практически (не: «Я бы хотел, чтобы PHP угадал, что означал мой код, …

5
Когда функция считается «гражданином первого класса» на языке программирования / платформе?
Я много раз видел такие высказывания, как: «Пожалуйста, сделайте эту функцию первоклассным гражданином на том или ином языке / платформе». Например, говорится о перечислениях в C # /. Net. Итак, когда функция считается «гражданином первого класса» на языке программирования / платформе?

8
Зачем разрабатывать современный язык без механизма обработки исключений?
Многие современные языки предоставляют богатые функции обработки исключений , но язык программирования Apple Swift не предоставляет механизм обработки исключений . Несмотря на то, что я погружен в исключения, мне трудно понять, что это значит. Swift имеет утверждения и, конечно, возвращает значения; но мне сложно представить, как мой образ мышления, основанный …

7
Почему статические члены данных должны быть определены вне класса отдельно в C ++ (в отличие от Java)?
class A { static int foo () {} // ok static int x; // <--- needed to be defined separately in .cpp file }; Я не вижу необходимости A::xопределять отдельно в файле .cpp (или тот же файл для шаблонов). Почему нельзя A::xобъявить и определить одновременно? Было ли это запрещено по …

5
Разработка на Java Python: какие концепции мне нужны, чтобы обернуть голову?
Предыстория: я пробежал несколько уроков и написал несколько небольших проектов. Все идет хорошо, используя Google и StackOverflow . Несколько раз за последние несколько дней я задавался вопросом: «Что мне не хватает?» - Я чувствую, что все еще думаю о Java, как я пишу на Python. Этот вопрос в StackOverflow полон …

8
Действительно ли возможно иметь «полезный» язык программирования, который не является полным по Тьюрингу?
Там, где принято считать, что язык должен быть полным по Тьюрингу, чтобы быть хорошим, действительно ли возможно иметь «полезный» язык программирования, который не является полным по Тьюрингу? Я должен пояснить, что речь идет о языках «программирования» в традиционном смысле, а не о языках разметки или запросов.

2
Что такое 4 и 5 поколения языков программирования? Их больше? [закрыто]
Поскольку это часто классифицируется на уровне школы / колледжа, популярные языки программирования (C #, Java, C ++) - это все языки 3-го поколения (с более высоким уровнем абстракции от физических частей машины). Кроме того, языки ассемблера классифицируются как 2-е, а машинные языки - как языки 1-го поколения. Изначально я думал, …

7
Почему большинство основных языков не поддерживают синтаксис «x <y <z» для трехсторонних логических сравнений?
Если я хочу сравнить два числа (или другие хорошо упорядоченные объекты), я бы сделал это с x &lt; y. Если я захочу сравнить три из них, ученик средней школы по алгебре предложит попробовать x &lt; y &lt; z. Затем программист во мне ответит: «Нет, это не правильно, вы должны это …

7
Является ли система типов Haskell препятствием для понимания функционального программирования? [закрыто]
Я изучаю Haskell с целью понимания функционального программирования, ожидая, что я буду применять полученные знания на других языках (в основном Groovy, Python, JavaScript). Я выбрал Haskell, потому что у меня сложилось впечатление, что он очень чисто функциональный и не допускает никакой зависимости от состояния. Я не выбрал изучение Haskell, потому …

4
Почему `void *` неявно приводится в C ++?
В C нет необходимости приводить void *к любому другому типу указателя, это всегда безопасно продвигается. Однако в C ++ это не так. Например, int *a = malloc(sizeof(int)); работает в C, но не в C ++. (Примечание: я знаю, что вам не следует использовать mallocв C ++ или в этом отношении …

5
Почему изучение lisp-интерпретатора в lisp так важно?
Я видел много учебных программ по CS и предложения для новых программистов, которые призывают начинающего программиста изучать интерпретатор lisp, который специально написан на lisp. Все эти сайты говорят что-то вроде «своего интеллектуального откровения», «это опыт просветления, который должен иметь каждый серьезный программист», или «он показывает вам аппаратные / программные отношения» …

10
Язык программирования, где каждый вызов функции / блок выполняется в отдельном потоке? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, редактируя этот пост . Закрыто 2 года назад . В настоящее время я создаю язык программирования для развлечения, идея которого заключается в …

3
Почему закрытый член доступен в статическом методе?
Ниже приведен псевдокод, я пробовал его на Java и PHP, и оба работали: class Test { private int a = 5; public static function do_test(){ var t = new Test(); t.a = 1; print t.a // 1 } } Test::do_test(); Почему вы можете сделать это в парадигме ООП и какая …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.