Использовать или не использовать Scala для новых проектов Java? [закрытый]

И вот мое решение, должен работать с Excel> 2000, но протестированный только на 2007:

Private Sub SaveAllSheetsAsCSV()
On Error GoTo Heaven

' each sheet reference
Dim Sheet As Worksheet
' path to output to
Dim OutputPath As String
' name of each csv
Dim OutputFile As String

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False

' ask the user where to save
OutputPath = InputBox("Enter a directory to save to", "Save to directory", Path)

If OutputPath <> "" Then

    ' save for each sheet
    For Each Sheet In Sheets

        OutputFile = OutputPath & "\" & Sheet.Name & ".csv"

        ' make a copy to create a new book with this sheet
        ' otherwise you will always only get the first sheet
        Sheet.Copy
        ' this copy will now become active
        ActiveWorkbook.SaveAs FileName:=OutputFile, FileFormat:=xlCSV, CreateBackup:=False
        ActiveWorkbook.Close
    Next

End If

Finally:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True

Exit Sub

Heaven:
MsgBox "Couldn't save all sheets to CSV." & vbCrLf & _
        "Source: " & Err.Source & " " & vbCrLf & _
        "Number: " & Err.Number & " " & vbCrLf & _
        "Description: " & Err.Description & " " & vbCrLf

GoTo Finally
End Sub

(OT: Интересно раз так заменит часть моего незначительного блоггинга)

11
задан hakre 13 January 2013 в 12:26
поделиться

6 ответов

Не забывайте, что вы можете использовать его вместе с Java. то есть вы можете использовать скомпилированные .classes и .jars в среде со сценарием Scala.

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

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

13
ответ дан 3 December 2019 в 02:20
поделиться

Не забывайте, что это относительно небольшая часть Twitter, особенно очереди сообщений, которые написаны на Scala. Насколько я понимаю, интерфейс по-прежнему является Ruby-on-Rails.

Тем не менее, я перешел на scala менее года назад: я не оглядывался назад. Более того:

  • существует большое количество выпускников, которые очень заинтересованы в том, чтобы работать в магазине scala.
  • тот факт, что scala построен для работы на JVM, означает, что разработчики Java получают преимущество в этом языке. (если вам интересно, я могу подробнее объяснить, почему это так).
5
ответ дан 3 December 2019 в 02:20
поделиться

Вот плюсы и минусы Scala по сравнению с Java. IMHO:

Плюсы:

  • Намного более лаконичный синтаксис для идиом, общих в современном Java-коде
  • Замыкания
  • Подробнее мощная система типов, включая миксины
  • Сопоставление с образцом
  • Отличный REPL, 2.8 даже будет иметь завершение табуляции

В итоге: вы получаете гораздо больше функциональности с гораздо меньшим количеством кода, чем Java

Минусы:

  • Поддержка IDE по-прежнему является альфа- или бета-версией, хотя IDEA имеет лучшую поддержку в настоящее время
  • Стандартная библиотека не застрахована от изменений с каждой новой версией (2.8 будет иметь обратно несовместимые изменения)
  • Стандартная библиотека содержала значительные ошибки в по крайней мере, год назад (когда я нашел его в поддержке JSON)

Я думаю, что Scala будет готов к массовому производственному использованию через 6-8 месяцев, но я бы не стал ставить на это свой проект сегодня.

6
ответ дан 3 December 2019 в 02:20
поделиться

Особая проблема Scala заключается в том, что как масштабируемый язык он имеет уровни функций различной степени доступности для среднего разработчика. Использование его в качестве языка сценариев для JVM - это одно, а разработка предметно-ориентированного языка с использованием функционального программирования - другое.

3
ответ дан 3 December 2019 в 02:20
поделиться

Одним из преимуществ Scala является то, что вы можете создавать его вместе с Java в одном проекте. Как Maven (см. Комментарий luigi-prog), так и простой инструмент сборки имеют довольно простые хуки, которые построят все за один раз.

Другой способ - взять существующие модульные тесты, переключить реализацию и увидеть разницу.

Даниэль Спивак сделал несколько замечательных записей о подводных камнях взаимодействия Java-Scala .

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

Я не думаю, что вы пока можете искать «программисты Scala». Но вы можете найти множество Java-программистов, заинтересованных в изучении Scala.

Если бы я мог предположить, Scala и Clojure могли бы стать лидерами в «вытеснении» Java. Я бы не стал Не ожидаю значительного сдвига не раньше 2012 года. Scala, вероятно, движется вперед - сейчас есть несколько книг на нескольких языках.

3
ответ дан 3 December 2019 в 02:20
поделиться

Если вы планируете использовать Java и Scala в единой проектной среде, я бы предложил использовать Maven в качестве системы зависимостей проекта. Вот код, который я использую для создания своих проектов scala:

mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org/

Вот некоторая информация об использовании для использования maven с Scala. Если вы используете maven в качестве компилятора, вы можете иметь исходные файлы java и Scala в одном пакете без дополнительной настройки. Это просто работает.

Вот доклад , организованный LinkedIn. Это панель с веб-фреймворком Scala, Twitter и Scala (который я использую). Если вы все еще решаете, использовать ли Scala id, предложите его посмотреть.

3
ответ дан 3 December 2019 в 02:20
поделиться
Другие вопросы по тегам:

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