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

Вопросы, связанные с дизайном и структурой языков программирования.

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

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

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

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

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

3
Оглядываясь назад, основывать XAML на XML - это ошибка или хороший подход?
XAML по сути является подмножеством XML. Говорят, что одним из основных преимуществ использования XAML на XML является возможность его анализа с помощью существующих инструментов. И это может, в значительной степени, хотя (синтаксически нетривиальные) значения атрибутов останутся в текстовом виде и потребуют дальнейшего разбора. Существует две основных альтернативы описанию GUI на …

8
Почему C ++ все еще «гибрид»
По смежному вопросу выяснилось, почему C ++ не совместим с C во многих аспектах. Однако C ++ по-прежнему является «гибридным» * языком. И, к сожалению, многие программисты все еще рассматривают C ++ как «C с потоками и встроенными строками». В результате получается действительно плохо написанный код, который не является ни …

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

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

3
Почему создатель Ruby решил использовать концепцию символов?
tl; dr: Будет ли определение символов, не зависящее от языка, и причина их использования на других языках? Итак, почему создатель Ruby использовал концепцию symbolsв языке? Я спрашиваю об этом с точки зрения неруби программиста. Я выучил много других языков и ни на одном из них не нашел необходимости указывать, имел …

5
Почему * объявление * данных и функций необходимо на языке Си, когда определение написано в конце исходного кода?
Рассмотрим следующий код "C": #include<stdio.h> main() { printf("func:%d",Func_i()); } Func_i() { int i=3; return i; } Func_i()определяется в конце исходного кода, и перед его использованием в main(). не предоставляется никаких объявлений . В то самое время , когда компилятор видит Func_i()в main(), он выходит из main()и узнает Func_i(). Компилятор как-то …

1
Groovy следует принципу соответствия Теннента?
Вот интересное обсуждение принципа соответствия Теннента и краткое описание Нила Гафтера : Принцип гласит, что выражение или утверждение, когда оно заключено в замыкание и затем сразу вызвано, должно иметь то же значение, что и до того, как оно будет заключено в замыкание. Любое изменение семантики при переносе кода в замыкание, …

3
Как система статических типов влияет на разработку языка на основе прототипов?
Статья Википедии на прототипы языков на основе содержит следующий пункт: Почти все системы на основе прототипов основаны на интерпретируемых и динамически типизированных языках. Однако системы, основанные на статически типизированных языках, технически осуществимы. Каким образом статическая система типов накладывает ограничения или усложняет язык на основе прототипов, и почему существуют более динамически …

2
Microsoft не поощряет использование 'var' в C #? (VS2017)
Я смотрю на предстоящую Visual Studio 2017 . В разделе « Повышенная производительность» есть образ Visual Studio, используемый для замены всех вхождений var явным типом. В коде, очевидно, есть несколько проблем, которые Visual Studio определила как «требующие исправления». Я хотел еще раз проверить мое понимание использования var в C #, …

7
В Java, почему защищенные члены стали доступными для классов одного и того же пакета?
Из официальной документации ... Модификатор класса пакета подкласс мира общедоступный ГГГГ защищенный YYYN без модификатора YYNN частный YNNN Дело в том, что я не могу вспомнить случай использования, когда мне нужно было получить доступ к защищенным членам из класса в одном пакете. Каковы были причины этого внедрения? Изменить: чтобы уточнить, …

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