PDA

View Full Version : Wanting to program in Linux?



Jeremy88
April 23rd, 2007, 02:13 AM
I am a 14 year old kid from the United States and I am wanting to learn how to program in Linux. I have experience in Visual Basic on Microsoft Windows. I have been using computers my whole life and I am very capable of programming. I just started using Linux about a month ago and I know my way around a little.

What is the best language to learn that is not to hard? (Not learning C/C++ Until College)

Could you give me the best and funnest tutorial on learning that language and a suitable IDE for learning it.

Thanks. Happy Linux!

jfinkels
April 23rd, 2007, 02:14 AM
I am a 14 year old kid from the United States and I am wanting to learn how to program in Linux. I have experience in Visual Basic on Microsoft Windows. I have been using computers my whole life and I am very capable of programming. I just started using Linux about a month ago and I know my way around a little.

What is the best language to learn that is not to hard? (Not learning C/C++ Until College)

Could you give me the best and funnest tutorial on learning that language and a suitable IDE for learning it.

Thanks. Happy Linux!

Sure you don't want to learn C? I recommend it...it's important...

yabbadabbadont
April 23rd, 2007, 02:27 AM
Well, if you want to wait on C/C++, you might consider Python. A large number of Linux applications are written using it (including the ubiquity graphical installer used by ubuntu). There are a lot of tutorials around for Python too. Since you have had experience programming, you might install the "diveintopython" package. It is in the repositories and is a free e-book for experienced programmers who want to get into Python. You may also want to install "spe" as it is a nice environment for Python programming. It too is in the repositories.

qamelian
April 23rd, 2007, 02:33 AM
Ruby is also quite good. I started learning the basics of Ruby at Why's (Poignant) Guide to Ruby( http://poignantguide.net/ruby/ ). The quirky style of the site made learning a lot of fun.

JT673
April 23rd, 2007, 02:43 AM
I'd say to consider Python, Ruby, and Java, and maybe even Perl. Shell scripting is also a bonus and takes a few hours to learn (seriously, it's that easy, but it can help you do some repetitive tasks like system administration).

Jeremy88
April 23rd, 2007, 03:17 AM
Sure you don't want to learn C? I recommend it...it's important...

I have tried C++ and I really don't have enough time to learn everything about that language because I am still in school.

Though, Maybe during the summer. :D

@Everyone Else: I think I will take a look into that Dive Into Python Ebook. Since it got a 5star rating on amazon.com. I think it will be a good read and certainly will occupy me for awhile.

Thanks.

pmasiar
April 23rd, 2007, 03:39 AM
Another post what can be much better served by looking thru recent posts. And we really need stickied Before you ask: Which programming language? (http://ubuntuforums.org/showthread.php?t=407187) And i wonder, why none from responders did not suggested sticky - maybe because they are also not aware of it? :-(


I think I will take a look into that Dive Into Python Ebook. Since it got a 5star rating on amazon.com. I think it will be a good read and certainly will occupy me for awhile.

Jeremy, if you took 3 minutes to check our own sticky How to start programming - guides and links for many languages (http://ubuntuforums.org/showthread.php?t=333867#5) you would found that "Dive into Python" is great book - but for experienced programmers, what you are not, by your own admission. You are right to start with Python, but the way you selected is harder than necessary and might lead you to frustration. Check link in my sig.

russell.h
April 23rd, 2007, 05:51 AM
C and C++ (I did C then C++, but going the other way might be easier, really ask yourself if you want to go from Object Oriented to procedural, or the other way around) really aren't very difficult languages to "learn".

You can learn the basic syntax in 5-10 minutes, a few minutes for data types, then a few hours to get acquainted with the standard libraries, pointers, arrays, etc.

Once you have that you can begin programming, and its just a matter of practice. You aren't going to become a world class C programmer in an afternoon, but you should be able to get to the point where you can sit down and program with nothing more than library references (and maybe the occasional refresher on pointers :) )

LAmando
April 23rd, 2007, 05:57 AM
C and C++ are pretty easy to learn, but take a life time to master :P (can't remember where i took that from). I started C after PHP though, and I don't know Visual Basic, but I assume they won't be too similar.

But if you want to learn C, why wait until college? You may as well get started now. Time really isn't a matter, since it's something you can put aside, and start up again without any trouble.

loell
April 23rd, 2007, 06:04 AM
you got to learn c , it would take a while, but you will be on the right track.

LaRoza
April 23rd, 2007, 12:49 PM
For Python:

http://www.python.org/doc/current/tut/tut.html


For C++:

http://www.cplusplus.com/doc/tutorial/


You said you don't want to learn C/C++ until college. That is a strange statement, but understandable for someone who is young, I'm not yet 20 so "young" is relative here. Learning the basics of C/C++ is not very hard and will help with other languages.

rich.bradshaw
April 23rd, 2007, 12:53 PM
C and C++ are pretty easy to learn, but take a life time to master :P (can't remember where i took that from).

Isn't that written on the Othello game box?

http://www.nescentral.com/lib/images/covers/Othello.jpg

pmasiar
April 23rd, 2007, 01:53 PM
C and C++ are pretty easy to learn, but take a life time to master :P .

I think that Jeremy is pretty smart about going for simpler language first.

I recently found the "99 bottles" example website, and 99 bottles gives better feel of the language than plain print "hello world", IMNSHO.

Compare 99 bottles song: C - Linux kernel module style (http://99-bottles-of-beer.net/language-c-820.html) vs Python 2.5 with conditional expressions (http://99-bottles-of-beer.net/language-python-1355.html)

I know that C version is 20 times faster and used 50% of RAM. But tell me which one is more adequate for 14 years old beginner?

yaaarrrgg
April 23rd, 2007, 02:50 PM
Compare 99 bottles song: C - Linux kernel module style (http://99-bottles-of-beer.net/language-c-820.html) vs Python 2.5 with conditional expressions (http://99-bottles-of-beer.net/language-python-1355.html)


Why the kernel module? A more fair comparison would be the the ANSI C example :)

http://99-bottles-of-beer.net/language-c-116.html

pmasiar
April 23rd, 2007, 04:40 PM
Why the kernel module? A more fair comparison would be the the ANSI C example :)

Because C is used more for system programming, not for application development. Use low-level language C for parts where you want to spend extra effort to make result effective, use high-level languages for rest, no?

hamdy
April 23rd, 2007, 08:24 PM
y dont u try java out it is easy , i started with java now i m in learning the java GUI phase , i started with C++ but still in first step ... cout hehe

harun
April 23rd, 2007, 09:39 PM
I would suggest Perl.

http://www.perl.com/pub/a/2000/10/begperl1.html

That is a good beginners tutorial that will get you up and running.

Using any of the languages like Ruby, Python or Perl will get you up and running to where you can see things happening and not get frustrated. You will learn valuable concepts in any of those.

You wouldn't need to wait until college for C or C++ but don't start with them. You will spend all your time figuring out how to compile, how to figure out the data types, why data types aren't working the way you expect, why the function defintions you created are generating errors at compile time, why the string operations you are using aren't working the way you expect, etc. etc.

Using Ruby, Python or Perl to start will show you how quickly you can get real things done and how fun it is. Then you can remember back to those good times as you trudge through learning C and C++ :-).

LAmando
April 23rd, 2007, 11:14 PM
I think that Jeremy is pretty smart about going for simpler language first.

I recently found the "99 bottles" example website, and 99 bottles gives better feel of the language than plain print "hello world", IMNSHO.

Compare 99 bottles song: C - Linux kernel module style (http://99-bottles-of-beer.net/language-c-820.html) vs Python 2.5 with conditional expressions (http://99-bottles-of-beer.net/language-python-1355.html)

I know that C version is 20 times faster and used 50% of RAM. But tell me which one is more adequate for 14 years old beginner?


That's true, but I'm 14 now and have been scripting/programming since I was around 12; taught myself completely independently. It was definitely hard starting up programming, but if you can get past that obstacle, you're good to go. I have yet to learn Python, and I hear a lot of good things about it, but I feel that if you can learn a tough language first, you can learn any language afterwards.

Yeah rich.bradshaw, that's where I got it from :P

barmazal
April 24th, 2007, 01:31 AM
by "learn" you mean syntax or using to code even small application isnot( hello world's type one)?
I've started with PHP and Javascript, i think the best way to start for 14 person is to deal with web stuff since rest could be much more complex.

Jengu
April 24th, 2007, 03:26 AM
For the love of all that is good and pure, just don't pick C++ as a first language. I tried to when I was your age and constantly hit my head against the wall thinking I had misunderstood something because it was inconsistent with something prior, when in reality the language is inconsistent (for example, the * operator has 3 different meanings depending on context). It's got enough gotchas to have even a very experienced programmer scratching their head for hours. I'd learn Python first (Ruby maybe an acceptable substitute but I have no experience with it) and get comfortable with all the basic programming constructs, maybe make a GUI project using PyGTK, get adjusted to object orientedness, etc. Then move on to learn C and Lisp. Then to Haskell.

A side task that will help your coding reasoning: Getting used to trigger editing in starcraft and warcraft3 is a nice way to get introduced to 'coding' without having to deal with compilers, text editors, etc. and you get to see the results in a cool way immediately. They both run well under wine :)

russell.h
April 24th, 2007, 03:54 AM
Because C is used more for system programming, not for application development. Use low-level language C for parts where you want to spend extra effort to make result effective, use high-level languages for rest, no?

Its still not a good comparison. I can write a program to count 99 bottles of beer in C in about 45 seconds:


#include <stdio.h>

int main()
{
for(int cans=99; cans>=0; cans--)
{
printf("%i bottles of beer on the wall\n", cans);
}
}

(note I haven't tried compiling it, and its just quick and sloppy, but it should work). Most of the GNU apps are written in C I think, as are many others. GTK is in and for C, so there are definitely C applications.

slavik
April 24th, 2007, 05:08 AM
C is a very small and simple language ... much smaller and simpler than python (how is it that lists are not objects?)

after you learn C, you pretty much know th syntax of C++, Java, Perl, Python, Ruby (they just make alterations)

pmasiar
April 24th, 2007, 01:07 PM
C is a very small and simple language ... much smaller and simpler than python (how is it that lists are not objects?)


Slavik, if you think C is simpler than Python, I have a nice bridge to sell to you. Very good deal. :-)

What is your definition of object so Python list is not an object? Very curious.