Примечание: Например, я - разработчик C#, и я использую.NET, не зная VB (Конечно, WF 4.0 использует VB для операторов, таким образом, я отказываюсь от любых проектов, включающих WF 4.0 :)).
Сводка I: Благодаря всем для Ваших ответов. Теперь я могу сказать, что можно использовать эти языки, не зная Java (Язык). Теперь у меня есть другой вопрос: Как можно запустить с Java (JVM) экосистему? Что является новичком, промежуточные и усовершенствованные базы знаний (сумки!)? Быть честной экосистемой Java всегда немного сбивало с толку меня, таким образом, будет очень полезно обеспечить некоторые "ссылочные ссылки" и "defacto учебные руководства" для изучения (кривая!) JVM. (Хорошо! Я отправлю его как другой вопрос!)
Scala и, тем более, Clojure - это языки, совершенно отличные от Java. Единственное, что у них общего, это то, что они работают на виртуальной машине Java. Вам не нужно знать язык программирования Java, чтобы программировать на Scala или Clojure. Однако было бы полезно узнать что-нибудь об экосистеме Java (виртуальной машине Java и среде выполнения).
Конечно, можете. Сначала вам не хватит знаний о стандартной библиотеке, но в любом случае это не большая проблема, когда вы начинаете работать с новыми языками. Clojure и Scala, однако, уделяют большое внимание взаимодействию с Java и не пытаются скрыть необработанный материал Java, поэтому вам, вероятно, придется узнать больше о Java (а не о языке - платформе Java) в какой-то момент, чтобы сделать максимальное использование языка и базовой платформы.
Говоря с точки зрения знания Java и Clojure (но не Scala), вы можете прекрасно использовать Clojure, не зная Java. У вас есть доступ к основному языку, который является полнофункциональным, и библиотекам (например, clojure-contrib).
Однако одним из больших преимуществ использования Clojure (по сравнению с другими лиспами) является доступ к экосистеме Java - библиотекам, отладчикам, JVM и т. Д.
Итак, да, вы можете эффективно использовать Clojure, и я бы не позволил недостаток знаний Java мешает вам, но вы добавите в свой мешок уловок, если со временем начнете изучать Java в достаточном количестве, чтобы воспользоваться этим преимуществом.
да, это я!
Это не было большой проблемой для меня, за исключением тех случаев, когда мне нужен был глупый простой графический интерфейс. вот когда мне пришлось вернуться и просмотреть java.
Scala - это совершенно другой язык, чем java. Поэтому да, вы, конечно, можете использовать Scala без знания java (но, конечно, сначала вы должны изучить Scala). Хотя, знание java (или любого ОО языка) + какого-нибудь функционального языка облегчает понимание scala.
Рассматривали ли вы возможность использования f#? Это функциональный язык в стиле ML с богатой системой типов (ближе к scala, чем к clojure), и он включен в .net из коробки
.Итак, Clojure перенесен на CLR. Наверное, проще, чем перейти на JVM, поскольку вы разработчик .NET. :)