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.
Scala founder: Language due for 'fundamental rethink'
91–100 of 118 posts
Re: Scala founder: Language due for 'fundamental rethink'
#92Earlier 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.
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'
#93Earlier 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?
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'
#94Earlier 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…
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> 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.
Multi-methods and protocols
Re: Scala founder: Language due for 'fundamental rethink'
#96Earlier 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.
Re: Scala founder: Language due for 'fundamental rethink'
#97Earlier 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
Re: Scala founder: Language due for 'fundamental rethink'
#98Earlier 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…
Re: Scala founder: Language due for 'fundamental rethink'
#99How 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…
EDIT: He does, he just doesn't remember where it's coming from.
Re: Scala founder: Language due for 'fundamental rethink'
#100Earlier 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.
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.