In what direction should I take computer programming?


 
Thread Tools Search this Thread
Top Forums Programming In what direction should I take computer programming?
# 1  
Old 08-17-2008
Question In what direction should I take computer programming?

I'm a senior in high school trying to start getting into computer programming. All I've done so far is picked up a book on C for beginners and started to teach myself. There aren't really any courses at my high school for introductory programming, so it looks like I'll have to wait for college to take any real structured courses.

My question is, is there anything else I can or should do to better prepare myself? What direction should I go from here to give me a good chance to be able to hold my own in college and beyond? Any help is greatly appreciated.
# 2  
Old 08-17-2008
I'm not sure this is the best forum for this question....

Assuming the US here-
If you are leaning toward Computer Science, get all the Math classes you can at your local community college. Most high schools (near community colleges) have reciprocity agreements with the college to allow HS students to enroll in freshman classes at the college - and receive both HS and college credit. It's a good deal.

If you are elsewhere, I dunno about these kinds of arrangements, but Math is still a great choice for classwork.
# 3  
Old 08-17-2008
While C is an excellent choice for getting work in the industry, it might not be the ideal language for learning to program. If you can learn Python or Java as well (or instead), those are more commonly used to teach modern programming concepts on an introductory level. (Personally I'd recommend Python over Java, but your local college might think the other way around.)
# 4  
Old 08-17-2008
How this reminds me of me a long time ago...

At the moment, JAVA is the center of the programming universe, so you might as well go for that. You can't go wrong being a good Java programmer. Then branch out... C++ if you want to go in a systems direction -- writing operating systems, compilers, and applications that are performance bound (though the extreme in that direction is assembler, you have a different assembler for every processor type so that's a little more specialized). If you want to go in a business direction, then study and understand DBMS theory (for transaction processing and data warehousing -- very different approaches to using the same underlying DBMS) and practice -- this still after Java. Every DBMS has it's "procedural" and "non-procedural" language, for example PL/SQL & SQL+ for Oracle, Transact-SQL for MS SQL-Server, etc. When you're going to write applications that are customized for specific corporations, you need scripting languages to do workflow, and those would be things like Perl, Python, Ruby, PHP, Tcl, etc, each has strengths and weaknesses.

Once you learn a few languages it becomes much easier to pick up others. this is especially true of the DBMS languages (4th and 5th "GLs" (genereation languages)), and a little less true of the lower level (3GLs) languages like Jave, C, and older languages like Cobol, BASIC, Fortran, etc. Script languages are in between and can be stylistically very different from one another. We all have our favorites.

These days, it isn't just about languages though. Corporations are buying into the hype that they can avoid programming by using higher-level applications to WRITE code (behind the scenes) that does stuff like load or extract (for reporting) data from DBMS systems, or handles workflow. So you have products like Informatica, DataStage, Business Works, Microstrategy, and many many others that corporations are often demanding skill sets in. Its all getting very complicated...

As for me, I got into programming by accident and I let what ever my boss (at the time) needed be my push into what ever I did. Not a great way to go, but eventually I did end up doing what I was really good at, DBMS work and workflow in Perl.... Still having fun with it too after all these years, but I have to admit that my own prejudice against the various high-level app tools mentioned just above (I spent 4 years with Tibco for example and hate it) has held me back, but I continue (sometimes after long struggle) to find what I want (in my case Oracle + Perl) and I'm close enough to retirement that I don't give a damn that I'm still not a Java programmer!!!

Have fun. Agree with last poster... Besides computer languages, get in as much math as you can. Personally all my programming is for business and I don't actually write algorithms that require any math beyond basic algebra, BUT... The understanding of DEEPER math definately helps you grasp what you must do to make your programs run better and puts you in a much better position to do the really interesting work. For example if you want to do GAMES, or real-world-looking graphics, etc, you'd better be up on your calculus!
# 5  
Old 08-17-2008
Everything is based on programming (one way or another) from your washing machine to the little application you use to list files in a directory (ls). So the actual question is what kind of things you see yourself doing in your future. If you see yourself creating washing machines or programming cell phones go with java, if you want to develop games go with C/C++, if you want to be a system administrator go with perl or python and C, if you want to be a mathematician go with FORTRAN, if you're into robotics go with LISP, etc..
# 6  
Old 08-19-2008
You can try Java, it is easy to understand. After having a general idea about programming languages, you can branch whichever you want. However, at the very beginning, do not try assembly Smilie, consider object oriented languages. Also, do not read books, instead, think about a project and try to implement that.
# 7  
Old 08-19-2008
I agree. I learned a lot more when I actually had something to do. Sometimes those ideas came from myself, more often something my employer needed. School provides just those sorts of exercises... Unless you just ask for the answers here on unixforums :-)
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Fedora

In need of some direction

Okay, so I'm not a complete newb when it comes to using Unix/Linux. I've been using Ubuntu for a few years now and I've dipped my toes into a few other distros but now I want to get a bit serious. I'm looking at becoming a sysadmin but the trouble is...I have no idea where to start. What I'm... (1 Reply)
Discussion started by: Tamachan87
1 Replies

2. What is on Your Mind?

How can I learn computer programming languages on my own?

I would love the idea to develop games. How can I teach myself computer programming? What programs or software must I use? I have the new iMac? (5 Replies)
Discussion started by: Anna Hussie
5 Replies

3. Web Development

Is Web Development is a part of computer science ?

I am now a student in university in 2nd year. I am studying computer science. But I am not sure what type of jobs computer science provide. I know some of them are software programming or network management. Recently, I hear some about Web Development. I wonder if it is a part of computer... (3 Replies)
Discussion started by: Anna Hussie
3 Replies

4. Programming

Is Web Development is a part of computer science ?

I am now a student in university in 2nd year. I am studying computer science. But I am not sure what type of jobs computer science provide. I know some of them are software programming or network management. Recently, I hear some about Web Development. I wonder if it is a part of computer science.... (1 Reply)
Discussion started by: Anna Hussie
1 Replies

5. Fedora

Need Direction for extra work ?

Hey , I have become pretty normal, using unix and what not and working around FEDORA 9 I was wondering does anyone have any IDEAS or have anything I should try to build or scripts to write , or possibly know any sites where I could practice some things just so I know I am writing them... (2 Replies)
Discussion started by: Producer
2 Replies

6. Programming

Daemon direction. Or, What do I need to watch for?

Hi, I'm writing my first daemon application. I need to make sure I cover my bases as far as correct procedures, etc... I've tried to do my own legwork by reading as much as I could on daemonizing programs, etc... There are so many different examples, some include this but not that, etc...... (3 Replies)
Discussion started by: mph
3 Replies

7. Shell Programming and Scripting

re-direction

Say I have a single bin directory with Linux and SunOS executables, like this: bin/myprog_lnx bin/myprog_sun Assume these programs read from stdin and write to stdout and, thus, are meant to be run like this: myprog_lnx < filein > fileout My users may log in from a Linux or Solaris... (3 Replies)
Discussion started by: gsal
3 Replies

8. UNIX for Dummies Questions & Answers

New & could use some direction!

First, I just rebuilt/installed my custom kernel & I don't know how to check if it ran properly (I'm fairly sure it did, but I'm looking for reassurance that it loaded the new kernel file). Second, I'd love to get into programming, scripting, whatever, I want my imagination to be the builder &... (2 Replies)
Discussion started by: LazySpoon
2 Replies
Login or Register to Ask a Question