Какие части JAVA-приложения должны быть записаны в Scala?

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

Однако, если бы Вам нужно что-то, чтобы сделать больше, чем это и действие как основная база данных к Вашему приложению тогда, я предположил бы, что SQLLite является, вероятно, более оптимальным вариантом, это абсолютно твердо, широко поддерживаемое и найденное во всех видах мест (используемый на iPhone, например), но удивительно способно (Средство моделирования Виртуальной реальности , OpenSim использует его, поскольку это - база данных по умолчанию) и существует партии других (включая Microsoft).

6
задан Todd Owen 21 September 2009 в 02:03
поделиться

4 ответа

Задайте следующие вопросы вашего проекта: «Какие операции требуют побочных эффектов?» и «Какие функции уже хорошо поддерживаются библиотеками Java?» Затем реализуйте остальное на Scala.

Однако я хотел бы предупредить, что гибридные проекты по самой своей природе сложнее, чем автономные проекты, поскольку вам нужно использовать несколько языков / сред. Итак, учитывая, что вы заявляете о небольшом опыте работы со Scala, я бы порекомендовал сначала поиграть с некоторыми игрушечными проектами, возможно, с частью вашей полной цели. Это также даст вам представление о том, где должно произойти разделение.

3
ответ дан 8 December 2019 в 04:53
поделиться

Это может показаться глупым, но почему бы не написать весь свой проект на Scala? Это замечательный язык, который гораздо более выразителен, чем Java, но при этом поддерживает двоичный доступ к существующим библиотекам Java.

5
ответ дан 8 December 2019 в 04:53
поделиться

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

Библиотека коллекций Scala - это основная функциональная возможность Scala, и вы ощутите значительное сокращение LoC за счет ее использования. Да, есть альтернативы Java, такие как библиотека коллекций Google, но вы спросили, что вам следует написать на Scala. : -)

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

Я бы посоветовал также использовать Actors, но я не уверен, насколько хорошо вы можете интегрировать это со Struts 2 код на Java. Но если у вас есть параллельный код, подумайте об Актерах в Scala.

6
ответ дан 8 December 2019 в 04:53
поделиться

Две вещи:

  1. 99% кода Java может быть выражено на Scala
  2. Вы можете писать проекты, поддерживающие смешанную компиляцию Java + Scala. Ваш код Scala может вызывать ваш код Java, а ваш код Java может вызывать ваш код Scala. (Если вы хотите сделать последнее, я предлагаю определить интерфейс на Java, а затем просто реализовать его на Scala. В противном случае вызов кода Scala из Java может стать немного уродливым.)

Итак, ответ: любые части, которые вы хотите . Ваш код Scala не обязательно должен быть чисто функциональным. Ваш код Scala может вызывать библиотеки Java. Так что практически любые части, которые вы могли бы написать на Java, вы также могли бы написать на Scala.

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

Если вы знакомы с Java и изучали Haskell в прошлом, я предлагаю рассматривать Scala как «лучшую Java». По сути, Scala компилируется в байт-код JVM, который очень, очень похож на то, что выводит Java. Единственное отличие состоит в том, что Scala более «производительна»: она производит больше байт-кода на строку кода, чем Java. Scala имеет много общего с Haskell (первоклассные функции, for-complation похожи на do-notation в Haskell, ограниченный вывод типов), но он также очень отличается (по умолчанию он не ленивый, он не чистый). Так что вы можете использовать некоторые из ваших идей из Haskell, чтобы вдохновить ваш стиль Scala, но «под капотом» это весь байт-код Java.

Если вы знакомы с Java и изучали Haskell в прошлом, я предлагаю рассматривать Scala как «лучшую Java». По сути, Scala компилируется в байт-код JVM, который очень, очень похож на то, что выводит Java. Единственное отличие состоит в том, что Scala более «производительна»: она производит больше байт-кода на строку кода, чем Java. Scala имеет много общего с Haskell (первоклассные функции, for-complation похожи на do-notation в Haskell, ограниченный вывод типов), но он также очень отличается (по умолчанию он не ленивый, он не чистый). Так что вы можете использовать некоторые из ваших идей из Haskell, чтобы вдохновить ваш стиль Scala, но «под капотом» это весь байт-код Java.

Если вы знакомы с Java и изучали Haskell в прошлом, я предлагаю рассматривать Scala как «лучшую Java». По сути, Scala компилируется в байт-код JVM, который очень, очень похож на то, что выводит Java. Единственное отличие состоит в том, что Scala более «производительна»: она производит больше байт-кода на строку кода, чем Java. Scala имеет много общего с Haskell (первоклассные функции, for-complation похожи на do-notation в Haskell, ограниченный вывод типов), но он также очень отличается (по умолчанию он не ленивый, он не чистый). Так что вы можете использовать некоторые из своих идей из Haskell, чтобы вдохновить ваш стиль Scala, но «под капотом» это весь байт-код Java.

очень похоже на то, что выводит Java. Единственное отличие состоит в том, что Scala более «производительна»: она производит больше байт-кода на строку кода, чем Java. Scala имеет много общего с Haskell (первоклассные функции, for-complation похожи на do-notation в Haskell, ограниченный вывод типов), но он также очень отличается (по умолчанию он не ленивый, он не чистый). Так что вы можете использовать некоторые из своих идей из Haskell, чтобы вдохновить ваш стиль Scala, но «под капотом» это весь байт-код Java.

очень похоже на то, что выводит Java. Единственное отличие состоит в том, что Scala более «производительна»: она производит больше байт-кода на строку кода, чем Java. Scala имеет много общего с Haskell (первоклассные функции, for-complation похожи на do-notation в Haskell, ограниченный вывод типов), но он также очень отличается (по умолчанию он не ленивый, он не чистый). Так что вы можете использовать некоторые из своих идей из Haskell, чтобы вдохновить ваш стиль Scala, но «под капотом» это весь байт-код Java.

s тоже очень разные (по умолчанию не ленивый, не чистый). Так что вы можете использовать некоторые из своих идей из Haskell, чтобы вдохновить ваш стиль Scala, но «под капотом» это весь байт-код Java.

s тоже очень разные (по умолчанию не ленивый, не чистый). Так что вы можете использовать некоторые из своих идей из Haskell, чтобы вдохновить ваш стиль Scala, но «под капотом» это весь байт-код Java.

10
ответ дан 8 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: