Personally, I’d recommend plain C. Have you done research to see if there are any language that is more appropriate to what you are trying to do?
Can you write the code that you think will run the slowest in both Perl and C and benchmark them?
C++ is a super set of C.
You probably know more about Objective C than I do
C# actually has nothing to do with C – it is much more akin to Java.
C or C++ should be about the same if you aren’t using inheritance or any of the “fancy” C++ stuff.
You probably could pull it off by thinking of “every possible hand” as “every possible type of hand” (straight, flush, one card off from straight, etc). Without knowing what variant, it’s tough to make precise suggestions. That should get your search space down into the millions or something else feasible.
There are approximately 37 million poker hands from a 52-deck pack. Multiply that by the number of possible hands per dealt hand and the numbers are staggering. Managing the volume of results is beyond the ability of most desktop computers.
I suggest that you base your analysis on patterns and pattern matching. The programming might seem a bit more complex, but you’ll get a quantity of answers that you can manage. And an heuristic algorithm can adjust to its findings in real-time whereas the brute force approach never can.
Any C compiler should be just fine. gcc is as good as any of them.