Sunday, January 4, 2009

RE: [BLUG] Looking to study further in computer science

My first thought is, learn how to program well and don’t worry as much about languages.  Languages go in and out of vogue (see: Pascal).  Furthermore, languages depend on the task being performed, the work environment, (pointy hair bosses), and the hardware/software environment.  However, if you know the fundamentals of programming, you can apply them to any language.  It’s amazing how far fundamentals, a good book (or website), and an API can take you. 

 

Currently, at work, I’m struggling with some truly crap-tastic C++ code.  The original programmer didn’t understand C++ and caused lots of memory leaks.  That was easily fixed.  Unfortunately, he didn’t understand the fundamentals of Object Oriented Programming either.  This has made everything hard to fix.  The code is very fragile. 

 

I wish I could rewrite it (a rewrite would have cost less at this point).  If I were to start over, I would write the hardware part in C.  I would write the graphical part and all the interesting bits in one of python or java (for portability).  I would then connect the two with a network interface (networking is already required) and call it a day. 

 

You should look at the FOSS projects , decide where you would like to help and learn those language being used.  Gnome projects (GTK) use C libraries.  KDE projects use a C++ libraries.  My Nokia 810 likes python mixed with GTK so I’m using python.  Contribution lines look good on a resume and in an interview. 

 

If you want to play with Linux, you should probably learn “make” and C at some point (in your spare time?).  The kernel and its modules are written in C.  There has been many a problem solved by changing one stupid line of C code.

 

Lastly, program in a language you like.  If you like java, run with it.  If you like scheme, have fun with it.  Doing interesting things in any language is good for you.

 

My 2 cents, enjoy your semester!

 

Jeffery

 

--

Jeffery Williams

Software Test Engineer

IU Cyclotron Facility

 

 

From: blug-bounces@cs.indiana.edu [mailto:blug-bounces@cs.indiana.edu] On Behalf Of Ben Shewmaker
Sent: Tuesday, December 30, 2008 1:28 PM
To: blug@cs.indiana.edu
Subject: [BLUG] Looking to study further in computer science

 

I just finished my first computer science class at IU (covering Scheme), and next semester the class I'm taking will be covering Unix, Emacs, and especially Java.  I'm wanting to push myself to learn something more at the same time (eventually I would love to get involved with some sort of open source project).  Would it be wise to try to learn more than one language at once in the first place, or would I be better served trying to learn more Java than the course covers?  What types of projects are developed with Java?  What other language would be useful to try to self learn?

Thanks for the info and Happy New Year everybody!