Java tops C as most popular language in developer index

P

Phil Carmody

Mark Storkamp said:
That information seems to come from
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
where they explain how a change in their method has affected C and
Objective-C negatively. So either they've been wrong in the past having
C ahead of Java, or they're wrong now. But with only a 0.004%
difference, and no margin of error given, it really doesn't matter
anyway.

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
index.

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

Phil
 
L

Lynn McGuire

I

Ike Naar

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.

What do you mean by "written in C / C++" ?
Are some parts written in C, and other parts in C++?
 
L

Lynn McGuire

What do you mean by "written in C / C++" ?
Are some parts written in C, and other parts in C++?

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

Lynn
 
G

glen herrmannsfeldt

(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.
Much of it is C code pretending to be C++ code.
800K lines. About half of the code was written
before 1990.

Probably should just call it C.

-- glen
 
L

Lynn McGuire

(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

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
 
I

Ian Collins

Lynn said:
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.

What's the betting it'll run like a three legged dog once it's converted
to Java?
BTW, our calculation engine is 750K lines of F77,
5K lines of C and 5K lines of C++.

That would be even more interesting as Java...
 
J

James Kuyper

On 8/15/2013 3:29 PM, Ike Naar wrote: ....

Much of it is C code pretending to be C++ code.

That explanation is a bit ambiguous. Which language standard comes
closest to describing the behavior of the compiler you use to compile
the code?
 
M

Malcolm McLean

That explanation is a bit ambiguous. Which language standard comes
closest to describing the behavior of the compiler you use to compile
the code?
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.
 
J

James Kuyper

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.

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.
 
G

glen herrmannsfeldt

(snip)
(snip)

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.

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
 
L

Lynn McGuire

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.

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
 
L

Lynn McGuire

Nope, the code written since 2000 is true C++
What's the betting it'll run like a three legged dog once it's converted to Java?

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.
That would be even more interesting as Java..

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
 
B

blmblm

Are you seriously suggesting that C programmers would feel more at
home in Java than in C++, because Java doesn't overload the <<
operator?

Java:
- everything is a reference

Not everything. There are the "primitive" types.
- pointers don't exist (except as NullPointerExceptions)

Not in the C sense, but what do you think references are?
- there are no functions, only classes with methods

Yes. (And sometimes that's somewhat annoying.)
- your usual OS APIs and libraries don't exist; use the-framework-
of-the-month instead!

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.
C++:
- don't use void*, and your C programs will pretty much
work as before

(Yes, I'm biased.)

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.)
 
B

blmblm

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.

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.
 
I

Ike Naar

Not in the C sense, but what do you think references are?

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

Consider the equivalence of

T x, &y = x;

and

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.
 
B

blmblm

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.
 
I

Ian Collins

Robert said:
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.


Java doesn't get turned into JavaScript - they're two very different
languages.

From an earlier post by Lynn:

"Fat Browser clients, such as google apps (gmail),
are written in Java and compiled down to Javascript."
 

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. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,076
Messages
2,570,565
Members
47,201
Latest member
IvyTeeter

Latest Threads

Top