It's been my experience that the bigger the project, the less difference it makes if you use a high level language.
There are some awesome high level languages that are very good for quick and dirty programming tasks. But the advantage seems to go away as soon as you have a substantially larger project. The first time I wrote a chess program using an assembler I assumed it would take forever - after all this was very low level programming. I cannot honestly say it took that much longer than doing it in C - once you get up to speed it doesn't seem particularly tedious. It's certainly not what I expected. For years I have searched for the ideal language and only recently have I discovered that ideal language is probably the lowest level language you think you can get comfortable with. For me, C is pretty close. Although I occasionally do things in many languages, I have gravitated towards 3 main languages when I have a choice, C, ruby and tcl. One of those is usually what I want depending on what it is I am doing. The very quickest way to get something done that is not substantial - for me is to write a ruby script. Python would be pretty much similar - they are very similar languages. Java doesn't do anything for me for the very reason you stated. I might as well program in C. It's just not that high a level language for me to leave C, and when I want something high level I reach for an actual high level language. Java just feels very heavy to me and I like it lean. My mental image of running a java program is several seconds of hard disk activity while I wait patiently and my desktop slowing down to a crawl. - Don On Wed, 2006-11-29 at 19:37 +0100, Chrilly wrote: > > > > However, we are finding C++ an exceedingly frustrating language to work > > in. I won't go into the details here -- we don't need another language > > war -- but suffice it to say that it seems like we're spending a lot of > > time messing with details that aren't of interest for the research. Now > > that I've found that Java can have speed within a factor of 2 of C++, I'm > > thinking of going back to Java. > > > I have run over the years bug-statistics. At least in my code the error-rate > is language independent. This holds even for Assembler and > Hardware-Description languages. > There are some typical errors one makes in one language which are not done > in another one. But overall this has minor influence one the bug-statistic. > The "real" source of bugs are exceptional cases and not well understood > concepts or a new concept which does not fit to the initial design. E.g. > there is hardly any chess programm which has no enpassant bug. > C and Java are in my opinion almost the same languages. I think the error > rate and nowadays also the speed is very close. Its just a matter of taste > and not of any real advantage of one language. > Concerning memory leaks I think one should avoid to allocate memory at all. > This makes the programm faster and avoids memory leaks. E.g. Suzie has > besides allocating the hashtable at startup no memory allocation. I had also > a mixture of UCT with an static evaluation and even this version had not > memory allocation. > If one allocates dynamically memory, a memory leak is a sign of a flaw in > the design. The Java garbagge collection avoids the crash. But this is no > advantage, because the flaw is just hiden. The programm will also "eat up" > memory in Java. A bug which lets the programm crash is a harmless bug. The > really bad bugs never show up. > > Chrilly > > _______________________________________________ > computer-go mailing list > computer-go@computer-go.org > http://www.computer-go.org/mailman/listinfo/computer-go/ _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/