Live data from Hacker News

Scala founder: Language due for 'fundamental rethink'

infoworld.com

91–100 of 118 posts

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

#91

Are there any risks to adopting Scala as a language for a project knowing that it will change over the next few years? It sounds like as opposed to an evolution, they are going to change the language itself, which sounds like backwards incompatibility and refactors within a few short years if you don't want to be considered legacy.

It depends on what you're doing. If you're really pushing forward with experimental features, sure, there's some risk. But if you're using common libraries, you probably have more to worry about staying up to date with the library interfaces than the language changes.

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

#92
post #35

Earlier quoted context omitted.

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

What's up with the UK? Scala is also becoming increasingly popular in banks in the UK (as I heard from trusted persons). CLOS, Smalltalk, and Objective C (before it was cool) were for a long time very popular on Wallstreet.

Yep… I can say from personal experience that Scala and Clojure are becoming popular in the financial world.

There seem to be several drivers: the FP part appeals to the algo guys, immutability is attractive when looking at concurrency, and they can interop with the extensive existing Java codebase easier than some of the alternatives.

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

#93
post #79

Earlier quoted context omitted.

I assume it was intended to be 1) an assertion that type classes are OO, and 2) an implication that using them is mixing OO in your FP (which you said you don't like to do), and so 3) an allegation of inconsistency which should be clarified or examined. There are a few places where this chain is weak.

> an assertion that type classes are OO They never occurred to me as OO. Could someone explain this?

Sure, since I mentioned it.

Sorry if I misassume your OOP experience.

Many think about OOP as introduced by Simula/Smalltalk, or how it is served by Java/C#... ones.

However there are many other ways of doing OOP, which many of us in the old (early 90's) experimented with, while OOP was striving to become mainstream.

Type classes in Haskell and their use, can be easilly mapped to interfaces/protocols/traits/... in the OO world.

From the OOP point of view, type classes are a group of operations that can be applied to a given type and refereed to by a specific name.

Which allows writing polymorphic operations over types that support a specific a specific group of functionality.

Polymorphism and data hiding are the common concepts across all OOP proposals.

As for the remaining concepts, there are lots of languages that agree to disagree, between mainstream, academia and lost OOP battles.

And I can call one of the many Simon Peyton Jones talks that describe this, http://yow.eventer.com/events/1004/talks/1054, starting at 00:42.

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

#94
post #82
post #21

Earlier quoted context omitted.

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

Correct me if I'm wrong, but isn't OO in OCaml frowned-upon, or at least not used frequently by seasoned programmers? Not an OCaml programmer myself, but I heard this multiple times. For example, in Real World OCaml [ https://realworldocaml.org/v1/en/html/objects.html ]), and I quote from Chapter 11: > You might wonder when to use objects in OCaml, which has a multitude of alternative mechanisms to express the simila…

> How are type classes in Haskell an OO feature?

See https://news.ycombinator.com/item?id=8280613

There are so many ways of doing OO.

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

#95
post #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.

> Clojure certainly isn't an OO language

Multi-methods and protocols

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

#96
post #94
post #82

Earlier quoted context omitted.

Correct me if I'm wrong, but isn't OO in OCaml frowned-upon, or at least not used frequently by seasoned programmers? Not an OCaml programmer myself, but I heard this multiple times. For example, in Real World OCaml [ https://realworldocaml.org/v1/en/html/objects.html ]), and I quote from Chapter 11: > You might wonder when to use objects in OCaml, which has a multitude of alternative mechanisms to express the simila…

> How are type classes in Haskell an OO feature? See https://news.ycombinator.com/item?id=8280613 There are so many ways of doing OO.

Depends on how you define OO. My own definition of object involves identity and corresponding encapsulated state, which is something that Haskell doesn't support directly (since identity isn't pure).

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

#97
post #95
post #32

Earlier quoted context omitted.

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.

> Clojure certainly isn't an OO language Multi-methods and protocols

That was my point: even though Rich Hickey pretty much touts Clojure as an anti-OOP language, Clojure still relies heavily on OO polymorphism, yet it doesn't make the language any more complicated -- in fact, it helps keep it simple.

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

#98
post #93
post #79

Earlier quoted context omitted.

> an assertion that type classes are OO They never occurred to me as OO. Could someone explain this?

Sure, since I mentioned it. Sorry if I misassume your OOP experience. Many think about OOP as introduced by Simula/Smalltalk, or how it is served by Java/C#... ones. However there are many other ways of doing OOP, which many of us in the old (early 90's) experimented with, while OOP was striving to become mainstream. Type classes in Haskell and their use, can be easilly mapped to interfaces/protocols/traits/... in th…

tnx. very insightful. I'm not fully convinced that type classes are OOP, but I certainly understand why --for a very broad definition of OOP-- one might think they are.

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

#99

How did Odersky miss Yammer's citing Scala's complexity as a reason for moving away from it? Odersky said: > In terms of complexity, I don't know whether Yammer featured that, but you definitely do hear that a lot [from] many people. The first paragraph (after introductory greetings) of Yammer's letter which explains its action [1]: > Scala, as a language, has some profoundly interesting ideas in it. That's one of th…

I wonder if that means Odersky's not really listening to criticism, which would be really bad.

EDIT: He does, he just doesn't remember where it's coming from.

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

#100
post #97
post #95

Earlier quoted context omitted.

> Clojure certainly isn't an OO language Multi-methods and protocols

That was my point: even though Rich Hickey pretty much touts Clojure as an anti-OOP language, Clojure still relies heavily on OO polymorphism, yet it doesn't make the language any more complicated -- in fact, it helps keep it simple.

Sorry I misinterpreted it.

As someone that likes multi-paradigm languages, I tend to dislike that many FP guys "forget" their languages also do have first class support for OO when needed.

Somehow, I did not read you comment properly and spitted out a bad comment.

Post reply on HN