addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1light-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Scala in 2018: A Panel with Rod Johnson

  • Sep 12, 2013 · 6:30 PM

Please tweet panel questions and ideas with hashtag #scala2018

Meetup attendees must have their full legal name in their meetup account for the RSVP.  We will need this for building security to let everyone into the event.

Rod Johnson has made a splash in the Scala community with his ScalaDays 2013 keynote in New York. He listed examples of Scala being opaque and hardcore FP folks communicating in Haskell as an obstacle to widespread adoption, and called for stability and understanding of "the average programmer." Rod pointed to the qualities of Java which keep it the mainstay programming language. The community response varied. We gather a panel of experienced Scala practitioners to debate Rod's keynote ideas with Rod himself!

Moderator

Alexy Khrabrov, SF Scala organizer, founder of Scala FunConf (@khrabrov, github.com/alexy)

Panelists:

• James Earl Douglas, co-founder of Versal, speaker at ScalaDays, creator of multiple open-source FP treasures (@jearldouglas, github.com/jamesearldouglas)

Brian McKenna, Senior R&D Engineer at Precog, creator of FP delights (@puffnfresh, github.com/puffnfresh)

• Paul Snively (@psnively, github.com/psnively)

Ity Kaul, Engineering Lead at Twitter; Scala evangelist (@ity, github.com/ity)

• Jorge Ortiz, Software Engineer at Foursquare, long-time Scala enthusiast (@jorgeo, github.com/jorgeortiz85)

The panel questions will be a combination of the moderator, panelists, audience, and meetup member questions.  If you have a question for Rod and the panel, please ask it here as a comment.  Separately, please take your time and upvote the best questions by liking them and not liking the others.  We'll use the most-liked questions in the panel.


Pizza and beer starts at 6:30.  The panel begins at 7pm sharp.

Join or login to comment.

  • A former member
    A former member

    The video of the panel is posted on Functional.TV: http://functional.tv/

    2 · September 26, 2013

  • Tom T.

    Just a note about posting recordings of meetups at this page under Discussions / Message Board: please see this other group, Adobe Creative Cloud Lovers at http://www.meetup.com/creativecloudlovers/ . All recorded meetups are posted under Discussions / Message Board in a folder that's "pushpinned" to the top of the list. Just an idea. Thanks.

    September 25, 2013

  • Joseph M.

    With such an epic panel line up and topic i hope this gets recorded. I won't be able to make it :(

    1 · September 10, 2013

    • Michael M.

      We are planning to record the event.

      4 · September 10, 2013

    • Joseph M.

      Was the recording ever posted?

      September 19, 2013

  • Sasha O.

    Very interesting, thanks for organizing it!

    September 15, 2013

  • Pedro F.

    Conclusions?

    September 13, 2013

  • Jason L.

    Great thoughts and intentions. If we can as a community focus on inclusivity, I think 2018 will see enormous success for Scala.

    1 · September 12, 2013

  • Derek H.

    @khrabrov - thanks for organizing and moderating the Meetup. You did a fantastic job setting the tone for a fruitful and interesting debate.

    3 · September 12, 2013

  • Luxmi Dutt S.

    Why Scala ,, why not java or JRuby??

    September 12, 2013

    • Pedro F.

      Static type guarantees

      September 12, 2013

  • Luxmi Dutt S.

    Why Scala ,, why not java or JRuby??

    1 · September 12, 2013

  • Elliot J. G.

    Last minute conflict. I'm releasing my slot to someone else. Enjoy!

    September 12, 2013

  • Themba F.

    Last minute question for Rod:

    I thought there were some remarkable similarities between your keynote at Scala Days and Martin Odersky's "Scala with Style" keynote. I thought in many ways you were both conveying the same core message, albeit with completely different approaches.

    Can you speculate as to why you received such different responses from the community? Or, if you disagree that the messages were similar, will you talk about where you differ with Martin's talk?

    2 · September 12, 2013

  • A former member
    A former member

    "Java has really pretty awesome tooling."

    Many claim that Java's tooling is largely an artifact of poor language design and ecosystem. For instance, IDEs have many plugins for Maven POM files, JSPs, and Spring XML configuration -- largely because libraries opted for XML over using Java's type system effectively. Do you agree with this evaluation? Can we do better with typesafety and a good compiler to relax the need for more complicated tools?

    2 · September 5, 2013

    • A former member
      A former member

      How about we not disagree, instead ☺? I would also like these basic types of assistance from tools. In fact, you didn't name another one that I kind of like -- automatically downloading source from repositories for seamless code naviation. But a lot of the types of tools beyond this set have deminishing returns for me. Additionally, I'm very sure I'm more productive with Scala+Vim+Shell than I ever was in Java+IntelliJ.

      September 10, 2013

    • A former member
      A former member

      @Yuriy: Aren't the first three in Scala IDE 3.0.1, in Scala Search? I'm not sure myself, since I haven't tried it much, since it requires Scala 2.10.

      September 12, 2013

  • A former member
    A former member

    For once I got promoted out of the waiting list in this Scala meetup but I can't make it tonight :(. My spot goes to the next lucky person.

    September 12, 2013

  • Tony M.

    20.
    I have come to recognise the importance of identifier names aiding code
    readability. Can you please explain to me what a
    AbstractBeanFactoryBasedTargetSourceCreator is and how it relates to the
    non-alpha and therefore, poorly-named, and therefore unreadable, >>= function?

    6 · September 4, 2013

    • A former member
      A former member

      I've just been informed that the name Tony used is actually a real Spring name. I'll leave my post as is, but it's really making the same point as Tony is.

      1 · September 5, 2013

    • Yuriy G.

      while I do see advantages of using operators,
      the difference between scala and shell is - not that many people creating new operators

      September 10, 2013

  • Roberto B.

    I wonder what Rod and the rest of the panel have read Abdelmonaim Remani's "The Eschatology of Java" (http://blog.polymathiccoder.com/post/59321113069/the-eschatology-of-java) and if so, what their opinion is on the argument that shift to functional programming (and even Android programming) is actually more harmful than helpful to the Java ecosystem.

    September 9, 2013

    • Tony M.

      That article is quite cute :)

      1 · September 9, 2013

  • Michael M.

    Kabam is very excited to host the meetup this week. Please ensure that you have your full legal name and bring a photo ID for building security. See you on Thursday!

    1 · September 9, 2013

    • Vlad P.

      That includes brains?

      September 9, 2013

    • Roberto B.

      I will smuggle mine in.

      1 · September 9, 2013

  • Adelbert C.

    How do you define "widespread adoption" and why is it desirable? To what extent should the language be compromised to accomplish this?

    3 · August 30, 2013

    • Chad S.

      I like Adelbert's version of the question better; your question makes a lot of unprovable assertions. "Poorly written" is not something Rod and his critics will agree on.

      September 9, 2013

    • A former member
      A former member

      Fair enough. My question is out there, and I'll leave it to the moderator to mix and match as makes sense. The panel is diverse enough that I'd hope that they'd have the same quality of discussion with both Adelbert's question and mine.

      September 9, 2013

  • Tony M.

    19.
    "there are also problems like O-R mapping where the complexity is nothing to do with the language"

    O-R mapping is not a problem. It is a degenerate solution that inflicts itself
    on us, and if we continue to do nothing about it, our children will have to pay
    the penalty too. They don't deserve this. Do you agree to some extent and if so,
    what steps do you recommend to make progress?

    5 · September 4, 2013

    • Tony M.

      You're is the contraction for you are.

      September 5, 2013

    • Vlad P.

      Chris, I strongly believe that any orm solution Java can provide is only good if you are happily unaware of comp. sci.

      1 · September 6, 2013

  • Luxmi Dutt S.

    I was confirmed. I tried to add one friend as guest and it put both of us in waiting list. Then I removed him and still it shows me in waiting list.
    I had registered long back for this event and want to attend this.

    September 5, 2013

  • Tony M.

    17.
    "Need to accept when you get into an inherently messy real world, intellectual purity can be quite dangerous."

    What exactly is intellectual purity? In what ways can be it dangerous? Is it
    dangerous to say silly things about intellectualism?

    4 · September 4, 2013

    • A former member
      A former member

      To add to Tony's question, if someone implemented the "monitor" pattern in Java, but didn't synchronize a method properly, would "you don't need purity" be a valid defense? Why is functional programming any different?

      3 · September 5, 2013

  • Tony M.

    16.
    "The proportion of junk [in Scala] is definitely higher than it is in Java land"

    Clearly you have a different idea of "junk" than a lot of programmers. Where is
    this Scala junk you speak of? Are you sure that it is not simply "junk" with an
    application that you currently do not have the skills to recognise? If you are
    sure, by what method(s) have you mitigated this possibility?

    5 · September 4, 2013

    • A former member
      A former member

      This "junk" comment sounded very suspect to me.

      How do you begin to qualify this statement? In your keynote talk, you clearly highlight how much more mass adoption Java has beyond Scala. Do you not agree that mass adoption invariably leads to a much higher density of programmers that make "junk?" Can you please explain exact libraries that you think are "junk" and how you qualify them as such relative to "junk" in the Java community?

      3 · September 5, 2013

  • Tony M.

    15.
    "Before writing any new Scala framework, does it already exist in Java?"

    I think you are under-estimating how often this question is asked. The answer is
    almost always no. This is unfortunate. Where is a dependency-injection library
    in Java that is not just a pretentious global variable?

    6 · September 4, 2013

    • A former member
      A former member

      I'd like to ask Tony's question another way:

      Many implementors of Scala libraries have already gained a mastery of various JSR specifications, their reference implementations, and popular libraries including Spring, Guice, Hibernate, Guava, and many others. Can you cite an example of where an author of a popular library clearly has no indication of prior art in Java?

      Additionally, using Spring as a case in point, many people have solved the problem of "dependency injection" by merely passing in a parameter to a function. There exists projects that scale this technique extremely well when using the higher levels of abstractions that Scala enables. Do you not feel that before anyone builds a "framework" in Java they should first see if the language requires one at all?

      3 · September 5, 2013

  • Tony M.

    14.
    "'I think we really need SIQ or whatever we call it shipping as soon as possible...' coming from one of the more naive members of the community"

    You describe Simon Ochsenreither as one of the more naive members of the
    community. Simon has done a lot of significant work for Scala. I cannot imagine
    more than a handful of people more capable of this work than he is.

    a) Why do you think it is acceptable for you to describe other people in a way
    that is otherwise declared unacceptable by others?
    b) How do you think others might respond to this ongoing double-standard?
    c) Why do you think Simon is naive?

    4 · September 4, 2013

    • A former member
      A former member

      I was also troubled by some of your comments about community. In your Scala Days talk, you call for a culture of respect, stating that "respect breeds respect." However, you then proceed to publicly quote both Tony Morris and Simon Ochsenreither without attribution (even alluding to Simon as "one of the more naive members of the community"). Many in the community easily recognized through tone and content the identities of these posters and felt you'd slipped into an ad hominem rhetoric.

      How would you respond to those that found your presentation hypocritically as confrontational as the people you were calling out? You talk about building a positive community. What bridges are you making with people in the Scala community doing more FP to offset the perceived attack of your talk?

      3 · September 5, 2013

  • Tony M.

    12.
    "Much real world programming has little to do with elegant expression of algorithms.It has to do with interacting with the real world is a total mess. Like wherever you look ... Databases ... it's a nasty mess out there."

    It's only a mess because it was created that way. And databases are no
    exception. How do you think we might tidy up? Or perhaps, discontinue
    perpetuating the mess?

    5 · September 4, 2013

    • A former member
      A former member

      To expand on Tony's question, many companies (for instance, Precog and CapitalIQ) have employees that work really hard to wrangle the "mess of the real world" (including database transactions!) with elegant algorithms. In many ways they have been successful, and often talk and educate people on their successes. They often end up showing the community nice APIs that are both typesafe and highly composeable. Why shouldn't the Scala community strive to understand these techniques and seek more of them out?

      3 · September 5, 2013

  • A former member
    A former member

    "Another myth that seems to be popular in the community is that object-oriented programming is bad. . . If you don't like object-orientation Scala is not the language for you."

    What do you think object orientation is? Your Scala Days talk is extremely vague on this point. Functional programmers often care most about side-effects (which is how computation becomes non-functional in a mathematical sense). Do you believe OO require side-effects? If not, then where is the tension? Do you know of any instances of Scala programmers never calling methods, rather only calling functions on singleton "object" instances? Even ScalaZ seems to use OO-style objects in this way.

    1 · September 5, 2013

  • A former member
    A former member

    "To look again at the example of Perl, essentially people write Perl in so many different styles, that it's not uncommon to find a line of code that a substantial proportion of the Perl community would find hard to understand."

    You claim in your Scala Days talk that Perl suffers from people writing Perl in too many styles. Can you cite an instance of Scala written in so many different styles within the same API or team that the very authors can no longer maintain it? Does the Scala ecosystem/community need to address this problem explicitly? Or should this problem be addressed more by the professionalism of the programmers to only implement what they can comprehend and maintain?

    1 · September 5, 2013

  • A former member
    A former member

    "You need to converge upon one good way, and make that essentially the industry standard approach. This is actually something I think the Rails community did really well for Ruby."

    Many in the Rails community have had issues with standardized mandates from a framework. In fact, there are notable Scala success stories born from Rails nightmares. Complaints with Rails often stem from propping up a standardized solution that does not have enough flexibility (abstraction, performance, etc), and then spending too much time patching the standard's inadequacies. It seems that standardized "one good way" approaches always have this problems. What's wrong with building an ecosystem of small highly compose-able pieces without heavy prescription?

    1 · September 5, 2013

  • A former member
    A former member

    "I would argue that if you write good Scala code it will be easier to read than Java code, because it will be more elegant and less verbose."

    You seem to tightly correlate elegance, verbosity, and readability. I believe these are not as closely related as you suggest. Mathematics-based Scala code is often elegant and less verbose but not easy to read for people with no understanding of mathematical notation. However, mathematics provides us a stronger ability to do many things that programmers value, including high degrees of abstraction, reuse, composition, and correctness -- higher than anything one can do traditional Java patterns. Why isn't this worth the cost of writing code that may not be readable to the unacquainted? Can they not be taught in the same that way that people not acquainted with Spring or Hibernate are taught?

    1 · September 5, 2013

  • A former member
    A former member

    "Java is not going away, so we want to really play nicely with Java, not just completely replace it."

    You seem to have concerns that Scala libraries are rewriting quality Java libraries either redundantly or poorly. What projects do you feel are attempting to replace Java libraries completely in a way that's ill-advised? You spent some time talking about Dispatch, but I believe that's merely a thin wrapper around the Java HttpAsyncClient library.

    1 · September 5, 2013

  • Tony M.

    3.
    You say about some people,
    "aren't highly focussed on solving real world problems." Can you please tell me
    what it is you think they are doing instead?

    4 · September 4, 2013

    • A former member
      A former member

      The quote with more context is:

      "We have a mix of folk in our community, and there do seem to be quite a few people that aren't focused on solving real world problems. And I think that is a bit of a problem overall for Scala."

      Beyond Tony's question, I'm very interested in explicit instances of this problem. Would the ScalaZ library fall in this category of not-real, impractical work? Do you believe people are using this library (or others like it) more for pedagogy than professional work?

      3 · September 5, 2013

  • A former member
    A former member

    "Java is pretty much equal as the #1 programming language with C in world. Is that an accident? Is Java very bad? Does Java suck massively? Is this a complete random accident? I don't think this is a complete random accident, and there are also some things very good about Java, and we should also consider them."

    You imply that Java is popular because it is good. How does popularity correlate with intrinsic goodness? This rationale is often cited as "argumentum ad populum" or "appeal to popularity." Can you refine your argument such that it doesn't slip into this logical fallacy?

    1 · September 5, 2013

  • Jason S.

    So far it's Tony for 20 and me for 1. Who else has some good questions for Rod?

    September 4, 2013

  • Tony M.

    18.
    "we need to stop reinventing wheels"

    Like the EJB wheel?

    4 · September 4, 2013

  • Tony M.

    13.
    "Typical arrogance of a young community"

    What typical arrogance? Where is this typified?

    4 · September 4, 2013

  • Tony M.

    11.
    "Languages exist if you want to write purely-functional code and they are not Scala"

    It is unanimous among all those who have explored this question that you are
    wrong. Why do you believe otherwise? I expect that we would all be curious of
    your discovery (certainly I am).

    5 · September 4, 2013

  • Tony M.

    10.
    You say you hear of people who say things like "OO is bad" and
    "If you write OO programming go write Haskell or Lisp."

    Where exactly are these people? I struggle to find a single example of such a
    person. I am curious to know where that person(s) is/are.

    5 · September 4, 2013

  • Tony M.

    9.
    "Java community 52x larger than the Haskell community"

    By what measurement do you believe this?

    At this moment, Freenode IRC:
    ##java: 360
    #haskell 1116

    Further, why is popularity important to you?

    4 · September 4, 2013

  • Tony M.

    8.
    "Ignorance Should be Punished [Myth]"

    Ignorance should indeed not be punished, but embraced. What about
    self-entitlement and intellectual laziness masquerading as curiosity?

    4 · September 4, 2013

  • Tony M.

    7.
    You say you
    "encounter people who write [Scala] code that is pretty much impossible to read."
    What code is this that is impossible to read for you and how might others help
    you develop the necessary skills?

    4 · September 4, 2013

  • Tony M.

    6.
    "Myth #1: It's good to be clever"

    What do you think is the impact of telling people that it is not good to be
    clever? Do you think it is fair to tell committed aspiring learners that it is
    not good to be clever?

    4 · September 4, 2013

  • Tony M.

    5.
    You say "Scala has... culture of unreadable clever code." Who do you think wrote
    that code? Do you think that person cannot read it? What about all the others
    who go right ahead and read it? Do they exist? Is it possible that this
    "unreadability" is not in the code after all?

    4 · September 4, 2013

  • Tony M.

    4.
    You say "Java has... culture of readable, verbose code." Where is this readable
    code you speak of?

    4 · September 4, 2013

  • Tony M.

    2.
    The Scala community has an unfortunate history of people saying things like,
    "mixed community, includes purists and zealots." Why do you think it is
    acceptable to continue creating nonsense social distinctions like this? Do you
    ever consider the adverse impact? Do you ever ask yourself if it truly is the
    people you are isolating, or is it the knowledge that you do not have? How do
    you think you would respond if this same behaviour were mirrored back to you?

    4 · September 4, 2013

  • Tony M.

    1.
    You say "people like me, they like type-safety" and
    "always been a fan of strong typing." Why do you think that
    "working with the messy real world such as databases" necessitates going back
    on this position? What benefit might be had here that is unavailable in other
    contexts?

    4 · September 4, 2013

  • Sanjay S.

    Looks to be Good. Am seeking Scala/JEE position, pls refer me where u can. Thanks

    August 31, 2013

  • Jason S.

    Question for Rod: your Scala Days keynote noted the dearth of coding standards for Scala. Do you have a recommendation on how the language and tools can support and communicate better coding standards?

    2 · August 30, 2013

  • Ryan D.

    Impressive panel line-up!

    August 22, 2013

  • Chester C.

    Curious about why did Rod think fewer startup will adopt Scala. I see the opposite in San Francisco bay area.

    5 · August 22, 2013

  • Ryan D.

    Wow, a good ol' FP debate and panel discussion ... this will be interesting!

    1 · August 6, 2013

Our Sponsors

  • Scale By the Bay

    CFP now open for our yearly conference -- submit by May 31!

  • Twitter

    Awesome venue, food and drinks for our meetups!

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy