Hi Norman & Jeff,

I skimmed through the email conversation ….

* Personally I really like the idea that retired computer scientists turn to 
Open Source :-)

* Looking at the GitHub project I indeed see a cultural gap which needs be 
closed to do meaningful Open Source work

* I try to ignore the fact that you are well-regarded computer scientist and 
I’m an unknown software developer :-)

Having said that

* no matter if you are joining Apache Commons or just live on GitHub - you need 
a good introduction to the project (think of unique selling point). Sit down 
and write a cool Markdown document to get people enthusiastic - only 
enthusiastic people will use your contributions and maybe participate later on.

* there is a GitHub pull request out there from Dave Brosius - if you are 
unhappy about it please comment it otherwise merge it with your repo. Ignoring 
a pull request might be considered impolite :-)

* you need to clean up the project - Maven build (I assume mostly done by Dave 
Brosius), separate test folder, javadoc, site documentation and code style - 
and this will take some (all, a lot of ) time and could/will be frustrating 
since the bar is quite high at Apache Commons (and many other FOSS communities).

Cheers,

Siegfried Goeschl



> On 24 Oct 2015, at 17:14, n...@dad.org wrote:
> 
> My colleague, Jeff Rothenberg, and I are retired computer scientists and are
> no strangers to regular expression theory and practice. Both of us have used
> regular expressions for decades and have taught many other programmers how to
> use them. Stephen Kleene (https://en.wikipedia.org/wiki/Stephen_Cole_Kleene),
> the inventor of regular expressions and I
> (https://en.wikipedia.org/wiki/Norman_Shapiro) were both doctoral students of
> Alonzo Church (https://en.wikipedia.org/wiki/Alonzo_Church). Rothenberg used
> SNOBOL3 and SNOBOL4 (more powerful than all but a few of the most recent
> versions of regular expressions) extensively in his graduate work in
> Artificial Intelligence in the late 1960 and early 1970s.
> 
> In our experience, although skilled programmers can write regular expressions
> that solve a wide range of problems, for all but the simplest tasks regular
> expressions quickly become "write only". That is, once they have aged for a
> while, no one other than their authors (and, in our experience, often not even
> they) can understand them well enough to verify, modify, debug, or maintain
> them without considerable effort. Analogous low-level programming formalisms,
> such as machine code and assembly language, have been replaced by
> higher-level, more readable and modular languages to produce programs that
> have proven easier and more cost-effective to debug, verify, maintain, reuse,
> and extend.
> 
> In a similar fashion, Naomi is a means of "taming" complex regular
> expressions, as well as offering an easier alternative for those who are
> unfamiliar with them. Naomi makes pattern matching programs more readable,
> modular, and therefore verifiable, maintainable, and extensible. Naomi
> ultimately generates regular expressions, and it can do everything they can
> do, but it provides a higher-level API that uses object-oriented constructs to
> define complex, modular, parameterized patterns and subpatterns.
> 
> Naomi's advantages over bare regular expressions become apparent only for
> larger scale pattern matching tasks. Whereas regular expressions are highly
> compact and terse, this virtue becomes a vice for complex patterns. Coupled
> with the extensive use of metacharacters and escape sequences, this makes even
> moderately complex regular expressions effectively unreadable for all but the
> most experienced and practiced regular expression programmers. Newer features
> that go beyond the original regular expression formalism--such as namable
> groups, built-in names for common character classes, comments, and free white
> space--make regular expressions less terse. But their use is not enough to
> render complex regular expressions easily readable. These extensions are
> analogous to replacing binary machine language by assembly language coding. It
> is only necessary to consider a complex problem--such as that of parsing the
> e-mail date-time specification of RFC 2822 in src/DateTime.java--to appreciate
> the obscurity of regular expressions and to understand Naomi's advantages.
> 
> 
> 
>    Norman Shapiro
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to