Listen brahs. I have a dirty anus that needs cleaning: Java. I learned Java as my first language in school and now that I learned Scheme and am learning Haskell, I figured I may as well not let that go to waste and learn Scala. Is it simple to go from Java to Scala? Or is the syntax strange in some places. Because I looked over some code snippets and it seemed decent.
SON OF A BITCH SCALA
I AM JAVA
SCALA IS PIG
DO YOU WANT HIGHER-ORDER FUNCTIONS?
DO YOU WANT CURRYING?
MULTI-PARADIGM IS PIG DISGUSTING
YOUR ANUS IS A MURDERER
FUCKING HIPSTERS
Scala has one of the worst syntaxes i have ever seen.
It's as bad as java's but a different kind of bad, so you don't even have the advantage of familiarity like with c#.
There are too many ways to express the same thing, which leads to visual ambiguity, and it doesn't even look particularly nice:
(foo bar baz foobar), does it mean (foo.bar.baz.foobar) or (foo.bar(baz).foobar) or (foo.bar.baz(foobar)) ...
Indexing of data structures is done with parentheses instead of square brackets which neither makes it more readable nor more regular.
Type signatures are as ugly as it gets.
compare this:
Int -> Int -> Int
product x y = x * y
vs
def product(x: Int, y: Int): Int = {
x * y
}
an ugly cluttered fucking mess.
(I know in this example you could leave out the braces but sometimes you can't and the "): Int = {" part is so fucking ugly it makes me puke.)
Then there's the whole braces vs parens thing. Not sure how exactly it works but sometimes it seems you can just use whichever you prefer which is greatly annoying when you read someone else's code.
Then there's automatic semicolon insertion fuck automatic semicolon insertion .
etc.
Name:
Anonymous2011-04-18 10:52
http://en.wikipedia.org/wiki/Scala Typing discipline static
For me, the word "static" associates with: conservativity, spongers from academia, type theory, OOP, inconvenience, top-down nightmare, traditional pseudoscience, complicated religion, design patterns, 1984, jewish mathematics, verbose ugliness, planned overengineering.
Name:
Anonymous2011-04-18 11:22
OP here. Well, I mean, Haskell's polymorphic static typing and type classes are amazing. It sounds like I'd be better off with Haskell than Scala.
Name:
Anonymous2011-04-18 11:23
Well, Scala is still workable. At least its not perl.
>>5 GO FUCK A JEW, COCK SUCKING FAGGOT. I REALLY HATE YOU I
Name:
Anonymous2011-04-18 11:30
>>8
And everybody else went and chased static. And they've been doing it like crazy. And they've, in my opinion, reached the theoretical bounds of what they can deliver, and it has FAILED. These static type systems, they're WRONG. Wrong in the sense that when you try to do something, and they say: No, category theory doesn't allow that, because it's not elegant... Hey man: who's wrong? The person who's trying to write the program, or the type system?
>>10
Monad is just one of typeclasses. And a typeclass is some abstract entity, that allows concrete types to use some functions. And the nature of these functions depends on a typeclass of a concrete type, and how these functions implemented for a concrete type depends on the embodiment of the typeclass of that type. For example, monad Maybe is a type, computations, embedded into a monad of which, return either result, embedded into one of its data constructors, or a second data constructor - Nothing. Naturally, abstract types are often implemented in terms of type-class constrained polytypes and extraction functions from/to the abstract type families of polymorphic functions to/from some concrete type. However, the definitional structure of an abstract type uses interface operators and, therefore, is not affected by changes of representation. which may be logically hidden and, sometimes, even physically unavailable.
>>15
More to the point, you don't seem capable of being clear and concise. Maybe you should stick to doing something easier. Like talking about your anus.
Oh look. I can't get a run in my tights because they are actually black leggings.
Name:
Anonymous2011-04-18 12:01
>>30
This shabbos goy can't stand it, when I insult his jewish masters.
Name:
Anonymous2011-04-18 12:06
Jewish mathematician found refuge for his groundbreaking work on infinities in, of all places, the Roman Catholic Church... Catholic theologians welcomed Cantor's ideas, which provided a workable way of understanding mathematical infinities, as evidence that humans could grasp the infinite and could also, therefore, have a greater understanding of God, himself infinite.
Name:
Anonymous2011-04-18 12:10
>>9
Bro you can write decent programs. Its fine >>11
This
Because duck typing is clearly better and doesn't call its own bugs, right? As long as its strong typing, it'll work. Get over it
>>35
``Duck typing'' is just the bastardized Phytonic version of proper (Smalltalk's) message passing.
Python fails both at ``duck typing'' and dynamic typing. Don't use it as example of properly dynamic typed language.
Name:
Anonymous2011-04-18 12:18
>>36
Lol. I know. I just love Haskell's typing system. Very comprehensive. Also, the language, like most impure and pure functional languages, is good for teaching/learning math. Duck typing is for the jewish who can't be bothered to make code clean and less error-free
>>38
Only if you can't use it well. And besides, polymorphism takes care of the bugs. No system is "perfect". The idea of "good enough" or "great but not perfect" if used well pervades all of Comp Sci. Deal with it.
Name:
Anonymous2011-04-18 12:21
>>38
What do you expect from a language whose type system, as defined in the original report, was meant to act as a bridge between....