<DIV>Hi</DIV>
<DIV> </DIV>
<DIV>Thanks James and Jono</DIV>
<DIV> </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 code and make use of some of the advanced functions in C++. </DIV>
<DIV> </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? Another angle is that for me to understand and use the 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> </DIV>
<DIV>Cheers</DIV>
<DIV> </DIV>
<DIV>Mo</DIV>
<DIV><BR><BR><B><I>Jono Bacon <jonobacon@yahoo.com></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>>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>> On Sat, 13 Dec 2003, Mo Awkati wrote:<BR>> <BR>> > Hi Folk<BR>> > <BR>> > Before I go and spend my hard earned money at<BR>> Waterstones on a book <BR>> > to read over Xmas, I could with some advice<BR>> please.<BR>> ><BR>> > I want to start learning to
programme under Linux.<BR>> They way I <BR>> > understand it is that if I want to programme Linux<BR>> itself so that it <BR>> > runs tasks, then I need to know C?<BR>> <BR>> Not necessarily - there are lots of programming<BR>> languages available on <BR>> Linux. C is still the prefered language for writing<BR>> low-level code such as <BR>> the kernel or server applications, but you may find<BR>> a higher level <BR>> language less heavy going and more productive. Do<BR>> you have any previous <BR>> programming experience?<BR>> <BR>> (cue recommendations by the various language<BR>> advocates on the list)<BR>> <BR>> > I got a book out of the library <BR>> > called Programming Linux in 24 Hours (in my case<BR>> 12 months) by SAMS. <BR>> > This particular book uses Red Hat. From my very<BR>> little knowledge it uses <BR>> > gcc. Is this a Gentoo thing?<BR>> <BR>> gcc stands for GNU Compiler
Collection, a set of<BR>> compilers including C, <BR>> C++, Objective C, ADA, Fortran, Java, etc. The term<BR>> is also used to refer <BR>> specifically to the GNU C Compiler, which is invoked<BR>> using the command <BR>> gcc. The GNU Compiler Collection should be available<BR>> for most/all Linux <BR>> distributions.<BR>> <BR>> > Do I need to look for another book if I use KDE as<BR>> I will probably <BR>> > migrate to SUSE?<BR>> <BR>> Well, does "Programming Linux in 24 Hours" include<BR>> material on KDE at a <BR>> level you find understandable, in conjunction with a<BR>> programming language <BR>> you would like to learn/use? For KDE development it<BR>> shouldn't matter what <BR>> distro you use.<BR>> <BR>> > I think I am clear that if I want to creat<BR>> applications that will run <BR>> > under Linux I can use KDevelop and Qt.For this I<BR>> will need to learn to <BR>> > programme with
C++.<BR>> <BR>> You may like to have a go at developing with Qt<BR>> Designer, which lets you <BR>> implement the user interface using a fairly<BR>> streightforward "point and <BR>> click" interface, then add C++ code to turn it into<BR>> a working application.<BR>> <BR>> > Top save myself the headache, I know that C and<BR>> C++ are related but <BR>> > there are differences, do I need to learn both C<BR>> and C++?<BR>> <BR>> C++ was originally a set of extensions to C,<BR>> introduced primarily to <BR>> provide better support for object oriented<BR>> programming (OOP). The language <BR>> also introduced several other non-OOP features, many<BR>> of which were later <BR>> added to C.<BR>> <BR>> Which of these you learn (if any) depends on what<BR>> sort of programming you <BR>> would like to do. The object-oriented features of<BR>> C++ make it the more <BR>> suitable for writing GUI applications such
as those<BR>> commonly found on KDE <BR>> or GNOME desktops, while C may be more appropriate<BR>> for writing <BR>> certain low-level utilities, tools or contributing<BR>> to the kernel.<BR>> <BR>> With several minor exceptions, all the features of C<BR>> are also available in <BR>> C++, so if you have cause to learn C first you can<BR>> then continue to C++ <BR>> more easily. However, neither are particularly easy<BR>> "first languages" if <BR>> you're just starting to learn how to program.<BR>> <BR>> I also suggest taking a look at Python, or (if<BR>> you're interested in <BR>> server-side web programming) PHP.<BR>> <BR>> Does anyone else on the list have any suggestions?<BR>> <BR>> James<BR>> <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<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>