When we talk with coders, we've discovered that their choice of editor is a highlly personal one — jEdit, UltraEdit, BBEdit ("It doesn't suck.®"), whatever. We'd be spanked if we didn't also mention Emacs and Vim, although we'll undoubtedly be spanked anyway for leaving out the rest of the dozens of editors out there.
Whatever your editor of choice may be, however, don't expect it to be replaced by anything offered on the iPad. With apologies to BBEdit, we're talking bare-bones.
That said, CodeToGo (99¢, three and a half stars) is well worth a buck to take a gander at. Although its marketing rap says "Finally, you can write and run code in your favorite programming language, on your iOS device!", you're not actually running the code on your iPad. Instead, CodeToGo links up with Ideone, an online compiler and debugger.
What CodeToGo lets you do is write code in any of 46 different languages, from Ada to the oddness that is Whitespace — then test it over an online link with Ideone. Think of CodeToGo more like a code sketchbook with proof-of-concept checking.
Yes, that top-listed language here in CodeToGo is, indeed, Brainfuck
More of an editor than the entertainment and exploration apps that is CodeToGo, for i - Code Editor for the iPad ($9.99, two and a half stars) is a syntax-highlighting editor into which you can load code from your Wi-Fi–connected computer and edit away — a code-jotting carry-along.
InCode ($2.99, three and a half stars) can't mange syntax highlighting, but its tabbed interface and folder structure eases the chore of keeping track of your projects. Don't think of it as a code editor per se, but as a text editor with decent file-management capabilities.
InCode makes it easy to import and manage code files from any source through iTunes
Finally, Mides IDE ($1.99, two stars) is a PHP IDE that's in need of some work — wait for version 2.0 before you take a look — and The Lemon ADE (free) is a PHP ADE — abstract syntax tree development environment — with an unusual interface that's worth checking out, considering the price.
If you search for "calculator" among iPad apps in the App Store, you'll discover well over 300, ranging from simple arithmetic helpers to specialized apps for finance, DASD tracks, solar eclipses, and more. We have two specifically designed for coders.
We particularly like 64 Bit Calculator HD (99¢, four and a half stars). Features include decimal, hexadecimal, octal, and binary conversions; ASCII and Unicode character displays; bitwise logic; unsigned 1's and 2's complements; byte and word flipping; and the ability to type in ASCII and Unicode strings; and more. Not bad for a buck, not bad at all.
64 Bit Calculator HD can provide multiple equivalencies for an ASCII El Reg
CoderCalc (99¢, three stars) has standard or reverse Polish notation modes and a multiline stack display. A scratch pad lets you flick around stack values, and a host of scientific, engineering, and programming functions are also provided. As with 64 Bit Calculator HD, CoderClac is a mere 99¢, so don't whine if it doesn't write your code for you as well.
Next page: User-Interface Tools
With the right privilege a run away pointer is a wondrous thing to behold and C is one of the few languages (above assembler) that lets you do this.
When you can code safely and reliably with C pointers, you have mastered the art of coding without shifting huge buffers of data needlessly around the place, and this skill holds good for higher level languages with proper pointer support.
I code micro-controllers as part of my electronics hobby (many years ago used to be my work, but now I enjoy it) and still think C is a great balance between total control and coding efficiency. I have to resort to assembler on occasion, but not that often, C is able to get most things done.
C isn't in memory lane yet
A lot of supposedly C++ is actually just C with a sprinkling of C++ flavouring dusted on the top. This is especially true or high performance and low level code. This is mainly because a large number of people who code in C++ knew C beforehand. In fact if a lot of new C++ coders learnt C first it would probably make their code a lot more readable and effecient. The number of times I've seen some bloated iostream abortion 2 lines long used to print out some formatted log message when printf() could have done it in 10 characters I've lost count of. Also the (mis)use of inefficient std::string by people who seem to have no clue how to string splice using pointers is legion.
Editing and virtual keyboards
Seeing how Apple's Numbers offers an alternative virtual keyboard layout when entering cell data, I was wondering why those code editing apps don't do the same. Without a numerical upper row, cursor movement keys and a few extra characters around, having to use the .?123 all too often will result in intense expletivity and genocidal impulses.
It already does in normal tasks.
Syntax error at subhead
You're missing an AND operator there, the correct syntax is:
!pointless && (useful || fun);
After briefly looking through the app store, I moved the not-pointless test to the head of the expression, so that can short-circuit the other tests...
The real problem is...
C coders who didn't code particularly well in C being unleashed on C++. I've seen numerous examples of legacy code done by people with that background which ends up with huge classes that do lots of different things. Or using polymorphism only to needlessly break it a few lines later. Or sprinkling mallocs in code. And so on...
Granted the problem isn't necessarily that they were C coders beforehand, but at least part of it is that they think functionally and with a C-mindset instead of a C++ one and didn't spend the time switching that mindset before starting to write C++. For what it's worth I agree that C++ coders should learn C first, for the same reason that I think any C-style OO language developer should have a grounding in C++ first.