119 iPad apps for admins, coders and geeks
Useful || fun ! pointless; // for coders*
Part two: Previously, The Reg pointed sysadmins toward a slew of iPad apps that might brighten their workaday worlds. The target market for today's second installment of our iPad-app round-up is coders.
If you missed our first installment of "119 iPad apps for admins, coders, and geeks", you might want to take a quick peek at its intro, and read our caveats on testing, ratings, and expectations.
The same rules apply to this week's episode, in which we delve into inexpensive apps for programmer training, code editing, user-interface development, programming-language reference, and two iPad-based clocks designed to tickle your inner geek.
We all have to start somewhere, and the journey of a thousand lines of code starts with the first keystroke — so here are a few training tools available in the App Store, some to get you started, some to ease you along your way, and some to test or hone your smarts.
Said testing and honing is what C++ Cheat Sheet ($1.99, four and a half stars) is designed to do. According to its developer, this code sample–laden app is good for test preparation or for "reviewing for an interview." We would, however, have appreciated a keyword search.
C++ Cheat Sheet offers proof positive that coders have class
If you want to step back to basics, Learn C ($1.99, three stars) can give you help in the ur-language of ANSI C. If you spend your days wrestling with C++ or Objective C, Learn C can offer a pleasant stroll down memory lane.
An arguably more practical education can be had with JAVA Technologies ($9.99). According to this app's developer, in it you'll find info on both basic and advanced Java, basic and advanced swings, servlets and applets, security, and J2EE.
The same developer who put together JAVA Technologies, Impressol, offers SQL & PL/SQL ($9.99) and UNIX Programming ($5.99). We'll leave it up to you to determine what those two tutorials cover. Shouldn't be hard.
If you're not ready for quite as deep a dive as is offered by SQL & PL/SQL, iSQL Lite (99¢, two and a half stars) is, well, lite.
As might be assumed, the App Store has a few apps that focus on coding for the iPad/Phone/Pod. SDK Tutorials HD ($1.99, four stars) got high marks from App Store users for its tutorials and code snippets, although we found its UI — especially its black-on-blue text — more fussy than friendly.
SDK Tutorials HD has good info buried in an eye-straining design
Both App Workshop ($4.99, three and a half stars) and CodingPad ($5.99, two and a half stars) are also iPad/Phone/Pod-centric, and both receive mixed reviews. But at least their textual info is easy to read.
Next page: Editing
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.