Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Programming advice
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
flynn_jake1
n00b
n00b


Joined: 08 Oct 2004
Posts: 32

PostPosted: Sat Oct 30, 2004 8:45 pm    Post subject: Programming advice Reply with quote

Hey all,
I am looking to take my programming skills to the next level. I am a junior in a university Computer Science program. I have good grades do well on projects but, I really do not program other than just school work. I have read a decent amount of books and feel I have a good knowledge base but now I need to start applying my skills. I have check out sorceforge to try and work with one of those projects but most just overwhelm me. How have some of the all star programmers here gotten their experience. Anyone have any good recommendations of projects that a semi-rookie could join up on and partipate and actually know what is going on. Also what are some of the better programming books that you would recommend. Thank you for your time
-Jake
Back to top
View user's profile Send private message
Akhouk
Guru
Guru


Joined: 23 May 2003
Posts: 476
Location: The Two Niles, Africa

PostPosted: Sat Oct 30, 2004 11:48 pm    Post subject: Reply with quote

What type of programming languages do you know? And what type of work do you want to do?

My advice is to start with easy languages like PHP. You can easily find small website projects that are written in PHP that are easy to add some code to. For example, TikiWiki, you could write a simple module for in a few hours.

After that, a script language like Perl or Python are great to know.

And then C/C++. The trouble with most C/C++ projects is that there is often a lot of other things you need to learn like Make files, automake, autoconf etc .

As for books, again it really depends what you actually want to do.
Back to top
View user's profile Send private message
Halcy0n
Developer
Developer


Joined: 17 Sep 2003
Posts: 1682
Location: Freehold, NJ

PostPosted: Sun Oct 31, 2004 1:31 am    Post subject: Reply with quote

I'd personally like to know if there is any good books/sites/anything that cover the autotools. I know GNU has their own documentation, but does anyone know of any other good resources?
_________________
Mark Loeser
http://www.halcy0n.com
Back to top
View user's profile Send private message
flynn_jake1
n00b
n00b


Joined: 08 Oct 2004
Posts: 32

PostPosted: Sun Oct 31, 2004 1:42 am    Post subject: Reply with quote

I guess basically I am just looking for some general computer science wisdom. Anything that you have found to be useful and could not have made it without lets hear about it.
Jake
Back to top
View user's profile Send private message
piffle
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jun 2004
Posts: 98

PostPosted: Sun Oct 31, 2004 4:31 am    Post subject: Reply with quote

Books I recommend? Design Patterns by Gamma, et. al, and The Structure and Interpretation of Computer Programs by Abelson and Sussman. Code Complete from Microsoft Press (I forget the author) is also good. I could go on, but they would be domain- or language-specific.

I am a confirmed academic -- my ivory tower, though still under construction, is already leagues high -- but I can easily recognize that the most progress I made as a programmer came during my professional experience. The broad background from an undergraduate CS degree formed a great basis, but it was actually having to program every day that spurred me on to find the best ways of doing things. Determined laziness in the name of self-interest, really. So, yes, you should find a project to contribute to. Which one? That depends on your interests. Plenty of small-ish projects abound.
Back to top
View user's profile Send private message
Akhouk
Guru
Guru


Joined: 23 May 2003
Posts: 476
Location: The Two Niles, Africa

PostPosted: Sun Oct 31, 2004 1:11 pm    Post subject: Reply with quote

Halcy0n wrote:
I'd personally like to know if there is any good books/sites/anything that cover the autotools. I know GNU has their own documentation, but does anyone know of any other good resources?


Personally I use the devhelp manuals and find they are great. There is however this book....

http://www.amazon.co.uk/exec/obidos/ASIN/1578701902/qid=1099228213/ref=sr_8_xs_ap_i1_xgl/026-3505765-7490029

I have not read it myself though.
Back to top
View user's profile Send private message
Halcy0n
Developer
Developer


Joined: 17 Sep 2003
Posts: 1682
Location: Freehold, NJ

PostPosted: Sun Oct 31, 2004 4:11 pm    Post subject: Reply with quote

Akhouk wrote:
Personally I use the devhelp manuals and find they are great. There is however this book....

http://www.amazon.co.uk/exec/obidos/ASIN/1578701902/qid=1099228213/ref=sr_8_xs_ap_i1_xgl/026-3505765-7490029

I have not read it myself though.

Yea, I saw that one, but as it was made in 2000, I'm guessing it is decently outdated. I'll just use the manuals they provide I guess :)
_________________
Mark Loeser
http://www.halcy0n.com
Back to top
View user's profile Send private message
Akhouk
Guru
Guru


Joined: 23 May 2003
Posts: 476
Location: The Two Niles, Africa

PostPosted: Sun Oct 31, 2004 7:45 pm    Post subject: Reply with quote

I think you will find it is not hopelessly out of date and might provide a reasonable reference and introduction. However, I probably wouldn't buy it myself ;)
Back to top
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Sun Oct 31, 2004 11:10 pm    Post subject: Reply with quote

flynn_jake1 wrote:
I guess basically I am just looking for some general computer science wisdom. Anything that you have found to be useful and could not have made it without lets hear about it.
Jake


It's not particularly "computer science" (well not in the same maner as "The Art of Computer Programming" by Knuth), but I think that one of the best book I've ever read is : http://www.amazon.com/exec/obidos/ASIN/020161622X/qid=1099264033/sr=2-1/ref=pd_ka_b_2_1/002-4782296-7588054

it's full of good (although common sense) advices and example ...
The other 3 books, part of the starter kit are although worth reading ...

I think that if you want to use your skill in a particular language it's often more interesting to start a new project (something you really need for example) ...
Back to top
View user's profile Send private message
Akhouk
Guru
Guru


Joined: 23 May 2003
Posts: 476
Location: The Two Niles, Africa

PostPosted: Mon Nov 01, 2004 1:01 am    Post subject: Reply with quote

Sleeper wrote:

I think that if you want to use your skill in a particular language it's often more interesting to start a new project (something you really need for example) ...


That is often true from a motivation point of view. If you start a project that you need and are interested in your are more likely to see it through. However, it is also the case that one of the best ways of improving your programming skills is through peer review of your code. If you code as part of an established team you can pick up a lot of 'tricks of the trade' that if you code away on your own you might never find out. If you code a new project, perhaps not many people will actually read the code even if they use the program and hence you miss out on all that feedback.
Back to top
View user's profile Send private message
flynn_jake1
n00b
n00b


Joined: 08 Oct 2004
Posts: 32

PostPosted: Mon Nov 01, 2004 3:36 am    Post subject: Reply with quote

Quote:
I think that if you want to use your skill in a particular language it's often more interesting to start a new project (something you really need for example) ...


I think that another problem with this is that, most anything that interests me has been done in some way shape or form, or I have no idea where to begin on some of the larger projects I would like to do. I guess I am just being lazy, uncreative, and looking for an easy way to become a better coder, when I really must get my hands dirty. Does anyone have any experience working with sourceforge projects? I am wondering how that whole process goes. Also I feel most comfortable in the C++ environment, I want to get to know it very intimately before I take on many other languages. I would also like to get into web programming a bit more. So if anyone has an specific information mostly for the latter I would like to hear it.
Back to top
View user's profile Send private message
Carnildo
Guru
Guru


Joined: 17 Jun 2004
Posts: 594

PostPosted: Mon Nov 01, 2004 4:50 am    Post subject: Reply with quote

The thing I've found that helped me the best in writing programs is to write programs. Lots of them. Usually, it's simple things like a utility to convert between arbitrary numerical bases (including non-integer bases -- base pi, anyone?), or an implementation of Minesweeper on the TI-86 (hey, I was bored in Calculus), but I've also written some medium-sized programs, like a multi-page notepad, and larger programs, such as RoboWar II.

Find something you want a computer to do, and write a program to do it.
Back to top
View user's profile Send private message
piffle
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jun 2004
Posts: 98

PostPosted: Mon Nov 01, 2004 6:31 am    Post subject: Reply with quote

Quote:
Also I feel most comfortable in the C++ environment, I want to get to know it very intimately before I take on many other languages.

If you really want to become completely familiar with what something is, then at some point you will have to let your brain contrast it with things that it is not. There's a reason people publish entire books on topics like Counterexamples in Topology. You don't truly know a theorem until you know precisely where it doesn't apply; I believe an analogous statement holds in this case as well. While you may want to concentrate on C++, not spending any time with some different langauges is doing yourself a disservice both as a programmer in general, and as a C++ programmer in particular, too.

All that said, now that you have mentioned C++ I will add some books to my list above: Essential C++ and the Josuttis STL book. But you probably already knew that.
Back to top
View user's profile Send private message
teknomage1
Veteran
Veteran


Joined: 05 Aug 2003
Posts: 1239
Location: Los Angeles, CA

PostPosted: Mon Nov 01, 2004 4:33 pm    Post subject: Reply with quote

On the contrast bandwagon, give scheme a try too. It can really sharpen your eye for algorithms. Sometimes phrasing problems eve simple textbook exercises in a new vocabulary can yield insight into your original solution.
Back to top
View user's profile Send private message
johnnymac
Tux's lil' helper
Tux's lil' helper


Joined: 27 Oct 2004
Posts: 105
Location: Hot A$$ Texas

PostPosted: Mon Nov 01, 2004 9:11 pm    Post subject: Programming help Reply with quote

Okay...I've been a professional Software Engineer for a bit now...written embedded device drivers, Web-based enterprise software...blah blah blah....but they all revolve around the basis of learning three languages.

Java
C++
C

Once you learn those languages and have a strong understanding them you'll pick up other languages extremely easy. The biggest hurdle people have to face when learning about programming is how to think. You'll hear people who aren't programmers tell you...you have to be a bit "odd" to be able to look at code all day long....and yes...you do!!

But....the most important thing you'll want to learn is that each language has it's place and purpose. You're not developing device drivers in Java and your not going to want to build Web products with C....
_________________
I've never seen a purple cow...
I never hope to see one...
but I can tell you this...
I'd rather see one than be one.
Back to top
View user's profile Send private message
nightm4re
Guru
Guru


Joined: 20 Jun 2004
Posts: 519
Location: Providence, RI, USA

PostPosted: Mon Nov 01, 2004 9:36 pm    Post subject: Reply with quote

look into doing some OpenGL stuff. Start with a simple GLUT based program, then eventually keep building on it to do cooler stuff. THat's how I got involved with doing spare time projects. My GL stuff evolved to forming a base in Win32 (ya, i was on it back then) instead of GLUT, coming up with ways to automate things, and eventually some game work as well.

Aim small from the start - check out nehe's site for tutorials, and then you can start building on things from there.
_________________
Nitrogen - GtkMM based background setter/restorer, please test!
Minuslab | d.minuslab.net
Back to top
View user's profile Send private message
nightm4re
Guru
Guru


Joined: 20 Jun 2004
Posts: 519
Location: Providence, RI, USA

PostPosted: Mon Nov 01, 2004 9:39 pm    Post subject: Reply with quote

Halcy0n wrote:
I'd personally like to know if there is any good books/sites/anything that cover the autotools. I know GNU has their own documentation, but does anyone know of any other good resources?


here's a site i found very recently:
http://www.st-andrews.ac.uk/~iam/docs/tutorial.html

i found this extremely well written and easy to understand for those of us used to letting MS VisualStudio manage all the build process. I can't do much yet, but with that site's help I think I'll be alright :D
_________________
Nitrogen - GtkMM based background setter/restorer, please test!
Minuslab | d.minuslab.net
Back to top
View user's profile Send private message
flynn_jake1
n00b
n00b


Joined: 08 Oct 2004
Posts: 32

PostPosted: Tue Nov 02, 2004 6:10 am    Post subject: Reply with quote

I like this learn other languages to contrast to, have any specific ones that may also be useful in other arenas not just the academic one?
Back to top
View user's profile Send private message
teknomage1
Veteran
Veteran


Joined: 05 Aug 2003
Posts: 1239
Location: Los Angeles, CA

PostPosted: Tue Nov 02, 2004 6:26 am    Post subject: Reply with quote

Well not to be Paul Graham but LISP is sort of the renaisance language of computing. On the Other hand there're things like Ruby which is an experiment in a completely object oriented language building on the syntactic concepts of Perl and Smalltalk. Those are probably biggest change from C++ style coding while still remaining useful.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum