Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Can JAVA Developers do C++/C/Embedded?

Can JAVA Developers do C++/C/Embedded?

Scheduled Pinned Locked Moved The Lounge
hardwarequestionc++javadatabase
29 Posts 22 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C charlieg

    Thought I'd toss this out to the chaos group... had a manager call me today, he was virtual interviewing (yuck) candidates from a local university. The area I consult in is heavy C, not heavy enough C++, very machine oriented, custom machine control HMI. Think Beagle board / Arduino on steroids. So, said manager had a very hungry Java developer on the line - Java, J2EE, Sql, etc. Enterprisey sort of guy, hell, could have been a gal. So his question to me was - could this work? Is Java to C++ and more particularly our development area to large a gap to jump easily? I hedged on... no. Because the last time I was asked to spin up a new hire, I wanted to just kill him and bury him out back. Then again, I don't want to be too harsh. I'm an EE, and I know I can learn. My gut call is "it depends". I've seen developers come into our environment and run screaming (we're agile - meaning things change all the time ;) ). What do you think?

    Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

    J Offline
    J Offline
    JimSan1
    wrote on last edited by
    #21

    Biggest concern: Java has memory management. C and C++ do not, you do that on your own. If the Java developer has never had to be concerned with memory management they will create a program that will leak memory and program will run for some time then it will fail, especially in embedded world. I came from assembly, C / C++. Then I learned Java and thought, wow that is nice, memory is managed for me. Going from Java to system level programming language like C will be a big learning curve.

    1 Reply Last reply
    0
    • C charlieg

      Thought I'd toss this out to the chaos group... had a manager call me today, he was virtual interviewing (yuck) candidates from a local university. The area I consult in is heavy C, not heavy enough C++, very machine oriented, custom machine control HMI. Think Beagle board / Arduino on steroids. So, said manager had a very hungry Java developer on the line - Java, J2EE, Sql, etc. Enterprisey sort of guy, hell, could have been a gal. So his question to me was - could this work? Is Java to C++ and more particularly our development area to large a gap to jump easily? I hedged on... no. Because the last time I was asked to spin up a new hire, I wanted to just kill him and bury him out back. Then again, I don't want to be too harsh. I'm an EE, and I know I can learn. My gut call is "it depends". I've seen developers come into our environment and run screaming (we're agile - meaning things change all the time ;) ). What do you think?

      Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

      A Offline
      A Offline
      Alexandru Lungu
      wrote on last edited by
      #22

      Most likely NO! And not because of not be able to program, but because he will soon be fed up with how hard some things must be done with c++. For example, we had to do a C++ embedded project after more than 10 years of C#/.NET; after a thorough analyses of the c++ project and how it was supposed to be implemented, I ended up implementing first a full garbage collector. Even the most careful programmer that comes from a garbage collected environment, that never in his life used a delete obj; statement will forget to free the memory even months after the start with c++.

      Challenge is Life!

      1 Reply Last reply
      0
      • C charlieg

        Thought I'd toss this out to the chaos group... had a manager call me today, he was virtual interviewing (yuck) candidates from a local university. The area I consult in is heavy C, not heavy enough C++, very machine oriented, custom machine control HMI. Think Beagle board / Arduino on steroids. So, said manager had a very hungry Java developer on the line - Java, J2EE, Sql, etc. Enterprisey sort of guy, hell, could have been a gal. So his question to me was - could this work? Is Java to C++ and more particularly our development area to large a gap to jump easily? I hedged on... no. Because the last time I was asked to spin up a new hire, I wanted to just kill him and bury him out back. Then again, I don't want to be too harsh. I'm an EE, and I know I can learn. My gut call is "it depends". I've seen developers come into our environment and run screaming (we're agile - meaning things change all the time ;) ). What do you think?

        Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

        A Offline
        A Offline
        Al Chak
        wrote on last edited by
        #23

        No, absolutelly no!

        1 Reply Last reply
        0
        • C charlieg

          Thought I'd toss this out to the chaos group... had a manager call me today, he was virtual interviewing (yuck) candidates from a local university. The area I consult in is heavy C, not heavy enough C++, very machine oriented, custom machine control HMI. Think Beagle board / Arduino on steroids. So, said manager had a very hungry Java developer on the line - Java, J2EE, Sql, etc. Enterprisey sort of guy, hell, could have been a gal. So his question to me was - could this work? Is Java to C++ and more particularly our development area to large a gap to jump easily? I hedged on... no. Because the last time I was asked to spin up a new hire, I wanted to just kill him and bury him out back. Then again, I don't want to be too harsh. I'm an EE, and I know I can learn. My gut call is "it depends". I've seen developers come into our environment and run screaming (we're agile - meaning things change all the time ;) ). What do you think?

          Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

          K Offline
          K Offline
          Kirk 10389821
          wrote on last edited by
          #24

          Fresh out of college is tough. His/her depth is probably not nearly what they believe it to be. If they really want to learn C/C++ and you have a run at them about embedded. Then maybe. You could make it happen. But this would be a heavily mentored situation. I would make them read a boat load of code, learn to build and test the systems you are working on. They would have to read the libraries you leverage, and build a spreadsheet of .o file sizes, and impact on the executable sizes. Then, they would be on small bug fix tasks (identify, verify, repair, review). The review is a review of their entire thought process, and a code review. Preferably DAILY of all code they propose to change. Until they are writing better code. Then they can start with small changes/enhancements, but I would review EVERY line of code for many many weeks. If they are off by 10 degrees and you are not reviewing. In 9 months, they are going to be breaking everything. If you can keep them to 1 degree off, and constantly monitor, you should both be happy. The great part of this, is that SOMETIMES when you go through this with management, they realize why it costs more to hire the people with the right skills up front. But I don't mind investing in good people. Doing this has led to near lifetime relationships with these guys for me. They appreciate getting up to speed at an accelerated rate. HTH

          1 Reply Last reply
          0
          • C charlieg

            Thought I'd toss this out to the chaos group... had a manager call me today, he was virtual interviewing (yuck) candidates from a local university. The area I consult in is heavy C, not heavy enough C++, very machine oriented, custom machine control HMI. Think Beagle board / Arduino on steroids. So, said manager had a very hungry Java developer on the line - Java, J2EE, Sql, etc. Enterprisey sort of guy, hell, could have been a gal. So his question to me was - could this work? Is Java to C++ and more particularly our development area to large a gap to jump easily? I hedged on... no. Because the last time I was asked to spin up a new hire, I wanted to just kill him and bury him out back. Then again, I don't want to be too harsh. I'm an EE, and I know I can learn. My gut call is "it depends". I've seen developers come into our environment and run screaming (we're agile - meaning things change all the time ;) ). What do you think?

            Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

            S Offline
            S Offline
            Stuart Dootson
            wrote on last edited by
            #25

            It's not just about language - does the candidate have an appropriate knowledge of and inclination towards low-level programming, as you're likely to see in small embedded systems? Bits, bytes, addresses, malloc and free... Realising there's no garbage collector to handle memory for them - maybe no heap allocation at all! Tight timing requirements, low latency responses... All of that is kind of non-Java... Just saying...

            Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

            1 Reply Last reply
            0
            • C charlieg

              Thought I'd toss this out to the chaos group... had a manager call me today, he was virtual interviewing (yuck) candidates from a local university. The area I consult in is heavy C, not heavy enough C++, very machine oriented, custom machine control HMI. Think Beagle board / Arduino on steroids. So, said manager had a very hungry Java developer on the line - Java, J2EE, Sql, etc. Enterprisey sort of guy, hell, could have been a gal. So his question to me was - could this work? Is Java to C++ and more particularly our development area to large a gap to jump easily? I hedged on... no. Because the last time I was asked to spin up a new hire, I wanted to just kill him and bury him out back. Then again, I don't want to be too harsh. I'm an EE, and I know I can learn. My gut call is "it depends". I've seen developers come into our environment and run screaming (we're agile - meaning things change all the time ;) ). What do you think?

              Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

              R Offline
              R Offline
              RASPeter
              wrote on last edited by
              #26

              I'm inclined to also say no, but really what that means in this case is that their resume would not be at the top of the stack. If they've only ever done Java, then I would expect a serious deficiency in their knowledge of memory management/garbage collection, since they're used to having that handled by the VM. Java also doesn't have pointers, so expect that to be another pain point. That said, my company does hire a lot of kids fresh out of school. We start them with a 3 month paid internship (roughly $10/hour). If they're able to get up to speed in that time (and we have enough work), we offer them a full position. So far it's worked out pretty well. Out of 20-25 interns over that last 4 years there's only been one that we had to let go due to incompetence. The rest we either hired, or they got positions at other companies in our industry.

              1 Reply Last reply
              0
              • C charlieg

                Thought I'd toss this out to the chaos group... had a manager call me today, he was virtual interviewing (yuck) candidates from a local university. The area I consult in is heavy C, not heavy enough C++, very machine oriented, custom machine control HMI. Think Beagle board / Arduino on steroids. So, said manager had a very hungry Java developer on the line - Java, J2EE, Sql, etc. Enterprisey sort of guy, hell, could have been a gal. So his question to me was - could this work? Is Java to C++ and more particularly our development area to large a gap to jump easily? I hedged on... no. Because the last time I was asked to spin up a new hire, I wanted to just kill him and bury him out back. Then again, I don't want to be too harsh. I'm an EE, and I know I can learn. My gut call is "it depends". I've seen developers come into our environment and run screaming (we're agile - meaning things change all the time ;) ). What do you think?

                Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

                S Offline
                S Offline
                SeattleC
                wrote on last edited by
                #27

                If it's a guy straight out of college, then he probably can't write in C++ OR Java, but just thinks very highly of himself. It's not like he's disabled or anything. If you have time to train him up, Java isn't unrecoverably dissimilar to C++. But it will be slow going for about two years until he has basic mastery of C++. He could be productive sooner if the project is not too demanding. (Without meaning to be insulting, if EEs do the coding now, it's probably not too demanding). But he won't be able to just sit down and start cranking out code the first day. You said you were agile, and hinted that to you agile means cronically in a rush. Retreading an enterprise java guy doesn't seem like what you want to do in a rush. The mindset for embedded C++ is all about optimization and performance, templates and inlining and profiling. The mindset for enterprise Java is all about memorizing design patterns and writing elaborate factory methods. Learning the difference in syntax is easy. Unlearning the enterprise mindset and acquiring the embedded mindset is probably harder.

                C 1 Reply Last reply
                0
                • S SeattleC

                  If it's a guy straight out of college, then he probably can't write in C++ OR Java, but just thinks very highly of himself. It's not like he's disabled or anything. If you have time to train him up, Java isn't unrecoverably dissimilar to C++. But it will be slow going for about two years until he has basic mastery of C++. He could be productive sooner if the project is not too demanding. (Without meaning to be insulting, if EEs do the coding now, it's probably not too demanding). But he won't be able to just sit down and start cranking out code the first day. You said you were agile, and hinted that to you agile means cronically in a rush. Retreading an enterprise java guy doesn't seem like what you want to do in a rush. The mindset for embedded C++ is all about optimization and performance, templates and inlining and profiling. The mindset for enterprise Java is all about memorizing design patterns and writing elaborate factory methods. Learning the difference in syntax is easy. Unlearning the enterprise mindset and acquiring the embedded mindset is probably harder.

                  C Offline
                  C Offline
                  charlieg
                  wrote on last edited by
                  #28

                  (Without meaning to be insulting, if EEs do the coding now, it's probably not too demanding). Oh, hell, maybe soapbox? ;) Without taking offense, I understand exactly where you are coming from. I work with the one CS guy in our group. He's amazing. He can couple systems together so fast. ;P I like the other idea of bringing people in as interns, I'd pay them a bit more though. The issue is that you have to have the manpower of being able to support said interns. That part is a management decision. Right now, I'm dealing with code written by said whiz kid that has no real mapping to the problem domain. So, sometimes a CS can cause issues ;)

                  Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

                  1 Reply Last reply
                  0
                  • N Nemanja Trifunovic

                    Sorry but no, unless he has some side projects with C or C++ on Arduino.

                    utf8-cpp

                    L Offline
                    L Offline
                    Luiz Monad
                    wrote on last edited by
                    #29

                    That's for sure, if he/she only program in Java, then it would have a hard time with C++, but if he can learn another language and use several ones besides Java, hire him/her.

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • World
                    • Users
                    • Groups