RE: ARTICLE: Memory bandwidth

From: Patrick McCuller (patrick@kia.net)
Date: Sun Apr 15 2001 - 18:02:38 MDT


>
> > > In sum, I'd highly recommend Java for small-scale engineering projects.
> > > It's a fun language to work with. But for large-scale projects
> > (meaning,
> > > systems that will use a lot of memory and a lot of threads), my
> > advice is to
> > > stick with C/C++. Java is just not tuned for such projects, and you run
> > > into a hell of a lot of annoying problems that waste a huge
> > amount of time
> > > and effort, far outweighing the savings in programming time.
> >
> > Now *that's* a new opinion.
>
> Yeah. Re-coding the key bits of the system in C, over the last few weeks,
> has been a real eye-opener...

        I use JNI to bridge from Java to fast components when I need to, but I must
admit I have not run into the sorts of problems you encountered, in a way that
I could not fix with a) a better architecture, b) guessing instead of
calculating when I could get away with it, or c) bridging to C++. However, I
have not had the pleasure of working on a Java program with more than about
90,000 lines.

        I suspect, very much suspect, that you would have had nearly identical
performance problems regardless of what language you used, and if you had
spent man-hours debugging malloc(), you wouldn't have gotten so far into
actual AI.

> > What do you think about prototyping? C++ doesn't seem like a good
> > language for that - I was thinking Python, actually.
>
> I think you may as well prototype in whatever language you're personally
> most comfortable with.
>
> My first Webmind prototype was in Haskell, actually. It was about 80 lines
> long ;>

        Functional languages aren't very popular outside academia. I know there are
exceptions. Speaking of academic languages, I've always had a soft spot for
Gödel.

>
> ben
>

Patrick McCuller



This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:36 MDT