<DIV>Hi</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks James and Jono</DIV>
<DIV>&nbsp;</DIV>
<DIV>Your advice is most helpful. I don't intend to do web programming so this rules out the likes of Python, PERL etc. My aim is to do apps for Linux. Therefore I will go with C++. I have done some programming with VB6 and can get my head around variables, loops, etc. and I am quite good a picking info from books, tutorials etc. Where I think I will get stuck is in getting to know how to&nbsp;code and make use of some of the advanced functions in C++. </DIV>
<DIV>&nbsp;</DIV>
<DIV>As far as programming Linux itself, do I need that expertise? What I mean is if I want to trouble shoot a hardware configuration problem, or if I want to tweak functionalities will I need to know C?&nbsp; Another angle is that for&nbsp; me to understand and use the &nbsp;command line and get the most out of Linux do I need to know C? Or is it just a case of getting to know the command line syntax?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Cheers</DIV>
<DIV>&nbsp;</DIV>
<DIV>Mo</DIV>
<DIV><BR><BR><B><I>Jono Bacon &lt;jonobacon@yahoo.com&gt;</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Heya,<BR><BR>Great well reasoned response James.<BR><BR>I think the choice of language is largely dependent on<BR>what you want to do and how much you know. If you are<BR>new to programming, I recommend that you don't go feet<BR>first at C or C++. You can do, and if you are up for<BR>the challenge it can be worthwhile, but for a beginner<BR>they are quite heavy going. Python is certainly a<BR>popular choice as a higher level language and you can<BR>find out more about Python from Aq.<BR><BR>&gt;From my understanding, you are interested in writing<BR>KDE and Qt apps. Firstly, I can wholehearted recommend<BR>Qt as a GUI toolkit, and KDE does add some useful<BR>extensions that merge your application into the KDE<BR>desktop. If this is the route you want to take, C++ is<BR>the language of choice. Like James said, C and C++ are<BR>quite similar but very different. I don't
 recommend<BR>learning C and then C++ second as you will have to<BR>"unlearn" a lot of stuff. If Qt/KDE apps are your aim,<BR>C++ is a good starting block as Qt and KDE are coded<BR>in C++ (although there are some other bindings fore<BR>languages, C++ is by far the most commonly used and<BR>officially supported language).<BR><BR>If you want to do web programming, there are a number<BR>of options. I recommend PHP as it is simple and<BR>productive and works very well. Python can also be<BR>used, as can Perl and countless others.<BR><BR>There are plenty of tutorials out there for all of<BR>these languages. Good luck.<BR><BR>Jono<BR><BR>--- James Turner <JAMES@TURNERSOFT.CO.UK>wrote:<BR>&gt; On Sat, 13 Dec 2003, Mo Awkati wrote:<BR>&gt; <BR>&gt; &gt; Hi Folk<BR>&gt; &gt; <BR>&gt; &gt; Before I go and spend my hard earned money at<BR>&gt; Waterstones on a book <BR>&gt; &gt; to read over Xmas, I could with some advice<BR>&gt; please.<BR>&gt; &gt;<BR>&gt; &gt; I want to start learning to
 programme under Linux.<BR>&gt; They way I <BR>&gt; &gt; understand it is that if I want to programme Linux<BR>&gt; itself so that it <BR>&gt; &gt; runs tasks, then I need to know C?<BR>&gt; <BR>&gt; Not necessarily - there are lots of programming<BR>&gt; languages available on <BR>&gt; Linux. C is still the prefered language for writing<BR>&gt; low-level code such as <BR>&gt; the kernel or server applications, but you may find<BR>&gt; a higher level <BR>&gt; language less heavy going and more productive. Do<BR>&gt; you have any previous <BR>&gt; programming experience?<BR>&gt; <BR>&gt; (cue recommendations by the various language<BR>&gt; advocates on the list)<BR>&gt; <BR>&gt; &gt; I got a book out of the library <BR>&gt; &gt; called Programming Linux in 24 Hours (in my case<BR>&gt; 12 months) by SAMS. <BR>&gt; &gt; This particular book uses Red Hat. From my very<BR>&gt; little knowledge it uses <BR>&gt; &gt; gcc. Is this a Gentoo thing?<BR>&gt; <BR>&gt; gcc stands for GNU Compiler
 Collection, a set of<BR>&gt; compilers including C, <BR>&gt; C++, Objective C, ADA, Fortran, Java, etc. The term<BR>&gt; is also used to refer <BR>&gt; specifically to the GNU C Compiler, which is invoked<BR>&gt; using the command <BR>&gt; gcc. The GNU Compiler Collection should be available<BR>&gt; for most/all Linux <BR>&gt; distributions.<BR>&gt; <BR>&gt; &gt; Do I need to look for another book if I use KDE as<BR>&gt; I will probably <BR>&gt; &gt; migrate to SUSE?<BR>&gt; <BR>&gt; Well, does "Programming Linux in 24 Hours" include<BR>&gt; material on KDE at a <BR>&gt; level you find understandable, in conjunction with a<BR>&gt; programming language <BR>&gt; you would like to learn/use? For KDE development it<BR>&gt; shouldn't matter what <BR>&gt; distro you use.<BR>&gt; <BR>&gt; &gt; I think I am clear that if I want to creat<BR>&gt; applications that will run <BR>&gt; &gt; under Linux I can use KDevelop and Qt.For this I<BR>&gt; will need to learn to <BR>&gt; &gt; programme with
 C++.<BR>&gt; <BR>&gt; You may like to have a go at developing with Qt<BR>&gt; Designer, which lets you <BR>&gt; implement the user interface using a fairly<BR>&gt; streightforward "point and <BR>&gt; click" interface, then add C++ code to turn it into<BR>&gt; a working application.<BR>&gt; <BR>&gt; &gt; Top save myself the headache, I know that C and<BR>&gt; C++ are related but <BR>&gt; &gt; there are differences, do I need to learn both C<BR>&gt; and C++?<BR>&gt; <BR>&gt; C++ was originally a set of extensions to C,<BR>&gt; introduced primarily to <BR>&gt; provide better support for object oriented<BR>&gt; programming (OOP). The language <BR>&gt; also introduced several other non-OOP features, many<BR>&gt; of which were later <BR>&gt; added to C.<BR>&gt; <BR>&gt; Which of these you learn (if any) depends on what<BR>&gt; sort of programming you <BR>&gt; would like to do. The object-oriented features of<BR>&gt; C++ make it the more <BR>&gt; suitable for writing GUI applications such
 as those<BR>&gt; commonly found on KDE <BR>&gt; or GNOME desktops, while C may be more appropriate<BR>&gt; for writing <BR>&gt; certain low-level utilities, tools or contributing<BR>&gt; to the kernel.<BR>&gt; <BR>&gt; With several minor exceptions, all the features of C<BR>&gt; are also available in <BR>&gt; C++, so if you have cause to learn C first you can<BR>&gt; then continue to C++ <BR>&gt; more easily. However, neither are particularly easy<BR>&gt; "first languages" if <BR>&gt; you're just starting to learn how to program.<BR>&gt; <BR>&gt; I also suggest taking a look at Python, or (if<BR>&gt; you're interested in <BR>&gt; server-side web programming) PHP.<BR>&gt; <BR>&gt; Does anyone else on the list have any suggestions?<BR>&gt; <BR>&gt; James<BR>&gt; <BR>&gt; <BR>&gt; _______________________________________________<BR>&gt; Wolves LUG mailing list<BR>&gt; Homepage: http://www.wolveslug.org.uk/<BR>&gt; Mailing list: Wolves@mailman.lug.org.uk<BR>&gt; Mailing list home:
 http://mailman.lug.org.uk/mailman/listinfo/wolves<BR><BR>=====<BR>Jono Bacon - http://www.jonobacon.org/<BR>Professional Writer / Web Developer / Musician<BR><BR>__________________________________<BR>Do you Yahoo!?<BR>New Yahoo! Photos - easier uploading and sharing.<BR>http://photos.yahoo.com/<BR><BR>_______________________________________________<BR>Wolves LUG mailing list<BR>Homepage: http://www.wolveslug.org.uk/<BR>Mailing list: Wolves@mailman.lug.org.uk<BR>Mailing list home: http://mailman.lug.org.uk/mailman/listinfo/wolves</BLOCKQUOTE><p><hr size=1><font face="Arial" size="2">  <a href="http://uk.rd.yahoo.com/evt=21064/*http://btyahoo.yahoo.co.uk "><b> BT Yahoo! Broadband</b></a> - Save £80 when you order online today. Hurry! Offer ends 21st December 2003. The way the internet was meant to be. 
</font>