Announcement

Collapse
No announcement yet.

Gartner: Only 32% of Java Programmers have a clue

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Gartner: Only 32% of Java Programmers have a clue

    http://www.itweb.co.za/sections/soft...elopment&O=FPT

    And whoever formatted the article doesn't seem to know how to insert newlines...

    While this can obviously be applied to any language, it seems to me that with Java especially, most programmers seem to have serious issues with cluelessness.

    Perhaps because those Java programmers who know what they're doing realize Java sucks?

    I'd personally just like my unsigned types, operator overloading, and multiple inheritance back...
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B0
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B1
    [ redacted ]

  • #2
    I'm in high school and have been taking a java class in a program that the local college offers... this program gives me high school and college credits... you can't beat it...

    Having a strong knowledge of C/C++, java was easy to pick up and I kinda accepted it for a while.. then I started working on it for personal stuff, like exploits and stuff.

    I wanted to write a brute forcer, just for fun... what do I realize? No ICMP prot... I begin looking a little deeper... the java language just isn't ready to "replace C" as a lot of people have bee saying...

    I agree with that stat because most the people I know that programming java don't know their ass from their elbow... but I also agree with basc, because ... it just sucks...

    Comment


    • #3
      Now all we need is a study to determine what percentage of Gartner analysts have a clue.

      Van Schetsen says the key to the success of tools such as Compuware's OptimalJ is their use of a model-driven architecture (MDA), "MDA is essential for ensuring consistency and speed for any team of Java developers," says Van Schetsen. "Highly skilled and experienced Java developers are quick to recognise the value of MDA and how the use of patterns or instruction sets for generating applications can significantly boost productivity as well as quality and consistency of code."
      It sounds to me like their definition of "genuine knowledge" is that a programmer subscribes to a certain methodology. While that methodology may or may not have value, I would't equate usage of any methodology with knowledge.

      Nor would I confuse a Gartner report for research, for that matter.

      Is Java worse than any other language? I suspect not much. Heck, you could probably say that only 32% of programmers of any language are really knowledgable, and even that might be aiming a bit high.

      BTW, the Wankometer gives that page a 4.66 ("Significant Wank") .

      Comment


      • #4
        Originally posted by Zhym
        Is Java worse than any other language? I suspect not much.
        Practically, Java has quite a few holes... especially when it comes to network programming. Albeit I won't blame the lack of some features for everyone's shortcomings, it definetly turns you off to the code when you just, plain, can't do something.

        Comment


        • #5
          Originally posted by d3thStaR
          I'm in high school and have been taking a java class in a program that the local college offers... this program gives me high school and college credits... you can't beat it..
          Yeah, I'm in highschool also, and I am going to be taking something like that, except the class is for networking/support.
          blowfish:.2x10x448
          www.gnivirdrawn.com

          Comment


          • #6
            Originally posted by 0versight
            Eh well, I tinker with plan9 when I have the chance/free time and it's really good but being raised on Apple Computers and finally on Windows/Linux it kind if makes me disgusted with their gui, it has this really old Unix look that makes me barf.....but im impressed with the architecture anyway.
            Before Apple came along with Expose, Plan 9's Rio was the only real innovation I had seen in the WIMP department since its inception.

            Plan 9 rocks... too bad its HCL doesn't...
            45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B0
            45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B1
            [ redacted ]

            Comment


            • #7
              Originally posted by Zhym
              Is Java worse than any other language? I suspect not much.
              Java is an absolutely atrocious language with which to attempt to do anything involving binary network protocols, as most of these protocols will utilize unsigned integers. Suddenly not only is the entire idea of "platform independance" shot to hell (as you have to do endianness conversions depending on the endianness of the underlying architecture), but you also have to cram the unsigned integer values you receive into signed integers provided by Java with twice the width. And then what happens when you have to deal with 64-bit unsigned integers in the wire protocol? I guess the lazy approach would be to just ignore the 2's compliment bit entirely and pretend the 64-bit signed integer Java provides is actually unsigned...
              45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B0
              45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B1
              [ redacted ]

              Comment


              • #8
                I post this as soon as I stop laughing...

                Where to begin...
                Java is the OOP language for people that don't understand pointers and memory management. It is also the the language for people who don't want to fall in line with the borg and do VB/.NET/whatever.

                For those who don't know/understand where Gartner gets their information, I strongly suggest you learn more about how it works before you commit your education to the IT/Tech/Programming/Security field. You listening highschoolers?? In corporations, there is a group called Sales and Marketing. They are responsible for defining the market facing message of the company, the products that will be sold, the features that will be touted and those of competetors that they want to crush under the capitalist jackboot. If you work in IT, you know what I mean, the asshat from sales will get the nicest laptop available with all the bells and whistles, run win98 and only use it for outlook while you sit in the cage with a P90 Techra, at 3am, in 60 degree wind tunnel conditions trying to tip into a dead sparc because there wasn't enough money in the budget for a remote console server because the sales asshat had to have a new laptop. Gartner gets their data from sales and marketing people.

                While most of us (technical types) find this stupid, confusing or downright bass ackwards, it is important to note that the people paying the salaries do things this way. That means if you want to keep your sanity and your job just nod and smile at the asshat with the check in their hand and start drinking to excess like the rest of us... because there is very little hope that "business" will ever change

                -ndex
                (aka -the thread killer)
                That's my story and I'm sticking to it.

                Comment


                • #9
                  serious question to ndex

                  So,ndex, what would you suggest that us highschoolers learn. Or maybe I should ask "how do you suggest we learn it, I'm kinda ntrested."
                  you make some good points
                  The only stupid question is the one that you dont ask.
                  Or the one that ends up in dev/null.

                  Comment


                  • #10
                    ndex has a point. I got my degree in Marketing. You need to sell yourself and your skills. You may be the best of the bunch but if you have no marketing group you will land with the other bests such as Apple and BetaMax.

                    Comment


                    • #11
                      Java hmmmm.I think I see a job title.ROFL

                      Comment


                      • #12
                        I don't get what the issue is. It's purely economically beneficial for the suppliers. So, people lack the skills, that creates a less supply, followed by increased demand, moving the equilibirium way the hell higher, causing those who did go to the trouble to get fully educated to get paid even more to simply do their job.

                        Comment


                        • #13
                          Originally posted by enCode
                          So,ndex, what would you suggest that us highschoolers learn. Or maybe I should ask "how do you suggest we learn it, I'm kinda ntrested."
                          you make some good points
                          If I were teaching a beginning programming class to highschoolers the class outline would look something like this:

                          Required Reading: K&R (ISBN: 0131103628)

                          1) overview of how processors work.
                          2) overview of interrupts, memory, ports etc. and where assembly language fits in
                          3) at least a one day discussion of NON Intel processors and the differences between architecture types - why different processors are better for different applications.
                          4) *nix and Shells, specifically the C shell (first csh, then bash)
                          5) The order of operations and "Hello World" in C
                          6) Practical applications of C code and when C is *not* practical
                          7) Scripting and code reuse (survey of sourceforge and packetstorm, etc.)

                          This is how I'd start if I were teaching. Most of the computer/programming classes I've taken haven't been this focused nor have they been geared toward the wire head who wants to know *now* how to program. While some schools and advisors will tell you that anyone can learn to program, this is pure BS. I know a good number of people who learned to program because it was a growth industry and they're not very happy, they can program, but they don't enjoy it.

                          I know only a few people who program like they write or talk - these people are unique and gifted. They code fluidly and without fear. IMNSHO if you do not *want* to program, you won't have an easy time learning. If you enjoy it and find it fun, you could follow the outline above (using Google as your guide) and build a good foundation upon which you could learn and apply any language or scripting tool you found interesting or useful.

                          Knowing how to program and understanding how programs work are different paths. You need to determine what makes you wet/gives you a chubby and go with that..

                          </soap box>
                          That's my story and I'm sticking to it.

                          Comment


                          • #14
                            Programming languages are tools!

                            I am a software systems architect and have designed numerous pieces of software. Java is a programming language that has it's advantages and disadvantages like any other language. There are indeed a great many clueless programmers out there. However, I think the main problem with much of the software industry is that people are taught a language or a methodology and that becomes almost a religion to them. The old "if all you have is a hammer" routine is very applicable. Want to write low level drivers or access network protocols, no java is not the way to go ab out that, use C, perhaps C++. Want to design a robust data access application that is accessable via the web and a thin client and will run on a variety of client machines, Macs, Linux, WinDOZE? Java fits nicely. Need something quick for low volume data access via web only clients, why not use PHP.

                            I have been in the software business long enough to have used a fairly wide variety of languages and platforms (Cobol on IBM mainframes anyone?) So, now I have really dated myself. The biggest trap someone getting started in software, whether it be from a design perspective or from a development one, is to learn one language, platform, paradigm, and insist on using it for EVERY problem. Learn good solid fundamentals and be open to a variety of languages. Learn each language's stren gth and weakness and apply them appropriately.

                            Just My Humble Opinion formed over the years. :)
                            The Matrix is real... but I'm only visiting.

                            Comment


                            • #15
                              Originally posted by javajedi
                              I think the main problem with much of the software industry is that people are taught a language or a methodology and that becomes almost a religion to them. The old "if all you have is a hammer" routine is very applicable. Want to write low level drivers or access network protocols, no java is not the way to go ab out that, use C, perhaps C++. Want to design a robust data access application that is accessable via the web and a thin client and will run on a variety of client machines, Macs, Linux, WinDOZE? Java fits nicely. Need something quick for low volume data access via web only clients, why not use PHP.
                              True enough javajedi. However, you must admit that one of the great shortcomings of Java is that it attempts to force a single paradigm onto everything...

                              While operator overloading decreases code maintainability when abused, it's almost essential for creating maintainable mathetmatical code which operates on values which can't be stored in primitive types, such as matrices, arbitrary precision values, and imaginary numbers (unless you're using a language like Fortran where imaginary numbers can be stored in primitive type) Can you honestly say that a.add(b.div(c.sub(d).mul(e.add(f))).div(g).sub(h) is as readable as (a + (b / (c - d) * (e+f))) / g - h?

                              While a Turing complete template language may seem like overkill for something that can be solved just as easily with generics, it can be used to write highly readable and efficient implementations of complex mathematical transforms. In fact, if you know the size of the input set of an FFT, you can use templates to very readibly implement the entire FFT without branches or loops (by implementing trig functions as fixed depth Taylor series expansions), which is reduced by the compiler to a single mathematical expression, and redundant mathematical operations are optimized away. This isn't a trick limited to C++, you can do it in Common Lisp with a macro (and it will be less ugly than C++). D, which seems to be getting a lot of attention lately, also supports templates.

                              As I mentioned in an earlier post, lack of unsigned types makes dealing with binary network protocols an almost unberable, messy chore, not to mention the manipulation of binary formatted data in general. And in perhaps the most blatent shortcoming of Java's supposed "platform independent" design, file I/O and network code doesn't have built in endianness converters for processing binary data, so a Java program that works on a little endian architecture might suddenly break when run on a big endian one.

                              Without multiple inheritance, programmers are forced to fit everything into a single heirarchy, even if everything doesn't fit nicely into one. This problem is exhibited by the hashCode() method of java.lang.Object. All objects must implement the hashCode() method (the default implementation returning the address of the object in memory), even if it doesn't necessarily make sense for a given object to be "hashable". This is one such instance in the Java API... there are many others where classes are grouped into odd places in order to make them fit into a single, uniform heirarchy, rather than simply implementing multiple parent classes. Java attempts to solve this problem with multiple interfaces, but an interface cannot provide a default implementation for a given method, so consequently programmers using multiple interfaces are forced to implement every method defined in every interface.

                              So keep in mind that "right tool for the job" is a philosophy that shouldn't just be applied to language choice, but language features as well. I highly disagree with Java's approach of forcing a single paradigm (the Java Way) on everything. While many criticize languages like C++ as being "too complex" and therefore causing programmers only using a subset of the language features, the reality is C++ has been designed as a multiparadigm language in order to provide a way of implementing fast but highly readable code for a variety of purposes.
                              45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B0
                              45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B1
                              [ redacted ]

                              Comment

                              Working...
                              X