Scala - Java =? (Или Clojure - Java =?)

9
  • Возможно ли разработчик использовать Scala без знания Java?
  • Возможно ли разработчик использовать Clojure без знания Java?

Примечание. Например, я разработчик С#, и я использую .NET, не зная какого-либо VB (Of-course WF 4.0 использует VB для операторов, поэтому я отказываюсь от любых проектов, связанных с WF 4.0:)).

Резюме I: Спасибо всем за ваши ответы. Теперь я могу сказать, что можно использовать эти языки, не зная Java (язык). Теперь у меня возникает другой вопрос: как начать с экосистемы Java (JVM)? Что такое новички, промежуточные и продвинутые базы знаний (сумки!)? Честно говоря, экосистема Java всегда была немного сбивает меня с толку, поэтому было бы очень полезно предоставить некоторые "справочные ссылки" и "учебные пособия по defacto" для обучения (кривая!) JVM. (ОК! Я отправлю его как еще один вопрос!)

  • 1
    У меня был опыт работы с Java, но я обнаружил, что он совсем не нужен для Clojure до тех пор, пока вы не перейдете к взаимодействию с Java. Даже в этот момент Java настолько близка к C #, что я не думаю, что у вас возникнут какие-либо проблемы ...
  • 3
    Скала - Java = Скалаз
Показать ещё 2 комментария
Теги:
clojure

7 ответов

14
Лучший ответ

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

  • 0
    Clojure особенно привлекает людей, которые не знают Java. Leingingen делает их намного проще, чем раньше, но есть еще много полезных вещей, которые сэкономят вам много времени, доступного вам в Java.
4

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

3

Говоря с точки зрения знания Java и Clojure (но не Scala), вы можете использовать Clojure просто отлично, не зная Java. У вас есть доступ к основному языку, который является полнофункциональным, и библиотекам (например, clojure -contrib).

Однако одним из больших преимуществ использования Clojure (по сравнению с другими lisps) является доступ к экосистеме Java - библиотеки, отладчики, JVM и т.д.

Итак, да, вы можете эффективно использовать Clojure, и я бы не стал препятствовать нехватке Java-знаний, но вы добавите к своей сумке трюков, если в конечном итоге вы начнете учиться достаточно Java, чтобы воспользоваться преимуществами.

  • 0
    По моему опыту, опытным в C # человеку легко освоить Java и наоборот, они очень похожи. Так что OP, вероятно, мог бы использовать опыт C # при подборе библиотек Java, даже если единственной целью было использовать их из Clojure или Scala.
3

Ну, Clojure был перенесен в CLR. Вероятно, проще всего перепрыгнуть на JVM, так как вы являетесь разработчиком .NET.:)

http://github.com/richhickey/clojure-clr

  • 2
    Есть также Scala для CLR, хотя она не очень хорошо поддерживается в течение некоторого времени.
  • 0
    круто, не знал, что :) ну все, что работает на JVM, потенциально может работать на CLR, так что нет причин :)
1

да, вот и я!

Не была для меня большой проблемой, кроме тех случаев, когда мне нужен был глупый простой свинг-ги. вот когда мне пришлось вернуться и просмотреть java.

0

Рассматривали ли вы возможность использования f #? он работает в стиле ML с богатой системой типов (ближе к scala, чем clojure)), и он включен из-в-коробке в .net

  • 0
    Спасибо за упоминание F #, и я радостно использую F # в некоторых проектах. Моя проблема - новый проект - конечно, он находится на ранних стадиях и может быть полностью заброшен - он будет разработан на GAE (и я не люблю Python, и в то же время C # достаточно Javaish - и в некоторой степени более привлекательным, чем Java (для меня) - так что я слышал о Scala и прочитал несколько уроков, и это / кажется очень прагматичным и классным).
  • 0
    jum, если вы программируете против gae, я думаю, что у clojure больше документации, распространяющейся по Интернету (по крайней мере, я нашел больше ссылок: diigo.com/user/jneira/clojure%20appengine )
0

Scala - это совершенно другой язык, чем java. Так что да, конечно, вы можете использовать scala, не зная java (но, конечно, сначала вам нужно изучить scala). Хотя знание java (или любого языка OO) + некоторый функциональный язык упрощает понимание scala.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню