6 ms·
Some musings on Scala and Clojure by a long time Scala dude
- jadyoyster 13y agoAnyone know if the "Programming with hand tools" Conj talk will be available somewhere? Totally agree on Clojure's documentation problem (being used to Racket's amazing docs), but at the same time it's very easy to just read the source of the library you're trying to use. Especially with Emacs' quick source code navigation.
- Estragon 13y agoYou didn't miss much. It was an "inspirational" talk.
- Skinney 13y agoAgree what you're saying about reading the source. It's actually something I've become accustomed too, as well as just testing things out in the repl. This is a little daunting to new programmers though :/
- puredanger 13y agoYes, all of the Conj talks will be available soon, they are currently being edited.
- mattdeboard 13y agoWhere the hell is the actual content on this website? Everything is an ad.
- xmonkee 13y agopossibly the worst website i've even seen on hn
- gus_massa 13y agoI stared to it for 10 minutes too! The real content is the podcast/presentation on the top right. It’s a vimeo video that has a ship and a press.
- patmcguire 13y agoYeah, this is the kind of site you expect to see for One Weird Trick, not programming.
- lmm 13y agoAnd there I was hoping he was finally getting out of the way and letting Scala succeed with more... diplomatic people doing the advocacy.
- wpietri 13y agoCould you say more about this? I went to a 1-day Scala unconference and generally liked it, but this guy was a giant dick to me when I asked what I thought was a pretty reasonable question. The experience definitely made me wonder about the Scala community.
- lmm 13y agoI get the impression he's a giant dick, yeah. He seems to be technically skilled and he wrote what used to be the only real web framework available for Scala, which gave him a certain amount of standing in the community (such as it was); IMO the negatives of his attitude outweigh the positives of his technical contributions and I think the community gradually came to feel the same way - at the same time, a better alternative web framework (Play, along with a number of more "microframework" type projects) was written, and Pollack had seemed to be fading from view in the last few years.
- frowaway001 13y agoThat's my impression, too. He seems to be one of those persons who never ever can't be wrong at all and if evidence is provided which shows that he's clearly wrong, he gets angry/insults people/threatens lawsuits¹. I just hope he adopts another language and drops Scala, because his behavior seems to become an increasing burden to the community. ¹ The last one is only hearsay, the two others certainly not.
- asdasf 13y agoHe isn't really relevant in the scala community any more, the burden is decreasing, not increasing. Nobody uses lift, nobody talks about lift, nobody cares about lift. Play is the scala framework now.
- dkhenry 13y agoI thought Pollak went on to Haskell after scala moved on without him. Hopefully the clojure community will learn from the mistakes of scala and not give him too big of a platform to try and monetize.
- wpietri 13y agoCould you say more about the background here? Scala's been on my "maybe" list for years, and I'm still trying to figure out how popular it's going to end up being.
- stewbrew 13y agoDavid Pollak is the author of the lift framework. Typesafe chose Play as its web framework.
- dkhenry 13y agoIn addition he ran scala-tools.com which he opended up ( kindly) as a nexus host for lots of early scala tooling. However when Typesafe snubbed him he decided to divest himself of it, but not before asking someone to give him some money for the domain name ( we don't know how much he never said ). The community then needed to scramble for alternative hosting. Also on his way out he wrote some very negative posts about the language.
- asdasf 13y agoHe used haskell for some startup thing he was doing, but he didn't abandon scala or lift.
- dragonwriter 13y agoI get the impression that Pollak uses whatever the task calls for -- even if its Java -- rather than being a language tribalist that is attached to one language and dumps it for another if he gets upset with the tribe of the first. Which is, really, one of the reasons he is able to provide good perspective on languages -- he uses a variety of them for real work.
- 13y ago
- reactor 13y agoVideo suddenly became private?
- stormcrowsx 13y agoScala and Clojure are built for two different purposes, both were made with different goals and problems in mind. This type of comparison is the same as comparing two different shop tools. On one hand you have a scrollsaw and on the other you have a tabletop saw. They are for two different purposes, and you won't find many people comparing the two. Programmers need to learn this, use a language for what its good with. Language designers should also keep it in mind when describing their language. "I made this language with these problems in mind, and these goals in mind".
- jaxytee 13y agoHe actually touched on this towards the end of the presentation. To simplify, he states that Clojure is about data and Scala is about types. When accommodating dynamic data, it's easier to use Clojure because of the ubiquity of Maps as the primary data type and the nice handling if Null values via Clojure's Nil type. In Scala, dynamic data is dealt with using the Option Monad, and this adds layers of complication to your code.
- stormcrowsx 13y agoYeah but by and whole the talk was more about cons of Scala than pros. If your going to describe a language in terms of another you should list what both are good and bad for. It was a very biased talk that makes it sound like Clojure fixes just about everything, in reality Clojure works well in a band of problems that Scala is not well suited for. This talk is actually better than most but in general when people compare two languages they bash one and praise the other excessively. I'd like to see an end to that trend and for speakers to start saying what a tool is meant for and what its not meant for.
- jaxytee 13y agoVery true that this talk did seem to be bias to Clojure. As and Scala user myself, I think his critique of Scala was fair.
- chongli 13y ago
- eranation 13y agoTo anyone deciding between Scala and Clojure: If you want a simple and concise syntax, hate long compile times, don't mind polish notation, want purer functional programming, don't need an IDE, and prefer dynamic typing, Clojure might be your cup of tea. If you like using an IDE, autocompletion, refactoring and almost 1:1 Java interoperability, want a statically typed language with both functional programming and OO and still be able to do things you can't do in Java (like duck typing, "pimp my library", and dynamic method names), need a language that has high adoption chances in both Startups and Enterprise Java shops - and don't mind LONG COMPILATION TIMES, (and fine with never really fully understanding CanBuildFrom) Scala might be your better choice. If you didn't choose Scala ONLY because of long compilation times, make sure to give Kotlin a look. If you didn't choose Clojure because it's dynamically typed or because (not (like you polish_notation)) then try Haskell
- profquail 13y agoClojure has core.contracts now, which can be used to get some of the same correctness guarantees you can get from a strong type system. https://github.com/clojure/core.contracts https://github.com/clojure/core.contracts
- stewbrew 13y agoJust for the records: strong != static typing && Runtime contracts != compile.time type checking
- danneu 13y agoAlso, there's https://github.com/clojure/core.typed https://github.com/clojure/core.typed. I don't have much experience with static typing outside of basic Java interop, but I gave it a shot on a recent project and it was pretty cool once I got the ball rolling and it caught my first actual bug.
- stewbrew 13y agoYes (though I find it painfully slow) and there is more but making use of those would most often require you to duplicate type information.