Thanks a lot Stuart, interesting answer. I am currently using raw javascript for a client-side web application because I need to use very little memory (embedded systems contraints, so no external bloated lib allowed, even jQuery is prohibited) and I had a look at coffeescript, but not typescript yet. I will certainly have a look at it when I have some time.
Cheers Lionel On Monday, December 17, 2012 10:07:25 PM UTC+1, Stuart Rackham wrote: > > Hi Lionel > > On 18/12/12 01:41, Lionel Orry wrote: > > A small question, out of curiosity, what made you choose Typescript ? > > Did you consider other structured alternatives (coffeescript, etc)? What > > were your conclusions? > > In terms of implementation, I wanted to implement a lightweight > readable text markup that would run in the browser or on the server > with a straight-forward consistent syntax -- I was striving for > simplicity both in the language and in the generated HTML. > > So, the target language had to be JavaScript. I'd written quite a bit > of code in JavaScript and more recently CoffeeScript, also written > some code in Dart and a little TypeScript. JavaScript is a wonderfully > elegant language but it's dressed quite badly and it doesn't have > structuring mechanisms for programming in the large or writing > maintainable code (this is addressed eloquently in Anders Hejlsberg's > TypeScript introduction > http://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript). > > CoffeeScript dresses JavaScript in a beautiful new set of clothes but > doesn't address the problem of programming in the large, at heart it's > a scripting language like JavaScript. > > Dart is nice, but it's an all or nothing proposition and I don't think > it will escape the gravitational pull of JavaScript. > > In a nutshell TypeScript fixes JavaScript's scalability problems > without changing the underlying language or forcing you to ditch the > (huge and vibrant) JavaScript ecosystem. Even for a small program like > Rimu, TypeScript made it much easier to structure my code (and my > thoughts) and the type system saved me from lots of subtle (and not so > subtle bugs) along the way. > > Don't confuse TypeScript's (and Dart's) type annotation systems with > traditional static language typing (a la JavaScript), the underlying > dynamic language is unchanged but you have: > > - A compile-time mechanism for optionally documenting and imposing > your intent (think integrated JSDoc). > - A mechanism for tooling IDEs (think Intellisense). > > I don't normally use an IDE for writing my own code, but they're > hugely useful for maintaining and reading large code bases written by > others (which is the core of commercial software development). > > You may have noticed that the test suite and the rimuc tool were > written in plain JavaScript, both are trivial stand-alone scripts and > I decided they didn't merit a make/compile infrastructure (horses for > courses). > > Conclusion: I can wholeheartedly recommend TypeScript if you need to > write programs that target JavaScript (in hindsight there is no way I > would want to have written Rimu in raw JavaScript). > > > Cheers, Stuart > > > > > On Tuesday, December 11, 2012 6:46:15 AM UTC+1, Stuart Rackham wrote: > > > > Greetings All > > > > With the recent discussion regards AsciiDoc ports and features I > > thought this would be a good time to release Rimu. > > > > Rimu is a readable text to HTML markup language inspired by AsciiDoc > > and Markdown, it borrows from both and adds some features of it's > own. > > > > Rimu is designed for and only generates HTML, so it doesn't compete > > directly with AsciiDoc. In terms of application domain it's closer > to > > Markdown. > > > > The implementation is very light, <14KB of minified JavaScript > > (compiled TypeScript). > > > > You can read the documentation and experiment with Rimu in the Rimu > > Playground: http://www.methods.co.nz/rimu/rimuplayground.html > > <http://www.methods.co.nz/rimu/rimuplayground.html> > > > > The source is on Github: https://github.com/srackham/rimu > > <https://github.com/srackham/rimu> > > > > You can also install Rimu as a Node.js module (includes the `rimuc` > > command-line tool, run `rimuc --help`): > > > > npm install rimu > > > > > > Cheers, Stuart > > > > -- > > You received this message because you are subscribed to the Google > > Groups "asciidoc" group. > > To view this discussion on the web visit > > https://groups.google.com/d/msg/asciidoc/-/w97NntC4cYoJ. > > To post to this group, send email to [email protected]<javascript:>. > > > To unsubscribe from this group, send email to > > [email protected] <javascript:>. > > For more options, visit this group at > > http://groups.google.com/group/asciidoc?hl=en. > -- You received this message because you are subscribed to the Google Groups "asciidoc" group. To view this discussion on the web visit https://groups.google.com/d/msg/asciidoc/-/vgns0KYHTm8J. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/asciidoc?hl=en.
