Hi Steven,

It's not just about how pretty the syntax is.  Firstly, on average,
the more lines of code you have, the more bugs you have.  So unless
you do something $stupid, reducing the number of lines you write
probably reduces the number of bugs you write.  Of course, refactoring
existing code to make it smaller (less repetitive) won't reduce the
number of bugs, as refactors preserve behaviour, but it can still be
worth it because the bugs tend to show themselves more clearly.

Secondly, certain languages make it harder than others to move from a
mess to something sane.  E.g., Java 1.4 with its untyped collections;
if you get a ClassCastException because an unexpected object was
added, and want to prevent this from happening again, you can either
make some collection types that check the class of the objects being
added, or write a, say, FooList, that delegates to a List.

Java 5 makes this much easier, just add generics and follow the compile errors.

Some languages/libraries make it harder to get into the mess in the
first place.  I work with a large Swing application that has quite a
number of EDT violations (GUI components accessed off the event
dispatch thread), which means that there are occasional race
conditions, etc.  It's very hard to fix that without breaking stuff.

.NET, however, throws an exception if you instantiate a GUI component
off the event thread, making it harder to actually build up the
incorrect code in the first place.  (incidentally, the Substance LAF
does that for Swing)

> I feel, if you know your tool well, you'll deliver well, and the
> possibility of a language failing you is not with its syntax, but with
> the limits of the platform it runs on (For instance, poor integration
> with features of the native operating system).

I feel this pain daily.  The app I mentioned earlier can read MJPEG,
MPEG-4 and H.264, output AVIs, burn CDs and playable DVDs, and of
those only MJPEG is supported by Java (though we're still using
ffmpeg's implementation of that, for no particular reason).

All that said, the language still matters, because I spend most of my
time reading it.

(If anyone can get ffmpeg compiled to Java bytecode via lljvm-gcc or
similar, holler)

Ricky.

--
Ricky Clarkson
Java and Scala Programmer, AD Holdings
+44 1928 706373
Skype: ricky_clarkson



On Mon, Sep 13, 2010 at 6:08 AM, Steven Herod <steven.he...@gmail.com> wrote:
> I've worked on projects with a couple of hundreds of thousands of
> lines of PHP in a 'mission critical' environment.
>
> I've also done work with Java, Ruby/JRuby or Groovy/Grails, JavaFX and
> most recently Salesforce.com's Apex.  I've not touched Scala beyond
> starting to read a book on the subject.
>
> None of these long conversations about various pros and cons of
> languages tend to resonate with me, mainly because in the long run, I
> just don't think it matters.
>
> Sure, you have to write boilerplate in one language, but in another,
> you have to put up with terrible (or non existent) tooling or crummy
> documentation.
>
> I don't think any language is a silver bullet.  Problems don't get
> solved, they get moved.  The best you can ask for is that the problems
> you really care about get solved, and the ones you don't care about
> you can live with.  And I guess, after all these posts on "lang a vs
> lang b" its what I'd like to see more of.
>
> i.e.  If your problem is x, then language y offers you the following
> benefits issue.  (Problem x being 'CRUD web app', 'Desktop
> application', 'Message processing system')
>
> I feel, if you know your tool well, you'll deliver well, and the
> possibility of a language failing you is not with its syntax, but with
> the limits of the platform it runs on (For instance, poor integration
> with features of the native operating system).
>
> Sure, one language may be more elegant than another, but I think
> that's just programmer ego and most of the time, in the commercial
> world, it doesn't matter how beautifully you've implemented it, but
> rather, did you get it done at all.
>
> Anyway, there are far smarter people on this list than I.  Perhaps I'm
> not intellectually capable of engaging an the deeper merits of many of
> these concepts that get argued about - when you eventually all reach a
> conclusion, I expect I'll see the results in the "Developers wanted"
> section of my local employment website.
>
> Until then I hope to stay out of the way.  :)
>
> On Sep 13, 1:49 am, Cédric Beust ♔ <ced...@beust.com> wrote:
>> On Sun, Sep 12, 2010 at 8:46 AM, Serge Boulay <serge.bou...@gmail.com>wrote:
>>
>> > The syntax issue is not a problem. I'm just so use to statically typed
>> > languages and the tools built around them that I never really considered
>> > anything else. I think I identify more with the work you are doing with
>> > Mirahhttp://www.mirah.org/wiki/MirahFeatures.
>>
>> Same here. To me, Ruby has become the replacement of shell, so that whenever
>> I need to write a script that is going to manipulate some files, do some
>> filtering (great for log files for example) or something simple like that,
>> Ruby is my default language.
>>
>> But because of the fact that it's dynamically typed, I would never consider
>> for anything longer than a few hundreds of lines, especially with a team of
>> more than one person.
>>
>> And Charles, I'd like to emphasize that what you did with JRuby is
>> absolutely outstanding.
>>
>> --
>> Cédric
>
> --
> You received this message because you are subscribed to the Google Groups 
> "The Java Posse" group.
> To post to this group, send email to javapo...@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.
>
>

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to javapo...@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