Reply
Thread Tools
Posts: 108 | Thanked: 53 times | Joined on Jan 2010 @ Chicago
#1
I have no programming experience at all. I do know what I would like in an app and I have ideas that I would like to see done but without having other people do all the work.
I'm thinking QT would be good but I am curious to know if I should know something else before I start with it-e.g. C, C++, python(I think). Is QT a language all to itself? I was impressed with the QT weather example in the extras-devel and since I am confident I am ready I would just like someone to point me in the right direction. If QT takes off I'm thinking it would be nice to develop for the n900 and have everyone else use it because they find it useful on their device also. Don't get me wrong, I do plan on partnering with people and producing commercial grades apps and making money like ten years from now. But I would like to bless the community like I have been by the overclocking forum(lehto, titan, the other guy), to the fm transmitter dude, and to just everybody solving problems.

I have no experience at all. I do troubleshoot pcs and can take one apart and build it but no programming experience. I am familiar with windows 7, xp, vista. Can you help?
 
Posts: 88 | Thanked: 28 times | Joined on Feb 2010 @ Hyderabad, India
#2
Originally Posted by gom4381 View Post
I have no programming experience at all. I do know what I would like in an app and I have ideas that I would like to see done but without having other people do all the work.
I'm thinking QT would be good but I am curious to know if I should know something else before I start with it-e.g. C, C++, python(I think). Is QT a language all to itself? I was impressed with the QT weather example in the extras-devel and since I am confident I am ready I would just like someone to point me in the right direction. If QT takes off I'm thinking it would be nice to develop for the n900 and have everyone else use it because they find it useful on their device also. Don't get me wrong, I do plan on partnering with people and producing commercial grades apps and making money like ten years from now. But I would like to bless the community like I have been by the overclocking forum(lehto, titan, the other guy), to the fm transmitter dude, and to just everybody solving problems.

I have no experience at all. I do troubleshoot pcs and can take one apart and build it but no programming experience. I am familiar with windows 7, xp, vista. Can you help?
This might give you a quick start http://talk.maemo.org/showthread.php?t=43663
 

The Following User Says Thank You to avinashsonee For This Useful Post:
Posts: 109 | Thanked: 56 times | Joined on Apr 2009
#3
QT is a toolkit for creating user interfaces, so you use QT to compliment a programming language to easily make things like text boxes and buttons, for example. I would suggest starting with python (which you can code for and run right on your NIT device), and then, once you're comfortable with the language by itself (just using it in the command line), tie in QT to start making consumer accessible applications.

Quick note on python vs C/C++ - python is much easier to code for at the expense of system resources. When I was in your shoes, I would be thinking that if that is the case, clearly, C/C++ is the way to go. Stick with python when you're starting out, you will be much happier.

With python, you can easily write your code on your current windows operating system, but eventually you're going to want to switch to a linux distribution. An easy way to use a linux distro for programming would be to virtualize the maemo sdk image (essentially Ubuntu with a bunch of tools added on for programming maemo), giving you access to all of the tools from within your windows OS. - http://maemovmware.garage.maemo.org/2nd_edition/
 

The Following User Says Thank You to notnarb For This Useful Post:
Posts: 282 | Thanked: 337 times | Joined on Dec 2009 @ Austin, TX, USA
#4
I would suggest you do the following:

1. Install python on your computer and go through a python tutorial. It is a good language for learning programming, even though it is a bit loosy-goosy compared to Java or C++ and lets you get away with lots of things the other languages do not let you do. And though it is simpler to work with than C++, you can create first-class programs for the N900 with python (and the end user won't even know the difference).

2. Use python to write the meat of your program, minus the user interface. For example, if you are writing a program to convert among feet, miles, inches, and meters, write the python routines to do those conversions and get it working in a generic fashion so that when you later add the graphical interface, all you have to do is plug in the numbers. (In python you don't have to use Objects, which you will learn about, but to mesh with QT it will be important to understand how to program with objects.)

3. Once you have a grasp on object oriented programming with Python, you can install QT and PyQT on your computer and go through the tutorialsexercises for those. (Some might tell you to use PySide instead of PyQT. I don't have any dog in that fight...I just know that PyQT was pretty easy to install on my linux system and it works on the N900, and you can always switch later with little pain if you need to.)

4. Once you have a grasp on PyQT, you are ready to add a UI to your app. Get the interface working on your computer, then you can copy the app to your phone and test it there.

Step 1 should keep you busy enough for a while, and then you will soon be on your way to writing phone apps. And learning python is not just N900 focused...you will be able to use those skills for programming on any platform, or parley what you have learned into learning the specifics of Java, PHP, C++, C#, or any other language you decide to take up in the future.

Good luck.
 

The Following 5 Users Say Thank You to rmerren For This Useful Post:
Posts: 38 | Thanked: 16 times | Joined on Dec 2009
#5
While I already had some minor experience from programming using C++ (and BASIC ages ago..), I found using Python great for figuring out Qt. The best thing about it is that you can instantly rerun the script after changes without the need for tedious compiling. When I need to change the same line 10 times to get it right, that surely adds up.

Setting up Qt/PyQt/Eric was a bit of a hassle, but once I got it all right it sure pays off.
 

The Following User Says Thank You to low life For This Useful Post:
fgs's Avatar
Posts: 77 | Thanked: 85 times | Joined on Feb 2008 @ Italy
#6
This is probably the most comprehensive guide:
http://wiki.forum.nokia.com/index.ph...velopers_Guide

Since the next Fremantle firmware update (PR 1.2) will have Qt 4.6 built-in, dependency and packaging should become a little easier.
Anyway, for now you can happily ignore such aspects and start learning basics of C++ and Qt.
__________________
My blog on technology and humanity, with a good amount of Maemo: http://fgs.altervista.org/
 
lostinmirkwood's Avatar
Posts: 128 | Thanked: 232 times | Joined on Sep 2009 @ New Jersey, USA
#7
Setting up Qt/PyQt/Eric was a bit of a hassle, but once I got it all right it sure pays off.
Agreed on both accounts. I still don't have a reliable auto-complete, at least not up to visual studio standards, But the ability to test quickly and with version control support, It seems the way to go.
 
Reply


 
Forum Jump


All times are GMT. The time now is 04:46.