Skip navigation

Category Archives: Programming

Robot Turtles: The Board Game for Little Programmers is a board game that helps children ages 3 – 8 learn programming fundamentals. This kickstarter is past its funding goal and is developing an adult version of the rules as one of its stretch goals.

I think this is an awesome idea, I’m backing it myself and I’d like to help spread the word.

Below you will find the intro video for Robot Turtles.

void main (float turtle = robot) {

bool KickStart,Funded = True;

return fun;

}

Please visit Robot Turtles and check it out.

“Which programming language should I learn first?”

A question that’s been debated for 25.6 years… or so.

Most online discussions go back and forth about what the “best” first programming language to learn is.

 

My opinion: You should learn the language that fits best with what you are trying to carry out now.

 

If you are testing and need rapid prototyping and quick’n’dirty code, stick with interpreted languages.

If you have the luxury of time and know a bit more about what your constraints and end goal is (or if interpreted languages are too slow) move on to high level languages.

If you are working with very limited resources or have strict constraints (or if you need solid speed and efficiency in the product) then learn low-level languages. Most won’t need this level.

 

(For a primer on what interpreted, high and low-level languages are then please watch the below video by The Ben Heck Show.)

———————————————————————————————

To summarize the video, in general there are three levels to programming languages.

Interpreted languages (e.g. python, Perl) are easier to read for beginners, compiled at runtime and are generally slower.

High level languages (e.g. C, C++) are harder to read, compiled into machine code and are generally slower to create, quicker to run.

Low level languages (e.g. Assembly, Machine Code) are not human readable, are much more specific to the application/processor and are the quickest to run.

That is a very general description but it is a nice overview.

Only 1 week into my experiment with mobile programming with IDEOne and DeuterIDE and everything seems to be working as expected with an added bonus.

I definitely have to remember, and properly type everything in as there is no auto-complete. This is as expected.

IDEOne+DeuterIDE

The added benefit comes from the interaction between DeuterIDE and IDEOne. IDEOne creates a copy of any version of the program each time I compile with DeuterIDE (which I have linked to IDEOne from last post). This copy of the program could be perfect (probably not) or it could have many errors, bugs and typos.

That may not sound like a benefit but when I get to a desktop/tablet computer at a later time and go to IDEOne online I can go through all the older iterations of the program. The added benefit is that I get the opportunity to fix errors in my code.

In some cases I’ve already fixed the code once before and I should remember how to fix it – if I don’t remember how then I get to learn it again which hopefully sticks with me this time. In other cases I look into documentation to better understand what I am working with and fix the error while learning something new.

At this time I am quite satisfied with IDEOne plus DeuterIDE for mobile programming practice.

I’ve lately been searching for a way to learn Objective-C programming on a non-mac computer; hoping to find an online ide that also allows mobile coding using my android phone.

Don’t get me wrong, I understand that xcode with interface builder and the Apple developer tools is probably the easiest way to code with Objective-C, but that option is not always available.

My goal has been to find a solution that allows for on the go practice, not for programming final products.

The best option I’ve found so far is ideone.com.

Image

It is a no-frills experience and I’ll have to know the exact class and variable names (among other limitations) that I am trying to type.

It does not replace xcode in the slightest. Downsides include limited auto completion, lack of readily accessible documentation and there are plenty of other xcode features that it does not have.

Ideone is not trying to replace xcode; in fact it is trying to be an “online mini IDE and debugging tool” for over 40 languages. So, Ideone allows me to test out code in my spare time and in such a way that I have to remember the actual class names (which should help with code memorization).

I’d be learning to code… as I’m trying to do.

But, what about mobile?
DeuterIDE, a mobile compiler and IDE (as their tagline suggests), seems to be the key here.

Image

DeuterIDE uses the ideone.com api to allow for local code and text manipulation along with server-side compiling allowing your android phone to do some on the go compiling and coding.

Now I can practice Objective-C programming while waiting in lines or during blue screens.

If this combination works I’ll try to remember to do a follow-up sharing my experience.

The other day I was trying to find somewhere online that I could watch videos of people coding Objective-C or C++, as an added way to learn to code. I didn’t find exactly what I was looking for, but I did find a site that lets you watch HTML5, CSS3 and JavaScript.

Image

If you enjoy watching people code (at least 5x as fast as normal) and seeing in real-time the results you should check out TheCodePlayer.

The other cool thing about this site is you can pause at any time and modify the code yourself and see the results in real-time.

%d bloggers like this: