Reply
Thread Tools
Jeffgrado's Avatar
Posts: 224 | Thanked: 29 times | Joined on Nov 2005
#1
I know there are threads here about learning programming, but they are usually for the general user.

I want to start programming native apps for the NITs. I have no programming experience, yet understand the basics from reading maemo.org wikis.

Are there any suggestions on how to begin this process? Books? Web sites?
 
Posts: 183 | Thanked: 115 times | Joined on Nov 2007 @ Seattle, WA
#2
I don't have any specific suggestions on references, but I do have some general suggestions.

First, you need to decide what language you want to start with. The consensus seems to be that Python is a great language to start with. It's fairly straight-forward, and you don't need to compile it. Plus, you can run Python as a command-line interface, so you can try out lines of code by themselves, without running the whole program.

I imagine that if you're interested in learning to program, you have some specific program in mind that you want to create. If not, come up with one. Start working on it. There are plenty of resources available for any common language via Google--you just have to search for what you need. I've found for myself that working on a program that I want/need to have is the best way to learn.
 
Posts: 43 | Thanked: 6 times | Joined on Feb 2009 @ Saint Paul, mn
#3
I am re-learning C(using a book I wouldn't reccomend), but Deitel and Deitel's Learning C is the best book that I have ever used on the subject. It's thick, its enormous and its all encompassing. The GUI stuff in the book will be focused around generic layouts...but the material is deep and thick and will thoroughly pull you into programming. There are programming courses that you can take online as well, which might force you to learn the complexities of the language.

The process would then stretch into learning gtk+, which is the basic set of tools upon which Hildon is based. The SDK is pretty good. I put it on dead trees and plan to read through the whole thing first. Sorry if this might sound daunting. To me, a python programmer, using the python bindings might be a quicjer start, but most everything out there that you might want to port is in C. C is the best place to be a really productive Maemo programmer. Not that I am...someday.
 

The Following User Says Thank You to gpmartinson For This Useful Post:
Jeffgrado's Avatar
Posts: 224 | Thanked: 29 times | Joined on Nov 2005
#4
I would like to dive right into C. I'm not concerned about portability, as this would only be a hobby. Thank you for the book suggestion.
 
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#5
A question would be: what do you want to do?

Starting from zero to C sounds like a big jump. But of course all depends on what you are looking for.
 

The Following User Says Thank You to qgil For This Useful Post:
Posts: 678 | Thanked: 197 times | Joined on Jul 2007 @ San Jose CA
#6
Originally Posted by qgil View Post
A question would be: what do you want to do?

Starting from zero to C sounds like a big jump. But of course all depends on what you are looking for.
Actually if you understand overall how things work that would be a big help. Linker, loader, compiler, .... Machine language, assembler,...
If you master a high level language you will feel at ease with the next one.

Set up a Linux machine, like Ubuntu, you will have gcc, a c c++ compiler, to play with and it's free. Play with gcc options to see how it produces machine codes and such.....

Good luck!
 
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#7
Sure if what you want is to learn the full set of principles of programming natively. If you are more driven by the end results, nowadays you might want to invest your time better on a runtime easier to manage.
 
igor's Avatar
Posts: 198 | Thanked: 273 times | Joined on Jan 2006 @ Helsinki, Finland
#8
One thing that should not be forgotten is that with Xterm running on the NIT, the experience can be quite similar to using a PC, so I think that even doing it the old way, taking the K&R "C Programming" and first getting familiar with the real basics is a good investment.

Even with plain old C and no bindings one can still use printf/scanf and have some IO.

Quim: it would be cool to start shipping also a compiler running on the device, as extra. If maemo would start to include also such tools, one would have a self contained system.

In 1997 I wrote a pspice clone on my TI-92 using the internal programming language; I see no reason why folks here should be deprived of the chance to have a similar experience
 

The Following 3 Users Say Thank You to igor For This Useful Post:
Posts: 263 | Thanked: 77 times | Joined on Jan 2009 @ Sigtuna, Sweden
#9
How about an assembler for the N 8x0 ?
( Or are there still to many closed parts in the system? )

I learned a LOT (in the 90:s) about the ARM processor and the innards of the Acorn Archimedes computer and the RISC OS operating system by assembler-programming a couple of OS modules that tweaked the system and patched an OS bug I found. ( The debugger was that good.)
( My previous training was some simple BASIC programming.)

....other things took my time, so C is still greek to me...
 
Reply


 
Forum Jump


All times are GMT. The time now is 01:09.