Thanks everyone, for participating!

So, we're converging on a rename here, as almost everyone (including
me) seems to agree that "Factory" is not the best choice.  I also
agree with the opinion of some, that this type should be moved out of
org.jooq.impl. The reason for having the "Factory" in there was a
merely technical one, as the "Factory" has to be able to access
package-private content of org.jooq.impl.

Let's have a look at the proposals:
================================

## JOOQDSL

This one, I personally don't want to choose for these reasons:

a) It seems to be a move towards a competitor product, called Querydsl.
b) I think that prefixing classes is unnecessary when we have packages
c) It feels a bit long to write. When moving away from Factory, I'd
like something shorter for those users that don't want to
static-import things.

## JOOQFactory

This is too long, besides it doesn't remove the term "Factory". We
wouldn't win much from this renaming.

## DSL

This is short and concise. Being put in an "org.jooq" package, it also
clearly says what it's about. It is a good name choice for a starting
point of a DSL and strengthens the term DSL in general, as users
should think of jOOQ as being an internal domain-specific language in
Java. It will also strengthen the fact that the DSL type only contains
static methods. This will help users of jOOQ 2.x migrate and
understand how jOOQ 3.0 is different.

Besides, on a marketing side, it will help increase the
"relevance-connection" between jOOQ and DSL on Google searches, which
is desireable.

It would thus be a renaming that doesn't just remove some confusion
from "Factory", but it would actually add value towards future API
strategies, which might include the cleaner separation of concerns
(DSL, Model API, "Contextual" operations, etc.).

Using capital-letters only might not help in Eclipse's "Open Type"
dialog, as Eclipse will try to match classes whose camel-case notation
uses words that start with D-S-L, e.g. DocSubtreeListener. But that's
probably still better than "Factory"

## SQL

I had thought about this before. I like the fact that it would
strongly emphasise jOOQ's affiliation with SQL, and the way of
thinking that jOOQ almost *is* SQL.

But I feel that this name doesn't communicate the purpose of the class
well enough, at least not as well as "DSL"

>From a tooling perspective, there are thousands of classes starting
with SQL. It will be hard to find it among all search results, if your
tool (e.g. Eclipse's "Open Type" dialog) doesn't put it on top.

## JOOQ

This is good for branding, of course, as well as for tooling. However,
it seems like an open-ended name for a class, allowing me to put in
even more unrelated stuff than the current "Factory" did.

================================

The decision: It will be org.jooq.DSL (potentially along with an
org.jooq.impl.DSL bridge, to help access package-private stuff).

Cheers
Lukas

Note: The "Executor" -> "new Executor()" -> "DSL.with()" ->
"DSL.using()" discussion will be continued on another thread

2013/4/5 Christopher Deckers <[email protected]>:
> Hi all,
>
> I think "JooqDsl" is good. It conveys the intent, and it clearly shows the
> starting point.
>
> Cheers,
> -Christopher
>
> --
> You received this message because you are subscribed to the Google Groups
> "jOOQ User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 
You received this message because you are subscribed to the Google Groups "jOOQ 
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to