5 ms·
Shameless plug, but the author should check out Dart. Dart's core libraries include first, last, isEmpty, isNotEmpty getters for Iterables, as well as a ton of
by spankalee 12y ago
Shameless plug, but the author should check out Dart.
Dart's core libraries include first, last, isEmpty, isNotEmpty getters for Iterables, as well as a ton of functional methods like map(), where(), reduce(), expand() (flatMap). Not only do the built-in Lists implement Iterable, but so do NodeList, so you can do things like:
var e = query('#id').children.first;
Dart's annotations would serve as custom property descriptors, and mixins are like traits. Having interfaces in general is also hugely beneficial.
It also sounds like he leans towards wanting closed classes with your requests for deepSeal and defensive classes. This does prevent a lot of errors. Both Dart and TypeScript give you this type of safety.
- radmuzom 12y agoGood points, but given the author is one of the most well known JavaScript engineers in existence today - I guess that it is highly likely that he has already checked them out.
- gress 12y agoDart is a Google proprietary product.
- dragonwriter 12y agoIts neither proprietary in the sense of closed implementation or in the sense of not having an open, freely implementable spec. Its "proprietary" only in the sense of "not adopted by a standards body".
- gress 12y agoNot adopted by a standards body is a pretty significant factor. It is also proprietary in that Google is in absolute control of the development process.
- spankalee 12y agoI think anyone can participate in the ECMA TC52 meetings. I'm not sure about membership in ECMA, I think there other requirements.
- gress 12y agoThere appears to be no activity or information about this process that is publicly available.
- spankalee 12y agoThat's a very legitimate complaint. Gilad Bracha sometimes posts updates[1] to the Dart mailing lists, but I'm not familiar with ECMA, or if it has a standard way of posting information and updates about technical committee work. I'll raise it with the team and see if we can have a place to post upcoming meetings, agendas, minutes, and decisions and draft specifications. It'd also be nice to have a way, besides the issue tracker (which like all issue trackers can seem like a black hole for issues for some people) to propose items for upcoming meetings. I find Python's PEP to be a pretty nice system. [1]: https://groups.google.com/a/dartlang.org/forum/#!searchin/misc/tc52%7Csort:date/misc/Oh_OSjx_Go0/AjntJpNp6w0J https://groups.google.com/a/dartlang.org/forum/#!searchin/mi...
- nknighthb 12y agoPretty significant factor in what? Write down all the reasonably popular programming languages you can think of. How many have been adopted by a standards body? How many have been adopted by a standards body in their current form? I hardly ever write code in a standardized language. Actually, I don't think I know anyone who writes code in a standardized language, because nontrivial programs in "standardized" languages almost always go outside the strict confines of whatever mediocre crap some committee adopted.
- gress 12y agoC, C++, JavaScript, Java, Fortran Only the vast majority of all commercial code ever written.
- spankalee 12y agoWell, we have ECMA TC52 which will hopefully ratify the specification pretty soon.
- cpeterso 12y agoBut proprietary in the sense of that there is only one implementation and it is maintained by one company (Google).
- _random_ 12y agoThat's not a big deal. Browsers are in a desperate need for a non-transpiled client-side language competition.
- gress 12y agoIt's the lack of competition that makes it a problem.
- spankalee 12y agoThere aren't that many languages that aren't "proprietary" in some way or another at their beginnings. C, Java, JavaScript, Rust, Go, Swift, Python, Perl, Ruby, Clojure, TypeScript... on and on. Haskell is one of the few modern languages I know of where a language was birthed in committee. ALGOL and COBOL are some older examples.