Author: kaqs.1662@bumpymail.com
Date: 12:00:57 08/15/05
Go up one level in this thread
On August 15, 2005 at 14:19:21, Juan Pablo Naar C. wrote: >Hi, > >I'm completely new to programming and I want to learn a language to program a >chess engine, it will be a long work. I'm planning to learn C++ first, its >basics but my brother keeps telling me that C++ is old and is not used anymore, >that Visual Basic.NET is easier and shorter to program. What do you guys think? Your brother is wrong. C & C++ are probably the most heavily used programming languages in the world. And for raw performance, they are pretty much king. (Partially because they are so close to what the cpu can do, and partially because they are so heavily used that compiler writers put so much effort into making the compiler generate super efficient code.) The .net stuff is not a "good thing." In spite of Microsoft's push, it is *not* catching on. Stick with the real stuff. The .Net stuff is also slower than regular native executables. (And, to be honest, many people object to having to install the .net stuff onto their system, just to run a simple program. Yes, I'm one of them. It looks like Microsoft is going to shove .Net down our throats whether we want it or not.) Since you are completely new to programming, stay with C. Then later you can learn C++ if you want to. C++ has some advantages over C, but it also has disadvantages, especially for beginners. Things like VB (.net or otherwise) can help with the GUI stuff, but there are a few gui's already floating around that you can graft into your program. Or you can do a simple command line interface that hooks into the various WinBoard & UCI front ends. Or even stay with a simple command line interface. A standard 'console' application. You'd be surprised how many modern chess engines still can do a simple text inteface. Some will print out a little text board representation, others wont. Once you get past the GUI, VB etc. isn't really going to be any advantage over some other language. You'll still have to do the same kind of programming. Since you are new to programming, another language you could consider is Pascal. Such as FreePascal.org Pascal isn't really all that common anymore, but it's pretty easy to learn, provides strong type checking (to help keep you out of trouble.) It was originally designed to be easily learned. And the extended versions of Pascal actually make the language useful. And FP has an IDE called Lazarus, which admittedly I've never used. However, having said all of that.... Since you are indeed a beginner, it might actually be to your advantage to use a language that has a nice IDE (Integrated Development Environment) It might not be the best choice for a chess program, but it might help you lean programming. Then later, you can switch to a more powerful and versitile language. So go with whatever looks like it'd be the easiest to learn. Not just the compiler and the IDE, but the books (free or commercial) that look like they would teach you the best. Once you've grasps the concepts of programming, then you can switch. You'll be in a better position to make an informed choice, rather than simply listening to what others suggest. (As Robert Hyatt has pointed out a few times, later in life, you tend to program in the style of whatever language you learned first... Those of us old enough to have used 8 bit micro's with build in BASIC in ROM do tend to still occasionally program as if we were still using line number BASIC... Bad habits can be hard to break! So I'd suggest doing a language that is widely used and has a future... Not just something 'fashionable'.) Microsoft does have their (currently free) Visual Express Beta for C++, and VB. (They also have a few other free compilers (command line and for WinCE), but those wouldn't be suitable for you.) With the proper extras, they can generate native applications. You can also do MingW gnu C compilers and use one of the various IDE's to help development. (There are lots of free & opensource IDEs. Not the most advanced, but they work.)
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.