You are not logged in.

#1 2009-07-28 20:16:11

Anikom15
Banned
From: United States
Registered: 2009-04-30
Posts: 836
Website

What should I learn next?

So I already know Python. I decided to learn Python because I heard it was a good language to start out with. I've got a good grasp of the language and have been making various scripts for my personal needs. I've become interested in other languages and have wondered what I should learn next. So should I learn another language or continue exercising my hacker skills with Python? I want to learn a wide variety of types of programming.


Personally, I'd rather be back in Hobbiton.

Offline

#2 2009-07-28 20:45:57

tadzik
Member
From: &tadzik
Registered: 2009-07-17
Posts: 91

Re: What should I learn next?

C. It will teach you how to think. Take a look at „The C Programming Language", by Kernighan & Ritchie.

Offline

#3 2009-07-28 20:52:51

&#32 Greg
Member
Registered: 2009-02-08
Posts: 80

Re: What should I learn next?

I agree with tadzik. C is a good second language- learning it is made easier by the fact that you know a higher level language already, but you still need to learn about memory allocation and all that fun stuff. C and Python compliment each other- one low level, quick, compiled, while the other is high level, slower, and interpreted. The K & R is also a really nice book.

And then after C you can learn Lisp and really take it to the next level big_smile

Offline

#4 2009-07-28 21:11:55

Anikom15
Banned
From: United States
Registered: 2009-04-30
Posts: 836
Website

Re: What should I learn next?

Cool. I'll be sure to Check it out! Is there anything I need to install from pacman?


Personally, I'd rather be back in Hobbiton.

Offline

#5 2009-07-28 21:43:46

Yannick_LM
Member
Registered: 2008-12-22
Posts: 142

Re: What should I learn next?

There's a group called base-devel containing everything you *need*

that and and editor, and you're ready to go.

Offline

#6 2009-07-28 22:00:45

anrxc
Member
From: Croatia
Registered: 2008-03-22
Posts: 834
Website

Re: What should I learn next?

I've become interested in other languages and have wondered what I should learn next.

Teach Yourself Programming in Ten Years  will give you an idea ;^)

Last edited by anrxc (2009-07-28 22:03:44)


You need to install an RTFM interface.

Offline

#7 2009-07-28 23:57:17

pointone
Wiki Admin
From: Waterloo, ON
Registered: 2008-02-21
Posts: 379

Re: What should I learn next?

For something completely different, why not try Haskell?

Great free resource: http://book.realworldhaskell.org/ (though may be a bit advanced for someone coming directly from Python...)

This would certainly set you on your way toward "learn[ing] a wide variety of types of programming."

For something more "useful" (you do not specify what you plan to _do_ with your programming skills) I highly recommend boning-up on your shell/sed/awk programming skills.


M*cr*s*ft: Who needs quality when you have marketing?

Offline

#8 2009-07-29 06:27:52

Aprz
Member
From: Newark
Registered: 2008-05-28
Posts: 277

Re: What should I learn next?

Assembly is fun. big_smile

Offline

#9 2009-07-29 07:40:46

XFire
Member
From: UK
Registered: 2008-05-11
Posts: 192

Re: What should I learn next?

I recommend lua.


There is a difference between bleeding [edge] and haemorrhaging. - Allan

Offline

#10 2009-07-29 07:46:57

ArchArael
Member
Registered: 2005-06-14
Posts: 504

Re: What should I learn next?

Learning new programming languages is fun but I think it's better if you develop something.
Much more better would be some bug fixing or helping some existing projects.
You can always learn new languages when you need to and save your time for something more useful (girl friend, friends, books, games, music etc).
Learning programming languages just to learn keeps you from doing practice in programming.
Mastering something takes time and practice,  as someone told you before.

But, if you still want to learn something useful my advice would be bash. It's is a valuable tool you can use interactively and in batch mode.
It can save you a lot of time if mastered and used properly. So that can really be a reasonable investment.

I tried to learn a lot of tools and programming languages myself.

But jumping from distro to distro trying to find a perfect one and jumping from language to language trying to enlarge my knowledge (although fun) kept me from mastering what I already knew.


I hope the message was clear enough. I'm still learning English so sorry for mistakes.

Offline

#11 2009-07-29 12:24:06

Majorix
Member
Registered: 2008-01-31
Posts: 96

Re: What should I learn next?

I too would recommend C. It complements Python and is popular.

Java is also considerable.

Offline

#12 2009-07-29 12:32:16

scio
Member
From: Buffalo, NY
Registered: 2008-08-05
Posts: 366

Re: What should I learn next?

I would go for C++ or Java personally.  C is a great language to know, but if you learn C++ you will be exposed to a lot of C concepts and should be able to manage what you need.  C++ gives you the advantage of more libraries (since you can use C and C++ libraries easily).

Java is also a great language and should be very easy to learn with a background in Python.

Personally I think everyone should at least be familiar with C++ and memory management even if you only plan to use garbage collecting languages.

Edit: Forgot to add this,
http://www.e-booksdirectory.com/programming.php
now say goodbye to all your free time and go learn 6 or 7 languages.

Last edited by scio (2009-07-29 12:34:07)

Offline

#13 2009-07-29 14:27:50

andre.ramaciotti
Member
From: Brazil
Registered: 2007-04-06
Posts: 649

Re: What should I learn next?

ArchArael wrote:

Learning new programming languages is fun but I think it's better if you develop something.
Much more better would be some bug fixing or helping some existing projects.
You can always learn new languages when you need to and save your time for something more useful (girl friend, friends, books, games, music etc).
Learning programming languages just to learn keeps you from doing practice in programming.
Mastering something takes time and practice,  as someone told you before.

I don't think so. Programming takes time and practice, sure, but it also takes reading code and reading about programming. You can't give a pen and paper to a kid and say "here, write me a book" and spect this kid will write a masterpiece if she hadn't read a lot before.

Learning a new language gives you insights of how programming works, even on different languages. Both you and I aren't native speakers of English, but learning it changed the way I see somethings in Portuguese and vice versa; I have a different understanding of English and Portuguese that I would have if I've learnt only one of them, I belive this applies to you, too. This also works with programming languages: the way I program in C was different before I grasped some Lisp, and it would probably be different if I hadn't learnt Python, and so on.

Back on-topic, I'd recommend learning C, so you can grasp some of the basics: pointers, memory allocation, structs and unions, etc. Later, I'd suggest you to learn a language that makes you think about programming in a different way: Lisp or Haskell. Shell script is also nice, but I'd only use it to "glue" things together, and I don't see a problem with learning it concurrently with another language.

Edit:

Edit: Forgot to add this,
http://www.e-booksdirectory.com/programming.php
now say goodbye to all your free time and go learn 6 or 7 languages.

Indeed, very good site. I like the Mathematics "folder", too.

Last edited by andre.ramaciotti (2009-07-29 14:28:59)


(lambda ())

Offline

#14 2009-07-29 14:53:20

tadzik
Member
From: &tadzik
Registered: 2009-07-17
Posts: 91

Re: What should I learn next?

I would go for C++ or Java personally.  C is a great language to know, but if you learn C++ you will be exposed to a lot of C concepts and should be able to manage what you need.  C++ gives you the advantage of more libraries (since you can use C and C++ libraries easily).

Sorry, but I couldn't resist:
Linus Torvalds about C++

Offline

#15 2009-07-29 15:46:17

Misfit138
Misfit Emeritus
From: USA
Registered: 2006-11-27
Posts: 4,189

Re: What should I learn next?

tadzik wrote:

I would go for C++ or Java personally.  C is a great language to know, but if you learn C++ you will be exposed to a lot of C concepts and should be able to manage what you need.  C++ gives you the advantage of more libraries (since you can use C and C++ libraries easily).

Sorry, but I couldn't resist:
Linus Torvalds about C++

We all know how confrontational Linus Torvalds can be, but please try and stay on topic rather than possibly start a flame war.

Offline

#16 2009-07-29 16:08:36

bharani
Member
From: Karaikudi, India
Registered: 2009-07-12
Posts: 202

Re: What should I learn next?

I am learning vala. Its syntax is simillar to c#. But the best thing is that it actually compiles to pure c code with gobject.So pretty fast and  no extra dependencies.


Tamil is my mother tongue.

Offline

#17 2009-07-29 16:14:36

MrAllan
Member
Registered: 2008-12-08
Posts: 132

Re: What should I learn next?

Don't learn Java. Its philosophy is totally obsolete.

Offline

#18 2009-07-29 17:05:51

Peasantoid
Member
Registered: 2009-04-26
Posts: 928
Website

Re: What should I learn next?

MrAllan wrote:

Don't learn Java. Its philosophy is totally obsolete.

And it doesn't teach you about useful things such as pointers.

Skip C++ and go directly for C. It will teach you the aforementioned useful things. Once you've learned it, you'll be able to do anything you can do with C++, minus the additional overhead and binary size (however insignificant they may be).

Offline

#19 2009-07-29 17:26:23

Anikom15
Banned
From: United States
Registered: 2009-04-30
Posts: 836
Website

Re: What should I learn next?

Thanks for the options. I've decided to learn C for now, I'm still working with python though. I hope I don't get the syntax confused. C's syntax is sorta like Python's, but more verbose and "scientific". I'll probably explore other languages after. I have some ideas that I've been playing with in Python. Mostly Pygame. I hope I can make a useful application eventually, then I think I'll be able to call myself a programmer, not just a hacker.


Personally, I'd rather be back in Hobbiton.

Offline

#20 2009-07-29 17:29:50

scio
Member
From: Buffalo, NY
Registered: 2008-08-05
Posts: 366

Re: What should I learn next?

Almost forgot, one of my favorite ways to learn languages is to use:
http://projecteuler.net/

Just for inspiration beyond tutorials.

Offline

#21 2009-07-29 17:32:57

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: What should I learn next?

Misfit138 wrote:

We all know how confrontational Linus Torvalds can be, but please try and stay on topic rather than possibly start a flame war.

From the look of it, it seems that the path to becoming a prominent open source programmer (Torvalds, Drepper, de Raadt, etc) involves countless hours of often expletive-laden and confrontational mailing list replies along with a noticeable amount of hubris.

Murdering your wife seems to help notoriety too but severely limits your productivity.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#22 2009-07-29 18:24:01

ljshap
Member
From: Ossining, NY
Registered: 2008-01-23
Posts: 160

Re: What should I learn next?

Peasantoid wrote:

Skip C++ and go directly for C. It will teach you the aforementioned useful things. Once you've learned it, you'll be able to do anything you can do with C++, minus the additional overhead and binary size (however insignificant they may be).

Is there a GUI toolkit for C ?


Live Free or Die !

Offline

#23 2009-07-29 18:28:51

Peasantoid
Member
Registered: 2009-04-26
Posts: 928
Website

Re: What should I learn next?

ljshap wrote:
Peasantoid wrote:

Skip C++ and go directly for C. It will teach you the aforementioned useful things. Once you've learned it, you'll be able to do anything you can do with C++, minus the additional overhead and binary size (however insignificant they may be).

Is there a GUI toolkit for C ?

Oho, I see what you're trying to do there! (Catch me out on 'you'll be able to do anything you can do with C++', for those of you who don't.)
Ever heard of GTK+?

Anyway. It's not so much what you can do with the libraries as what you can do with the language. Any C++-only library can be implemented with equivalent functionality in C.

Offline

#24 2009-07-29 18:28:59

&#32 Greg
Member
Registered: 2009-02-08
Posts: 80

Re: What should I learn next?

ljshap wrote:
Peasantoid wrote:

Skip C++ and go directly for C. It will teach you the aforementioned useful things. Once you've learned it, you'll be able to do anything you can do with C++, minus the additional overhead and binary size (however insignificant they may be).

Is there a GUI toolkit for C ?

ncurses?

Offline

#25 2009-07-29 22:07:56

ljshap
Member
From: Ossining, NY
Registered: 2008-01-23
Posts: 160

Re: What should I learn next?

  Greg wrote:
ljshap wrote:
Peasantoid wrote:

Skip C++ and go directly for C. It will teach you the aforementioned useful things. Once you've learned it, you'll be able to do anything you can do with C++, minus the additional overhead and binary size (however insignificant they may be).

Is there a GUI toolkit for C ?

ncurses?

I knew somebody was going to say that but left it out of my post.  Something similar to dialog (for bash) would be great.

All the Graphical GUI's  I looked at used C++ not C.  Learning QT is a big enought pain-in-the-butt even with a basic understanding of C++, let alone without any knowledge of C++ or OOP in general. 

The real beauty of C++ is that your program can be 95% straight C and just use the C++ features you want  such as function overloading, default argument values, and using string class strings instead of CStrings, etc. The features are there if you want them, but you are not forced to use OOP.


Live Free or Die !

Offline

Board footer

Powered by FluxBB