Hacker News new | past | comments | ask | show | jobs | submit login

Can someone with some familiarity with Scala community explain why someone who seems to be the largest contributor to Scala felt the need to create a fork? It seems completely justified due to his credentials, but he doesn't give any specific reasons why he created this fork.

Paul Phillips' 2013 rant/talk: https://www.youtube.com/watch?v=TS1lpKBMkgg

After watching this talk I don't care what he comes up with in the future, I want to use it.

Excellent talk.

Are you familiar with JetBrains MPS?


It sounds very much like what he is describing.

Yes, MPS and "language workbenches" in general are chasing something similar. Ideas like these are entirely in the details though, and so far I haven't found anything which does it for me. I could easily be missing it, in part because systems like MPS have a high up-front investment, and I have regretted such investments more often than not.

I don't think an IDE is the answer to the problem.

I think making Scala more correct and more modular is the answer. Hygienic macros and syntactic extensions are more what I had in mind. Rust seems to be a solid contender here but it's much more of a systems language.

The slide "What I'm after" may be found around the 38 minute mark.

That guy is a maniac. Much of the stuff that he was ranting off about are textbook examples of why functional programming and imperative programming ought to be separated from each other


It turns into a rant about how he'd wish the compiler and the editor and the source control should be all talking with one another.

It's funny, because there's actually a language just like that: Smalltalk. The development environment is the same as the runtime environment, it has its own source control (Monticello), its own editor and a very regular language.

I can assure you of two things:

1) Paul is not ignorant of the existence of Smalltalk

2) Smalltalk is not a replacement for the fruits of modern language research. In fact, the academic work around Smalltalk is nothing more than unsupported opinion, and it's not even remotely useful as a source of research.

Parent was out of line but there is still plenty of modern academic research occurring around Smalltalk. Not to mention Gilad's Newspeak (which may or may not be academic, you'd have to ask him).

Can you think of a single example that:

1) Posits new conjectures 2) Proves those conjectures 3) Those conjectures can be used to formulate new conjectures that conform to items 1-3?

I've read a great deal of smalltalk literature, and I can't recall any papers that would qualify. There's plenty of empirical exploration of ambiguous hypothesis, but nothing that actually provides anyone in the field anything on which they could actually build.

Smalltalk lost the spot in the industry thanks to Java, sadly I doubt it will hardly get a second chance.

Back in the mid-90's, before Java was released to the world, I was using VisualWorks for an university project.

IBM was a big enterprise player with Visual Age for Smalltalk.

A small startup (Animorphic) was making Smalltalk faster (StrongTalk).

There were, of course, other companies searching their piece of the pie.

When Sun started pushing Java to the world, many in the Smalltalk world shifted direction.

Visual Age for Smalltalk architecture became the foundation of Eclipse.

Sun eventually bought Animorphic and Hotspot was born out of StrongTalk VM ashes.

Slowly, other Smalltalk players joined the party.

Smalltalk is dynamically typed so it's a non starter for most of the Scala and Haskell folks. Same for Lisp.

Well, there was StrongTalk as well.

"It's funny, because there's actually a language just like that: Smalltalk."

I don't see how that's "funny" or relevant, as there are many other things about Scala that Smalltalk isn't just like.

It's hard to decide if his deep emotional investment is inspiring or frightening.

Why can't it be both??

I also vote for both.

If in doubt, order everything on the menu.

He gives a few hints on the github page and in the many presentations he's been giving these past months since he left Typesafe.

The short version is that he lost trust in the Typesafe team and he thinks they are not competent to carry Scala moving forward. Like he says, he tried to change things from the inside, he couldn't, so now he's trying from the outside.

Typesafe hasn't lost my confidence. Typesafe has been responsible for important progress which is already being taken for granted. People either have forgotten how low assurance was in the 2.8 days, or they weren't using scala yet.

The problem is on the other side of the Atlantic. Scala is unfixable now no matter the abilities of the people working on it because of the bad decisions which have been made to this point and the unwillingness to revisit them even when the failings were grossly apparent.

Organizations modeled on dictatorships can work fine but they're painfully vulnerable to the dictator's blind spots. As the years go by, the dictator becomes accustomed to being able to settle any question by fiat. He becomes less and less concerned with evaluating the true worth of his own ideas. As long as his power is unquestioned and there is a steady supply of people to do the work, why should he? He's the Decider. He decides.

As I told him at some point "That well does run dry eventually" and indeed it did, for me at least.

Thank you for all your contributions, Paul, you have been instrumental in helping me improve my understanding of various programming language and functional concepts.

I'll be keeping a close eye on what you decide to do next, I have no doubt it will be extremely interesting.

Want to express my thanks for all you have done for the Scala and JVM communities so far. Looking forward to seeing what's next.

Has martin publicly responded to this anywhere?

Martin has been determinedly ignoring me for so long (at least two years, probably more) I've pretty well forgotten it was ever otherwise. He is undoubtedly correct that ignoring me achieves better damage control than any active response could.

> "The leadership of scala has shown itself unfit stewards of the core technologies and the total price paid by scala programmers (actual and potential) is too high. I failed for half a decade to change that from the inside. Now I'll try from the outside."

That's a strongly worded statement for a front page, but I wish I knew something more about the situation. What progress is being held back? I've not written a line of Scala myself.

Internals, mostly, I think. Correctness. According to Phillips, the internals of scalac are a complete mess, and the runtime generated code is also non-ideal. Basically, all sorts of software best practices are being broken to achieve performance and ensure Scala is a superset of Java.

there is in fact more forking happening:




Many (most?) of the debates regarding the scalac roadmap (and attendant tooling) happened in public on the internals mailing list. The simplest explanation is that nobody agreed on allocation of resources, which were mostly a few Typesafe employees and some (largely unknown but very talented) EPFL grad students. A sample thread https://groups.google.com/forum/#!msg/scala-internals/9Ts3GL...

That thread doesn't exactly inspire confidence in choosing Scala as a platform, to be honest. With quotes such as "There's still plenty of very basic stuff in the compiler which doesn't work," I'm honestly not sure how anyone could look forward to a dive.

Don't get me wrong. I know that it isn't necessarily the case that "basic" represents "affects plenty of people." But, especially when it was used in a "hits more people than a vocal group that is complaining about a plugin that needs attention," one does get a sense that you will be hit by these things sooner than later.

> That thread doesn't exactly inspire confidence in choosing Scala as a platform, to be honest.

This is exactly the message that Paul Phillips has been spreading these past months.

Personally, I hope he decides to just create his own language, I would be extremely interested to follow this.

I would actually say that he is making it worse, in some respects. Many, actually. I get that he is very capable. I don't think he is necessarily doing the platform any favors with this attitude or fork.

That is, how is this helping? If he gets a better compiler out, great. Are the odds high that will happen?

Especially with the history that the community has had with a few high profile individuals either constantly making waves and/or basically turning away from the community after some time... To say that the community seems toxic is an understatement.

Granted... this may convince folks that the truely toxic elements have jumped to other pastures. In some ways, this would be better for the typesafe landscape. That seems a stretch, though.

> I would actually say that he is making it worse, in some respects. Many, actually.

Oh, for sure. The key though is that the value of "it" which I am making worse is not a value of "it" which I have any interest in making better. Nor would I ever suggest otherwise.

In your mind I may be nothing but an input into your total utility function, but there's no reason for you to expect me to care about maximizing it.

Fair enough. I am somewhat curious as to what "it" you plan on making better. Also curious as to why this fork "isn't the kind of fork that hopes eventually to be folded back into the original." That, specifically, just reads bitterly.

Also, sadly, at the moment none of this is any real input to any utility I control. I have used Scala in the past. I tried setting my plans with Lift, but that didn't go over well with my coworkers. So, as of now, I am merely on the sidelines. And, do note that I am not trying to demand you not do this. Just saying from my vantage point, I'm not at all clear on what this is improving.

I have not the knowledge to make an opinion on this topic but that last line is a really cool statement, what a way to put it :D

The Scala community isn't toxic.

There's been drama and each time the community has moved on. Paul, Tony Morris and probably others from before I started paying any attention. Even with this recent "drama", after thinking about it for a few days, I've come to welcome it if anything. Regular Scala can shift its focus to becoming a conservative language while Typelevel acts as the incubator. If the two meet their compatibility goals, everyone wins.

I'd also argue that "constantly making waves" is an overstatement. Scala just celebrated its tenth birthday. How much drama has there really been in this community over ten years? For the most part, I've found it to be very supportive. My interactions are almost entirely just on the mailing lists but I've seen few issues. Maybe I'm just blind to them, who knows.

I recognize that tensions within the community are high but I don't currently believe that they present an insurmountable challenge to Scala's future.

"Constantly making waves" is probably more accurate from the days back when Tony Morris was active on the mailing lists. Paul, I believe, also made a fair bit of waves back in the day, but for some reason his were always much more palatable. (He has a very good writing style and is never, that I really remember, flat out mean.)

I guess the big waves I remember are essentially about a post a week from Tony. The hoopla around Colebourne's opinions on the language[1]. And then the mystery/whatever around Pollak's involvement in the community.[2]

The later point is odd just for how much traction lift seemed to be generating, and then the overall community appeared to reject it heavily. Do note that I would still recommend it. Their community is quite nice and helpful.

And I should definitely make clear that it is very possible I just don't see the waves in other communities. I don't really see Scala's anymore; this week being a notable exception. To me, though, high tension is not exactly a good environment. Heck, for all of the flack he gets, Torvalds is usually more cordial than many of the threads I remember from this community.

[1] http://blog.joda.org/2011/11/scala-feels-like-ejb-2-and-othe...

[2] http://blog.goodstuff.im/yes-virginia-scala-is-hard


You are absolutely right.

The usual Scala-hate-brigade will jump on this "smoking gun" and will build a few new talking points on top of it how Scala will fail definitely this time for sure ... but outside their bubble nobody cares and just moves on shipping software in Scala.

I hate to call someone out like this, but to be perfectly honest I don't think your tone helps matters much.

Stop attacking the people who don't like Scala (real or imaginary). Disagree, fine, but this rampant fanboyism is odd. Yes, the language has a few critics on HN whose critiques are mostly FUD. Argue against the FUD but when you attack them you only cheapen your own position.

I'm just trying to say that there's a way to be effective about this.

(I realize I'm attacking a person about attacking a person, I get it)

Thanks. I guess I sound more serious than I actually am.

I find it kind of funny that we have like usually one username which gifts us with his presence in every Scala-related topic for usually ~6 months and then disappears.

Either it's the same guy who just changes accounts like here: http://www.reddit.com/r/scala/comments/1sdmdq/sockpuppet_acc... http://www.reddit.com/r/scala/comments/25kwb1/cedric_beust_c... or it's a series of people all completely unaware that dozens of earlier crusades failed.

Both options are amusing. :-)

Come on. Scala is a big tent language that attracts people from a wide variety of ideals, which invites some amount of arguing. Also, Martin tends to hire independent thinkers, which is good and bad.

For the record, martin has never hired me for anything. I co-founded a company with him.

I know nothing about type safe, which is way after my time.

I also would like to see how this goes though he does not seam to be taking this step.

The thing is that it's much worse everywhere else, the Scala devs just work with it in a more transparent way.

Your ability of denial is quite impressive but looking at your posting history, it's actually not surprising at all. You seem to have quite a thing about Scala and hating pretty much anything that's not it.

Java is at least as transparent as Scala in that respect: every single feature that was shipped as part of Java 8 has been discussed and decided openly on mailing-lists. Everyone knew exactly what was going to be in Java 8 (including what was not going to be shipped) which is a far cry from Scala's operating mode of adding features to the language and then retroactively creating SIPs to give them an air of legitimacy.

I'm siding squarely with Paul Phillips there: I don't have a lot of faith in Typesafe to carry Scala forward any more.

> Java is at least as transparent as Scala in that respect: every single feature that was shipped as part of Java 8 has been discussed and decided openly on mailing-lists.

You are either completely deluded or never actually read the mailing list.

But hey, whatever floats your boat. I enjoy watching your desperateness. Really, if you keep posting your talking points in every remotely Scala-related topic, Scala will go away for sure. Really, I promise.

What is worse? I mean, I can understand complaining about speed of feature uptake. But... stability seems pretty good pretty much everywhere else.

That is, my complaint here is that the platform is unstable. Thus making it scary to adopt. How is that "worse" everywhere else?

> stability seems pretty good pretty much everywhere else

Stability is pretty good in Scala, too.

Maybe not "nothing changed since 1995"-Java, but better than C#, Python, Ruby, OCaml, Haskell, etc.

"he doesn't give any specific reasons why he created this fork"

This is somewhat like asking why Richard Dawkins just assumes the Theory of Evolution without justification in his tweets.

Googling Paul Phillips Scala brings up plenty of relevant discussion.

The type systems broke him.

Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact