Slashdot Mirror


Java To Overtake C/C++ in 2002

jarek writes "ZDNET has an article that talks about latest research data. It talks about how Java is overtaking C/C++ next year. The article also talks about developers adopting linux and putting linux to use in mission critical tasks." It's evidently taking developers from the C/C++, but also the Visual Basic camps, with strong growth overseas.

36 of 605 comments (clear)

  1. Re:Not going to happen by FatherOfONe · · Score: 3, Insightful

    It might be high on Microsoft's priority list, but there isn't a damn thing they can do about it. The only thing that I hear Microsoft say about Java is "Have you seen C#?" Wow! What an awesome comeback! The speed of Java use to be an issue, but it isn't anymore. The same people who use to say that C was way too slow (compared to Assembly), are the same people that say Java is too slow. It took C around 5 years to get fast and reliable and it has taken Java around the same.

    Are you going to see Quake IV in Java, probably not, but it doesn't have much to do with Java, as much as ID has a team of developers who know C.

    If you want great games on Linux/Mac/FreeBSD/anything other than Windows, you guys better hope that people start to develop games in Java. We all know how well companies like Loki have turned out.

    Lastly, Microsoft is fighting many a war on many fronts. ie.
    1. Anti Trust Case
    2. Palm vs. Pocket PC.
    3. Sony, Nintendo vs. Xbox vs. PC games.
    4. Java (Java2EE) vs. .Net
    5. Linux vs. Windows XP
    6. Open source in general
    7. Oracle vs. SQL server
    8. AOL messaging vs. Microsoft
    9. Star Office vs. Microsoft Office
    10. OEM's vs Microsoft

    and lastly Steve Balmer vs Heart Atack.

    Microsoft has made many enemies over the last few years and they will never ever be able to crush out companies again. The government will see to that :-) I hope they bundle a bunch of stuff in XP and release it early... it will make the case that much stronger...

    Steve Michael

    --
    The more I learn about science, the more my faith in God increases.
  2. C++ needs to build on the STL by Anonymous Coward · · Score: 1, Insightful

    Here comes the holy war...

    Anyway, both languages have features that should be adopted in some form into the other language. For example, C++ needs to catch up on web/communications, multi-threading, asynchronous calls. I realize there are 3rd party libraries for this, but there needs to be a something more standard. I hear C++0x (checkout this technetcast webcast for more info) is aiming to include some of this functionality into the STL.

    One thing Java completely missed the boat on is templates and more generic programming. The single-class rooted hierarchy in Java makes programming generic classes a joke. Casting from Object is tedious and inefficient. C++ templates may not be the final solution to generic programming, but they are certainly a step in the right direction.

    The list really goes on and on. However, I feel that with some evolutionary additions to the STL, C++ can overtake Java in the areas where it is currently lagging behind.

    Hans
  3. Re:Java as a teaching language by roguerez · · Score: 5, Insightful

    In my university (vrije universiteit in Amsterdam) you get an introductory course in programming in Java, then a datastructures course in Java and a course in x86 assembly.

    Then, an introductory course in C/C++ is given and a software engineering course in Java w/ Swing follows. Then you get a large course in plain C, and depending on the direction of your studies, you'll get one or more large courses using C, C++, Prolog, Miranda, Java, or whatever is best suited for the job.

    I think the choice for Java for the introductory and software engineering stuff is great, because in these applications you don't want or need the low level stuff in which C is good.

    Furthermore Java looks relatively 'clean' and is suited well to learn imperative as well as OO concepts.

  4. And your point is? by sid6581 · · Score: 2, Insightful
    I write enterprise software in Java. If you think that's the pinnacle of computing, you don't know what you're talking about. Most enterprise software work is grunt work, and Java is used because it has some properties that are useful (being able to go cross-platform easily means a lot), not because the language as a whole is necessarily good. Many think so, of course. I don't agree.

    I take offense at the ignorance people display when they say that Java is finally fast enough for desktop use. That is simply not true. I use a number of Java applications on a daily basis, and even though I have a decently powerful machine it can only take so many bloated VMs before everything (everything) grinds to a fucking halt. And don't get me started on Swing. God, what a mess.

    In my mind, the work I do as an enterprise software programmer is not real programming. You can do real stuff in Java, but I leave that to someone else. I'm looking to get away from Java completely. I can't stand the language.

  5. Games by Anonymous Coward · · Score: 1, Insightful

    Would you want your Quake3 UT or any other FPS written in java?

  6. Re:Good-bye VB! by Mr.+Barky · · Score: 2, Insightful

    I go between C++ and VB all the time. I hate working with VB. Why?

    When I use it, I feel it's constantly trying to constrain what I do. For example, it doesn't allow you to create controls dynamically (for example, if I want a variable number of controls on a form). (Yes, I probably could figure out how to do this using Windows APIs, but why?). You can't do multi-threading (well, there are hacks to allow this, but you can't debug programs!).

    There are silly language options, such as Option Base, that can make understanding some else's code harder.

    I also find the IDE very annoying. Undos often only work in the text editor. When a program crashes, it brings down the IDE, etc. Searching is a pain. You can't look at a form when running the program, etc.

    I could go on, but the bottom line for me is that it's frustrating to use VB.

  7. Why Java will overtake C/C++ by twan · · Score: 2, Insightful

    Cause Java is developed for the future it has HUGE potential to put all this hacking, rewritting, glueing, reinterfacing, rewritting called "programming" at least one tiny step further towards software development.

    Cause, its:

    - Skalable in Size

    From Palm, Webbrowser, Applikation upto Server and the important interconectivity in between.

    - Secure

    The Sandbox restrictions seem to got forgoten, but thats exactly what is need for a lot of stuff nowdays to deploy basic secure applications in a browser, there is still no real alternative. Server based solutions never can do all tricks, cause good user interaction has to be programmed on client side. Well downloading and installing application or glued flash, javascript and server systems can't be the final solution, please ?

    - Plattform independent

    In fact it is a platform on its own. Whats missing is a Java OS (based on Linux and/or MacOs and/or Windows?) and off you go...

    - Sophisticated, Huge and Clever APIs

    They are getting better and better and more stable.

    Try to connect to a database, do a 3D visualisation of the data and send an Email with the resulting picture ... go figure in any other language with any set of API(s).

    - Prospering in all directions

    C/C++ is already dead a few years, it seem to have stopped at defining some cool but useless class keywords and a freaky "STL" ? On the oposite Java is not really pure Sun anymore nor IBM... its already a multifendor platform. Even Microsoft has smelled it a while ago and now tries to sneak in before it really hurts. Strange the Linux people continue flogging the dead horse, with basicly no real useable APIs for application development, trying to define there own ? A operating system is nothing without good APIs (and thats not just drag&drop and some windows, but also Printing, Audio, Video, 3D, Registry, Databases, Plugins, Components), what is missing for Linux, Java already has it ? But Unix has to be C right ?

    - Skalable in Speed

    Java VM is complete abstract, the language and the API (the main part of Java) are not realy tied to the VM ... it could be redefined any time and the current VM is hopefully not the last in compiler technology, especially Software/Hardware hybrids (like Cruso) can make a lot more out of it... well a lot more than out of the 25 year old intel instruction set.

    And plug in a second CPU and Java will make instant use of it... in my opinion there would be options to make JAVA CPUs that would outperforme every now available CPU by using multithread architekture in a single PU. Classic single CPU speed will get less scalable and to get out of the MHz drain multi instruction computing has to become more aware... guess which language has one of the best and most reliable multithreading programming architecture... even novices know how to programm a thread in Java... ever written more than one in C++ ? And got it synchronised succesfull ?

    - Software Design

    There are so many C/C++ design pitfalls (Header and Implementation seperation, Pointers, the quer STL, Operator overloading, Preprocessor and Macros overuse) that make software development a pain in the ass. Java has building blocks of software development and is extended only with features that are necessary and make sense.

    - Complexity

    Java has the power and the clearness to write and maintain applications off higher complexity. In my opinion many software projects (C/C++) are doomed to crash soon or later cause of there unmanagable complexity (the version 4.0 burn out ;)) ... if the core concept of the project is not good it will wash out and get riddled... Java has a good core concept and at least the programmer is not responsible to rewrite basic functions if there is a new OS or bullshit API that thinks it has to reinvent the well more round.

    - Its allready #1 for a lot of things...

    I know more people starting in Java than in C/C++. It is the language that is teached in scools and universities... cause one can get things done and not has to write a suitable String class nor learn the wired secrets of some oldscool APIs to popup a window.

    something will overtake on the left lain ... watch it fly by !

    Not that it will knock C/C++ from the street... but who is driving Assembler these days ?

  8. The Right Tools for the Job by ChaoticCoyote · · Score: 3, Insightful

    "How many times do I have to tell you: Use the right tool for the right job!" -- Scotty, Chief Engineer, USS Enterprise.

    Now where do I fall in a survey like this? After reading it, I conclude that the surveyors asked "Do you use Java?", not "Do you use Java exclusively?". I know lots of people who program C and C++ most of the time while employing Java and other languages as required. In the last month, I've written code in C++ (65%), Java (20%), Python (10%), and Fortran (%5). So I count as both a Java user and a C++ user.

    What rattles my gourd is the way people get so defensive about their programming choices. Why do people get so worked up about one specific tool? I don't know any mechanics who argue whether a box wrench is better than a crescent -- they know that each tool has its uses, and they keep many different wrenches in their toolbox.

    Sadly, the programming business is replete with dogmatic fools who insist that their language or their technology can do everything from counting sheep to curing cancer. And that's just plain dumb (or at best, willfully ignorant, the greatest of sins.)

    A real software engineer uses the right tools for the job. Even Visual Basic is a useful tool, when it is applied to an appropriate task. The same thing holds true for C, C++, Java, COBOL, FORTRAN, Prolog, Lisp, and a myriad of technical tongues. We have all these different languages because different problems required different solutions.

    Surely programmers can be as wise as mechanics... ;)

  9. I reckon the reasons are artistic by Kiss+the+Blade · · Score: 0, Insightful
    A programming language does not grow for commercial reasons, or because some fusty academic or CEO likes it. It grows because those at the roots, those who are the fertile soil of computing, the programmers, adopt it.

    If we are to understand why Java is overtaking C/C++, we must look to aesthetics.

    Java is a beautiful language, C&C++ get the job done in a messy way. In the 70's and 80's, programmers were engineering types, with a critical eye, and like most scientists, no time for such concepts as beauty.

    The modern programmer is a product of a hedonistic age, the age of fluid media, the age of Art.

    As the scientists and rationalists got buried under the weight of the AOL invasion, a new generation has sprung up which looks for beauty, for flowing lines and classical form, in a language.

    Even some women of my aquaintance are finding the Art of Code intriguing and attractive. Last week I was at the Tate gallery of Modern Art in London, with some of my girlfriends, looking at an exhibit fo Java code commissioned by Sun Microcomputers and worked on by Timothy Farrow, the well known computer artiste. They were positively swooning with delight at the tense expression of purpose, functionality and beuty in the curvaceous symbols 'pon the screen.

    I sometimes wonder if you computer programmers are going to be taking over the field of aesthetics, but then I remember that come what may, computer programming is only engineering, and though it may have some artistic merit, it is not art for art's sake, true art.

    That means I know I can rest easy :-)

    --

    KTB:Lover, Poet, Artiste, Aesthete, Programmer.
    There is no

  10. The library base and more by Midnight+Thunder · · Score: 5, Insightful
    One thing that I appreciate with Java is the huge library base that it has. There are classes that allow you to do most things without having to hunt for a 3rd party solution or rewriting the wheel inhouse. Also, some of the most commonly used data structures are standard, eg Strings, and you don't need a separate proto-language to put together classes - yes I'm talking about having no need for STL.

    Java does have it draw-backs, such as speed, but this is quickly becoming a non issue on modern computers. Of course computationally intensive work will alway be done in C or C++ that can be compiled to take full advantage of the processor. Another draw-back is that it is very difficult to take full advantage of the underlying OS without writing code using JNI, and thus loosing some protability.

    Yes I am very much pro Java, though I also realise that it can't do everything. It will always be a question of the best tool for the job.

    --
    Jumpstart the tartan drive.
  11. Re:it's about cost, not performance by jerdenn · · Score: 3, Insightful

    For example, lets say we have a 600 Gig database of items that we want to run price changes on. The Java app can get it done but, it takes 13 hours. Meanwhile, the C++ app gets it done in 8 hours. This app will likely be around for years to come and it will run every night. So which is the better business choice?

    This is actually a poor example - please spend some time studying n-tiered architechure.

    In such an application, the bottleneck will likely be the Database server, and the speed at which it can perform table updates. The second bottleneck will likely be the network. The C++ or Java business layer will likely spend most of its time in a 'wait' state, waiting for the network or dataset results.

    -jerdenn

  12. Does anyone remember Assembly language? by olevy · · Score: 2, Insightful

    When I first started programming, there was a raging argument about one language that was super efficient, but a bit hard to program vs. this other language that was not quite as efficient but much easier to program in. Sound familiar? The languages in question were Assember vs. C. I also saw the same arguments with C vs. C++.

    What you have to remember is that programmers are way more expensive than machines. If I can spend $5000 more on hardware and save myself $25,000 in salary costs, that is a pretty good investment.

    And of course this all is based on getting more powerful machines each year. There was a time when programmers really did have to agonize over using Assembler vs. C because memory was so tight.
    There also was a time when we had to agonize over using C++ vs. Java, but that time has passed.

    The rise of Java (or C# or one of the other new and improved languages) is inevitable. But if it is any comfort Java too will be replaced one day as soon as we can afford the next programmer productivity boost.

  13. Killer application effect by Pac · · Score: 4, Insightful

    A normal user will install Java for the same reason they will install Real, QuickTime, etc. To see some content, to use an application.

    Notice that those are all huge downloads.

    Also, some comercial software will simply ship the JRE and install it from CD.

  14. Re:I dont think so..... by FatherOfONe · · Score: 2, Insightful

    Lets see.

    I can take your C app that is 100k and do it in machine code for around 5k. I have done this before just to prove it to people!

    Time to scrap C! Oh yeah, your C app will take a heck of a lot more processor to run also.

    Understand the argument?

    Steve Michael
    Network Architect
    steve.michael@performancestrategies.com

    --
    The more I learn about science, the more my faith in God increases.
  15. C++ in decline (?) by Ars-Fartsica · · Score: 3, Insightful
    My own 2 cents is that C++ is just too complex. People wanting to use some of the advanced OO features will have a better development experience with Java or Python, and those wanting pure performance never switched from C in the first place.

    I recently read an article where Bjarne outlined many of the things he had on the C++ wishlist, which more or less were the steps to make C++ into Java.

  16. Re:"Overtake"? by Anonymous Coward · · Score: 1, Insightful

    "it puts C++ to shame in terms of the cleanliness of its OO system" No chance - think 'Type Safety'. Java relies heavily on casting which C++ manages to avoid "C will continue to be the right language to choose" I agree for System programs, but for applications the speed of development for C is way too slow and unreliable.

  17. fallacies and bigots by Anonymous Coward · · Score: 1, Insightful

    You know what i'm sick and tired of seeing on /. Every time an article is posted about java EVERYONE ON THIS SITE DOES NOTHING BUT PUT IT DOWN with fallacies and no logical thinking. You people need to get out a little more and understand that 1) Java has been used for a FPS, 2) Java has been used for an MP3 decoder, 3) Java vs. MS is real and here - by throwing the open source community weight behind .NET you are doing nothing more than supporting MS, 4) every language has its purpose for instance java works WELL on server side apps and enterprise apps (remember the post from the other day about this), 5) to say that java will never be used on embedded devices shows your ignorance of java - it's used a LOT overseas right now and is coming ot the US soon so get used to it. I know you folks hate java because sun "controls" it but people wake up realize that just because it "can't" (which @ some point it probably will be able to) be used to write an OS does not mean it is useless. Remember a good programmer/developer knows to use the right language for the job.

  18. C vs C++/Java by Skapare · · Score: 4, Insightful

    There are two kinds of developments: those that need object oriented, and those that don't. If course the real distinction is always fuzzy. OO is not a universal method for everything, but it certainly proves its worth for a lot.

    That said, I think the difficulty people will have in understanding the shift to Java is because of the continuing confusion of referring to C/C++ together as if it were one language. C and C++ are not the same language for any practical consideration. Sure, you can write C and call it C++ and it will compile. But C++ is supposed to be something different than C, while giving you stuff C also has. But the distinction between the two kinds of developments mentioned above fall between C and C++. If you don't need OO for your project, then you write in C. Even if you compile it with a C++ compiler, it's still written as C.

    I believe that Java is taking more from C++ than it is taking from C simply because more and more of those kinds of projects (applications) that need OO, do not need the facilities of C. While C++ has good abstractions, it's always been too easy to do it wrong and code like C. Java doesn't let you do that (as easily).

    During the next economic boom cycle, more application projects will begin. Java will be more favored (if you believe all this, and I do). But that won't mean there will be a lot fewer things that need non-OO C ... there will just be a lot more new needs for which Java is an excellent choice. The thing is, those are projects that would not have been done in C anyway; they might have been done in C++ or one of those proprietary languages.

    For me, the biggest reason I stay with C programming, as opposed to going with C++ (for some, not all, since not all projects I do would benefit from OO at the coding level) is because C++ is C with the pluses. While some certainly see that as an advantage, I don't. I see C++ as some kind of hack and fear that what I might have coded in C++ would still be tainted with too much C-ism. It's not the OO part I'm worried about; it's the C part.

    I look forward to taking the plunge into Java. I'll skip C++. Some things will still be done in C. The big reason I have not done so before, or used some other strongly-OO language (like Smalltalk) is because the environments those languages work in have been too "academic". Look at the early hacks just to run Java programs to see what I am referring to. With advances like gcc support for the Java language (and Sun effectively losing pedantic control over it), I'll be able to fit a project developed in Java into a production environment more easily. These advances are shifting the line which determines whether a project benefits from using Java, and improves the margin in favor of OO where C++ wasn't enough to do it.

    In summary, Java will take some from C, more from C++, and it will do this mostly in all new large scale projects for which it is far better suited. The gains will be seen more in percentages, rather than in absolute numbers.

    --
    now we need to go OSS in diesel cars
  19. Re:Java as a teaching language by Craig+Maloney · · Score: 3, Insightful
    Well, I too did some Java programming, and liked it to a point. This was back around 1998. The problems I encountered were mostly cleint related (Sun hadn't created their now mandatory plugin). I would never consider using Java for a client-side application, and quite frankly lost my appetite for programming in Java. True, it may be approaching C and C++ speeds, and it does get rid of some of the headaches of C and C++, but then again, I've found that Object Oriented programming isn't the complete answer to programming... you need a balance of both function and objects. Not everything can be represented by objects.

    To each her own, I guess...

  20. Playing with statistics by Anonymous+Brave+Guy · · Score: 3, Insightful

    I can't help feeling a bit skeptical here. Who counts as "Developers using Sun Microsystems Inc.'s Java programming language"? I program Java, but I'm no expert. My professional work relies principally on C++, with odd bits of Perl or Python used on the project where they're convenient. Do I count as a "Java user"?

    I suspect that the reality is that more programmers may now know Java, at least to a "competent" level. This is an inevitable result of the current trends in academia, and of course the hype of a couple of years ago. On the other hand, how many developers actually use Java as one of their primary languages is a different question, as is how much production code is actually developed using that language.

    Reading between the lines of the article, I don't see anything to dispute this theory. And how can Java be rising "at the expense of" C, C++, VB and such anyway? Surely programmers who use these languages aren't just forgetting them in order to learn Java! This whole thing smacks of misleading statistics -- anyone know who sponsored the survey?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  21. Not Scientifically valid by ClosedSource · · Score: 2, Insightful

    There's no margin of error quoted so this is obviously not a scientifically valid survey.

  22. Java or Javascript? by lseltzer · · Score: 2, Insightful

    I find it's very common for people writing Javascript (or maybe just cutting and pasting) to refer to it as Java. To this day there's incredible confusion over the names.

  23. That's OK, we don't really need your business by DnA+Works · · Score: 1, Insightful
    So many fallacies, so little time.

    First, Java is not slow, it is slower; as in slower than tweaked C++ or C. Is it orders of magnitude slower - absolutely not (by the way, I certainly realize that you might be able to find a completely unrealistic example where that is the case - so what?). On the server tier, however, the speed difference ain't so bad; it certainly is not bad enough for everyone to drop it altogether.

    Your supposition that Java must not be growing more popular than C++ seems to be based on statement that Java GUI programs are slower than C++. I wasn't aware that raw execution speed was the *only* criteria for a programming languages popularity; here I thought it was a gestalt of speed, ease of use, utility, tools, etc. Try looking at the prevalence of code at the server level; betcha you'll see Java there and guess what? It ain't GUI-based. Servlets are dismissed at mere uber-CGI; however, they are scorchingly effective and easy to write.

  24. Re:Java as a teaching language by egomaniac · · Score: 3, Insightful

    I do like how paint Java with the brush of religious zealotry with your use of the word 'saved'. Quite effective.

    Back here in the real world, I work at a company with mixed C++/Java development. Primarily C++, with the Java teams (of which I am part) barely tolerated by the old-school management. Amazingly, despite the fact that our code performs better than C++ (true) and we are always far ahead of schedule while the C++ teams running into roadblock after roadblock (also true) we still have to continually justify our use of Java to the C++-loving managers. I also thought it was pretty funny how difficult it was for the C++ guys to upgrade from FreeBSD 2.6 to 4.0 while we can move between Windows and pretty much any flavor of Unix without even noticing.

    I programmed in C++ for many years, and I thought it was a flaming piece of crap the entire time. I'm endlessly amused by opinions like yours that I'm somehow not a "real" programmer because I choose not to flagellate myself with the whips of dangling pointers, stack vs. heap allocation, ridiculous usage of overloaded operators, broken templates and exception handling, inexplicable linkage errors, and who-knows-what-else that I've managed to supress in my subconscious.

    My question is: what don't you like about Java? I've coherently summarized my argument against C++, and believe me I can (as a past C++ developer) get into quite a bit more detail if I need to. What's your position against Java?

    --
    ZFS: because love is never having to say fsck
  25. it's about cost, not performance by jilles · · Score: 3, Insightful

    CPU's and memory are cheap, good programmers are expensive. Your assumption that speed is essential is correct but it applies to time to market more than to performance. Execution speed is not so relevant since hardware is relatively cheap compared to programmers (even lousy ones). The year salary of one programmer will likely solve any performance problems you have when converted to extra hardware.

    Swing is not lightweight but given a decent PC it will run. In fact all development tools I use are written in Java and I'm not complaining about performance. I'm sorry I can't show you a java program that is faster than the C++ version. However most java applications I could show today, you would still be in development if they were written in C++. That's why java is picking up, you get things done in it.

    That's also why Java became popular on the server first. Typically server software is "one of a kind" meaning that each month spent on developing the app adds to the cost. If you have a small development team of say 5 persons costing about 5K $ (good luck finding them that cheap) and you can save 1 month that translates into a lot of hardware. Java development is generally seen as somewhat faster than C++ development so that translates into huge savings on one of a kind software development. Also Java is very scalable, it literally can run on anything from a credit card to a mainframe, so if you have a performance problem, throwing more hardware at it will likely make it go away. And since you develop faster you have something extra to spend. That's why many people creating server software have adopted Java. It works, it works reasonably fast and it scales nicely.

    --

    Jilles
  26. Re:"Overtake"? by Anonymous Coward · · Score: 1, Insightful
    Many companies are using Java to develop in-house applications, as well as companies creating vertical market applications. You aren't likely to see them unless some event specificly causes you to see them.

    Doesn't happen unless you work for a company buying it, or developing it.

  27. Re:Really? by siegesama · · Score: 2, Insightful


    Surprising as this may sound, there's more to the world than kernels and first-person-shooters.

    --
    what the hell is a 'junk character', anyway?
  28. Re:Less Visual Basic Programmers by ackthpt · · Score: 5, Insightful
    We've had to adopt VB at work, and it's easy where problems will crop up and how weak documentation for a One Vendor product can be. When I visited Computer Literacy, in San Jose, I expected to see many texts on VB and related subjects. What blew me away was the plethora of Java texts. If the books didn't sell, they wouldn't have them.

    On a second thought, Java _was_ wildly popular among many of the dotbombs. Possibly the study is based too heavily on that time period. Does it still hold it's proportion of growth, or are IT shops, like us, drifting toward VB and other M$ development languages/suites?

    --

    A feeling of having made the same mistake before: Deja Foobar
  29. Re:True, to an certain extent by Khalid · · Score: 4, Insightful

    It's highly probable that the situation will remain the same for a long time if not for ever. You need to choose the right tool for the right task; and java will never be a system programming language, it has not been done for that. Java is a good application programming language, if you need to do optimised stuff, you will probably stay with C or sometimes C++

  30. Specialization is for insects... by ChaoticCoyote · · Score: 3, Insightful

    ...to quote Robert A. Heinlein.

    The hallmark of an excellent programmer is the ability to learn and adapt. When I hire someone, I pay more attention to their attitude, creativity, and intelligence than I do to their list of "I knows". Certifications, degrees, and laundry lists don't necessarily impress me; capability and a willingness to learn always catches my interest. And anyone who comes in as a language bigot (or ignoramus) isn't going to be getting a check from me...

    I might add that I've been quite successful in finding excellent talent.

    As for mechanics -- well, I've spent enough time with gear heads and grease monkeys to know that working on mechanisms isn't something you pick up overnight.

  31. Depends on your definition of "overtake".. by Bowie+J.+Poag · · Score: 5, Insightful



    The study cited in this article refers to the number of people with Java skills, not the number of programs released. To quote:

    "Java usage is even stronger outside North America, with almost 60 percent of developers expecting to spend some part of their programming time using Java."

    This is one of those misleading statistics, like "Half of all marriages end in divorce".. What most people fail to realize is that the statement is not factually concise.. There are idiot-men and idiot-women who get married and divorced several times, which accounts for a disproportionately high "overall" divorce rate. The percentage of successful marriages is actually much higher, just the same as the number of coders actively writing in C all the time is much higher than the number of coders actively writing in Java all the time.

    Lame article.

    --
    Bowie J. Poag

  32. Re:Really? by SheldonYoung · · Score: 4, Insightful

    You are correct. Fortunately, the vast majority of software development isn't about ultra-high performance applications or systems programming. It's about making applications that solve a problem, and the problems are almost never about speed or being low-level.

  33. Re:Actually, if you think about it by Fly · · Score: 3, Insightful
    How can you possibly say that "Java's a little complicated to program in?" If you're using C++ (I assume you are not referring to the C precompiler by "cpp"), I cannot understand how Java is anything but SIMPLER than C++. Java has a single, consistent object model. You don't have to worry about objects on the stack versus objects on the heap. Java doesn't have all of the funkiness caused by mixing class types with typedef'ed other stuff; there is just the simple reference type for all objects, including arrays.

    After programming in C++ and Java each for several years, I can only say that C++ is the more complicated of the two. I do not like using Swing (Java's standard GUI components), but I haven't tried them for just over two years now, and it may now be much improved. For the server-side work I do now, Java beats C++ hands down for ease of use.

    All of the following and more make Java simpler, though they cost a little bit in flexiblity and speed. However, server-side Java (forget about Swing and how slow it is) performs quite well for me. Today's PCs seem to do a good job running Java. I've been pleasantly surprised by just how much better JIT was over non-JIT and again by how much better Sun's Hotspot JVM and IBM's JVM are than earlier JIT JVMs. Special hardware might be useful for embeded devices, but mainstream CPUs work quite well for server applications.

    • single reference type
    • no operator overloading
    • garbage collection
    • no parameterized types
    I've often wished for some of the items above, but in the spirit if KISS (keep is simple, stupid), Java wins for me.

    end of line

    --
    end of line
  34. Gotta love that "research" by scott1853 · · Score: 4, Insightful

    Even when it doesn't actually show any true statistics, like how many people were surveyed, or any other minor factors like, did 60% of the people surveyed work at the same company!

    I'm sorry but I tend to like my "research" with some sort of graph, and something a little "meatier" that a single percentage bar.

    Going by Evans Data's "research" they might as well have used the results from a Slashdot poll.

  35. Re:I can't buy what you're selling by Anonymous Coward · · Score: 1, Insightful

    I disagree with the statement that, "speed is of the essence at all times in our industry". Sure, that's true for most shrink-wrapped software. I wouldn't write a 3D game or even a spreadsheet app in Java (or an OS or a compiler, etc). But, the truth is that most programmers don't make their living developing those types of apps. A vast majority of developers work on internal custom apps developed for businesses. Most of those apps require heavy database access and they are usually distibuted across the enterprise. Java is perfect for this type of development and slower performance is not much of a concern because there are greater bottlenecks (the network and the database). I'll continue to use Java, C++, VB, Perl, and even Lisp. The key is to choose the right tool for the job instead of getting religious about a computer language.

  36. Re:I can't buy what you're selling by Anonymous Coward · · Score: 1, Insightful

    To quote thee: "Speed is of the essence at all times in our industry." Yes, but it depends on what you mean by speed. Dev teams can crank out applications faster in Java. Yes, the apps themselves don't perform as fast (but within 90%, so who gives a damn), but the developers get the product out the door faster. Why? No memory management/garbage collection headaches. Easier, less cumbersome manipulation of objects (well, easier than C++ anyway, not Smalltalk). Tier 2 and Tier 3 developers can grok java quickly and be on their way.