Live data from Hacker News

Scala founder: Language due for 'fundamental rethink'

infoworld.com

31–40 of 118 posts

Re: Scala founder: Language due for 'fundamental rethink'

#31
post #17

Earlier quoted context omitted.

It's really absurd when people call Python 3 a "disaster". There was nothing disastrous about it. In fact, hindsight shows us that it was actually a very good path to take. Python 3 didn't negatively affect Python 2 or earlier users. Their code still runs fine, and is well supported by a huge number of libraries. They weren't forced into upgrading against their will at any point. Python 3 allowed the Python developer…

"Compared to Perl 6, the Python 3 development process was perfection." Comparing to a series of "Apocalypses" (the term used early in perl6 development to refer to radical breaking changes) is not great evidence that python3 is non-disasterous. Do you really think python3 being 6 years in limbo (and counting) is a good thing? Probably not fatal, but I don't see how it's good.

Python 3 was never "in limbo".

From the very start its goals were clear. Yes, it took some time to implement them, but this was done rather efficiently and quickly.

Unless you were using one of a handful of libraries that didn't put forth the effort to be compatible with Python 3, it was very easily to adopt Python 3 early on, and to use it effectively.

I worked with a group that adopted Python 3 relatively soon after its official release. This would've been around early 2009. We developed a number of large systems using Python 3, without any major problems. Sure, we ran into bugs now and then, but we reported them and they were fixed soon enough. We helped port some libraries to Python 3.

We didn't regret the decision to go with Python 3 then, and the last I talked to people still involved with those projects, they don't regret the choice now. They're glad that their millions of lines of code are targeting Python 3, which is without doubt the future of the Python language at this point.

I don't know why people such as yourself continue to portray Python 3 as a "disaster", when all of the evidence and much of the experience with it shows the complete opposite to be true.

It was a smooth transition for Python 2 users who didn't want to or need to upgrade. It was a smooth transition for Python 3 early adopters. It's a rather smooth transition now for Python 2 users who want to use Python 3. "Disaster" just isn't the sort of term to describe a transition that goes well for all involved.

Re: Scala founder: Language due for 'fundamental rethink'

#32
post #10

> Essentially, the fusion of [functional and object-oriented programming] can have a power that neither of the two paradigms individually can have. I tend to disagree. OOP can borrow some FP stuff (as we see with map/each/select/reject in Ruby for instance, or lambda's in Java); or to take it broader: imperative can borrow some from declarative. But "fusing" the two will cause FP's ease-of-reasoning ("just functions…

But look at Clojure. It's imperative yet quite FP, but much of the language rests on OO polymorphism. Clojure certainly isn't an OO language (in fact, it is decisively "anti-OOP"), but it does mix an essential OO idea, and that actually helps keep the language simple.

Re: Scala founder: Language due for 'fundamental rethink'

#33

Earlier quoted context omitted.

Well -- they have the Python 3 disaster to learn from... you can't break backwards compatibility for minor gains -- if you are going to break it -- break everything you must and make the new thing much better -- half measures in this regard suck.

Python is a dynamic language and a compiler can't do much in helping you move from 2 to 3. You really need good test coverage.

Dynamic language notwithstanding, the transition was badly designed, in terms of being supportable by automation and providing a cost/benefit motivation for upgrade. With something like that, pretty good = disastrously inadequate.

Re: Scala founder: Language due for 'fundamental rethink'

#34
post #31

Earlier quoted context omitted.

"Compared to Perl 6, the Python 3 development process was perfection." Comparing to a series of "Apocalypses" (the term used early in perl6 development to refer to radical breaking changes) is not great evidence that python3 is non-disasterous. Do you really think python3 being 6 years in limbo (and counting) is a good thing? Probably not fatal, but I don't see how it's good.

Python 3 was never "in limbo". From the very start its goals were clear. Yes, it took some time to implement them, but this was done rather efficiently and quickly. Unless you were using one of a handful of libraries that didn't put forth the effort to be compatible with Python 3, it was very easily to adopt Python 3 early on, and to use it effectively. I worked with a group that adopted Python 3 relatively soon afte…

> Unless you were using one of a handful of libraries that didn't put forth the effort to be compatible with Python 3, it was very easily to adopt Python 3 early on, and to use it effectively.

You're speaking in the past tense about a present problem. Many large projects that would like to migrate to Python 3 cannot because the library support isn't there.

This is in no way meant to disparage the motivations that led to Python 3, because it's better in every way than its predecessor. Only that the transition problems are still present, and the larger the project, the more difficult the transition.

Sage (http://www.sagemath.org/), a project I'm involved in, is just one example -- a large, complex project, it relies on dozens of mathematical and other libraries, and to transition to Python 3, all the libraries would have to be available in Python 3 versions -- even one exception would prevent the transition.

It's safe to say that everyone involved would like to see a transition to Python 3. But it's not possible, and for the foreseeable future it's not even likely.

Re: Scala founder: Language due for 'fundamental rethink'

#35
post #18

With the release of Java 8 I wonder if Scala is getting squeezed from both sides. Java 8 on one and Clojure on the other.

Unlikely, Clojure is very much its own thing, won't draw those that are drawn to Scala (rich type system, (G)ADTs, performance, etc.). That branch of potential adoption is minisicule anyway (even compared to Scala which relative to Java is itself tiny). So, the elephant in the room is indeed Java 8. Will Scala at long last be killed? Perhaps, but highly unlikely, Scala lives and dies on its ecosystem (Akka, Play, Spa…

Clojure is becoming increasingly popular in banks in the UK. (as I heard from trusted person)

Re: Scala founder: Language due for 'fundamental rethink'

#36
post #21

Earlier quoted context omitted.

So you don't use type classes in Haskell? Neither touch F# or OCaml. Nor CLOS in Lisps.

A major advantage of typeclass polymorphism vs dynamic polymorphism is that typeclasses enable parameteric polymorphism, and parameteric polymorphism enables reasoning that is lost if types can "pretend" to be a supertype. For instance, in Haskell you can prove a functor instance has at most one implementation (if we disallow diverging values), uniquely given by fmap id === id. GHC can automatically derive it for you…

I don't understand your example. Is there an explanation for people who aren't Haskell experts somewhere?

Re: Scala founder: Language due for 'fundamental rethink'

#37
post #29
post #4

Earlier quoted context omitted.

Outside of maybe Fortran and Cobol I can't think of anything that was A)alive enough to be killed B)killed by ossification.

> Each new release of Delphi attempts to keep as much backwards compatibility as possible to allow developers to continue to use existing code without incompatibility of interfaces or functionality. https://en.wikipedia.org/wiki/Delphi_(programming_language)

I'm pretty sure Delphi died from having to compete with essentially free C# and its better integration with Microsoft's ecosystem.

And a little bit from the shifting of the overton window away from paying for languages.

And mismanagement of Borland/Inprise.

And about a dozen other factors before "lack of (breaking) change in the language".

Re: Scala founder: Language due for 'fundamental rethink'

#38
post #4

It's reassuring to see that the various groups working on Scala seem to have the same broad goal in mind. I also think it is important to not let the language ossify due to legacy -- which is the problem that kills many languages.

Outside of maybe Fortran and Cobol I can't think of anything that was A)alive enough to be killed B)killed by ossification.

Java isn't dead, but it suffered greatly during the hibernation years starting with the Oracle takeover.

Re: Scala founder: Language due for 'fundamental rethink'

#39

Earlier quoted context omitted.

Scala can be as readable or as unreadable as you like. Which is the problem with using Scala in a corporate environment, it can become a terrible weapon in the hands of a bad developer.

You also have to decide whether to use scala as a functional language or as a better java. Each approach has its merits and drawbacks.

Do you think Scala could succeed with a "Scala--" fork: "Java, the good parts".

Just a few things like type inference and implicits and case classes would be enough to make Java devs drool without getting scared by FP or performance scares.

Re: Scala founder: Language due for 'fundamental rethink'

#40
post #21
post #10

> Essentially, the fusion of [functional and object-oriented programming] can have a power that neither of the two paradigms individually can have. I tend to disagree. OOP can borrow some FP stuff (as we see with map/each/select/reject in Ruby for instance, or lambda's in Java); or to take it broader: imperative can borrow some from declarative. But "fusing" the two will cause FP's ease-of-reasoning ("just functions…

So you don't use type classes in Haskell? Neither touch F# or OCaml. Nor CLOS in Lisps.

> So you don't use type classes in Haskell?

Sorry, how does this remark relates to my comment?

Post reply on HN