<DIV>Hi Jono &amp; Trog</DIV>
<DIV>&nbsp;</DIV>
<DIV>Trog, I am sorry but you have lost me, I am not that advanced yet!</DIV>
<DIV>Jono thanks for the offer, unfortunately I am unable to be there&nbsp; Wednesday because of prior arrangement, I joined the LUG a bit late to alter things. But rest assured that I am definitly a Linux fan and will do my level best to come to&nbsp;future meetings!!</DIV>
<DIV>&nbsp;</DIV>
<DIV>I will have&nbsp;a go at C++ as it seems pretty close to what I know so my learning curve is not too steep. And from what you say Qt and kDevelop will satisfy my coding curiosity and interest.</DIV>
<DIV>&nbsp;</DIV>
<DIV>As far as working with Linux command line what sort of skills do I need to learn?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Mo<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">Hi Mo,<BR><BR>If you want to write C++ apps, you will need to use a<BR>C++ compiler (g++ from the gcc suite) and you will<BR>probably want to learn some build tools such as<BR>automake and autoconf - these tools manage which<BR>source code files are built in which order by the<BR>compiler and are used by most open source projects.<BR><BR>In terms of actually coding, usually you will edit<BR>your source code files and then use the compile to<BR>convert this file into a runnable program. When you<BR>use lots of source files you usually use the compiler<BR>to convert each file into what is called 'object code<BR>(a .o file) and then these object code files are stuck<BR>together by a tool called a linker to form your final<BR>program.<BR><BR>If you use KDevelop, much of this underlying process<BR>is hidden from you. KDevelop will let you create a new<BR>project and compile it and then
 edit the code it has<BR>generated. It is certainly a helpful tool and works<BR>very well.<BR><BR>If you can make it down to the LUG meet on wednesday<BR>we can discuss it face to face in more detail - I will<BR>also be bringing my laptop, so I can show you some Qt<BR>stuff.<BR><BR>Jono<BR><BR>--- Mo Awkati <MAWKATI@YAHOO.CO.UK>wrote:<BR>&gt; Hi<BR>&gt; <BR>&gt; Thanks James and Jono<BR>&gt; <BR>&gt; Your advice is most helpful. I don't intend to do<BR>&gt; web programming so this rules out the likes of<BR>&gt; Python, PERL etc. My aim is to do apps for Linux.<BR>&gt; Therefore I will go with C++. I have done some<BR>&gt; programming with VB6 and can get my head around<BR>&gt; variables, loops, etc. and I am quite good a picking<BR>&gt; info from books, tutorials etc. Where I think I will<BR>&gt; get stuck is in getting to know how to code and make<BR>&gt; use of some of the advanced functions in C++. <BR>&gt; <BR>&gt; As far as programming Linux itself, do I need that<BR>&gt;
 expertise? What I mean is if I want to trouble shoot<BR>&gt; a hardware configuration problem, or if I want to<BR>&gt; tweak functionalities will I need to know C? <BR>&gt; Another angle is that for me to understand and use<BR>&gt; the command line and get the most out of Linux do I<BR>&gt; need to know C? Or is it just a case of getting to<BR>&gt; know the command line syntax?<BR>&gt; <BR>&gt; Cheers<BR>&gt; <BR>&gt; Mo<BR>&gt; <BR>&gt; <BR>&gt; Jono Bacon <JONOBACON@YAHOO.COM>wrote:<BR>&gt; Heya,<BR>&gt; <BR>&gt; Great well reasoned response James.<BR>&gt; <BR>&gt; I think the choice of language is largely dependent<BR>&gt; on<BR>&gt; what you want to do and how much you know. If you<BR>&gt; are<BR>&gt; new to programming, I recommend that you don't go<BR>&gt; feet<BR>&gt; first at C or C++. You can do, and if you are up for<BR>&gt; the challenge it can be worthwhile, but for a<BR>&gt; beginner<BR>&gt; they are quite heavy going. Python is certainly a<BR>&gt; popular choice as a
 higher level language and you<BR>&gt; can<BR>&gt; find out more about Python from Aq.<BR>&gt; <BR>&gt; &gt;From my understanding, you are interested in<BR>&gt; writing<BR>&gt; KDE and Qt apps. Firstly, I can wholehearted<BR>&gt; recommend<BR>&gt; Qt as a GUI toolkit, and KDE does add some useful<BR>&gt; extensions that merge your application into the KDE<BR>&gt; desktop. If this is the route you want to take, C++<BR>&gt; is<BR>&gt; the language of choice. Like James said, C and C++<BR>&gt; are<BR>&gt; quite similar but very different. I don't recommend<BR>&gt; learning C and then C++ second as you will have to<BR>&gt; "unlearn" a lot of stuff. If Qt/KDE apps are your<BR>&gt; aim,<BR>&gt; C++ is a good starting block as Qt and KDE are coded<BR>&gt; in C++ (although there are some other bindings fore<BR>&gt; languages, C++ is by far the most commonly used and<BR>&gt; officially supported language).<BR>&gt; <BR>&gt; If you want to do web programming, there are a<BR>&gt; number<BR>&gt;
 of options. I recommend PHP as it is simple and<BR>&gt; productive and works very well. Python can also be<BR>&gt; used, as can Perl and countless others.<BR>&gt; <BR>&gt; There are plenty of tutorials out there for all of<BR>&gt; these languages. Good luck.<BR>&gt; <BR>&gt; Jono<BR>&gt; <BR>&gt; --- James Turner wrote:<BR>&gt; &gt; On Sat, 13 Dec 2003, Mo Awkati wrote:<BR>&gt; &gt; <BR>&gt; &gt; &gt; Hi Folk<BR>&gt; &gt; &gt; <BR>&gt; &gt; &gt; Before I go and spend my hard earned money at<BR>&gt; &gt; Waterstones on a book <BR>&gt; &gt; &gt; to read over Xmas, I could with some advice<BR>&gt; &gt; please.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; I want to start learning to programme under<BR>&gt; Linux.<BR>&gt; &gt; They way I <BR>&gt; &gt; &gt; understand it is that if I want to programme<BR>&gt; Linux<BR>&gt; &gt; itself so that it <BR>&gt; &gt; &gt; runs tasks, then I need to know C?<BR>&gt; &gt; <BR>&gt; &gt; Not necessarily - there are lots of programming<BR>&gt; &gt; languages
 available on <BR>&gt; &gt; Linux. C is still the prefered language for<BR>&gt; writing<BR>&gt; &gt; low-level code such as <BR>&gt; &gt; the kernel or server applications, but you may<BR>&gt; find<BR>&gt; &gt; a higher level <BR>&gt; &gt; language less heavy going and more productive. Do<BR>&gt; &gt; you have any previous <BR>&gt; &gt; programming experience?<BR>&gt; &gt; <BR>&gt; &gt; (cue recommendations by the various language<BR>&gt; &gt; advocates on the list)<BR>&gt; &gt; <BR>&gt; &gt; &gt; I got a book out of the library <BR>&gt; &gt; &gt; called Programming Linux in 24 Hours (in my case<BR>&gt; &gt; 12 months) by SAMS. <BR>&gt; &gt; &gt; This particular book uses Red Hat. From my very<BR>&gt; &gt; little knowledge it uses <BR>&gt; &gt; &gt; gcc. Is this a Gentoo thing?<BR>&gt; &gt; <BR>&gt; &gt; gcc stands for GNU Compiler Collection, a set of<BR>&gt; &gt; compilers including C, <BR>&gt; &gt; C++, Objective C, ADA, Fortran, Java, etc. The<BR>&gt; term<BR>&gt; &gt; is also
 used to refer <BR>&gt; &gt; specifically to the GNU C Compiler, which is<BR>&gt; invoked<BR>&gt; &gt; using the command <BR>&gt; &gt; gcc. The GNU Compiler Collection should be<BR>&gt; available<BR>&gt; &gt; for most/all Linux <BR>&gt; &gt; distributions.<BR>&gt; &gt; <BR>&gt; &gt; &gt; Do I need to look for another book if I use KDE<BR>&gt; as<BR>&gt; &gt; I will probably <BR>&gt; &gt; &gt; migrate to SUSE?<BR>&gt; &gt; <BR>&gt; &gt; Well, does "Programming Linux in 24 Hours" include<BR>&gt; &gt; material on KDE at a <BR>&gt; &gt; level you find understandable, in conjunction with<BR>&gt; a<BR>&gt; &gt; programming language <BR>&gt; &gt; you would like to learn/use? For KDE development<BR>&gt; it<BR>&gt; &gt; shouldn't matter what <BR>&gt; &gt; distro you use.<BR>&gt; &gt; <BR>&gt; &gt; &gt; I think I am clear that if I want to creat<BR>&gt; &gt; applications that will run <BR>&gt; &gt; &gt; under Linux I can use KDevelop and Qt.For this I<BR>&gt; &gt; will need to learn to
 <BR>&gt; &gt; &gt; programme with C++.<BR>&gt; &gt; <BR>&gt; &gt; You may like to have a go at developing with Qt<BR>&gt; &gt; Designer, which lets you <BR>&gt; &gt; implement the user interface using a fairly<BR>&gt; &gt; streightforward "point and <BR>&gt; &gt; click" interface, then add C++ code to turn it<BR>&gt; into<BR>&gt; &gt; a working application.<BR>&gt; &gt; <BR>&gt; &gt; &gt; Top save myself the headache, I know that C and<BR>&gt; &gt; C++ are related but <BR>&gt; &gt; &gt; there are differences, do I need to learn both C<BR>&gt; &gt; and C++?<BR>&gt; &gt; <BR>&gt; &gt; C++ was originally a set of extensions to C,<BR>&gt; &gt; introduced primarily to <BR>&gt; &gt; provide better support for object oriented<BR>&gt; &gt; programming (OOP). The language <BR>&gt; &gt; also introduced several other non-OOP features,<BR>&gt; many<BR>&gt; &gt; of which were later <BR>&gt; &gt; added to C.<BR>&gt; &gt; <BR>&gt; &gt; Which of these you learn (if any) depends on what<BR>&gt; &gt;
 sort of programming you <BR>&gt; &gt; would like to do. The object-oriented features of<BR>&gt; &gt; C++ make it the more <BR>&gt; &gt; suitable for writing GUI applications such as<BR>&gt; those<BR>&gt; &gt; commonly found on KDE <BR>&gt; &gt; or GNOME desktops, while C may be more appropriate<BR>&gt; &gt; for writing <BR>&gt; &gt; certain low-level utilities, tools or contributing<BR>&gt; &gt; to the kernel.<BR>&gt; &gt; <BR>&gt; &gt; With several minor exceptions, all the features of<BR>&gt; C<BR>&gt; &gt; are also available in <BR>&gt; &gt; C++, so if you have cause to learn C first you can<BR>&gt; &gt; then continue to C++ <BR>&gt; &gt; more easily. However, neither are particularly<BR>&gt; easy<BR>&gt; &gt; "first languages" if <BR>&gt; &gt; you're just starting to learn how to program.<BR>&gt; &gt; <BR>&gt; &gt; I also suggest taking a look at Python, or (if<BR>&gt; &gt; you're interested in <BR>&gt; &gt; server-side web programming) PHP.<BR>&gt; &gt; <BR>&gt; &gt; Does
 anyone else on the list have any suggestions?<BR>&gt; &gt; <BR>&gt; &gt; James<BR>&gt; &gt; <BR>&gt; &gt; <BR>&gt; &gt; _______________________________________________<BR>&gt; &gt; Wolves LUG mailing list<BR>&gt; &gt; Homepage: http://www.wolveslug.org.uk/<BR>&gt; &gt; Mailing list: Wolves@mailman.lug.org.uk<BR>&gt; &gt; Mailing list home:<BR>&gt; http://mailman.lug.org.uk/mailman/listinfo/wolves<BR>&gt; <BR>&gt; =====<BR>&gt; Jono Bacon - http://www.jonobacon.org/<BR>&gt; Professional Writer / Web Developer / Musician<BR>&gt; <BR>&gt; __________________________________<BR>&gt; Do you Yahoo!?<BR>&gt; New Yahoo! Photos - easier uploading and sharing.<BR>&gt; http://photos.yahoo.com/<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:<BR>&gt; http://mailman.lug.org.uk/mailman/listinfo/wolves<BR>&gt; <BR>&gt;
 ---------------------------------<BR>&gt; BT Yahoo! Broadband - Save £80 when you order<BR>&gt; online today. Hurry! Offer ends 21st December 2003.<BR>&gt; The way the internet was meant to be. &gt;<BR>_______________________________________________<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>