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

34
В разработке Java обычно используется больше подклассов, чем в C # / .NET?

Я недавно начал смотреть на разработку Android. Это вернуло меня в мир разработки программного обеспечения на Java. В прошлый раз, когда я работал с Java, я должен признать, что ООП я не понимал почти так же, как (я думаю), что я делаю сейчас. Поскольку я в основном использовал C # в своей карьере,...

32
Почему C # и Java используют равенство ссылок по умолчанию для '=='?

Некоторое время я размышлял, почему Java и C # (и я уверен, что другие языки) по умолчанию ссылаются на равенство для ==. В программировании, которое я делаю (что, безусловно, является лишь небольшим подмножеством проблем программирования), я почти всегда хочу логическое равенство при сравнении...

31
Почему Math.Sqrt () является статической функцией?

При обсуждении статических методов и методов экземпляров я всегда думаю, что это Sqrt()должен быть метод экземпляров числовых типов, а не статический метод. Почему это? Это очевидно работает на значение. // looks wrong to me var y = Math.Sqrt(x); // looks better to me var y = x.Sqrt(); Типы...

31
Почему языки программирования позволяют скрывать / скрывать переменные и функции?

Многие из самых популярных языков программирования (такие как C ++, Java, Python и т. Д.) Имеют концепцию скрытия / теневого копирования переменных или функций. Когда я сталкивался с сокрытием или затенением, они стали причиной трудностей при поиске ошибок, и я никогда не видел случая, когда я...

30
Почему изучение lisp-интерпретатора в lisp так важно?

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

30
Почему .compareTo () в интерфейсе, а .equals () в классе в Java?

Я хочу знать, почему интерфейс .compareTo()находится в Comparableинтерфейсе, а метод like .equals- в Objectклассе. Мне кажется произвольным, почему такой метод .compareTo()уже не в Objectклассе. Чтобы использовать .compareTo(), вы реализуете Comparableинтерфейс и реализуете .compareTo()метод для...

30
Почему самодостаточные компиляторы считаются обрядом для новых языков?

Я слышал во многих местах, что люди ожидают, что языки будут использовать или, по крайней мере, иметь самодостаточный компилятор, чтобы заслужить уважение. Мне любопытно, почему это так. Компилятор кажется очень важной частью программного обеспечения для написания, и я думаю, что не все языки...

29
Почему большинство «общеизвестных» императивных / OO-языков допускают неконтролируемый доступ к типам, которые могут представлять значение «ничего»?

Я читал о (не) удобстве иметь nullвместо (например) Maybe. Прочитав эту статью , я убедился, что было бы намного лучше использоватьMaybe (или что-то подобное). Однако я удивлен, увидев, что все «общеизвестные» императивные или объектно-ориентированные языки программирования по-прежнему используют...

29
Почему в Kotlin нет статического ключевого слова?

Kotlin известен прежде всего как замена Java, но он избавляется от известной конструкции Java: staticключевого слова. Вместо этого функциональность на уровне класса предлагается в основном сопутствующими объектами. Что плохого в статических методах и полях, которым сопутствующие объекты...

29
Как комитет по стандартам C ++ проверяет свои дизайнерские идеи?

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

29
Я пишу о синтаксисе языка. Есть ли какой-нибудь язык, в котором параметры помещаются внутри имени метода?

в JavaScript: function getTopCustomersOfTheYear(howManyCustomers, whichYear) { // Some code here. } getTopCustomersOfTheYear(50, 2010); в C #: public List<Customer> GetTopCustomersOfTheYear(int howManyCustomers, int whichYear) { // Some code here } List<Customer> customers =...

29
С каким самым большим недостатком дизайна вы столкнулись в любом языке программирования? [закрыто]

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

28
Что можно сделать с языками программирования, чтобы избежать ошибок с плавающей запятой?

Неправильное понимание арифметики с плавающей запятой и ее недостатков является основной причиной удивления и путаницы в программировании (рассмотрим количество вопросов о переполнении стека, относящихся к «числам, которые не складываются правильно»). Учитывая то, что многим программистам еще...

28
Почему ключевое слово rec необходимо в F #?

В F # необходимо использовать recключевое слово. В Haskell нет необходимости явно указывать, является ли данная функция рекурсивной или нет. Учитывая роль рекурсии в функциональном программировании, дизайн F # кажется мне довольно странным. Это хорошее решение для разработки языка или оно...

28
Как языки программирования определяют функции?

Как языки программирования определяют и сохраняют функции / методы? Я создаю интерпретируемый язык программирования в Ruby и пытаюсь понять, как реализовать объявление функций. Моя первая идея - сохранить содержание декларации на карте. Например, если я сделал что-то вроде def a() {...

27
Каковы предостережения от реализации фундаментальных типов (таких как int) как классов?

При проектировании и implenting объектно-ориентированный язык программирования, в какой - то момент один должен сделать выбор о реализации основных типов (как int, float, doubleили их эквиваленты) , как классы или что - то другое. Очевидно, что языки в семействе C имеют тенденцию не определять их...

26
Есть ли языки программирования, которые следуют минималистскому подходу к разработке?

Я считаю, что когда языки считаются такими же, как коммерческое программное обеспечение, всегда существует постоянная необходимость добавлять новые функции для оправдания новых выпусков. Могут ли быть или есть языки, где версия 1.0 является окончательной версией? Конечно, исправления ошибок...

26
Язык программирования, где каждый вызов функции / блок выполняется в отдельном потоке? [закрыто]

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

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

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