On Jan 22, 6:16 pm, Jon Kiparsky <jon.kipar...@gmail.com> wrote:
> "They'll create this amazing script, and it's so amazing that only a high
> skill  programmer in whatever specific language could figure out how it
> works.  Somehow this is a badge of honor to some, but it seems like it
> should be a badge of shame when you create things no-one else can work
> with."
>
> I do hope that clouds parted, angels sang, and a beam of light shone down
> upon you when you wrote that. Yes, yes, yes, a thousand times yes: code
> that is not written to be understood is bad code, regardless of how smart
> you had to be to write it in the first place. Brilliant writing is writing
> that communicates brilliantly, not writing that communicates the fact of
> the writer's (supposed) brilliance.

However, there are situations where going outside the world of
your project's preferred language is the only useful and maintainable
way to go.  I remember learning flex and bison to generate code
for an Objective-C project I was on.  No one wanted to maintain it,
but doing the work by hand would have taken a lot more time. In the
Java world, I would have used ANTLR or JavaCC.

Most of us know enough SQL to get by; even if projects prefer JPA or
Hibernate or another ORM tool, it's important for the programmers to
know the basics. I'm not saying that one should add additional
languages to a project on a whim or to pad one's resume. I'm not
sure Java/Scala, Java/Groovy, or Java/Clojure projects are worth the
effort. Using all the capabilities of the libraries that your code
depends upon seems easier, though I've run into conflicts even there.
But if the additional language is the correct language for the problem
domain, and if it can be used clearly and integrated clearly, I see no
reason to object.

You do need to work in harmony with your coworkers, though.
Fifteen years ago, I was programming in a language named
MODSIM-2, by CACI.  There were no supporting tools; people used
point-and-grunt  editors, and spent most of their time mousing
around from one file to the next.  Out of frustration, I cored out the
Emacs Modula-2 mode and created a MODSIM-2 mode, and I
improved it over the years. People were alternately impressed and
appalled.  I could not persuade anyone else to use it, though it would
have made their work a lot easier.  Of course that was the fault of
my 'winning' personality.

Respectfully,
Eric Jablow

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to javaposse@googlegroups.com.
To unsubscribe from this group, send email to 
javaposse+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to