Thread: Do what you love or do what is safe?

  1. #1
    Registered User
    Join Date
    Sep 2008
    Posts
    47

    Talking Do what you love or do what is safe?

    So I'm starting with a company out in cali in sept and I actually get to pick want to do. About 30 or so business units will come to me and I interview the managers and if I find their group interesting I can work for them.

    But I'm a little worried. A lot of my friends picked safe business units, even though they don't like what they are doing exactly. They work for the same company just not in california which is their main headquarters. So they only had 5 business units to pick from and 90% of all the new hires wanted to get into the business unit that was doing java dev but they only had one open spot so the others had to pick other less enjoyable business units.

    I'm not a fan of C or embeded programming, I like more web based and high level things such as java/c#. No one really uses C++ in the company so the 2 main languages are C and Java, not to mention all the web techonlogies out there.

    I get paid the same either way, start out at 75k which isn't bad even for cali standards but the econ sucks really bad and everyone is firing people left and right. I'm safe for a year but after that year if my business unit goes down basically I either get fired or relocated.

    So do you suggest I pick a business unit that I'm really excited about or do I pick somthing that is making money and a safe business unit? I have a feeling I'll peform much better if I enjoy what I'm doing but then again if I lose my job that won't be very fun either. I can do C programming, just like I can do any other language I just find I can do somthing in Java much faster and get more out of it for the time spent. Thats just me though. I was raised on C/C++ but once I got a taste of java I was hooked.

    I worked at IBM for about a year as a co-op and I was doing z/os programming which bored the hell out of me. I was good at it and I exceled at the co-op but I didn't enjoy work. It was a safe job becuase there arn't many z/os programmers out there especially young ones, its like a dying breed. But I wasn't having a good time because I was bored of the product I was making so I didn't except the job offer.

    Any suggestions welcome.
    Last edited by mr_coffee; 07-27-2009 at 12:49 AM.

  2. #2
    and the hat of sweating
    Join Date
    Aug 2007
    Location
    Toronto, ON
    Posts
    3,545
    Interviewing the managers to choose where you want to go... Wow, that is very strange.

    Well, maybe you could split it in half and do something that you partially enjoy and is partially safe?

    BTW, why on earth aren't they using C++? Are they just dealing with embedded systems?
    "I am probably the laziest programmer on the planet, a fact with which anyone who has ever seen my code will agree." - esbo, 11/15/2008

    "the internet is a scary place to be thats why i dont use it much." - billet, 03/17/2010

  3. #3
    Registered User
    Join Date
    Sep 2008
    Posts
    47
    cpjust,

    Not every person can do this, you have to be selected into the program.

    A ton of companies pick java over C++ the difference in speed isn't that great. Companies also like the portability of java compared to C++. Even IBM is doing it, they are re-writing C++ applications into java and a lot of the network programming is now done in java. The speed difference between C and Java is much greater. C++ and Java not so much. Honestly I can't think of a time you would want to use C++ over Java unless you want to make inline asm calls or if your doing game dev.

    I guess I"ll have to wait and see what the different business units are and after that I can try to do some research to see which ones are making money and which ones arn't. Then like you said, try to split the difference.

    Thanks for the advice.

  4. #4
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by mr_coffee View Post
    A ton of companies pick java over C++ the difference in speed isn't that great.

    ...

    The speed difference between C and Java is much greater. C++ and Java not so much.
    That is a myth. C++ and C are about equal in speed, Java falls far behind.
    Now, whether this speed penalty is acceptable is another thing.

    Honestly I can't think of a time you would want to use C++ over Java unless you want to make inline asm calls or if your doing game dev.
    I can think of 2 things:
    1) Greater speed.
    2) More powerful and flexible generic code.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  5. #5
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by mr_coffee View Post
    HHonestly I can't think of a time you would want to use C++ over Java unless you want to make inline asm calls or if your doing game dev.
    This is really up for grabs. I was reading recently that programming language "wars" are highly religious and none of these religions are polytheist.The joke however is sad, in my opinion.

    I'd like to extend this exercise to you, if C++ is better suited for performance demanding games why you think that is? Because java doesn't provide the necessary tools? And why doesn't it? What's at the core of the language that inhibits the development of these tools? Once you reach the answer, you'll realize that java objectives lie elsewhere. And comparing it to C++ is not only an unnecessary exercise, as it is fundamentally wrong. This brings us as to why the joke is sad...

    First and foremost the admission that indeed much of the debate of what is a better language for a certain task is clouded in cabalistic reasoning. The simple fact is that programmers care about syntax more than they care about semantics and we are dim viewed enough to not look at a programming language the other way around. How does the problem express itself and how do these programming languages offer to solve the problem are questions we often don't ask. We limit ourselves to what we know or what we like, even if that means getting less than satisfactory answers. What's worst, we don't equate ever the possibility that the best solution is often found by combining more than one language. Different and more appropriate semantics for different parts of the problem (because often a problem only offers the illusion of being atomic).

    It's quite extraordinary that we are ready to for instance apply a scripting language to a compiled project of ours, but can't accept the possibility of using Erlang and its much simpler/correct model to tackle our concurrency requirements as opposed to the fundamentally wrong threads model. Similarly, going back to your quote, it's quite extraordinary that often we can't accept introducing C/C++ code into our Java projects to handle specific issues in the problem domain.. or the other way around.

    As the non polytheists we are, we fail miserably at the art of programming. That we then compare languages on such weak and completely unfounded premises as performance/bloat, simplicity/complexity, availability/rarity, or most anything else that we keep comming up with, is just our pathetic attempt at justifying our incompetence.
    Last edited by Mario F.; 07-27-2009 at 09:07 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  6. #6
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Elysia View Post
    That is a myth. C++ and C are about equal in speed, Java falls far behind.
    Not according to this:
    Square root of x divided by zero: The speed, size and dependability of programming languages
    Code size is the x dimension in this, where-as speed is the y dimension, so if you scroll down to where the comparisons are (33 languages), all the fast ones are down the left. From fastest to slowest those are:
    1. Clean
    2. GNU C
    3. Java 6 server
    4. Java 6 steady state
    5. C++


    Of course, this is just one set of tests, but there you go.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  7. #7
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    Hopefully this thread doesn't derail into a C++ vs C vs Java debate...

    To answer your question, I think that if you are talented enough to get a job where you get that starting salary and you get to pick where you work within the company, then even if you get laid off in a year you will be able to land on your feet somewhere. So while there is some risk in that your life might be a bit more volatile, it's not like you're risking being on the street.

    Also, what seems like the safe pick now might not be a year from now. So you have to factor in how sure you are of the relative safety of each option.

    Personally, I find coding in general to be the fun part, so I'd probably go for something safer since there would be little difference in the level of enjoyment. But if there is an area you're really interested in and think you could do well with, I don't think there is that much risk in going for it now.

  8. #8
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    I was raised on C/C++ but once I got a taste of java I was hooked.
    Then pick the Java job. Even if it isn't the safest path at this company, Java jobs are a lot more plentiful than C++ jobs in the industry right now.

    In general though, you should always choose whatever you like the best. If you are going to be spending 40+ hours a week doing something, it might as well be something you love.

  9. #9
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,412
    I agree with bithub. If you do something you love, you will probably be enthusiastic about it, and thus perform better, and this could well turn out to be the safe option when your performance is evaluated.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  10. #10
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by MK27 View Post
    Not according to this:
    Square root of x divided by zero: The speed, size and dependability of programming languages
    Code size is the x dimension in this, where-as speed is the y dimension, so if you scroll down to where the comparisons are (33 languages), all the fast ones are down the left. From fastest to slowest those are:
    1. Clean
    2. GNU C
    3. Java 6 server
    4. Java 6 steady state
    5. C++


    Of course, this is just one set of tests, but there you go.
    This source: The Java (not really) Faster than C++ Benchmark
    Contradicts you, saying C++ is faster, at least by 2x.
    It's also taken from the Wikipedia page if you doubt its credibility.

    I'm simply posting this to dispell myths about C++ being slow. It's not. It's faster than Java and faster/slower than C, so there's really no reason to pick Java before C++ if speed is a concern.

    Now, as for your choice, I would always say it's better to pick something you love than something you don't like so much. You always have the ability to learn another language later and possibly find other jobs. I don't think you will be in a bad position.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  11. #11
    Registered User
    Join Date
    Sep 2008
    Posts
    47
    Interesting, thanks guys for the your input. I do like the feeling of waking up from work and not feel bad about going to work. I guess I shouldn't have said I hated all of my work at IBM. There were a few projects that I was doing sandbox dev that was more of a network based application and they let me use java. I remember not being able to sleep and just remote logging into my work machine and coding for a few hours even after I got home from work just because It was fun. Then they switched me over to Rexx and that excitement turned into blah.

    When I was younger around 14-16 when I would code anything I would be excited but now I need to be excited about the product I'm working on to enjoy it. I like to say hey I'm working on such and such and people are like oh yah cool! I know what your talking about. Not sure why that matters to me but it does. If I landed a job with blizzard and I was coding some sweet game I'd enjoy coding in C/C++ because what I'm making is fun. Right now though web focusd applications excite me so I guess thats why Java does as well compared to C++. It just seems like Java's library is so HUGE and it can branch off into so many different techonlogies.

    I must have been reading the wrong information about the java vs c++ when it comes to speed. I'm not really sure why they are picking java over c++. Perhaps it’s just upper management telling the coders what to do because they think java is better suited to transition to web based applications over C++.

    Honestly ibm is spending a ........ ton of money re-coding one of their huge network management products (I'm not going to say which in case I'm not allowed to disclose this) but the whole application was written in C++ (and its huge) and they are re-doing it in Java.

    The more I think about it its probably because of java is more suited for web based transition as an example, portlets and you can branch of into Java EE if you want to go even bigger. So if you want to supply customers a uniform GUI to access maybe a whole mess of software via the web, porlets are perfect for this and very easily to do once its coded in Java and if you were trying to merge a bunch of C++ applications, with C++ I'm not sure if C++ even has libraries to support such a thing.

    It just seems the java EE library is more robust than C++'s so although it will be slower it will cost less time to code up and better support in the long run maybe? Just taking a guess here I really never tried C++ with anything web based because even accessing a mySQL database with C++ I was forced to find a 3rd party library that was constantly changing and the new changes constantly broke the old ones. It wasn't bad though it looked like STL but wasn't very dependable.

    It just seems a lot of software in big companies are going on the web, not so much having stand alone applications that are running on your desktop. Take google for example, they are trying to f micro$oft over by making a whole software package like MS office that is all webased like google docs.
    Last edited by mr_coffee; 07-27-2009 at 01:48 PM.

  12. #12
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    C++'s standard library is more about core functionality in generic code - mostly something that most programmers will need. You might thing of it mostly as a collection of algorithms and utilities such as string handling. It is limited in such things as networking, GUI, database, you name it.
    Java has some advantages over C++, among them being:
    - A bigger and more extensive framework.
    - More portable. It will run wherever the Java runtime will run.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  13. #13
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by mr_coffee View Post
    I'm not really sure why they are picking java over c++.
    Because, as you say, that's probably for the best considering their needs and probably even the current available expertise... another factor we tend to forget and that weights much on corporate decision.

    There's nothing wrong in C++ because someone chooses Java for their development language. This is a type of debate I would really like to see disappear. It's the same exact reason why there is nothing wrong with Java if someone chooses C++. What's wrong is choosing the wrong tool for a certain task... or refusing to see the advantages of combining tools when this option offers the best solution.

    As for your current predicament... I'm going to offer you the other side for your consideration:

    Do not choose what you love over what is safer simply over an yet uncertain promise of a more rewarding job. I've changed my preferences more times than I care to remember in my professional life. So, it's not very clear yet if indeed what you love today is going to be what you will love tomorrow. There are also numerous other factors that may affect your desire to do something you love. Like having or not a fair pay, having or not a good working environment, etc. Also fearing loosing your job.

    All my life my one and main concern was to guarantee a livelihood for me and my family. Then, if and only if I could add to that doing something I loved, would I consider that last option. I'm no less happy because of that. I did things I didn't like because they payed better and also because at some point they offered more safety. That in turn allowed me to pursue my true dreams... money does that.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  14. #14
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    I think there is a real difference between job safety and complacency. If you're complacent, you may stay at a job that you feel is secure, even if you are underemployed (not using the best of your skills). This ultimately results in substantial lost income over a period of several years. I will edit this post if I ever find the article I read, where an economist analyzed this trend among well qualified graduates. So no matter what you choose it's probably more of a mistake to give the decision a sense of finality. Gone are the days when your first real job determined the direction of your career, now and forever.

    http://www.esquire.com/the-side/rich...-market-061609
    Last edited by whiteflags; 07-27-2009 at 02:36 PM.

  15. #15
    S Sang-drax's Avatar
    Join Date
    May 2002
    Location
    Göteborg, Sweden
    Posts
    2,072
    C++ has some theoretical advantages over C:
    Code:
    int i;
    cin >> i;
    Code:
    int i;
    scanf("%d",&i);
    The C++ way of doing input has an advantage because it does not have to parse a string at runtime. That is taken care of at compile-time.
    Last edited by Sang-drax : Tomorrow at 02:21 AM. Reason: Time travelling

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Bjarne's exception safe sample
    By George2 in forum C++ Programming
    Replies: 13
    Last Post: 12-28-2007, 05:38 PM
  2. Unconditional Love
    By jrahhali in forum A Brief History of Cprogramming.com
    Replies: 87
    Last Post: 05-17-2005, 01:18 AM
  3. Love - learned or inherent?
    By axon in forum A Brief History of Cprogramming.com
    Replies: 42
    Last Post: 01-24-2005, 12:09 PM
  4. "if you love someone" :D
    By Carlos in forum A Brief History of Cprogramming.com
    Replies: 12
    Last Post: 10-02-2003, 01:10 AM
  5. What signs are there of that a girl is in love with you?
    By A_guy in forum A Brief History of Cprogramming.com
    Replies: 29
    Last Post: 05-21-2003, 07:48 AM