Java tops C as most popular language in developer index

Discussion in 'C Programming' started by Lynn McGuire, Aug 14, 2013.

  1. Lynn McGuire

    Phil Carmody Guest

    They were definitely bogus in the past, which gives me no confidence
    that they're not bogus this time round. The last thing you want to
    give to someone who's failed at a task is that same task again, surely?

    IIRC, in the past it was little more than webgrepping job adverts.
    Of course, if an ancient language is disgustingly unpopular amongst
    programmers, but lots of businesses needed programmers to maintain
    their legacy systems, that would lead to an apparent high popularity

    Forget pinches of salt - these figures deserve their own siberian salt mine.

    Phil Carmody, Aug 15, 2013
    1. Advertisements

  2. Lynn McGuire

    Ike Naar Guest

    People can learn from their mistakes.
    Ike Naar, Aug 15, 2013
    1. Advertisements

  3. Lynn McGuire

    Lynn McGuire Guest

    BTW, this was interesting to me since we are
    considering converting our Windows desktop
    software written in C / C++ to a browser
    based software package written in Java and
    distributed using Javascript.

    Lynn McGuire, Aug 15, 2013
  4. Lynn McGuire

    Ike Naar Guest

    What do you mean by "written in C / C++" ?
    Are some parts written in C, and other parts in C++?
    Ike Naar, Aug 15, 2013
  5. Keith Thompson, Aug 15, 2013
  6. Lynn McGuire

    Lynn McGuire Guest

    Much of it is C code pretending to be C++ code.
    800K lines. About half of the code was written
    before 1990.

    Lynn McGuire, Aug 16, 2013
  7. (snip, someone wrote)
    Mostly they are different languages, but ...

    There is an old story that you can write Fortran in any language.

    Most likely my Java looks more like C than someone writing Java
    who never learned C.
    Probably should just call it C.

    -- glen
    glen herrmannsfeldt, Aug 16, 2013
  8. Lynn McGuire

    Lynn McGuire Guest

    Nope, the code written since 2000 is true C++
    and uses polymorphism, inheritance, operator
    overloading and virtual methods to the extreme.
    That is about 400K lines of C++. Really works
    well and is fast to boot. The C++ older than
    2000 is ... simplistic is being nice. It was
    all ported to C++ by changing the .c to .cpp.

    BTW, our calculation engine is 750K lines of F77,
    5K lines of C and 5K lines of C++.

    I started writing fortran in 1975, and yes, I
    can write fortran in any language.

    Lynn McGuire, Aug 16, 2013
  9. Lynn McGuire

    Ian Collins Guest

    What's the betting it'll run like a three legged dog once it's converted
    to Java?
    That would be even more interesting as Java...
    Ian Collins, Aug 16, 2013
  10. Lynn McGuire

    James Kuyper Guest

    That explanation is a bit ambiguous. Which language standard comes
    closest to describing the behavior of the compiler you use to compile
    the code?
    James Kuyper, Aug 16, 2013
  11. The statement could mean, "C code which attempts to support object-orientation
    by use of odd C constructs", or "C++ code written almost entirely in the C
    subset of C++". From context, it's obvious that the latter is intended.
    Malcolm McLean, Aug 16, 2013
  12. Lynn McGuire

    James Kuyper Guest

    I certainly was leaning toward that interpretation. Messages which Lynn
    posted after the one I was responding to (and which I should have read
    before posting my response) now make it clear. However, I don't think it
    was obvious until Lynn posted those messages.
    James Kuyper, Aug 16, 2013
  13. (snip)
    The fact that too many people say C/C++ when they mean one or
    the other, doesn't mean that there aren't mixed language programs.

    If someone said C/Fortran, it would obviously (I hope) be a
    mixture of the two. With Fortran's C interoperability feature,
    that isn't so unusual.

    -- glen
    glen herrmannsfeldt, Aug 16, 2013
  14. Lynn McGuire

    Lynn McGuire Guest

    Oh yeah, my software is Frankenstein. The
    calculation engine was begun in the early 1960s.
    I started working on it in good old fortran iv in
    1975. We are actually in a slow moving project
    to convert it to c code using for_c. The project
    is not going well.

    Lynn McGuire, Aug 16, 2013
  15. Lynn McGuire

    Lynn McGuire Guest

    Nope, the code written since 2000 is true C++
    Just the download time for the javascript worries
    me. We will have as much or more javascript code
    than gmail.

    Much of the modern C++ code used to be smalltalk.
    That ran like a two legged dog. On a good day.
    Not gonna happen. That will sit on a calculation
    server somewhere. It will be F77 or C. We need
    the speed of compiled code. I've got calculation
    jobs that I can kick off that take hours to run.

    Lynn McGuire, Aug 16, 2013
  16. Lynn McGuire

    blmblm Guest

    Not everything. There are the "primitive" types.
    Not in the C sense, but what do you think references are?
    Yes. (And sometimes that's somewhat annoying.)
    It's true (AFAIK) that Java doesn't provide direct/easy access to
    non-Java libraries. But it has a very very large collection of
    semi-standard library classes that seem to me to provide all the
    tools one would need to build many applications. It's not the right
    language for writing, oh, device drivers maybe, but for application
    development, it seems to me to be pretty good.

    As for "framework of the month", I don't know, maybe that *is* what
    many Java programmers use. But I don't think one has to.
    Indeed. :) (I am too, as is probably clear. For what it's worth,
    I do think that schools that teach nothing but Java are doing their
    students a disservice. But I also think it's kind of a nice language
    for writing applications.)
    blmblm, Aug 17, 2013
  17. Lynn McGuire

    blmblm Guest

    Are you under the impression that Java Virtual Machines are (still)
    strictly interpreters of byte code? I think that has not been
    true for quite a while; most of the ones I know about compile
    at runtime to native code. Some years ago a colleague did some
    experiments comparing running times of C++ and Java versions of
    one of his applications, and while the C++ version was faster, the
    difference was less than the "Java is slow!" people might think.
    (Right, that means I don't really remember and am too lazy to try
    to find out. I want to say maybe 5-10% increase in running time,
    but that might be wrong. Whether a 10% increase is a big deal --
    YMMV maybe.)

    Now, if the Java gets turned into JavaScript, which is interpreted
    by a browser .... I wouldn't know about that [*]. But I'm fairly
    sure actual Java is not the performance disaster it was early on.

    [*] Indeed I didn't know until it was mentioned here that this
    was possible, and I'm speculating about whether this is somebody's
    idea of a workaround for the embarrassing string of security flaws
    in a language that was intended at least in part to allow safe
    execution of code from possibly-not-trustworthy sources.

    Okay, okay, off topic here. I'll (try to) pipe down now.
    blmblm, Aug 17, 2013
  18. Lynn McGuire

    Ike Naar Guest

    A reference is not a pointer. Perhaps "alias" would be a
    better term.

    Consider the equivalence of

    T x, &y = x;


    T y, &x = y;

    In either case the result is an object of type T that has two names,
    x and y. Neither x nor y has type pointer-to-T.

    Code that follows cannot tell which set of declarations was used.

    Calling x "the pointee" and y "the pointer", or vice versa, would
    destroy the symmetry.
    Ike Naar, Aug 18, 2013
  19. Lynn McGuire

    blmblm Guest

    If you hadn't been so aggressive in trimming out quoted material,
    it would have been clearer that "references" in what I wrote are
    *Java* references.

    Your example below may well be relevant and interesting in C++,
    but in Java there is no "address-of" operator, so it's not relevant
    in that context. (Perhaps you didn't intend for it to be.)

    Then again, now that I think about it, the fact that there's no such
    operator does mean that references are not the same as pointers.
    My term for them is "cleaned-up pointers", meaning that -- in
    the Java tradition -- some of the more, um, creative [1] things
    one can do with the C pointers aren't possible in Java. It *is*,
    however, possible to do some [2] of the more useful things one can
    do with pointers. For the record, I don't consider this an unmixed
    blessing, though IMO it has its merits.

    [1] Such as pointer arithmetic.

    [2] Not all, but some. For example, one can build and operate on
    linked data structures, though the syntax is a bit different, but
    one cannot define true pass-by-reference functions. (In the right
    circles that statement would probably launch yet another iteration
    of the debate about whether Java passes variables by value or by
    reference. Maybe we can avoid that here.)

    It might be worth pointing out that in Java it's not possible to
    make distinctions between things and pointers-to-things: A variable
    is a either primitive type (with no way to get its address) or a
    reference type (which *is*, in sense, an address or pointer). One
    consequence is that people who come to C (or, presumably, to C++)
    from Java have to learn about this distinction. That's one of the
    reasons I say schools that teach only Java are doing their students
    a disservice.
    blmblm, Aug 18, 2013
  20. Lynn McGuire

    Ian Collins Guest

    From an earlier post by Lynn:

    "Fat Browser clients, such as google apps (gmail),
    are written in Java and compiled down to Javascript."
    Ian Collins, Aug 19, 2013
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.