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.
well i have bought a couple programming books, started off w/ c++, then perl, then python, and for one reason or another i haven't really enjoyed programming with any of them, i am a beginner programmer and was just wondering if anyone has a good language for me to start on
I guess it depends on why you did not like any of those languages---AND on what kind of programming you want to do.
If you want to write applications, drivers, etc. I would learn C (not C++) thoroughly --that would give you a foundation for all manner of things.
Note that Python and Perl are both interpreted languages, vs C and C++ which are compiled. Each has its place.
Give Common Lisp a shot - it's a wierd, scary beast, but amazing once you get comfortable with it.
I've tried learning C++, and have given up many times.
Most of my programming revolves around Common Lisp (for 85% of anything I do), Java (10% - for any of my big projects), and assorted bits of Perl, Python and BASH for everything else.
As a beginner, especially learning on your own, you will probably struggle with any language. I recommend sticking with any of the languages you named, except learn C instead of C++. Tell us a little about what you think you might do with your programming; long term goals especially. Bear in mind that it may be years before you write your first significant application. In the mean time, any of the languages that you cited will allow you to produce useful code for your own purposes. Many people find it satisfying to produce GUI applications, and perl/Tk is good for beginners. Java is also strong on GUIs, but might be a difficult language to master as a beginner.
in that order. C++ can get really deep. Kernighan and Ritchie is a classic C reference. Kernighan and Pike is a classic shell reference. On-line stuff may be more convenient.
for c++ i just got a overwhelmed trying to learn it maybe it was the book i was going through i dont know, python i just had used c++ and perl previous to it, and the syntax just seemed so much different that i couldnt really get into it, perl i like it but i have just been getting the feeling that its becoming obsolete when i go to my local bookstore and see 20 C books and 1 perl book, also for the fact that i would like to start doing my own linux distro, way down the road, and perl doesnt seem like the right language for that, as of now i would love to start designing some drivers, and just apps, but from what im seeing through posts is that C would probably be a good language to get a foundation in, so does anyone have any suggestions in which book i should purchase, something not too overwhelming and starts from the basics
I have been teaching myself computer languages and other computer related subjects for 25 years. I've never encountered any subject that was completely addressed by any single book. As you begin to learn, your needs change, and many parts of a subject can only be understood when explained in different ways. I tend to look for at least two classes of books for learning about something like a computer language: a tutorial style book that explains from the ground level, and builds upon what has already been learned, and a reference style manual that has a complete and authoratative listing of language elements. This should be organized and indexed to easily find the complete information about specific elements. A pad of sticky notes to fill in your own comments should be part of your training gear, as well.
I have no connection with the author Bruce Eckels, but he has a couple or three online books that I've found great tutorials. Look them up.
The "nutshell" books fall in the teaching category. They are very concise - or used to be. Look for titles such as "C in a Nutshell." As a general rule, I've never gone wrong with one of these. Also I've run across some very good on-line references with nice examples. Peeking at other people's code is instructive - Google now lets you look for code. Well written code will read like a newspaper.
I found the University of Washington CSE 142 video lecture series on C to be very good. It comes with slides, so you can keep professor Martin open in half the screen and read along with the slides on the other half of the screen. Only thing else he recommends is to get a regular textbook to follow up with practice programming problems at the end of each topic. They also have CSE 143 on C++ in the same format.
Also really great is the MIT's "Structure and Interpretation of Computer Programs" video lecture series.
I am just wondering why everyone recommends learning C rather than C++? Isn't C just a subset of what C++ contains? I myself started learning C, but have since learned to use C++ as well.
I am just wondering why everyone recommends learning C rather than C++? Isn't C just a subset of what C++ contains? I myself started learning C, but have since learned to use C++ as well.
C++ is (almost) a super-set of C (see Stroustrup's "The C++ Programming Language" for the very few places where they differ). But most people recommend C over C++ because C++ is rather complicated when it comes to the more advanced features, whereas C always keeps it fairly simple. So I suppose it's because with C++ you have the temptation to use the really fancy stuff, which will be overwhelming to figure out. And with C, you don't have the opportunity, so learning the complete language is easier.
Try prolog, it is completely opposite side. It is slow, weird.... but overall time for coding may be reasonable. It is cousin of lisp.
Prolog isn't really very much related to Lisp other than the fact that neither one of them is very much like C. In Lisp dialects you're still telling the computer exactly what to do, whereas Prolog is much less direct. In my experience, Prolog is basically in a league all by itself. But I agree totally that Prolog can be very useful and beneficial in the right projects, though it is a bit strange to approach for the first time.
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705
Rep:
Quote:
Originally Posted by indienick
Give Common Lisp a shot - it's a wierd, scary beast, but amazing once you get comfortable with it.
I've tried learning C++, and have given up many times.
Most of my programming revolves around Common Lisp (for 85% of anything I do), Java (10% - for any of my big projects), and assorted bits of Perl, Python and BASH for everything else.
Hi Indienick,
I have a problem getting started with Lisp. Which books and websites helped you the most?
As for installing a REPL (Read-Eval-Print-Loop - The Common Lisp "shell"), I suggest CLISP. It's got some nice features; it can be run as a shell like Bash or KornShell, and it provides a nice global variable for parsing arguments (many REPL's don't).
If you look on the CLISP site, or read the documentation that comes with the source tarball, it will tell you how to install it (it's not as easy as ./configure && make && make install).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.