Scala founder: Language due for 'fundamental rethink'
41–50 of 118 posts
Re: Scala founder: Language due for 'fundamental rethink'
#42I'm really hoping that functional languages will evolve in a way that they become more readable at a glance.
Re: Scala founder: Language due for 'fundamental rethink'
#43Earlier quoted context omitted.
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?
There are a few places where this chain is weak.
Re: Scala founder: Language due for 'fundamental rethink'
#44Earlier 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…
Re: Scala founder: Language due for 'fundamental rethink'
#45> 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…
More specifically, I think OO-style code interactions are great but that they need to be separated from ambient mutability, subtyping, subclassing, inheritance, etc. Late binding/open corecursion is really cool however.
I would like to see a language which starts with ML modules as a base and build a totally novel semi-OO system into FP. I don't think it would, at the end of the day, look much at all like OO the way that OO appears today, but I think it could still gather many of the advantages while maintaining ease of reasoning, good type inference, etc.
Re: Scala founder: Language due for 'fundamental rethink'
#46I'm really hoping that functional languages will evolve in a way that they become more readable at a glance.
Re: Scala founder: Language due for 'fundamental rethink'
#47I really applaud trying to merge the benefits of FP and OO. I think it's going to be a much larger and harder project than either Scala or Swift will benefit from, but I'm really glad that they're exploring the design space.
Re: Scala founder: Language due for 'fundamental rethink'
#48Earlier 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.
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…
Sure. But the improvements aren't really that great, and IMO they weren't enough to justify breaking everything. Some combination of a JIT compiler, GIL removal, and optional typing might have been.
The end result is an improved and usable language
And this is why I view Python 3 as instance of choosing purity over practicality. Python 2 was and is a very usable language. It's vastly better than JavaScript, which took over the world by virtue of being available everywhere and having halfway decent performance, which ended up outweighing its huge flaws as a language. I can't help but think that we'd be better off if the effort spent on the Python 3 migration had instead been directed toward speed and browser support.
Perl 6 is an example of a real disaster, on the other hand.
Certainly can't argue with that.
Re: Scala founder: Language due for 'fundamental rethink'
#49> 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 the things which attracted me to it in the first place. But it's also a very complex language.
Re: Scala founder: Language due for 'fundamental rethink'
#50Earlier quoted context omitted.
> So you don't use type classes in Haskell? Sorry, how does this remark relates to my comment?
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.