On Thu, Nov 24, 2016 at 11:31 AM, Rob Tompkins <chtom...@gmail.com> wrote:

>
> > On Nov 24, 2016, at 1:58 PM, Gary Gregory <garydgreg...@gmail.com>
> wrote:
> >
> > I just found that longestCommonPrefix does not exist in [lang]... let's
> > sort through what we have first before we imagine ourselves more
> headaches
> > ;-)
> >
>
> Fair, I more meant to pose an interesting example of where I think the
> boundary between text and lang is, and I’m completely with you that it
> seems squarely on the boundary.
>
> With that in mind, what are the thoughts on the original question now that
> we’ve explored where we think the boundary is? On one hand the mechanics
> behind string escaping seem to lie completely in text, but on the other the
> use case of it seem to lie more in lang.
>

For me, String escaping belongs in text because the content domain of the
strings are HTML, XML, JSON and other types of documents. These types of
documents are "text" and I would not expect HTML, JSON, and XML to belong
in java.lang and java.util. It's way above that.

Gary


> Cheers,
> -Rob
>
> > Gary
> >
> > On Thu, Nov 24, 2016 at 10:55 AM, Gary Gregory <garydgreg...@gmail.com>
> > wrote:
> >
> >>
> >>
> >> On Thu, Nov 24, 2016 at 5:54 AM, Rob Tompkins <chtom...@gmail.com>
> wrote:
> >>
> >>>
> >>>> On Nov 22, 2016, at 4:38 PM, Gary Gregory <garydgreg...@gmail.com>
> >>> wrote:
> >>>>
> >>>> On Tue, Nov 22, 2016 at 12:04 PM, Benedikt Ritter <brit...@apache.org
> >
> >>>> wrote:
> >>>>
> >>>>> Hello Gilles
> >>>>>
> >>>>> Gilles <gil...@harfang.homelinux.org> schrieb am Di., 22. Nov. 2016
> um
> >>>>> 20:55 Uhr:
> >>>>>
> >>>>>> On Tue, 22 Nov 2016 19:40:30 +0000, Benedikt Ritter wrote:
> >>>>>>> Gary Gregory <garydgreg...@gmail.com> schrieb am Sa., 19. Nov.
> 2016
> >>>>>>> um
> >>>>>>> 19:09 Uhr:
> >>>>>>>
> >>>>>>>> On Nov 19, 2016 9:50 AM, "Gilles" <gil...@harfang.homelinux.org>
> >>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> On Sat, 19 Nov 2016 08:59:50 -0800, Gary Gregory wrote:
> >>>>>>>>>>
> >>>>>>>>>> On Sat, Nov 19, 2016 at 3:33 AM, Benedikt Ritter
> >>>>>>>> <brit...@apache.org>
> >>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Hello Gray,
> >>>>>>>>>>>
> >>>>>>>>>>> Gary Gregory <garydgreg...@gmail.com> schrieb am Sa., 19. Nov.
> >>>>>>>> 2016 um
> >>>>>>>>>>> 01:07 Uhr:
> >>>>>>>>>>>
> >>>>>>>>>>>> Just a thought:
> >>>>>>>>>>>>
> >>>>>>>>>>>> Does all the current (and future) string escaping code (XML,
> >>>>>>>> HTML,
> >>>>>>>> ...)
> >>>>>>>>>>>> really belong in [lang]? Would it be more natural to have it
> >>>>>>>> in
> >>>>>>>> [text]?
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> My view on the whole think currently is, that we put stuff that
> >>>>>>>> is
> >>>>>>>> related
> >>>>>>>>>>> to strings in Lang. Code that works on texts should go to Text.
> >>>>>>>> To me a
> >>>>>>>>>>> text is more than just a string. A text contains works, that
> >>>>>>>> make up
> >>>>>>>>>>> sentences, which in turn build paragraphs.
> >>>>>>>>>>>
> >>>>>>>>>>> Using this description, I'd argue that escaping belongs into
> >>>>>>>> lang and
> >>>>>>>> not
> >>>>>>>>>>> into text, because it works on individual characters rather
> than
> >>>>>>>> on
> >>>>>>>> texts.
> >>>>>>>>>>>
> >>>>>>>>>>> But this would also raise the question if the various edit
> >>>>>>>> distance
> >>>>>>>>>>> algorithms works on texts or on strings. So maybe my
> distinction
> >>>>>>>> is not
> >>>>>>>>>>> good at all.
> >>>>>>>>>>>
> >>>>>>>>>>> Do we need to better specify the scope of text?
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Great question of course.
> >>>>>>>>>>
> >>>>>>>>>> I'd like to think of [lang] as "What is missing from the JRE's
> >>>>>>>> most
> >>>>>>>> basic
> >>>>>>>>>> classes and specifically from the java.lang package and some
> >>>>>>>> java.util
> >>>>>>>>>> classes".
> >>>>>>>>>>
> >>>>>>>>>> Quoting from our site:
> >>>>>>>>>>
> >>>>>>>>>> "The standard Java libraries fail to provide enough methods for
> >>>>>>>>>> manipulation of its core classes. Apache Commons Lang provides
> >>>>>>>> these
> >>>>>>>> extra
> >>>>>>>>>> methods.
> >>>>>>>>>> Lang provides a host of helper utilities for the java.lang API,
> >>>>>>>> notably
> >>>>>>>>>> String manipulation methods, basic numerical methods, object
> >>>>>>>> reflection,
> >>>>>>>>>> concurrency, creation and serialization and System properties.
> >>>>>>>> Additionally
> >>>>>>>>>> it contains basic enhancements to java.util.Date
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> How about "Date" becoming a nice standalone component? ;-)
> >>>>>>>>> [Components should be concept-based.]
> >>>>>>>>
> >>>>>>>> Joda-time covers more than we will ever do here IMO. And Java 8
> has
> >>>>>>>> new
> >>>>>>>> time APIs... maybe when lang is Java 8 based we can look again.
> For
> >>>>>>>> now I'd
> >>>>>>>> rather leave dates as is.
> >>>>>>>>
> >>>>>>>
> >>>>>>> Yes, let's get back to topic.
> >>>>>>>
> >>>>>>> I think we need a clear distinction between string related stuff
> that
> >>>>>>> goes
> >>>>>>> into Lang and more complex stuff that goes into text.
> >>>>>>
> >>>>>> IMHO "more complex" is key, not so much "string" vs "text".
> >>>>>>
> >>>>>> Hence I suggest [text] is a better place for "RandomStringUtils"
> >>>>>> than [lang], and the former should allow dependencies as a
> >>>>>> foundation for that complexity; in that case, that would be
> >>>>>> "Commons RNG".
> >>>>>>
> >>>>>
> >>>>> I find it hard to draw a line here. What might be complex to me,
> could
> >>> be
> >>>>> simple for others. I fear that there will always be discussions.
> >>>>>
> >>>>
> >>>> Then we can focus on a feature request with a different lens: Would
> you
> >>>> reasonably expect this to be in java.lang or java.util.
> >>>
> >>> Let’s consider an example that I would ask about here. Consider the
> >>> “longestCommonPrefix” method:
> >>>
> >>> public static int longestCommonPrefix(final String s1, final String
> s2) {
> >>>    int i = 0;
> >>>    while (i < s1.length() && i < s2.length() && s1.charAt(i) ==
> >>> s2.charAt(i))  {
> >>>        i++;
> >>>    }
> >>>    return i;
> >>> }
> >>> I would think that this would end up in text because I doubt many folks
> >>> would use this in standard application code. What are other’s thoughts?
> >>>
> >>
> >> This is 50/50 in my mind because there is no "domain" like words,
> >> sentences, and so on. This is really about churning through a string for
> >> some condition.
> >>
> >> That said, moving it to [text] could be an opportunity to change the API
> >> name. Why is it longestCommonPrefix and not just commonPrefix? What
> would
> >> a shortestCommonPrefix is what I think when I see "longest".
> >>
> >> Gary
> >>
> >>
> >>>
> >>> -Rob
> >>>
> >>>>
> >>>> Gary
> >>>>
> >>>>>
> >>>>>
> >>>>>>
> >>>>>> Regards,
> >>>>>> Gilles
> >>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>
> >>>>>>>> Gary
> >>>>>>>>>
> >>>>>>>>> How about deprecating "RandomUtils"?
> >>>>>>>>> [(About to be) superseded by "Commons RNG".]
> >>>>>>>>>
> >>>>>>>>> How about to
> >>>>>>>>> * moving "RandomStringUtils" to [text] too and
> >>>>>>>>> * implement it against a custom interface (as per Jochen's
> >>>>>>>> remark)
> >>>>>>>>>  rather than "java.util.Random"
> >>>>>>>>> ?
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> and a series of utilities
> >>>>>>>>>> dedicated to help with building methods, such as hashCode,
> >>>>>>>> toString and
> >>>>>>>>>> equals."
> >>>>>>>>>>
> >>>>>>>>>> I do not think edit distances fit into this at all.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> +1
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> I am also questioning whether string escaping belongs in lang as
> >>>>>>>> well
> >>>>>>>> since
> >>>>>>>>>> there are so many escaping domains XML, HTML, JSON, and so on.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> They don't belong.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> IMO, anything that is word based does not belong in lang like
> >>>>>>>>>> capitlization. The WordUtils class should be in [text] IMO. The
> >>>>>>>> whole
> >>>>>>>> lang
> >>>>>>>>>> text package should be in [text] IMO.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> +1
> >>>>>>>>> [To anything that imposes a strict diet on the humongous
> >>>>>>>> "components".]
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Regards,
> >>>>>>>>> Gilles
> >>>>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> ------------------------------------------------------------
> ---------
> >>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> >>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> >>>> Java Persistence with Hibernate, Second Edition
> >>>> <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?
> >>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&link
> >>> Code=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >>>>
> >>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> >>> am2&o=1&a=1617290459>
> >>>> JUnit in Action, Second Edition
> >>>> <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?
> >>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&link
> >>> Code=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
> 18%22>
> >>>>
> >>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> >>> am2&o=1&a=1935182021>
> >>>> Spring Batch in Action
> >>>> <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?
> >>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&link
> >>> Code=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Bli
> >>> nk_id%7D%7D%22%3ESpring+Batch+in+Action>
> >>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> >>> am2&o=1&a=1935182951>
> >>>> Blog: http://garygregory.wordpress.com
> >>>> Home: http://garygregory.com/
> >>>> Tweet! http://twitter.com/GaryGregory
> >>>
> >>>
> >>
> >>
> >> --
> >> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> >> Java Persistence with Hibernate, Second Edition
> >> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> >> JUnit in Action, Second Edition
> >> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> >> Spring Batch in Action
> >> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> >> Blog: http://garygregory.wordpress.com
> >> Home: http://garygregory.com/
> >> Tweet! http://twitter.com/GaryGregory
> >>
> >
> >
> >
> > --
> > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > Java Persistence with Hibernate, Second Edition
> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> > JUnit in Action, Second Edition
> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> > Spring Batch in Action
> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to