I've deployed one production Helma site http://preachingtheword.net/ for a client. I have been a PHP developer for many years, but I have switched to Helma for all new work. (I spend a lot of time maintaining and repairing other people's PHP sites, and my current new projects are relatively large, so that's why there's only the one so far.)
I care about the Java-ness of Helma principally b/c it lets me leverage a gazillion existing libs if I need to. But my experience programming Java itself is limited to writing a client/server othello game just to explore, and I have no legacy Java systems to integrate with, so I'm useless on that score. I was already a very competent JavaScript hacker (and love the language) before I started with Helma, but only in the browser till now.
preachingtheword.net probably took me longer with Helma than it would have with PHP, but I'm pretty sure that's all down to first project vs. years of experience and my own framework. Of course I haven't actually written the same site in PHP, so it's hard to be sure, but I believe my LOC are way down and I know that my mental grasp of the project at all levels is better.
I'm only just getting into the ORM--I actually did preachingtheword.net entirely with the built-in object DB. My feeling so far is that the ORM is not particularly interesting--it's more the mapping of objects to URLs that's unusual and brilliant (different from and better than the one in my PHP framework and in other frameworks I've seen). For the ORM, I think SQLAlchemy is more powerful and flexible in useful ways, but Helma 1.7 (under development) is planned to have some new power and flexibility in that regard. (Still.not as powerful as SQLAlchemy... maybe time to port?)
If you use the ORM all the time you are, of course, protected from SQL injection and Helma does some smart things with caching and lazy-ish retrieval, but if you need to run arbitrary queries the provided DB lib is woefully underpowered with no support for parameterized queries or retrieving results any way other than all at once. I plan on doing something about that myself in the course of this next project. (The DB lib, similar to most Helma libs, is a JavaScript wrapper around JDBC, so the power is there, but it's been over-simplified away.)
I think the templating system in Helma ("skins") is insightful but doesn't go far enough and makes some wrong decisions. I'm not using it in my projects in favor of using E4X throughout, which gives me XML as a native data type in a way not possible in any other language. E4X itself is a sometimes-frustrating mixture of brilliance and madness, but one thing it gets 100% right is the basics of templating: Among other things, you get perfect, no-thinking protection from XSS and other HTML screw-up attacks automatically just by doing the most obvious and reasonable thing. To me, that's extremely valuable.
E4X is just the biggest of many cool recent JavaScript features that you can't use in the browser b/c on Firefox supports them, but you can use them in Helma.
I care about the Java-ness of Helma principally b/c it lets me leverage a gazillion existing libs if I need to. But my experience programming Java itself is limited to writing a client/server othello game just to explore, and I have no legacy Java systems to integrate with, so I'm useless on that score. I was already a very competent JavaScript hacker (and love the language) before I started with Helma, but only in the browser till now.
preachingtheword.net probably took me longer with Helma than it would have with PHP, but I'm pretty sure that's all down to first project vs. years of experience and my own framework. Of course I haven't actually written the same site in PHP, so it's hard to be sure, but I believe my LOC are way down and I know that my mental grasp of the project at all levels is better.
I'm only just getting into the ORM--I actually did preachingtheword.net entirely with the built-in object DB. My feeling so far is that the ORM is not particularly interesting--it's more the mapping of objects to URLs that's unusual and brilliant (different from and better than the one in my PHP framework and in other frameworks I've seen). For the ORM, I think SQLAlchemy is more powerful and flexible in useful ways, but Helma 1.7 (under development) is planned to have some new power and flexibility in that regard. (Still.not as powerful as SQLAlchemy... maybe time to port?)
If you use the ORM all the time you are, of course, protected from SQL injection and Helma does some smart things with caching and lazy-ish retrieval, but if you need to run arbitrary queries the provided DB lib is woefully underpowered with no support for parameterized queries or retrieving results any way other than all at once. I plan on doing something about that myself in the course of this next project. (The DB lib, similar to most Helma libs, is a JavaScript wrapper around JDBC, so the power is there, but it's been over-simplified away.)
I think the templating system in Helma ("skins") is insightful but doesn't go far enough and makes some wrong decisions. I'm not using it in my projects in favor of using E4X throughout, which gives me XML as a native data type in a way not possible in any other language. E4X itself is a sometimes-frustrating mixture of brilliance and madness, but one thing it gets 100% right is the basics of templating: Among other things, you get perfect, no-thinking protection from XSS and other HTML screw-up attacks automatically just by doing the most obvious and reasonable thing. To me, that's extremely valuable.
E4X is just the biggest of many cool recent JavaScript features that you can't use in the browser b/c on Firefox supports them, but you can use them in Helma.