Settings

Theme

Curated list of Scala frameworks, libraries and software

github.com

53 points by loopasam 11 years ago · 24 comments

Reader

taeric 11 years ago

This list would be a ton more useful if there were some metrics or indications for which libraries were included and why. Just as good, which were purposefully not included. And again, why.

This is pretty much the reason folks go with full stack frameworks fairly often. Trying to determine which of the testing modules to pair with which authentication module and which ... is annoying.

  • zak_mc_kracken 11 years ago

    Agreed, it's pretty much the opposite of "curated" as it stands, especially since it's hard to believe the creators of the list studied carefully the sources of all these frameworks in order to determine their awesomeness.

  • lauriswtf 11 years ago

    The list is open source and community driven. It means that everyone can improve it and suggest edits. There has already been 19 pull requests with additions and deletions.

    Currently the list is just a work in progress, but I am certain that after several iterations of pull requests it will be up to date and useful.

    • taeric 11 years ago

      That just brings the entire "curated" aspect into question. I mean, sure it was curated. By the internet.

      At the least, common metrics that can be applied to various offerings would be neat. Possibly a qualifier such that you can't add an item unless it meets a threshold on a few criteria.

    • zak_mc_kracken 11 years ago

      And yet, the list still contains quite a few projects that are abandoned and zero annotations of why each project is listed there.

      If you're going to claim this list is "curated" and the projects listed there are "awesome Scala", the least you can do is explain the criteria.

    • the_af 11 years ago

      It would be useful to clarify what the requirements are for the "curated" list. Also, why each framework is recommended. Otherwise, it's just a list of stuff.

facorreia 11 years ago

Also https://github.com/softprops/ls and https://github.com/velvia/links

bkeroack 11 years ago

I've asked before but I'm going to try again: are there any resources out there for learning Scala that do not assume a Java background?

I have no Java experience (I'm primarily a Python developer) and therefore find most of the documentation difficult because I'm not at all familiar with the Java ecosystem (maven, jars, weird reverse-DNS naming convention for packages, JDBC, etc). Am I expected to first become a Java developer before I can even start with Scala?

  • jghn 11 years ago

    I've been working with scala for about 1.5 years. My background previously was mostly Python & R for the previous 10 years although I had been working w/ Java a little here and there for about a year prior to switching to Scala.

    I didn't encounter any difficulty picking up Scala - my main resources at the time were "Programming in Scala", poking around StackOverflow and my group's existing code base. If anything I think my background with Python & R helped as I was already familiar with a lot of the functional-ish approaches from those languages (e.g. lambdas, maps, etc)

    As Kev009 pointed out, using something like IntelliJ helped immensely as well as it handles a lot of the boilerplate-y stuff.

    • bkeroack 11 years ago

      Nice. That's very similar to my background (R & Python). There's no existing codebase though, we are doing everything greenfield in Scala.

      I'll give IntelliJ another try, thanks.

  • MaysonL 11 years ago

    Coursera has a couple of Scala courses: try the introductory one "Functional Programming Principles in Scala". I'm not sure when it will be offered next, but they've given it a few times already. It doesn't require any Java knowledge.

    • bkeroack 11 years ago

      Thanks for the suggestion, I looked through that Coursera course. I'm reasonably comfortable with the language fundamentals, it's more about the toolchain and using third-party libraries like the Slick ORM. I find the quickstart inscrutable (maybe it's just me).

      As a counter example, I was up and running with Go in 15 minutes.

      • zenbowman 11 years ago

        Slick in my experience is pretty unusable even for experienced Scalaphiles. I couldn't use it until I wrote a wrapper for it:

        https://github.com/zenbowman/slickint

        And even then, I think I by far prefer raw SQL to Slick. If you stick to the standard Scala libraries, they are pretty well designed, and I second taking the Functional progamming in scala course. There is some discussion of the toolchain in Lecture 0 of that course.

        • bkeroack 11 years ago

          Interesting, thank you. Do you have any ORMs that you recommend above Slick? I think raw SQL is probably a deal-breaker for us.

          • zenbowman 11 years ago

            Nope, Slick is the best one that I ran across for Scala.

            I just found writing the classes painful so I wrote slickint to deal with generation of classes, and it was reasonable after that.

  • kev009 11 years ago

    The things you identified you will need to know and would be proficient knowing them. JDBC not so much but depending on the libs you use, you could be using it indirectly. Same story with maven, knowing how to look up stuff on mavencentral will help but beyond that you don't need to care.

    Knowing a little Java would help when calling into Java libs but an IDE like IntelliJ that can help you understand conversions would do well too.

    A lot of people convert from languages like Perl and Ruby without tremendous difficulty. I can only recommend diving in to make a real assessment, prejudices and phobias will otherwise prevent understanding.

DCKing 11 years ago

It's interesting to see that most of these libraries are either web services or language support. Are client side apps for the (Oracle) JVM definitively over?

hnriot 11 years ago

I wish people would stop creating scala libraries and frameworks, it just fragments the java community. Scala was a short term hack to fill in the gaps until Java has lambdas. Java does now and there's no need to keep scala separate, the syntactical sugar to remove some of the boilerplate to java is just not worth the fragmenting effect. We've seen much the same thing with python 2 and python 3, which differ in ways similar to java. We need to delete scala and delete python 3 and all get back to solving real problems.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection