Using Qt for possible multiplatform program???

K

Kyle

Hello all!

I'm looking into developing a biological program for modeling and
sequencing DNA and other biological processes. The program's main
focus would be to look for similarities and differences between
different models of experiments. I would also being using information
from this website in my work also:

http://www.ncbi.nlm.nih.gov/

Knowing this I would like it to be as multiplatform as possible since
many different companies use all kinds of flavors of Unix as well as
Windows and whatnot.

So my question is, is Qt a viable option for doing this or should I
simply code the program in C++ and worry about porting later? I want
to save as much time as possible, without sacrificing efficiency.
Another possible issue is that I'm looking at possibly using Python
and writing a script for it when I'm done coding in C++, but I see the
Trolltech has a new scripting language so would this become an issue
down the road?

http://www.trolltech.com/products/qt/index.html

Thanks for your input! By the way, I'm just beginning to learn C++ by
reading Sam's Teach yourself C++ in 21 days and then I plan to read
The C++ Programming Language, so go easy on me because I'm a newbie.
:)
 
V

Victor Bazarov

Kyle said:
[...]
So my question is, is Qt a viable option [...]

I think Qt is just as viable as any other cross-platform
UI library. And, as usual, when using a library you want
to create an abstraction layer so that if you need to
replace it with another library, minimal code would be
changed.

Victor
 
P

Peter van Merkerk

I'm looking into developing a biological program for modeling and
sequencing DNA and other biological processes. The program's main
focus would be to look for similarities and differences between
different models of experiments. I would also being using information
from this website in my work also:

http://www.ncbi.nlm.nih.gov/

Knowing this I would like it to be as multiplatform as possible since
many different companies use all kinds of flavors of Unix as well as
Windows and whatnot.

So my question is, is Qt a viable option for doing this or should I
simply code the program in C++ and worry about porting later?

Qt is a viable option if the supported platforms suffice and its licence
is acceptable to you. Another viable alternative might be WxWindows
(http://www.wxwindows.org). It is better to write you program with
portability in mind from the start. If you don't will probably end up
rewritting the entire application, or at least a major part of it, when
you need to support another platform. It is also wise to clearly
separate the GUI related code from the rest of the application.
I want
to save as much time as possible, without sacrificing efficiency.

I you want to save time, carefully look at the tooling that comes with
the GUI kit. Depending on the specifics, good tooling can mean you don't
have to write hardly any code for the GUI stuff. Efficiency is usually
not a big concern with GUI code, the user really does not care whether
the application responds in 10 ms or 1 ms to a button click, even when
it means a 10 times improvement. Code for clarity first, if needed
optimize later.
Another possible issue is that I'm looking at possibly using Python
and writing a script for it when I'm done coding in C++, but I see the
Trolltech has a new scripting language so would this become an issue
down the road?

http://www.trolltech.com/products/qt/index.html

Thanks for your input! By the way, I'm just beginning to learn C++ by
reading Sam's Teach yourself C++ in 21 days and then I plan to read
The C++ Programming Language, so go easy on me because I'm a newbie.

I don't know "Teach yourself C++ in 21 days", but its title makes me
feel a bit suspicious. "Accelerated C++"
(http://www.acceleratedcpp.com/ ) is usually recommended as an excellent
beginners C++ book.
 
P

Peter Gregory

Knowing this I would like it to be as multiplatform as possible since
many different companies use all kinds of flavors of Unix as well as
Windows and whatnot.

Why not use Java? Its completely portable (and quicker to learn [and
harder to mess up in] than C++).

Seems a grand project for a newbie, good luck!

Pete
 
E

Evan

Peter van Merkerk said:
Qt is a viable option if the supported platforms suffice and its licence
is acceptable to you. Another viable alternative might be WxWindows
(http://www.wxwindows.org). It is better to write you program with
portability in mind from the start. If you don't will probably end up
rewritting the entire application, or at least a major part of it, when
you need to support another platform. It is also wise to clearly
separate the GUI related code from the rest of the application.

Qt I think will be my toolkit of choice next time I need one. Be aware
though that you need to run it through a preprocessor separate from
any standard C or C++ implementation first, so any system you wish to
compile on must have this. (Of course, you need the libraries anyway,
so it's not a big deal, but it does add another step to the build
process.)
[snip]
Thanks for your input! By the way, I'm just beginning to learn C++ by
reading Sam's Teach yourself C++ in 21 days and then I plan to read
The C++ Programming Language, so go easy on me because I'm a newbie.

I don't know "Teach yourself C++ in 21 days", but its title makes me
feel a bit suspicious. "Accelerated C++"
(http://www.acceleratedcpp.com/ ) is usually recommended as an excellent
beginners C++ book.

I got the Sams book for free at a summer camp two years ago. I haven't
actually read through it or anything, but I do use it for reference
sometimes. I have to say that it seems decent. I think pretty much
your average intro book. Nothing really wrong with it I think, but I
don't think it's great either.
 
K

Kyle

I don't know "Teach yourself C++ in 21 days", but its title makes me
I've heard Teach yourself C++ in 21 days is pretty good as a beginner
book. It seems to explain concepts really well and gives decent
examples.

I'll recommend the same thing that was recommended to me --The C++
Programming Language by Bjarne Stroustrup. Many may find that the C++
Programming Language is a bit difficult for beginners but I have found it to
be very rewarding and educational.

This is actually next in line even before you mentioned it so I'm glad
I got some good advice about it.

BTW, this is obviously a long term project so learning is always
first!
 
F

Fao, Sean

Kyle said:
This is actually next in line even before you mentioned it so I'm glad
I got some good advice about it.

BTW, this is obviously a long term project so learning is always
first!

Glad to hear that you're taking the initiative to get up-to speed first.

Work through the projects in Stroustrup, they might seem boring but they
serve a vital purpose. I wouldn't say you have to work through all of them
(unless you want to) but pick some of the more difficult ones and see if you
can do them.

BTW, I'm also still in the process of learning C++. I've been reading a
combination of books for the past few months. I took C++ in college but I
still didn't feel totally confident. After reading through the first eight
chapters of The C++ Programming Language, already I had a much better
understanding. I can't wait to get into the more advanced areas.

Good luck,

Sean
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top