Fw: C vs C++ for GTK





----- Forwarded Message ----
From: JAMES SCOTT <skoona verizon net>
To: Michael L Torrie <torriem chem byu edu>
Sent: Monday, November 26, 2007 2:37:18 PM
Subject: Re: C vs C++ for GTK

To list members following this subject: I have a question - not a flame, as I try to understand the diversity 
of responses to this topic.

How many of you who have suggested "Patrick" learn something other than C, know C already for yourself.  Over 
the course of my experience I have found that learning assembler and C for a given platform has helped me 
better understand and use that platform.  Also, knowing C make picking up or reading other languages like - 
python, php, perl, and many others easier.

I'm assuming that, those of you who are pointing another way - already know C!  Why not let Patrick follow 
your well worn path through C/GLIB/GTK2, maybe he will come out afterwards to C++,
 Python, or some other door.

Yes, my preference is C/GLib/Gtk+.  But I use lots of other when needed.

James,
"Just another Hobbyist and Professional Developer: 35+ years"

----- Original Message ----
From: Michael L Torrie <torriem chem byu edu>
To: Patrick <optomatic rogers com>
Cc: gtk-app-devel-list gnome org
Sent: Monday, November 26, 2007 1:11:07 PM
Subject: Re: C vs C++ for GTK

Patrick wrote:
Hi Everyone.

Sorry for the flame war bait, I know how passionate language debates 
get  but I need some guidance. I am using PyGTK right now and I am
 happy 
with it, but a day is coming soon were the speed limitations and 
less-then-straight-forward threading will be an issue.

I don't see any reason at all why a GUI done with PyGTK should be any
slower than a GUI done with straight C.  Thus I don't see any
 compelling
reason to abandon Python for C or C++.

That said, however, Python sometimes isn't the right language to use
 for
computationally-intensive tasks.

Personally I think you are going about this the wrong way.  You could
 be
wanting to do premature optimization.  Rather than trying to replace
python, you should consider either extending python with C or C++, to
replace the slowest and most-used computational paths, and stick with
python for everything else. It's very easy to write python modules in C
(10 hours to learn), or C++ (Boost makes it easy to wrap C++ classes
 and
functions).  Alternatively you can code in C or C++ and embed Python to
drive your GUI.


I figure my next move should be to learn C or C++. I would like to
 stay 
up-to-date with things and I would like to be able to reuse GTK code 
from other Apps.

When it comes to the basic API, translating a code-generated GUI
 between
python and C++ (with GTKmm) should be very simple.  Even translating it
to C won't be that hard either, except that you don't have an easy way
to bind callbacks to a particular instance of data without some work,
like setting data values and using the void *data argument on the
 callbacks.


I thought that C++ must be the way to go as it can do everything that
 C 
can "plus plus" but some heavy hitters don't seem enthused with it, 
Linus Torvalds in particular has been quoted as calling it a
 "horrible 
language".

From my experience it is those that don't understand C++ and how to
wield it that describe it that way.  Torvalds is biased anyway, since
he's focused on kernel programming.


I can only spend 8-12 hours a week programming, I am not a
 professional 
programmer, is C++ to complicated? Is C going out of date? Am I
 limited 
with C?

C++ is complicated, but not overly so.  I feel that coming from Python,
C++ is probably going to be easier for you to move to than C.

Again, though, I think


Thanks-Patrick




_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list



-- 
Michael Torrie
Assistant CSR, System Administrator
Chemistry and Biochemistry Department
Brigham Young University
Provo, UT 84602
+1.801.422.5771

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list










[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]