Fork me on GitHub
#off-topic
<
2017-06-07
>
sophiago00:06:55

@adamvh i write libraries for (among other things) solving differential equations and you're absolutely correct that metaprogramming is of great use there. however, compile isn't quite that. i'm pretty sure you could generate functions on the fly just by using macros and maybe inline caching if you want to really optimize it

sophiago00:06:57

that said, my own approach just uses nested vectors and composes derivatives already in data form (a neglected approach since the assumption is once you output a function as data it's worthless for composition). the functional approach is what leads you to metaprogramming, or at least that's the faster way to do it as opposed to having to deal with correctly applying operators to multiple semantic levels of generated functions

lilactown02:06:22

so my org is looking to replace our content management system and possibly our back end infrastructure. help me convince them to use clojure?

qqq05:06:00

1. find the person who is in charge

qqq05:06:08

2. ask them for what features they wish the existing system has

qqq05:06:11

3. implement them in clojure

val_waeselynck07:06:50

@lilactown are you considering using Datomic as well ? The combination of both is more compelling than the sum of each one, if you know what I mean

val_waeselynck07:06:31

I agree with @qqq, if you can ask for forgiveness, not permission

val_waeselynck07:06:13

otherwise, it kind of depends of the organization you work in, but here are some ideas:

val_waeselynck07:06:15

* the risk of adopting a new technology is insignificant compared to the risk of failing to deliver (or the difficulty / cost of hiring / staffing the many programmers you'd need with a mainstream technology)

val_waeselynck07:06:00

* Clojure is a viable hiring strategy, as you need to hire fewer people, and it helps you steal very smart programmers from boring, high-paying companies

val_waeselynck07:06:55

* the REPL brings productivity to a whole new level

val_waeselynck07:06:31

* CMS is about manipulating data in a very generic way, Clojure's very well suited to that

val_waeselynck07:06:59

* Clojure is very simple, to the point it can even be put in the hands of non-technical people (which is what a CMS is for, isn't it?)

lilactown14:06:23

no, we're not considering datomic.

lilactown14:06:57

we're a java shop primarily.

mobileink18:06:11

@lilactown: focus on seamless interop. you retain as much java as you want, and you can ransition gradually. meanwhile you get a boost in productivity and programmer satisfaction. find some good examples of using clojure with existing java cms systems.

john18:06:52

A CMS can be a very complex beast. I'd recommend introducing Clojure to your org via a much, much smaller project. Trying to bite off more than you can chew, in any language, may not help perceptions of that language.

donaldball19:06:11

I aver that, unless guided by an experienced mentor, almost no one with a traditional software development background will arrive at an architecture with which they’ll be happy on their first clojure project.

emil0r21:06:52

Currently using it in production on 5 sites

lilactown21:06:16

thanks emil0r, I'll check it out

lilactown21:06:45

I'm doubtful we'll use clojure for the CMS itself, but perhaps the underlying systems

lilactown21:06:27

we're currently looking to transition off of liferay. we have a huge amount of content, personalized for different kinds of users. big-wigs want a very enterprise-y solution

emil0r21:06:12

No worries 🙂

lilactown21:06:59

i appreciate the ideas ya'll.