I just found that longestCommonPrefix does not exist in [lang]... let's
sort through what we have first before we imagine ourselves more headaches
;-)

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=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&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

Reply via email to