В чем разница между будущим и обещанием? (В Акке и Гпарсе.) Они выглядят так же, как и блок, и возвращают значение будущего, когда вызывается get, и обещание получить результат...
Scala - это язык программирования общего назначения, в основном предназначенный для виртуальной машины Java. Разработанный для выражения общих шаблонов программирования в сжатой, элегантной и безопасной для типов форме, он сочетает в себе как императивный, так и функциональный стили программирования.
В чем разница между будущим и обещанием? (В Акке и Гпарсе.) Они выглядят так же, как и блок, и возвращают значение будущего, когда вызывается get, и обещание получить результат...
Я погружаюсь в мир функционального программирования и все время читаю, что функциональные языки лучше подходят для многопоточных / многоядерных программ. Я понимаю, как функциональные языки делают разные вещи по-разному, такие как рекурсия , случайные числа и т. Д., Но я не могу понять, является ли...
F # и Scala являются языками функционального программирования, которые не заставляют разработчика использовать только неизменяемые типы данных. Они оба поддерживают объекты, могут использовать библиотеки, написанные на других языках, и работать на виртуальной машине. Оба языка основаны на ML....
Есть некоторые проблемы, которые легко решаются алгебраическими типами данных, например, тип List может быть очень кратко выражен как: data ConsList a = Empty | ConsCell a (ConsList a) consmap f Empty = Empty consmap f (ConsCell a b) = ConsCell (f a) (consmap f b) l = ConsCell 1 (ConsCell 2...
Я работаю с akka уже 7-8 месяцев ежедневно. Когда я начинал, я работал над приложениями и замечал, что актеры будут использоваться в любом месте внутри системы акторов для связи между большинством объектов. Я сделал то же самое - раскрутил другого актера за х / у / з. Мне кажется, что это может...
Scala не имеет статического ключевого слова, но вместо этого имеет аналогичную функциональность через сопутствующие объекты. За кулисами сопутствующие объекты компилируются в классы, которые имеют статические методы, поэтому все это синтаксический сахар. Каковы преимущества этого выбора дизайна?...
Прежде всего, я хотел бы прояснить, что это не вопрос «язык против языка», чтобы определить, что лучше. Я давно использую Java и намерен продолжать его использовать. Параллельно с этим я в настоящее время изучаю Scala с большим интересом: кроме незначительных вещей, которые требуют некоторого...
Большинство языков программирования (как динамически, так и статически типизированных) имеют специальные ключевые слова и / или синтаксис, которые выглядят значительно иначе, чем объявления переменных для объявления функций. Я вижу функции как объявление другой именованной сущности: Например в...
История вопроса Я повторно посетил старый (но отличный) сайт, на котором я не был целую вечность - Alioth Language Shootout ( http://benchmarksgame.alioth.debian.org/ ). Я начал программировать на C / C ++ несколько лет назад, но с тех пор работал почти исключительно на Java из-за языковых...
Clojure не выполняет оптимизацию хвостового вызова самостоятельно: если у вас есть хвостовая рекурсивная функция и вы хотите оптимизировать ее, вы должны использовать специальную форму recur. Точно так же, если у вас есть две взаимно рекурсивные функции, вы можете оптимизировать их только с помощью...
Много, много лет назад я получил степень магистра в области объектно-ориентированной разработки программного обеспечения. Я охватил все: инициацию проекта, требования, анализ, дизайн, архитектуру, разработку и т. Д. И т. Д. Моя любимая книга по ИТ всех времен была «Разработка...
В последнее время меня интересуют некоторые концепции функционального программирования. Я использовал ООП уже некоторое время. Я вижу, как я могу построить довольно сложное приложение в ООП. Каждый объект будет знать, как делать то, что делает объект. Или что-нибудь, что делает класс родителей. Так...
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 4 года назад . Мне интересно, могу ли я переключиться с Java на Scala в проекте Spring + Hibernate, чтобы воспользоваться некоторыми функциями Scala, такими как...
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 6 лет назад . Я читал немного о денотационной семантике (DS), и я очень заинтригован процессом разработки компьютерных программ, где типы и функции имеют четкое и...
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 8 лет назад . Интересно, каковы технические различия между C # и Scala в реализации и как оба решения сравниваются с идеями и проблемами реализации, озвученными в...
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...
Я знаю, что это очень широкий, неоднозначный и, возможно, философский вопрос. В той степени, что самое важное ключевое слово в вопросе - «сильная» система типов - само по себе плохо определено . Итак, позвольте мне попытаться объяснить, что я имею в виду. Общий контекст вопроса Мы создавали очень...
Кто-нибудь знает, почему Scala был реализован на Java и .NET вместо C или C ++? Большинство языков реализованы с помощью Cor C ++ [т.е. Erlang, Python, PHP, Ruby, Perl]. Каковы преимущества для Scala, реализованные в Java и .NET, помимо предоставления доступа к библиотекам Java и .NET? ОБНОВИТЬ...
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Так что теперь Eclipse предлагает Xtend, а JetBrains предлагает Kotlin - обе из...
Я читал эту статью: Как написать метод равенства в Java . По сути, он предоставляет решение для метода equals (), который поддерживает наследование: Point2D twoD = new Point2D(10, 20); Point3D threeD = new Point3D(10, 20, 50); twoD.equals(threeD); // true threeD.equals(twoD); // true Но хорошая ли...