Hacker Newsnew | past | comments | ask | show | jobs | submit | txmikester's commentslogin

This. Enlive and now Kioo are elegant solutions to the problem of letting designers and programmers work independently. It still amazes me that something like Enlive hasn't popped up in other languages/frameworks.


I have often wondered the same thing. I created enfocus and kioo to solve the exact problem you stated. How do you get designers and programmers work efficiently together? This is particularly difficult with single page applications.


Sure, until you are trying to generate php.

The templating engine is one of the parts carried over from the old Xpand project on which Xtend is based. Xpand's sole purpose was as a templating language for writing code generators in MDE projects, and as such they tried to make it easy to generate any kind of code, so they chose a non-ASCII delimiter.

It's really not a problem in practice - type < and then ctrl-space and code completion will fill it in for you. The only real gotcha is that you have to make sure your project is set to use UTF-8 encoding, which unfortunately is not the default setting in Eclipse.


I've used Xtend many times over the last few years.  In fact, I'm using it right now at my "real" job for an internal project.  I'm mostly a Clojure guy who still has to do a lot of Java work to pay the bills - when I can't use Clojure on a project, Xtend is a breath of fresh air.

The current form of Xtend has been around for a few years now, and has steadily improved.  Its origins go back many years, to the OpenArchitectureWare project where its predecessor (called Xpand) was used as a templating and model transformation language for the framework.  Since oaw moved to the Eclipse foundation (5-6 years ago?), most of the tools have been dropped, reworked, or merged in with other Eclipse projects.

Out of all this reworking for the new generation of Xtext came Xbase, which is an expression language that you can just drop into your DSL and have pretty much the entire Java language available (type system, expressions, scoping, etc.).  If you're doing serious modeling/DSL work, this is about as good as it gets without going to something like MPS (which is awesome, but has its own set of limitations).  Xtend is essentially this Xbase language in stand-alone form, with a few other goodies.  There is also another project called Xcore which lets you create EMF models in plain text, mixing behavior along with structure, and it uses Xtend/Xbase as well.  This is one of the reasons why I'm not too worried about Xtend becoming "abandonware" or anything like that - its main components are pretty essential to some key projects in the Eclipse ecosystem.

So why wouldn't you just use (Scala, Groovy, etc.)?  Well for one thing, I can (and have) bring Java developers up to speed on Xtend in about an hour (less if they know anything about functional programming).  You can see some benefits in more concise code right away, and it only takes a couple days to get productive with it.  No one can do that in Scala or Clojure.  If you're looking for a strategic platform to build your next JVM architecture on - well, that's not really Xtend's place, you're looking for Scala or Clojure (hint - the latter).  But there are a lot of projects where Xtend is a very nice fit, and as a bonus, I've found that developers who learn Xtend first have a much easier time learning a more "serious" language like Scala or Clojure later.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: