Reply
Thread Tools
panjgoori's Avatar
Posts: 1,236 | Thanked: 1,278 times | Joined on Aug 2011 @ Balochistan
#1
Hello Maemo Community. I also want to develop for Nokia N900/Maemo 5 but I have no programming skills . and I also don't know C++. Is there are any guides from which i can also develop for Maemo 5 ? I really want to develop apps for N900 as i love my device alot.

Thanks everyone.
 

The Following User Says Thank You to panjgoori For This Useful Post:
electroaudio's Avatar
Posts: 381 | Thanked: 336 times | Joined on Jan 2011 @ Stockholm, Sweden
#2
Start with python, it is a much easier language to learn for a beginner and there are plenty of beginner tutorials on the net and almost all that is linuxrelated will work on the N900 too. (The N900 uses GTK for windowmanagement)

To learn C/C++ you should learn assemblyprogramming first. that will make it a lot easier to understand C since C only obfuscates the machinecode below..
( A simple tutorial on assembler, on a cpu wich relies heavily on pointers and similar C specific stuff, http://www.cosmacelf.com/shortcourse.htm )
__________________
Deskypplet , a desktop for N900 *RIP*

Last edited by electroaudio; 2013-01-22 at 10:42.
 

The Following 4 Users Say Thank You to electroaudio For This Useful Post:
jedi's Avatar
Posts: 1,411 | Thanked: 1,330 times | Joined on Jan 2010 @ Tatooine
#3
Originally Posted by electroaudio View Post
To learn C/C++ you should learn assemblyprogramming first. that will make it a lot easier to understand C since C only obfuscates the machinecode below..
What a load of utter crap! Try this. And This.
__________________
May the source be with you.
 

The Following 10 Users Say Thank You to jedi For This Useful Post:
electroaudio's Avatar
Posts: 381 | Thanked: 336 times | Joined on Jan 2011 @ Stockholm, Sweden
#4
Originally Posted by jedi View Post
What a load of utter crap!
So, do you understand what a pointer is and *why* it exists!?
-Or is it somekind of "magic" for you?

Assembler is *very* easy. And pointers and such stuff that a beginner can have a hard time with in C is very obvious when you have a grasp of how and why assembler works as it does.
__________________
Deskypplet , a desktop for N900 *RIP*
 

The Following User Says Thank You to electroaudio For This Useful Post:
Community Council | Posts: 4,920 | Thanked: 12,867 times | Joined on May 2012 @ Southerrn Finland
#5
To understand pointers it is not necessary to know about ML
Just visualizing memory address space is enough
 

The Following 5 Users Say Thank You to juiceme For This Useful Post:
electroaudio's Avatar
Posts: 381 | Thanked: 336 times | Joined on Jan 2011 @ Stockholm, Sweden
#6
Originally Posted by juiceme View Post
To understand pointers it is not necessary to know about ML
Just visualizing memory address space is enough
Yes, but that is something that is very obvious while learning assembler.
-As i see it, its much better to spend an afternoon to learn how ML works instead of spending months on trying to decode the "magic" behind C.

For instance.
set adress 0200 and forward in the memory to "hello world$" then write.

Mov ah,09
mov dx, 0200
call function int 21h

will print "Hello world" on the screen.

-This little routine is easy to understand, and everything from pointers to functioncalls and their parameters are explained here.
..and,everything with numbers like boolean long short signed and unsigned integers and float ... why they exist and why you cant mix them, is also very obvious when you have a grasp of how ML/assembler works.
__________________
Deskypplet , a desktop for N900 *RIP*

Last edited by electroaudio; 2013-01-22 at 11:20.
 

The Following 3 Users Say Thank You to electroaudio For This Useful Post:
jedi's Avatar
Posts: 1,411 | Thanked: 1,330 times | Joined on Jan 2010 @ Tatooine
#7
Originally Posted by electroaudio View Post
Yes, but that is something that is very obvious while learning assembler.
-As i see it, its much better to spend an afternoon to learn how ML works instead of spending months on trying to decode the "magic" behind C.

For instance.
set adress 0200 and forward in the memory to "hello world$" then write.

Mov ah,09
mov dx, 0200
call function int 21h

will print "Hello world" on the screen.

-This little routine is easy to understand, and everything from pointers to functioncalls and their parameters are explained here.
..and,everything with numbers like boolean long short signed and unsigned integers and float and why you cant mix them, is also very obvious when you have a grasp of how ML/assembler works.
Code:
#include <stdio.h>
int main () {
printf ("Hello World!\n");
}

Probably best to let the OP decide what's the easiest path...
__________________
May the source be with you.
 

The Following 7 Users Say Thank You to jedi For This Useful Post:
Posts: 1,523 | Thanked: 1,997 times | Joined on Jul 2011 @ not your mom's FOSS basement
#8
Yeah, and because you'll first have to understand the hardware before actually learning & understanding ML, and even something before that, i'll trow in a recent freebie: Understanding quantum physics in three easy lessons.

People.



Next: someone chokes up that HTML5/webcrapps actually are da shiznit. I really expect this to happen here.
 

The Following 7 Users Say Thank You to don_falcone For This Useful Post:
electroaudio's Avatar
Posts: 381 | Thanked: 336 times | Joined on Jan 2011 @ Stockholm, Sweden
#9
Originally Posted by don_falcone View Post
Yeah, and because you'll first have to understand the hardware before actually learning & understanding ML, and even something before that, i'll trow in a recent freebie: Understanding quantum physics in three easy lessons.

People.
To understand the necessary hardware in a simple cpu to be able to program it in assembler is very easy.
All you need to know is that there are registers and how these registers are used to access memory. There are even PICTURES aviable...
It is so simple that any small kid (except don_falcone, obviously...) can learn it in a day.

...Also, *DONT* confuse assembler with machinelanguage...
There is a *GREAT* difference in the language between ML and assembler.

__________________
Deskypplet , a desktop for N900 *RIP*

Last edited by electroaudio; 2013-01-22 at 12:27.
 

The Following User Says Thank You to electroaudio For This Useful Post:
Posts: 114 | Thanked: 298 times | Joined on Jan 2011 @ Berlin
#10
[OT]
Originally Posted by electroaudio View Post
...Also, *DONT* confuse assembler with machinelanguage...
There is a *GREAT* difference in the language between ML and assembler.
Well, actually there is usually a bijective map between the two, assembler being the human friendlier version of ML.
The greatest downside of assembler is, that there's a unique language for each instruction set. The principles don't change very much (but remember: ARM is a RISC architecture), but to learn the priciples (pointer etc.) you don't need the language (as said before).

[/OT]

@panjgoori: I agree that Python is a good choice, it even has bindings to Gtk and Qt. However starting with Qt and C++ is also possible since Qt only needs a tiny portion of the features of C and C++ on your side (it uses more of them internally). Another advantage is, that you don't need to install scratchbox. Qt SDK comes with a tool called "mad" that alows you to use the same comands for building the software for normal Linux and Maemo (e.g. "dpkg-buildpackage" becomes "mad dpkg-buildpackage").
 

The Following User Says Thank You to frafI For This Useful Post:
Reply

Tags
beq r1, bx argue, if (seekadvice), return argue();

Thread Tools

 
Forum Jump


All times are GMT. The time now is 15:32.