ScholRLEA's fetish for licensing and LISP thread


  • Discourse touched me in a no-no place

    @powerlord said:

    Spring is just a better way to do web pages instead of the old Servlet/JSP pair.

    Actually, that's Spring Web. Spring itself is a better way to do application configuration and lifecycle management, a way to scrap virtually all those nasty ConfigurationBuilderFactoryStrategyMaker classes that only exist to set up the objects that really do the work. It sounds like not very much of a deal, but in a big application it's a huge improvement over doing it all by hand.


  • Fake News

    That's one of my main gripes with JEE: none of the standards seem to have a configuration API where configuration is forced to be outside of your deployment and still allows to be specific for each deployment (or duplicate thereof). No, you have to go and unpack an archive, modify some file, repackage it and deploy. Seriously...



  • You know what's wrong with Java, and especially stuff like Hibernate?

    Not enough XML. Not nearly enough. Not by half. It needs more XML.


  • ♿ (Parody)

    Does anyone still write XML with Hibernate?


  • Fake News

    I do for JPA, when I don't want to duplicate a class just to change some annotation to the way Oracle wants it differently compared to SQL Server.

    Though in the general case, I agree that using XML mappings is Doing it wrongTM.


  • ♿ (Parody)

    @JBert said:

    I do for JPA, when I don't want to duplicate a class just to change some annotation to the way Oracle wants it differently compared to SQL Server.

    I guess that makes sense. I don't have to support anything other than Oracle.


  • Discourse touched me in a no-no place

    @JBert said:

    That's one of my main gripes with JEE: none of the standards seem to have a configuration API where configuration is forced to be outside of your deployment and still allows to be specific for each deployment (or duplicate thereof). No, you have to go and unpack an archive, modify some file, repackage it and deploy. Seriously...

    You can build systems to be configurable via properties in the deployment descriptor (as in I have done that). It's just… for any non-trivial configuration you're going to be doing something complicated anyway, beyond what you can usually wedge through properties without abusing everything six ways till Sunday. Merely finding what you can set and understanding what the consequences of setting it are can be a significant barrier to administration. I'm still trying to figure out the best way of documenting this sort of thing.

    In practice, it's usually better to make things configurable via a file that you inject in your Puppet scripts, and to then provide a (heavily locked down) admin interface that you can use to tweak things at runtime (e.g., via JMX, or a co-hosted webapp restricted to just admin roles).


  • BINNED

    @ScholRLEA said:

    the one thing Lisp has most language can't do on the same level: macros.

    @ScholRLEA said:

    You can hack the language itself.

    Really‽ Any language with reflection allows for this. Tcl, Perl, Java ( think Groovy ), C#, Javascript…



  • @M_Adams said:

    Really‽ Any language with reflection allows for this. Tcl, Perl, Java ( think Groovy ), C#, Javascript…

    Not at the same level (syntax tree to syntax tree transforms, IOW extending the compiler) as Lisp macros work, AIUI. Reflection (and its cousin OO introspection) are nice for doing fancy dynamic things at runtime, but that doesn't help you wrap up thorny boilerplate into neat little presents with bows on top.


  • Discourse touched me in a no-no place

    @tarunik said:

    Not at the same level (syntax tree to syntax tree transforms, IOW extending the compiler) as Lisp macros work, AIUI. Reflection (and its cousin OO introspection) are nice for doing fancy dynamic things at runtime, but that doesn't help you wrap up thorny boilerplate into neat little presents with bows on top.

    The difference isn't as big as you make out. Some languages definitely do macro-like things (i.e., generating code and evaluating that in the context that called the generator). They just usually don't call it a macro. We could apply the duck/sniff test, but the whole argument is silly.



  • @dkf said:

    Some languages definitely do macro-like things (i.e., generating code and evaluating that in the context that called the generator). They just usually don't call it a macro. We could apply the duck/sniff test, but the whole argument is silly.

    Having done some C++ template metaprogramming myself, I agree; Lisp just is one of a select few languages that does it without invoking a giant pile of syntax soup. Forth, oddly enough, is also on this list...


Log in to reply