How should I educate myself so that....

Suggestions and discussion of future versions
Post Reply
User avatar
napster
Member
Member
Posts: 15
Joined: Wed Apr 30, 2008 5:47 pm

How should I educate myself so that....

Post by napster »

How should I educate myself so that I one day in the future can contribute code to the Deluge project?
I'm starting to take an interest in the torrent technology and want to get involved somehow, but I don't really know how I can reach this dream. Any suggestions or advices?
  • Like do you really have to be elite in 2 programming languages (Python and C++) before being able to understand how Deluge is built?
    http://en.wikipedia.org/wiki/Comparison ... rogramming
  • Do you need to know these 2 programming languages well in order to contribute code?
  • How should I plan my long term strategy? Regarding understanding how Deluge is built and how the Torrent technology works?
  • Will spending my time learning C from scratch waste valuable time? (I just bought the K&R - "The C Programming Language") Should I spend my time learning Python from scratch instead in order to reach my dreams more quickly?
loki
Moderator
Moderator
Posts: 787
Joined: Tue Dec 04, 2007 3:27 pm
Location: MI, USA

Re: How should I educate myself so that....

Post by loki »

From what I heard only libtorrent is built in C++, so I believe python would be the one to learn to help develop deluge. It is always a good idea to have some understanding of C though.
andar
Top Bloke
Top Bloke
Posts: 1050
Joined: Fri Jun 08, 2007 8:38 pm
Location: Victoria, BC
Contact:

Re: How should I educate myself so that....

Post by andar »

napster wrote:How should I educate myself so that I one day in the future can contribute code to the Deluge project?
I'm starting to take an interest in the torrent technology and want to get involved somehow, but I don't really know how I can reach this dream. Any suggestions or advices?
  • Like do you really have to be elite in 2 programming languages (Python and C++) before being able to understand how Deluge is built?
    http://en.wikipedia.org/wiki/Comparison ... rogramming
  • Do you need to know these 2 programming languages well in order to contribute code?
  • How should I plan my long term strategy? Regarding understanding how Deluge is built and how the Torrent technology works?
  • Will spending my time learning C from scratch waste valuable time? (I just bought the K&R - "The C Programming Language") Should I spend my time learning Python from scratch instead in order to reach my dreams more quickly?
Knowing both Python and C++ would be ideal, since you will have a better understanding of how it all works. That being said, you could just learn Python and not worry about libtorrent which is the C++ component.

I would suggest just starting out by writing plugins or fixing small bugs in Deluge -- start small. Jumping into a project has a learning curve no matter your programming experience since it takes time to familiarize your self with the code and the design.
johnnyg
Top Bloke
Top Bloke
Posts: 1522
Joined: Sun Oct 28, 2007 4:00 am
Location: Sydney, Australia

Re: How should I educate myself so that....

Post by johnnyg »

napster wrote:
  • Will spending my time learning C from scratch waste valuable time? (I just bought the K&R - "The C Programming Language") Should I spend my time learning Python from scratch instead in order to reach my dreams more quickly?
I think it's definitely worth learning C.
C is probably the lowest "high level" language, meaning there are no shortcuts.
So if you can understand C, most other languages should be easy.
Plus anyway, once you can program in one language, programming in another is just a matter of learning the new syntax (the exception is when the new language is functional instead of imperative).
C++ is basically just a Object Orientated version of C.

That said, you could start by learning Python first (which is definitely the most useful language to know for contributing to deluge), however I think you'll find it harder going from Python to C, then from C to Python.

Also, with programming it's really really important to practice!
You could read a million books on C or Python and still not be able to program well.

Good luck!
User avatar
napster
Member
Member
Posts: 15
Joined: Wed Apr 30, 2008 5:47 pm

Re: How should I educate myself so that....

Post by napster »

Thanks for your advices. They sound more doable than my master's advice which was to read about sockets, streams and all that technical stuff that I have never been in contact with before. Right now I'm learning how to use PHP Zend Framework so I guess I stick to my original plan which is to read and do the exercises from the K&R C programming book. Then I'll take a look at the Python syntax and get back to you guys in about 5 years time. Until then! :geek:
markybob
Compulsive Poster
Compulsive Poster
Posts: 1230
Joined: Thu May 24, 2007 11:27 pm
Location: Chicago, IL, USA
Contact:

Re: How should I educate myself so that....

Post by markybob »

napster wrote:Thanks for your advices. They sound more doable than my master's advice which was to read about sockets, streams and all that technical stuff that I have never been in contact with before. Right now I'm learning how to use PHP Zend Framework so I guess I stick to my original plan which is to read and do the exercises from the K&R C programming book. Then I'll take a look at the Python syntax and get back to you guys in about 5 years time. Until then! :geek:
i suggest you steering away from php in general. i've worked with php extensively for work, and although useful *sometimes*, it's more or less unnecessary and outdated. with the advent of wgsi, python crushes php for desktop and web apps. http://www.xml.com/pub/a/2006/09/27/int ... eapon.html
cross over to the dark side ....you know you want to :P
Post Reply