Ok...thanks guys
No disagreement, but, is the 5-10% of extra performance you may gain worth the headache of dealing with garbage collection, PITA debugging, etc?
Hmm, this is starting to sound like a Hi-Lo vs level 2+ count debate
Making sure that the compiler is correctly optimizing your code is Ace and 7 side count territory...
I assume that we're talking about Bodarc's first programming language. Would you recommend that someone start with C++? Even CS majors usually start with something more accessible.
I like that some of the managed languages like VB let you break into a running program, change variable values or even code, and then resume the program. Makes learning and debugging way easier.
Well not really Marvin. In college I learned Fortran back in the day when it was all done with punch cards, and was pretty good at it but never had reason to use it after that so I forgot it. Then I decided I'd learn Basic so I bought a book and learned that but never had any reason to use it so I forgot it. Then just for something to do, I decided I'd learn Assembly. I think I got far enough along that I could print my name on a screen or something with that one. In my business I didn't have much use for any of those but I thought Foxfire might be useful so I bought that and learned it. Never had much reason to use it so I forgot that one too. Last night I spent a few hours downloading Ruby and Python and looking those over and still haven't decided what I might wind up doing.
I probably should just do some sort of Basic. Visual Basic or Free Basic etc.
Last edited by Bodarc; 07-21-2015 at 08:23 AM.
Play within your bankroll, pick your games with care and learn everything you can about the game. The winning will come. It has to. It's in the cards. -- Bryce Carlson
Of course, the answer will always be "it depends". For simple CA analysis, perhaps not, but when you start getting into things which require the simulation of billions of iterations (things like like index generation, or analysis of tournament situations), which can take days or weeks, then absolutely, every little bit of performance matters. I don't find debugging C++ to be a problem, even with old-school tools. Same with garbage collection. If your program is well designed, then this is easily handled.
Point taken. Choice of implementation language can be the subject of fanatical debate with no resolution. Heck, around here, even the choice of editor spawns fierce debates
I would recommend a procedural language that is strongly type checked as a first language. Probably not C, since it assumes you know what you're doing and will "just do it", which can be a problem for new programmers. I've been out of the academic loop for many years (decades) now, but when I first started out, PASCAL was a decent language with these properties. Object oriented languages (C++, Java, Python, etc) require a different way of thinking in order to make full use of their capabilities and should be approached separately after a strong base of experience has been established.
This is nothing specific to managed languages. Debuggers with these capabilities have been around for decades for both compiled and interpreted languages.
On the topic of performance. There is a chapter in Norm's Modern Blackjack II which describes some of the techniques he used to squeeze maximum performance out of his software. It goes beyond choice of implementation language (not even mentioned, if I recall correctly) all the way down to things that are an issue for the hardware. A very interesting read, if you are a programmer.
I despise newer C-like languages for a few reasons: Use of semicolons and brackets, case sensitivity, poor handling of mixed data types, poor readability. So, I use Visual Basic where possible. But, you'll find most people using C or php these days. This forum is written in php and there is no question that web apps are easier in that language.
Now for something unusual, my bj mobile apps are written in a visual basic like language, and then translated to JScript and HTML5 using a translator written in Python. The translation is slower than the line at the DMV.
"I don't think outside the box; I think of what I can do with the box." - Henri Matisse
Made me chuckle a bit to see C-like languages described as "newer". I may be an old-timer in the software development world but, Norm, it seems that you may pre-date me a bit! What the software world was like when each of us started could be an interesting thread for the "stuff" forum or perhaps this one.
Bookmarks