7 ms·
Scala as EJB 2: feedback (incl. Fantom comparison,funny comments
- tutysara 15y agoI am wondering why there is no response to this post for such a long time. Did scala guys decided to show their disappointment by ignoring this post here?
- vetler 15y agoColebourne's attitude reminds me of an attitude I encountered a lot when I used Perl. Some people would spend a lot of time complaining about how bad Perl is. Meanwhile, lots of people would be happily producing clean and maintainable code with Perl. People who like Perl will probably nod acknowledgingly, and people who don't like it will think I'm an idiot for thinking that Perl isn't so bad. It's best not to get caught up in the language wars and just focus on getting things done. Which reminds me, I should be getting back to work.
- beagledude 15y agowell said
- spidaman 15y agoApt comparison. It's easy to see how both perl and scala can degenerate into "line noise", both are quite powerful and both have their religious adherents and detractors. While I would refrain from using punctuation characters in method names, I think it's an asset that scala allows it. Colebourne's desire for version awareness in class loading is one I'd agree with with but I've wanted that in just about every language. The rest of his complaints just sound like crabby BS to me. FWIW, my experience with scala was a short project last year where it was essentially just a "better java" with smatterings of implicits and FP, I enjoyed it and plan on using scala again in the future.
- SWengineer 15y agoI think quite a few java devs, myself included, are starting to use scala as a 'better java'. After a decade or more of java coding we're looking for something more expressive which isn't a scripting language.
- felipehummel 15y agoI really want to see all this thrash/unreadable Scala code that everyone is talking about. I haven't done any great projects on Scala, only smaller ones. With a few exceptions (of operator overload and implicits abusing) I've read many Scala sources and after you pass the "functional programming WTF moments" you come to understand pretty much everything.
- Maro 15y agoYou can browse Scala code here: https://github.com/languages/Scala https://github.com/languages/Scala
- felipehummel 15y agoI know. I've seen it. Can you point to some unreadable code? Preferably one that does not fall into the 'operator overload ing abuse' category?
- Maro 15y agoI've never read or written a single line of Scala code, I was just trying to be helpful by providing a link where there's lots of Scala code..
- tomjen3 15y agoGo look up the sources for the Scala 2.8.0 compiler. Worst and most difficult to understand code I have ever seen. It is simultaneously confusing, hard, badly commented and uses every single Scala feature I have ever seen, including non-root imports in the middle of files, extensions of anonymous classes sometimes with other anonymous classes, and my least favourite: path depended typing (sometimes from non-root imports started in one of several traits that may or may not have circular inherietence patterns). But that said, it has never been a problem outside the compiler.
- soc88 15y agoThat's pretty interesting, because I had no trouble reading and understanding the sources of the compiler and writing simple patches for it ... and I'm not really a compiler guy and not a type theorist. The Scala compiler is in my opinion one of the nicest code bases I've seen, considering the low-level stuff happening there.
- ekidd 15y agoStephen Colebourne's original post on Scala was discussed at length on Hacker News: http://news.ycombinator.com/item?id=3264849 http://news.ycombinator.com/item?id=3264849 There were a lot of interesting perspectives, both for and against Scala's design decisions, and I learned a lot. 1. Scala is a complex language, with many tools aimed at library authors. There are drawbacks to this approach (witness the headaches of C++), but also advantages (witness the massive commercial success of C++). 2. Plenty of Scala developers are happy to use it as a "better Java." A small but vocal minority are engaged in hard-core functional programming, which can occasionally lead to both cool libraries and minor conflict within the community. 3. Some of Colebourne's original criticisms were acknowledged by Scala developers, especially those pertaining to module systems. However, opinions on whether Scala should limit mutability (as Clojure and Haskell do) were divided. This followup post is less interesting. He goes out of his way to quote people who made insightful comments that agreed with his views, but only quotes snark and mockery from those who disagreed.
- felipehummel 15y agoBest summary on this whole discussion.
- Tichy 15y agoDoes Fantom have any traction? It sounds interesting.
- gtani 15y agomy idea of traction/participation for a language is some nontrivial volume on github, stackoverflow, mailing list and IRC. OP talks about fantom, scala, Groovy, Ceylon, Kotlin, Xtend, Clojure in the article (doesnt' mention JRuby or gosu, but they're worth looking into too)
- timclark 15y agoFantom is an interesting language go and try it out! I don't think it has much traction but it is simple, easy to understand and contains some thought provoking ideas. You can get to know most of the language and most of the built in libraries with a few evenings playing with an editor and reading the online documentation. Also go and look at Ceylon and Kotlin (please, please JetBrains get some code out for Kotlin soon!), they both also contain lots of interesting ideas but are more complex than Fantom. In fact Fantom, Kotlin and Ceylon all have two features that I like, null safety and a module and dependency system baked into the language.
- soc88 15y agoNo, not really. And it just broke backward compatibility, one thing all these Scala critics get so worked up about.
- harryh 15y agoIf anyone is interested in looking at a medium sized scala project and deciding for themselves what they think about the language you might want to check out rogue, a MongoDB query DSL that we developed at foursquare. You can see it, source and all, here: https://github.com/foursquare/rogue/ https://github.com/foursquare/rogue/
- foobarbazetc 15y agoThis is one of the lamest "things" on HN/the Internet in a while. You have one guy who says he doesn't like Scala, provides almost no actual reasons apart from hand waving, and pretty much says he's never actually used it for anything. He then points to a language which has zero traction, and will never gain any, as his ideal language. That's great. It really is. So this guy doesn't want to use Scala. That's good for him. Why do you care? If this was an interesting analysis of the language, or the libraries, or some actual code, that would be something to talk about. But it's more a whiny "why are all you guys switching to Scala! I don't like it! Come back!" pseudo-"debate" than anything else.
- soc88 15y agoGreat and accurate summary.