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

16
Перегрузка функции? Да или нет [закрыто]

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

16
Карьерный совет: доктор философии по теории языков [закрыт]

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

16
Почему C ++ все еще «гибрид»

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

16
Оглядываясь назад, основывать XAML на XML - это ошибка или хороший подход?

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

15
Microsoft не поощряет использование 'var' в C #? (VS2017)

Я смотрю на предстоящую Visual Studio 2017 . В разделе « Повышенная производительность» есть образ Visual Studio, используемый для замены всех вхождений var явным типом. В коде, очевидно, есть несколько проблем, которые Visual Studio определила как «требующие исправления». Я хотел еще раз проверить...

15
Как система статических типов влияет на разработку языка на основе прототипов?

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

15
Groovy следует принципу соответствия Теннента?

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

15
Почему создатель Ruby решил использовать концепцию символов?

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

15
Почему * объявление * данных и функций необходимо на языке Си, когда определение написано в конце исходного кода?

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

14
Можно ли спроектировать язык без синтаксических ошибок? [закрыто]

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

14
Почему исходный файл Java содержит имя открытого класса, который он содержит?

Я новичок в изучении Java. В Java каждый исходный файл должен содержать открытый класс, и этот исходный файл должен иметь то же имя, что и этот открытый класс. Более того, ни один исходный файл не может содержать два открытых класса. Почему это...

14
Операторы понятнее, чем ключевые слова или функции? [закрыто]

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

14
Принцип KISS применяется к дизайну языка программирования?

KISS («оставайся простым, глупым» или «делай это простым глупым», см., Например, здесь ) является важным принципом в разработке программного обеспечения, даже если он явно возник в инженерном деле. Ссылаясь на статью в Википедии: Этот принцип лучше всего иллюстрируется историей о том, как Джонсон...

14
Нужен ли сбор мусора для реализации безопасных замыканий?

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

14
В Java, почему защищенные члены стали доступными для классов одного и того же пакета?

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

13
Есть ли конкретная цель для разнородных списков?

Исходя из C # и Java, я привык к тому, что мои списки однородны, и это имеет смысл для меня. Когда я начал подбирать Lisp, я заметил, что списки могут быть разнородными. Когда я начал разбираться с dynamicключевым словом в C #, я заметил, что, начиная с C # 4.0, также могут быть разнородные списки:...

13
Что сделал Ruby правильно (или это был Rails)? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Большинство языков программирования имеют некоторые конструктивные решения,...

13
Преимущества классического ООП над языком Go-like

Я много думал о дизайне языка и о том, какие элементы были бы необходимы для «идеального» языка программирования, и изучение Google Go привело меня к сомнению во многих других общеизвестных знаниях. В частности, Go, похоже, обладает всеми интересными преимуществами объектно-ориентированного...

13
Почему тип опции Scala не называется Maybe, как в Haskell? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Почему тип опции Scala не называется Maybe, как в Haskell? Может быть, для...

13
Почему добавление к списку в Scala имеет O (n) сложность по времени?

Я только что прочитал, что время выполнения операции добавления для List(: +) растет линейно с размером List. Присоединение к a Listкажется довольно обычной операцией. Почему идиоматический способ сделать это состоит в том, чтобы предварительно добавить компоненты, а затем перевернуть список? Это...