Where would a good place to start learning basic programing and scripting?
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.
Where would a good place to start learning basic programing and scripting?
Hey all, I am 15 and for a long time I have wanted to learn some programming languages, stiles, and graphics design... ect basicly all of it. Normaly I would find it all out on my own or learn it in a class at school but I live unwillingly in a redneck town where most people don't even know what a terminal is. They have never even heard of linux!! Any way where would there be a good source of information on all this stuff? I have also need of free software for graphics design. Any idea where to get it?
Linux has a large array of graphics SW--most of it should be in the Ubuntu repositories. Look at Scribus, GIMP, and Inkscape for starters.
To learn programming, you will get a bazillion answers. I am not a programmer, so my advice has to be kept in its place.
1. You can't go wrong learning C
2. Python is REALLY easy to get started with, but is also very powerful. I resonate with the notion of writing the framework in Python, and doing speed-critical subroutines in C.
3. BASH is a real pain to learn, but can be pretty handy once you are up on the curve.
The first book I would recommend is "Beginning Linux Programming", published by Wrox.
If you want to work with Linux someday (just assuming since you're on this site) I would highly recommend learning BASH. Also, universities seem to like to teach Java nowadays. (At least mine does)
3. BASH is a real pain to learn, but can be pretty handy once you are up on the curve.
I'll disagree with that. Of all the programming languages I've learned, I picked up bash the quickest. If you learn bash as an interactive shell first, learning it as a programming language is as easy as figuring out the odd syntax of the if, while, and case commands. I often find that when your program needs to interact with the "outside world", bash is often the easiest and most direct method.
I was in much the same boat as you. I'm 19 in a university CS department now, but I started learning C++ and Linux as a high school sophomore, in a little town in South Carolina. What helped me get through it all was to try to teach myself as far as the "For Dummies" book would take me. Then I looked for programs that I wanted, but didn't exist. I started to write them. I've never finished a single one of them, but that doesn't really matter.
A quick and easy book will take you 50% of the way there in any language. A good book can take you maybe another 10-15%. Some good-ol-fashion experience will get you up to about 85-90%. The last 10-15% comes from long hours of staring at a screen and asking yourself "WTF is going on here?". So definitely pick a project and dive in.
I would like to thank all of you for help. But also I was wondering if you could help me with my first very simple task that I just can't seem to get right. I am trying to make a link to a website appear as a link on a web page wich besides getting text files and other text related things to appear is my first project. so far this is what I type in.
I'd also do a search for "bash tutorial" and learn the basics of bash shells (probably what you use to log into Linux,) but the real difficulty comes with knowing all of the standard command-line programs (like sed, grep, cat, bc, awk, etc.) and knowing what's a built-in command and what isn't. For that you really need a good Linux book, or if you run KDE you can go to KDE Help and look through the Unix manual pages. If you start to wonder if there's a program that will do something you want type in apropos <any word> and a list of related programs will come up. Pick one and type man <program name>. info in place of man also works for a lot of programs, but they are better viewed in Konqueror using the address info:<program name>.
Shell scripting (i.e. bash) is generally used to automate a tedious series of commands you could execute by typing them directly into a shell. Writing compiled programs such as C and C++ are for things like the command-line programs you call from the shell and more complex programs like the browser you use to get to this site.
ta0kira
Your Linux system is full of scripts, in files that end with things like .sh, .pl, .pm, .php.
Find them. Read them. Do not change them.
"Look. Don't touch. Just look."
Be awed. Be inspired. Be confused as heck. "Don't Panic."
Buy a notebook and a nice number-two pencil. Keep a daily diary. When you run into something that you don't understand... write it down, in pencil, longhand. Then, now that you have "captured it," move along. Leave space for your answer when you find it. Ponder your diary from time to time.
"Welcome aboard, young padewan. May this be your life's calling. And if not, let it be a pleasurable experience."
(And, umm, we all live-in and/or came-from "a redneck town" where we feel that cluelessness is the norm. We all learn very quickly not to try to educate them. You're not alone. But remember, Rome was not built in a day. The tools you seek are, in fact, at your fingertips.)
Last edited by sundialsvcs; 03-04-2008 at 07:04 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.