Thread: Computer Science question

  1. #1
    Software engineer
    Join Date
    Aug 2005
    Location
    Oregon
    Posts
    283

    Computer Science question

    Being a student in Computer Science, is it a general necessity to know C/C++ instead of all the other fancy top-market advertising languages such as Java/VB/C#? I'm no stranger to each language, btw. I feel I need to "focus" on one, though. Each language has their own obstacles.. I don't see a point to do that with 3 languages when I'm looking for a general language that can best help me for CS. I believe its C++, because it's still powerful, even after MS's deprecated language hallway. I guess I need confirmation?

    Thanks,
    Phil
    Last edited by dxfoo; 10-17-2005 at 07:34 PM.

  2. #2
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    C++ is the best option in my opinion. It offers an excellent combination of high-level abstraction and low-level power. It's very popular and versatile. Though it's good that you're also planning on maintaining proficiency at several points in the spectrum. But C++ is my recommendation right now for what to focus on.

  3. #3
    Unregistered User
    Join Date
    Sep 2005
    Location
    Antarctica
    Posts
    341
    If you are going for a degree in CS, learn C++ (or C, but c++ is more widley used of the two in the real world). If you want to just use the higher level languages like vb/java/c#, then go for an Information Systems degree, but they are about as worthless as the paper they are written on. I think our janitors all have IS degrees.

  4. #4
    Software engineer
    Join Date
    Aug 2005
    Location
    Oregon
    Posts
    283
    Thanks for the responses. I'm glad to say C++ wins

  5. #5
    aoeuhtns
    Join Date
    Jul 2005
    Posts
    581
    How about you just learn all of them.

  6. #6
    Bob Dole for '08 B0bDole's Avatar
    Join Date
    Sep 2004
    Posts
    618
    CS at my University is C->Java->C++->asm... in that order, don't ask why.
    Hmm

  7. #7
    Unregistered User
    Join Date
    Sep 2005
    Location
    Antarctica
    Posts
    341
    it makes sense to me. Teaching asm first would be a sure way to get people to drop out of CS programs, though, I probably would have liked it.

  8. #8
    Software engineer
    Join Date
    Aug 2005
    Location
    Oregon
    Posts
    283
    Rashakil Fol, if you try to learn them all, are you trying to write in your resume that you can speak english, spanish, german, italian, as well as hebrew, too? This is gauranteed to give you a Mcdonalds job. It's the same thing for programmers. In the past, programmers had assembly/C for most real-world solutions. They were experts at a few in general, and "then" focused on algorithms, etc. that can be applied. A language should be 10% of a solution, not 100% of your study. Today, programmers are given a multitude of languages. It's like a developers market. I talk to programmers today and most of them can't go "beyond" the basic language because they're too busy learning every language they can. At the end, they're like what rockytriton mentioned: janitors. I agree that they'd probably go for CIS majors (Linguistics?) because they're not focusing on where the science should be. Most teachers I talk to in college suggest one focused language like C/C++, and a minor like Java. To anyone, don't focus on many languages because you're less competent for a later job position. Focus on one or two, because learning APIs, efficient networking, databases, graphics, devices, etc. with a single language never ends. You just get better at getting the job done with a few focused languages.

    Whew

    This is the way I see it:

    "Why should I give you this job?" the interviewer asks.
    "I know every computer language very well!"
    "How many projects have you completed?"
    "None, but I studied every language very well!"
    "So you can build operating systems?"
    "Sure, I can do operator overloading!"

    Hilarious, but true As I said above, I'm no stranger to each language. I'm just ready to take the next step.

    dxfoo
    Last edited by dxfoo; 10-18-2005 at 09:49 AM.

  9. #9
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >A language should be 10% of a solution, not 100% of your study.
    The language is how you express solutions, so it's very important that you understand the language you're working with well. But if you only focus on one or two languages, you're missing out on viable options. For example, if I only knew C and Java, I would have more trouble with a program that's heavily text processing oriented than if I knew Perl as well. If you get really good at one language, but can't claim competency with any others, that's a sure way to lose your marketability. Employers want a broad range of skills. This is the way I see it:

    "Why should I give you this job", the employer asks.
    "Because I know C++ inside and out", you say.
    "We don't use C++, do you know Java?"
    "No, but I'm a fast learner, and I know all about general programming, so it'll be easy to learn Java."
    "Okay then, we'll be in touch...have a nice day."

    And here's the amazing secret. You don't have to be an expert to write good code. Most C++ programmers only know a fraction of the language's features and libraries, yet they manage just fine. Being capable will get you a job, being proficient will help you keep the job. So your priority when looking for a job is to meet their requirements, which means being capable with a number of languages. Once you have the job, you can work on honing your skills. Seeking perfection is a worthwhile endeavour, but starving to death in the process is generally a Bad Thing(tm).
    My best code is written with the delete key.

  10. #10
    Software engineer
    Join Date
    Aug 2005
    Location
    Oregon
    Posts
    283
    Hmm, how many times do I have to say I'm not a stranger to each language? I use all of them on a daily basis. I still feel a focus should be made, and I think we already covered that.

  11. #11
    Unregistered User
    Join Date
    Sep 2005
    Location
    Antarctica
    Posts
    341
    here's an even more realistic one in my area:

    "Why should I give you this job?" - The employer asks
    "Because I'm an expert in Java" - You say
    "Do you know Swing?" - employer asks
    "yes, inside and out." - you say
    "Do you know J2EE?" - employer asks
    "Yes, inside and out." - you say
    "What development environment do you use?" - employer asks
    "JBuilder" - you say
    "Have you used WSAD?" - employer asks
    "No, but I'm a fast learner" - you say
    "Thanks, we'll get back to you" - employer says

    There are sooooo many people out there, especially who know java and say they know J2EE that they pretty much pick and choose on little details like what IDE you use. It's pathetic but that's how the management at the last few places I've worked have been. They filter out a list of people who use the exact same tools that we use, so we usually end up getting someone less competent on the programming side and more competent with knowing where the build button is for the IDE we use.

  12. #12
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >Hmm, how many times do I have to say I'm not a stranger to each language?
    Zero, because I don't care. I was disagreeing to some extent with your response to Rashakil Fol, not telling you what to do.
    My best code is written with the delete key.

  13. #13
    Software engineer
    Join Date
    Aug 2005
    Location
    Oregon
    Posts
    283
    Oh, okay. For my plan after graduating from CS, I don't see how Java/C#etc could fit in with it. That's why it's not a focus. Most likely I'll be displining in AI for games/robotics which almost requires C++ instantly. At any rate, I'm just glad we all have a sense of direction where to go.

  14. #14
    Registered User Dante Shamest's Avatar
    Join Date
    Apr 2003
    Posts
    970
    I'm in my final 4th year of my Computing degree, and they've not taught C++ at all. However, so far they've taught me alot of other languages during my years here.

    C
    C#
    Java
    Prolog
    PHP
    JSP
    CLIPS
    Haskell
    Postscript

    My professors say their aim is to teach us the fundamentals of Computing Science, and to be exposed to as many programming paradigms as possible.
    Last edited by Dante Shamest; 10-18-2005 at 02:12 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Computer Science / Sofware Engineering
    By zacs7 in forum A Brief History of Cprogramming.com
    Replies: 11
    Last Post: 12-18-2008, 05:23 PM
  2. a computer science tapestry
    By unixguru in forum C++ Programming
    Replies: 6
    Last Post: 04-13-2006, 08:06 PM
  3. General Computer Question
    By maththeorylvr in forum Tech Board
    Replies: 3
    Last Post: 04-29-2005, 03:38 PM
  4. What is Computer Science like?
    By Shadow12345 in forum A Brief History of Cprogramming.com
    Replies: 13
    Last Post: 09-08-2002, 11:59 AM