Thread: forget C++ and learn Java

  1. #16
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    >This person sounds clueless.
    My uncle works as a software engineer, and he told me that companies are mainly looking for developers who use C# and Java (RAD-ish, and something to do with standardized certification too). Of course, there are probably tons of companies looking for developers in just about every language, depending on the specific requirements of the project, but it does seem to me that RAD is quite the fad at the moment.
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

  2. #17
    Software Developer jverkoey's Avatar
    Join Date
    Feb 2003
    Location
    New York
    Posts
    1,905
    What's this about radishes?

  3. #18
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    I noticed that a second after I typed it...
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

  4. #19
    Toaster Zach L.'s Avatar
    Join Date
    Aug 2001
    Posts
    2,686
    Well, if you look at all of software development as programming applications of the sort your average user (used loosely for a purpose -- home user or corporate business user) will pop-up on their screen and tinker around, then sure, RAD is a very useful thing. But there is more to it than that. There are many more applications: there are the game programmers, the network programmers, the OS programmers, the scientific programmers, etc.
    The word rap as it applies to music is the result of a peculiar phonological rule which has stripped the word of its initial voiceless velar stop.

  5. #20
    Banned nickname_changed's Avatar
    Join Date
    Feb 2003
    Location
    Australia
    Posts
    986
    - C++ is turning into an academic language. (helps beginners unerstand the OOP concepts)

    I don't believe this to be true, although it does help beginners understanding. There are many more academic languages out there.

    - Companies choose Java (or JDeveloper) over C++ because you can make programs in much less time.

    Of course they do. Most business applications aren't usually overly comlpex, and don't need to be close to the hardware. Java is a good platform for many businesses, although specialized companies writing software for controlling railways, steel and vehicle production etc. have much different requirements and often require more control over hardware.

    - C++ needs lots of coding to mak applications with a GUI whereas Java (or JDeveloper) don't. (or atleast much less coding)

    This is true. But GUI's in Java aren't pretty.

    - Companies who need C++ programmers are either "old" companies (like prefer using console programs) or companies that make specialized software, "because C++ can deal with the system better internally" as he put it.

    This is also true.

    However, that doesn't make C++ a poor language to learn. In fact if I were hiring, I would pick a C++ programmer over a purely Java programmer and get them to learn Java.

  6. #21
    Registered User
    Join Date
    Aug 2003
    Posts
    470
    - Companies choose Java (or JDeveloper) over C++ because you can make programs in much less time.
    By suitably changing your development environment, you can make your code like java, in that you can use a bound checking vector class and garbage collecting. The only difference, then, between C++ and Java are a few semantic and syntax issues, but nothing that would drastically affect programmer efficiency, I think.

    - C++ needs lots of coding to mak applications with a GUI whereas Java (or JDeveloper) don't. (or atleast much less coding)
    Depending of course on the C++ library and tools.

  7. #22
    the hat of redundancy hat nvoigt's Avatar
    Join Date
    Aug 2001
    Location
    Hannover, Germany
    Posts
    3,130
    I met my C++ teacher in a computer shop today (by coincidence) and we chatted for a while about programming in general , programming jobs and mainstream programming languages.
    Don't get me wrong, teachers are good and respectable people, but they spend their time theorizing about stuff, teaching it. You learn a lot by teaching, but if you are teaching the same things over and over, you tend to lose reality. Other people have spent 10 years "in the industry" and this guy spent 10 years in a classroom.

    I told him that i like C\C++ and i would love to get a C\C++ programming job. He told me that lots of students who got hired by companies didn't care much about C++. He suggested leaving C++ and getting into something called JDeveloper and Java because thats what companies mostly want (as he claim. I don't know what the hell is JDeveloper) , and C++ will become obsolete sometime in the near future.
    What you really want, is to learn both. And some more. Whatever you learn, if it's just one language, you will always be "the x language programmer". There will always be languages tooled for a certain job and companies want people to get a job done. If you know how to get many jobs done most efficiently, you are good. If you know only one tool, for only one job... well, you wouldn't want to be "the hammer guy" in a construction company, right ?

    - C++ is turning into an academic language. (helps beginners unerstand the OOP concepts)
    To the contrary. Java is used to help beginners understand OOP concepts without the hassle of pointers or other C++ traps. C++ will never be an academic language. It might die in the future, but I can't see how C++ should be used primarily for teaching when it's so easy to make mistakes using it. Pascal is used for teaching. Java is used for teaching. You don't learn to drive in an 500PS Ferrari and you don't learn to program in C++ if easier models for learning are available.

    - Companies choose Java (or JDeveloper) over C++ because you can make programs in much less time.

    - C++ needs lots of coding to mak applications with a GUI whereas Java (or JDeveloper) don't. (or atleast much less coding)
    Correct in a way. GUIs are easier and faster built in Java or C#.

    - Companies who need C++ programmers are either "old" companies (like prefer using console programs) or companies that make specialized software, "because C++ can deal with the system better internally" as he put it.
    No companies prefer console programs. Specialized software, yes. But also server systems. Can you imagine a server running Java ? Welcome to lag-land. Servers that have a high load will be written in unmanaged languages, which means C++ right now. And behind every great client is a server doing the clients work.

    ok this actually scares me. I'm thinking "he doesn't know whats he's talking about" but it sounds kinda serious. What do you guys think?
    There is no best language. There is always one or more languages best suited for a job. And companies want to get jobs done. Only a few care how you do it. They care for time and money. Learn as many languages as you can, so you will grasp the concept behind them. If you know 5 languages, learning the 6th is just a matter of finding the right book to look up the syntax.

    Is there a problem best solved with C++ ? Yes, there is.
    Is there a problem best solved with Java ? Yes there is.
    Will there be a problem best solved with hjke8 ? Yes, there will be.

    Don't switch to hjke8, at least not until someone put a meaning behind those random letters on my keyboard. Learn both C++ and Java and you will be able to chose the tool best suited.
    hth
    -nv

    She was so Blonde, she spent 20 minutes looking at the orange juice can because it said "Concentrate."

    When in doubt, read the FAQ.
    Then ask a smart question.

  8. #23
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    Companies dont hire java programmers, or c++ programmers. They hire software engineers. Software engineers use languages as tools to solve problems. They choose whatever tool is best for the job at hand.

    My advice (which I'm sure has been stated in this thread already) is to learn to be a software engineer. Once you've done that, familiarize yourself with many languages, and never stop learning.

    Write me an OS in pure Java
    I would, but its already been done.
    Sorry, couldn't resist

  9. #24
    Registered User
    Join Date
    Aug 2004
    Location
    San Diego, CA
    Posts
    313
    Quote Originally Posted by bithub
    I would, but its already been done.
    Sorry, couldn't resist
    This is 100% pure, from boot to fully loaded, Java? (Assumption made since the site is down.)

    ...color me suprised.

  10. #25
    Banned nickname_changed's Avatar
    Join Date
    Feb 2003
    Location
    Australia
    Posts
    986
    It wouldn't be 100% pure Java. The bootstrapper wouldn't have a JRE.

  11. #26
    Registered User Dante Shamest's Avatar
    Join Date
    Apr 2003
    Posts
    970
    I can understand why people think C++ isn't used much anymore; that's because unlike Java, it usually isn't advertised in applications. Most of the time, if you use an application made in Java, you know it's written in Java because of the clunky Metal user interface, or the webpage ends in .JSP.

    But C++ is actually pretty widespread...

    The popular Mozilla and Firefox browsers are built on a C++ codebase.

    The popular Linux K Desktop Environment is also built using C++.

    Adobe, the creators of Photoshop, also use C++ in their products.

    The iPod user interface uses the Pixo application framework written in C++.

    If you're intending to work for a game company. you had better know C++.

    On the Blizzard (creators of Warcraft, Starcraft) resume page, they say this: For Programmers: Programmers are expected to only have a good resume and cover letter, but if they wish to include a sample of their code that would be a definite plus. Make sure your code sample is written in C and C++.

    And here's an Electronic Arts job Software Engineer posting: Have expertise in C, C++, Purl, Python and TCL to write automated test tools and scripts.

  12. #27
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Games use C++ ...period. There are some attempting to use compiled Java but we will see how that turns out.

    As long as their is a need for real-time interactive programs that can slam millions of triangles to the screen in seconds, process AI, scripts, sounds, and 3D mathematics...there will be a need for C/C++.

    It's not dying any time soon. Your professor is just telling you to switch to Java because that is probably what will get you hired. In my experience companies do not use C++ because very few of their employees know squat about it. So they opt for VB or Java because they simply cannot code in C++.

    Look at some popular game producers and companies. Then theorize all you want..but C++ and assembly are all here to stay.

    If C++ were on the verge of extinction then a lot of stuff would have to be totally re-written. Almost every thing out there is somehow related to C++. Engineers often learn C pseudo-code and if you look at pseudocode, scripts, etc., a lot of it takes concepts right from C/C++. Almost every API is geared towards C++ in some form or another. Why do you think .NET has come along? So that we can interface Java and VB? Even though it's possible that is prob not the core reason. There are VB programmers and C programmers out there that wish to use each other's DLL's. One for speed, and one for simplicity of creating GUIs. Now the best of both worlds can be at the programmer's fingertips. I highly doubt C/C++ will die any time in the near future.

    Just one more example of an ignorant Javaite.

  13. #28
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    Can you imagine a server running Java ?
    Errm, yes?
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  14. #29
    Registered User
    Join Date
    Aug 2002
    Location
    Hermosa Beach, CA
    Posts
    446
    By suitably changing your development environment, you can make your code like java, in that you can use a bound checking vector class and garbage collecting. The only difference, then, between C++ and Java are a few semantic and syntax issues, but nothing that would drastically affect programmer efficiency, I think.
    I just read a segment of Bjarne Stroustrup's FAQ, where he says "Despite the syntactic similarities, C++ and Java are very different languages. In many ways, Java seems closer to Smalltalk than to C++. "
    Here is the link:
    http://www.research.att.com/~bs/bs_faq.html#Java

    Will he compare C++ with some other language?
    "Several reviewers asked me to compare C++ to other languages. This I have decided against doing. Thereby, I have reaffirmed a long-standing and strongly held view: Language comparisons are rarely meaningful and even less often fair. "
    Here is the link:
    http://www.research.att.com/~bs/bs_faq.html#compare
    The crows maintain that a single crow could destroy the heavens. Doubtless this is so. But it proves nothing against the heavens, for the heavens signify simply: the impossibility of crows.

  15. #30
    Registered User subdene's Avatar
    Join Date
    Jan 2002
    Posts
    367
    I personally think if you know C++, this is all the grounding you need to be able to move freely between different languages. The majority of all languages have the general same logical constructs such as selection and iteration, migration to another language is usually just a matter of syntax, and possibly a few other weird concepts depending upon the language.

    So I really wouldn't worry about knowing every language under the sun, or just knowing C++. A potential employer will be able to tell whether or not you are a capable software engineer from other attributes, not just by the number of languages you know (no French though ;-)). It is then their responsibility to provide you with the necessary training required to facilitate their objectives. Companies are always looking for good people, and are prepared to put the time and effort necessary to develop their skills.
    Be a leader and not a follower.

Popular pages Recent additions subscribe to a feed