🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Tangent vs Scala

Published June 14, 2008
Advertisement
Doing some research today on some stuff for Tangent (because the amusing sites have been blocked at work), I found that the stuff I've been terming mixins for Tangent are more appropriately called traits (since they may hold state). That yielded a nice ton of more info and links.

The most important of which was reading through the documents for scala. The three main features (mixin inheritance, custom operators, proper function behavior) I was dealing with in Tangent are already there and implemented in a mildly stable language. Tangent is prefix & infix only, scala is postfix & infix only; Tangent is off of C#, scala off of java.

But the parallels are kinda disturbing now that I've found it, and kinda annoying that I'd not found (and nobody pointed it out) earlier. There do seem to be some distinct differences. I think scala still requires explicit inheritance of the mixin/interface, and it's very functionally oriented; which I don't care for.

(at the moment. I and I'd argue many programmers, can't make effective use of functional benefits. Making it at the forefront of the language is (imo) of questionable benefit until that changes)

Tangent will allow functional style where it's beneficial... maybe not so efficiently or as natural to folks more familiar with functional languages. Something to review once I get some skilled people fiddling with things. Some 'match' style syntax for method overloads seems like the easiest addition that would provide significant benefits in the ease of use department.

So scala looks interesting (though it seems to suffer from functional languages' "succinctness" obsession *bleh~!*). Something for me to look into when time allows.


Tangent work will in the mean time continue. Function declarations continue. The parsed tokens are broken out and dealt with in turn now. Next is doing the delayed name resolution for types, and then unioning the constructed bits into the object tree.
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement