|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
Scala newbie.Hi,
I am reading Programming in Scala and liking a lot. But i am with a doubt: Should i learn Java (i really tried a lot of times, but i find it a lot boring) or go only with Scala ? -- http://rneto167.wordpress.com https://twitter.com/rneto167 |
|
|
Re: Scala newbie.On Mon, Jul 6, 2009 at 2:32 PM, rneto167 <rneto167@...> wrote: Hi, Go only with Scala.
-- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp |
|
|
Re: Scala newbie.That depends on your purpose. From a professional point of view as an IT person, know Java is very important. I assume, though that's not a consideration for you, given that you haven't yet.
So, I'll rephrase your question as "Is learning Scala enough, or do I need to learn Java too to program in Scala?".
Learning Scala is enough, and I think Programming in Scala does a great job of doing it, but, then again, I know a lot about Java.
There are two things about Java that you might miss, though:
1. The whole Java infrastructure.
You may want to make "jar" files (or even "war" files or similar stuff), run it on web servers or computers without Scala installed, and things like that. This kind of stuff is not covered by Programming in Scala. Then again, this kind of stuff is usually learned through experience, not books.
2. Java libraries.
There are many, many Java libraries that you might be interested in. There is no shame in that. After all, Scala itself uses Java's standard library extensively, and there are tons of good stuff out there. There is no sense in spending days to display a simple graph of data when there are libraries which will display your data in dozens of different graphic formats.
It's important that you are able to read API documents, and understand simple examples.
I don't think either of these two things require a more formal Java education. If you can get by, it should be enough.
On Mon, Jul 6, 2009 at 6:32 PM, rneto167 <rneto167@...> wrote: Hi, -- Daniel C. Sobral Something I learned in academia: there are three kinds of academic reviews: review by name, review by reference and review by value. |
|
|
Re: Scala newbie.I think this is a common case for many FP folks who avoided Java but
had come over for Scala. Furthermore, I see an opening for a book called, roughly, "Java and its Ecosystem for Scala lovers." E.g., "thanks" to some Scala projects I got first, I learned Maven and found it very useful. Thanks to IRC #scala folks, I've heard about IDEA and found it the best IDE I used in a long time, and supports Scala so well already, and is in fact an excellent Maven GUI. Maven allows to plug in various Java libraries and makes their discovery and usage super easy. Scala is the best thing which happened to Java in a long time! Cheers, Alexy |
|
|
Re: Scala newbie.Minor niggle, running scala:console from maven within IDEA seems not
to accept input. 2009/7/7 Alexy Khrabrov <deliverable@...>: > I think this is a common case for many FP folks who avoided Java but had > come over for Scala. Furthermore, I see an opening for a book called, > roughly, "Java and its Ecosystem for Scala lovers." E.g., "thanks" to some > Scala projects I got first, I learned Maven and found it very useful. > Thanks to IRC #scala folks, I've heard about IDEA and found it the best IDE > I used in a long time, and supports Scala so well already, and is in fact > an excellent Maven GUI. Maven allows to plug in various Java libraries and > makes their discovery and usage super easy. Scala is the best thing which > happened to Java in a long time! > > Cheers, > Alexy > > -- Ricky Clarkson Java Programmer, AD Holdings +44 1565 770804 Skype: ricky_clarkson Google Talk: ricky.clarkson@... |
|
|
RE: Scala newbie.Sorry guys, but I somewhat feel the need to
disillusion a bit about Scala and Java. > That depends on your purpose. Absolutely. But often the purpose is to write some app with UI and persistence. Scala is --at least currently-- not in an autonomous position here. > So, I'll rephrase your question as "Is learning Scala enough, > or do I need to learn Java too to program in Scala?". In my opinion, at least at the current state of the Scala infrastructure, you have. No way around. > Learning Scala is enough, and I think Programming in Scala > does a great job of doing it, but, then again, I know a lot > about Java. Right. And that will make us blind for so much problems of Non-Javaists. > There are two things about Java that you might miss, though: > > 1. The whole Java infrastructure. > > You may want to make "jar" files (or even "war" files or > similar stuff), run it on web servers or computers without > Scala installed, and things like that. This kind of stuff is > not covered by Programming in Scala. Then again, this kind of > stuff is usually learned through experience, not books. "Experience" does not mean "not books" in the sense of "no Java literature" or "no Java learning". It means to first take some literature and work through it "hands on". So even without "books": Without the typical "getting started" stuff, "tutorials" or "user manuals" you will have a BAD experience. You need some guidance to know where to start and where to go. This guidance stuff is mostly written in context of Java today. (Not Scala, nor Clojure, nor Groovy, not JRuby, not Jython ...) > 2. Java libraries. > > There are many, many Java libraries that you might be > interested in. There is no shame in that. After all, Scala > itself uses Java's standard library extensively, and there > are tons of good stuff out there. There is no sense in > spending days to display a simple graph of data when there > are libraries which will display your data in dozens of > different graphic formats. > > It's important that you are able to read API documents, and > understand simple examples. > > I don't think either of these two things require a more > formal Java education. If you can get by, it should be enough. You mean reading about scala.swing is enough to work with the Swing framework? I doubt. At least if you want to do some things beyond simple basic GUIs. You mean reading about scala.io is enough to work with the file system? I doubt too. You will have to learn about java.io.File and its tricky Java semantics, about all the different pluggable Reader/Writer things a.s.o. There is no sophisticated scala file system handling beyond scala.io.Source imho. And even if you could write such stuff without deep knowledge of the Java below, you will experience a shock when first trying to debug some less obvious bug. My statement: As long as a JVM-language does not completely replace rt.jar on user level, you will not do without Java knowledge. That's the "thin wrapper layer" problem of today's JVM-languages. Much more if you want to use tools which have Java, but not Scala APIs. For example try to use OOo's UNO bridge without Java knowledge... No chance. And there is much more that you can easily Scala-fy AFTER you understood the Java stuff. After you have done all this, what big is the distance to "having learned Java"? The question was not about formal education IMHO. "Learning Java" just starts at a much simpler level. Hopefully some day much more basic stuff will be written originally in Scala.... Just my 2ct Dirk |
|
|
Re: Scala newbie.I think that's overly pessimistic. You might need to learn the Java
ecosystem, but not really that much of the language. 2009/7/7 Detering Dirk <Dirk.Detering@...>: > Sorry guys, but I somewhat feel the need to > disillusion a bit about Scala and Java. > >> That depends on your purpose. > > Absolutely. But often the purpose is to write some > app with UI and persistence. Scala is --at least currently-- > not in an autonomous position here. > >> So, I'll rephrase your question as "Is learning Scala enough, >> or do I need to learn Java too to program in Scala?". > > In my opinion, at least at the current state of > the Scala infrastructure, you have. No way around. > >> Learning Scala is enough, and I think Programming in Scala >> does a great job of doing it, but, then again, I know a lot >> about Java. > > Right. And that will make us blind for so much problems of > Non-Javaists. > >> There are two things about Java that you might miss, though: >> >> 1. The whole Java infrastructure. >> >> You may want to make "jar" files (or even "war" files or >> similar stuff), run it on web servers or computers without >> Scala installed, and things like that. This kind of stuff is >> not covered by Programming in Scala. Then again, this kind of >> stuff is usually learned through experience, not books. > > "Experience" does not mean "not books" in the sense of "no Java > literature" or "no Java learning". It means to first take > some literature and work through it "hands on". > So even without "books": Without the typical "getting started" > stuff, "tutorials" or "user manuals" you will have a BAD experience. > You need some guidance to know where to start and where to go. > This guidance stuff is mostly written in context of Java today. > (Not Scala, nor Clojure, nor Groovy, not JRuby, not Jython ...) > >> 2. Java libraries. >> >> There are many, many Java libraries that you might be >> interested in. There is no shame in that. After all, Scala >> itself uses Java's standard library extensively, and there >> are tons of good stuff out there. There is no sense in >> spending days to display a simple graph of data when there >> are libraries which will display your data in dozens of >> different graphic formats. >> >> It's important that you are able to read API documents, and >> understand simple examples. >> >> I don't think either of these two things require a more >> formal Java education. If you can get by, it should be enough. > > You mean reading about scala.swing is enough to work with the > Swing framework? I doubt. At least if you want to do some > things beyond simple basic GUIs. > > You mean reading about scala.io is enough to work with the > file system? I doubt too. You will have to learn about > java.io.File and its tricky Java semantics, about all the > different pluggable Reader/Writer things a.s.o. > There is no sophisticated scala file system handling beyond > scala.io.Source imho. > > And even if you could write such stuff without deep knowledge > of the Java below, you will experience a shock when first > trying to debug some less obvious bug. > > My statement: As long as a JVM-language does not completely > replace rt.jar on user level, you will not do without Java > knowledge. That's the "thin wrapper layer" problem of today's > JVM-languages. > > Much more if you want to use tools which have Java, but not > Scala APIs. For example try to use OOo's UNO bridge without > Java knowledge... No chance. And there is much more that > you can easily Scala-fy AFTER you understood the Java stuff. > > After you have done all this, what big is the distance to > "having learned Java"? The question was not about formal > education IMHO. "Learning Java" just starts at a much simpler > level. > > Hopefully some day much more basic stuff will be written > originally in Scala.... > > > Just my 2ct > Dirk > > > -- Ricky Clarkson Java Programmer, AD Holdings +44 1565 770804 Skype: ricky_clarkson Google Talk: ricky.clarkson@... |
|
|
RE: Scala newbie.> I think that's overly pessimistic. You might need to learn
> the Java ecosystem, but not really that much of the language. Thanks Ricky, maybe you're right, but I'm sceptic. So @rneto167: Perhaps you simply try without Java and give us some feedback at how it works? (Would be an interesting research). Your questions here would give a hint about what a non-Javaist would really need to know. |
|
|
|
| Free embeddable forum powered by Nabble | Forum Help |