ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
to help furthur my career and to hopefully contribute somthing back the the community, i want to learn a propper programming language something like C or C++ ( ?? are these good languages to learn )
can anyone recommend any decent books that teach these languages ?
btw i dont know exactly what linux is written in , is it C??
"The C Programming Language" by Kernighan and Ritchie is _the_ book for learning C programming. However, it assumes you are at least familiar with the basics of computer languages.
Yes, the linux kernel is written in C. KDE programs tend to be written in C++. Most linux systems use the BASH shell by default.
Many system utility commands are written in Perl. SED is also called a lot in script programs.
that last question of mine was quite an odd one wasn't it? i have worked with linux now for 4 years and i dont know what its written in
that worries me, does it worry you?
mr peace, i presume this is the book you refer to:
ISBN: 0131103628
Publisher: Prentice Hall
The C Programming Language 2/E
by Kernighan, Brian W. & Ritchie, Dennis M.
? if it is i am gettin' it now
i have used other languages before ( java, php, perl, VB, shell scripting ) and i have found most of them very easy to use. for example i wrote a complete e-shop for a friend, it used php for the interface building, GPG for signing new orders, and a load of shell scripts on the back end to handle the thumb nails etc.
i admit it was a bit buggy at first, but its working now and pulling in the cash, + i managed to streamline some of the code on second glance. so i hope i can use some of my skill in C.
It sounds like you are already a fairly accomplished "web developer" (for lack of a better term).
I'm guessing that there are a lot of PHP- or Perl-based free-software projects that could use
your help.
Not sure what you mean by a "proper programming language". Perl, bash, PHP (though I know next to nothing about PHP), and Java are all "proper" programming languages.
C is mainly for systems programming, writing compilers, interpreters, & virtual machines, and other low-level things like graphics libraries (ie. OpenGL implementations). If you want to get into C++, be prepared for a major paradigm shift and a lot of work. C is easier, but there are a lot of low-level details to keep track of (not just in the language, but in the hardware and OS calls you'll be working with).
Recall the famous saying about C: C has all the power of assembly, with all the user-friendliness
of assembly. :)
If I were you, I'd look into finding an already-existing PHP or Perl free-software project that
particularly interests you, and dive into it -- write docs, correct bugs, test new versions, etc.
That is, unless you really *are* looking for a change from what you're currently working with...
It sounds like you are already a fairly accomplished "web developer" (for lack of a better term).
Thank You
although after 5 year i still have not got anything on my personal website
Quote:
Not sure what you mean by a "proper programming language". Perl, bash, PHP (though I know next to nothing about PHP), and Java are all "proper" programming languages.
sorry i did not mean it to sound it off like that, yes you are right perl bash php are proper programming languages. i was trying to say that C is used all over the show from MS's windows, linux, MAC, solaris, and so on.
( so is perl really, but isn't perl written in C? )
Plus a lot of OSS projects are written in C ( linux for example ), and a lot of Job adverts ask that you know C or C++, some times perl, and sometimes XML or some other three letter named language.
while i am writing this i have had a thought, perhaps it would be a good idea to create some sort of section on this site or perhaps a band new site that recommends books or other websites etc that assists ppl to learn computer stuff. like mr peace recommended the 'The C Programming Language' book for me to learn ( comments on a postcard please )
as you are having trouble with PHP i recommend the following book:
PHP developers cookbook
isbn: 0672323257
by hughes and zmievski
a sams published book
mainly, my need to learn C is to assist with my career progression, but as an addition i would like to assist with somthing like Linux and to give somthing back to the OSS projects i have used over the years without giving anything back.
i was trying to say that C is used all over the show from MS's windows, linux, MAC, solaris, and so on. ( so is perl really, but isn't perl written in C? )
Yup. perl is written in C. The Python ("CPython") interpreter is too. Same with Linux, GCC, GDB, and so on and so forth. Those sorts of projects need to be written in C. As a developer, I guess the key is, you have to ask yourself, "Do I want to work on low-level, close-to-the-metal, C projects -- or instead, is there some application domain that I'd rather spend more of my time in?"
If you're a hardcore systems person, then by all means, start working on C. On the other hand, there's a lot of folks who have a specific application-domain problem in-mind that they want to solve, and they don't want to spend time writing a compiler to do it. :) Those folks use Python, Perl, ruby, lisp,... Well, the masochists use C++. :)
Good luck with your career development. But be careful what you spend your time working on: you could end up writing device drivers 40 hours/week even though maybe you prefer doing the e-commerce stuff. :)
Yow! I've been spending too much time typing away on LQ! :)
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.