a binary search tree is a binary search tree in any language
I hope employers still see it that way. In years gone by, I interviewed people for software positions and often didn't bother to ask what languages they knew (or if I did, I didn't consider it important). My attitude was that if you can't quickly become proficient in a new language, we made a mistake in hiring you. These days though I see a lot of job ads for "Language Du Jour Programmer". Say all you want about code monkeys, but if employers want experience w/ a specific language, what can you do?
Some are cludgy.
Unfortunately you failed the most important test. It's "klugey" (American) or "kludgy" (British).
It's also of interest that OOP is specifically BANNED from aircraft software!
Everywhere, or just extreme cases like DO-178B Level A? I know most of the F-35's software is written in C++ (though considering how that project is going, that's hardly an endorsement).
I'm in the Java camp myself and while I'd like it to perform better the reality is that it simply doesn't. But the reality for me and my line of work is that it easily performs "well enough"
I appreciate that "well enough" often applies in the real world, and if you have a lot of Java, know it well, etc., it would be silly to switch (though Scala sounds more interesting, is interoperable, and about the same speed). I also believe you can speed up Java number crunching a lot by using some of the packages where C/C++ has Java wrappers.
I understand the whole warmup thing w/ the JVM, but it's simply a drawback (even if it doesn't matter much on servers).
The only thing that irks me is when Java advocates say it "can be faster, is just as fast, or within a hair's breadth of C/C++". I'd love to see some benchmarks that show that, but no one ever seems to produce them.
'D' might be a good number crunching language, though I haven't tried it. I'll be the first to admit that C++ is a Rube Goldberg, C is primitive, and both give you all the rope you need to hang yourself with (though I rarely find that a problem w/ number crunching). D is kind of C++ done right, and it's a lot safer. It's come a long way, though it still has some rough edges. For instance, it still uses a "stop the world" garbage collector, though there's at least an alpha of a decent generational GC. "The Computer Language Benchmarks Game" that I often cite dropped D for an interesting reason. To reduce the work of maintaining the site they had to drop some languages, and amongst others, chose D because it was so similar to C++.
How many iterations of those tests did you run, and were you using the server version of the JVM?
Like I said earlier, I'm in the C/C++ camp, but I'm just asking what a Java advocate would probably ask. They're forever talking about "warm up" time, which seems like a big technological step backwards to me. I thought computers used transistors now instead of tubes.
Truth is stranger than fiction. Even as a Perl lover, I would never have thought of using it w/ number crunching. Still doubt it would be my first choice.
When's the last time you tried to read Fortran, and what version was it? I originally learned Fortran IV (aka '66 -- '77 had come out but we didn't have a compiler for it). I cursed and moaned about it all the way. Some years later I had to work on a Fortran program and was dreading it. To my pleasant surprise it wasn't bad, because it was Fortran '90.
if you don't care about having your code be maintained or extended by anyone under age 30
1. There are plenty of programmers over age 30. 2. Someone who is 30 today, likely finished his BSc in 2005. Do you think Fortran was much more popular then? 3. People under age 30 learn Fortran if they're involved in HPC. It's still widely used, and has advantages over C/C++ (easy, built-in parallelization, etc.).
don't plan on doing any custom visualization beyond GNUplot
There are lots of other programs you can use besides GNUplot. In serious HPC graphics are often considered a back end that runs separately from the main program, and sometimes on a different machine.
don't care if you ever find employment outside of academia
1. You don't know what his major is - he may care less about putting the programming language du jour on his resume. In fact he specifically said "I haven't done ANY programming in about 12 years... I am not a CS major". 2. If you do HPC, Fortran could be a very useful thing to put on your resume. All the more because it's obscure these days.
Don't think that whatever kind of code you write is the be all and end all of programming.
For numeric-intensive work, I can get within 20% of the speed of C++
Did you measure it? No snark - I'm curious.
I would like to see some benchmarks that support the claim that Java is almost as fast as C/C++ for number crunching. I'm in the C/C++ camp, but am willing to openly entertain what you get from good benchmarks. These benchmarks show C++ consistently beating Java.
What those benchmarks don't cover, but I'd love to see, is a comparison of pure C++, pure Java, Java w/ some wrapped C/C++ (I understand there are some nice packages like that), and NumPy/SciPy/Cython (we know straight Python is glacial compared to Java).
P.S. This is not necessarily an answer to the author's question, as he isn't clear (and may not be clear himself) about how speed critical his stuff is.
Do not use Perl for this. I've been using Perl for 15-20 years, and I love it for "scripting", text processing, etc., but using it for scientific computing sounds like an exercise in masochism.
Well, what do you expect when the media turned on its heel in 2009 and became solidly pro-government?... All because they're simpatico with the political leanings of the President.
What is it about rightists that so many suffer from the victim complex that they accuse liberals of? Talk about projection.
Remember all those in the media who were originally skeptical of Bush's rationale for the Iraq war? Me neither. I do remember Judith Miller, of the supposedly liberal NYT, acting as little more than a mouthpiece for the administration.
The problem with defending the purity of the English language is that English is about as pure as a cribhouse whore. We don't just borrow words; on occasion, English has pursued other languages down alleyways to beat them unconscious and rifle their pockets for new vocabulary.
Most journalists are not great writers. I've heard Palast's writing style described as a bit over-the-top, but not as disorganized. Are you talking about his articles or his books?
Regardless, he is a hell of an investigator. He was the first to ferret out the real issue behind the 2000 Florida election fiasco (black voters deliberately, and erroneously, struck from the voter registration). IIRC it was at least six months before WaPo or NYT finally reported that.
P.S. Why is it that the best American investigative journalists work for British publications? Do British investigative journalists work for American publications?
The KGB used to do similar things. If you want an idea what new project XYZ Aerospace is working on, just check the job ads.
a binary search tree is a binary search tree in any language
I hope employers still see it that way. In years gone by, I interviewed people for software positions and often didn't bother to ask what languages they knew (or if I did, I didn't consider it important). My attitude was that if you can't quickly become proficient in a new language, we made a mistake in hiring you. These days though I see a lot of job ads for "Language Du Jour Programmer". Say all you want about code monkeys, but if employers want experience w/ a specific language, what can you do?
Some are cludgy.
Unfortunately you failed the most important test. It's "klugey" (American) or "kludgy" (British).
These days, even the law school grads aren't doing so well.
This advertisement paid for by ARM Holdings, PLC.
It's also of interest that OOP is specifically BANNED from aircraft software!
Everywhere, or just extreme cases like DO-178B Level A? I know most of the F-35's software is written in C++ (though considering how that project is going, that's hardly an endorsement).
An undesired one
That's what they all say.
I'm in the Java camp myself and while I'd like it to perform better the reality is that it simply doesn't. But the reality for me and my line of work is that it easily performs "well enough"
I appreciate that "well enough" often applies in the real world, and if you have a lot of Java, know it well, etc., it would be silly to switch (though Scala sounds more interesting, is interoperable, and about the same speed). I also believe you can speed up Java number crunching a lot by using some of the packages where C/C++ has Java wrappers.
I understand the whole warmup thing w/ the JVM, but it's simply a drawback (even if it doesn't matter much on servers).
The only thing that irks me is when Java advocates say it "can be faster, is just as fast, or within a hair's breadth of C/C++". I'd love to see some benchmarks that show that, but no one ever seems to produce them.
'D' might be a good number crunching language, though I haven't tried it. I'll be the first to admit that C++ is a Rube Goldberg, C is primitive, and both give you all the rope you need to hang yourself with (though I rarely find that a problem w/ number crunching). D is kind of C++ done right, and it's a lot safer. It's come a long way, though it still has some rough edges. For instance, it still uses a "stop the world" garbage collector, though there's at least an alpha of a decent generational GC. "The Computer Language Benchmarks Game" that I often cite dropped D for an interesting reason. To reduce the work of maintaining the site they had to drop some languages, and amongst others, chose D because it was so similar to C++.
How many iterations of those tests did you run, and were you using the server version of the JVM?
Like I said earlier, I'm in the C/C++ camp, but I'm just asking what a Java advocate would probably ask. They're forever talking about "warm up" time, which seems like a big technological step backwards to me. I thought computers used transistors now instead of tubes.
I think of that as text processing rather than number crunching.
my go-to language
Bad pun.
Truth is stranger than fiction. Even as a Perl lover, I would never have thought of using it w/ number crunching. Still doubt it would be my first choice.
ultimately it's cheaper to buy more computers than hire more programmers
We're talking about grad students - seriously different budgetary concerns.
Why is the PP marked "funny". It sounds like a serious concern to me.
When's the last time you tried to read Fortran, and what version was it? I originally learned Fortran IV (aka '66 -- '77 had come out but we didn't have a compiler for it). I cursed and moaned about it all the way. Some years later I had to work on a Fortran program and was dreading it. To my pleasant surprise it wasn't bad, because it was Fortran '90.
if you don't care about having your code be maintained or extended by anyone under age 30
1. There are plenty of programmers over age 30.
2. Someone who is 30 today, likely finished his BSc in 2005. Do you think Fortran was much more popular then?
3. People under age 30 learn Fortran if they're involved in HPC. It's still widely used, and has advantages over C/C++ (easy, built-in parallelization, etc.).
don't plan on doing any custom visualization beyond GNUplot
There are lots of other programs you can use besides GNUplot. In serious HPC graphics are often considered a back end that runs separately from the main program, and sometimes on a different machine.
don't care if you ever find employment outside of academia
1. You don't know what his major is - he may care less about putting the programming language du jour on his resume. In fact he specifically said "I haven't done ANY programming in about 12 years ... I am not a CS major".
2. If you do HPC, Fortran could be a very useful thing to put on your resume. All the more because it's obscure these days.
Don't think that whatever kind of code you write is the be all and end all of programming.
For numeric-intensive work, I can get within 20% of the speed of C++
Did you measure it? No snark - I'm curious.
I would like to see some benchmarks that support the claim that Java is almost as fast as C/C++ for number crunching. I'm in the C/C++ camp, but am willing to openly entertain what you get from good benchmarks. These benchmarks show C++ consistently beating Java.
What those benchmarks don't cover, but I'd love to see, is a comparison of pure C++, pure Java, Java w/ some wrapped C/C++ (I understand there are some nice packages like that), and NumPy/SciPy/Cython (we know straight Python is glacial compared to Java).
P.S. This is not necessarily an answer to the author's question, as he isn't clear (and may not be clear himself) about how speed critical his stuff is.
Perl is still in wide use.
Do not use Perl for this. I've been using Perl for 15-20 years, and I love it for "scripting", text processing, etc., but using it for scientific computing sounds like an exercise in masochism.
Well, what do you expect when the media turned on its heel in 2009 and became solidly pro-government? ... All because they're simpatico with the political leanings of the President.
What is it about rightists that so many suffer from the victim complex that they accuse liberals of? Talk about projection.
Remember all those in the media who were originally skeptical of Bush's rationale for the Iraq war? Me neither. I do remember Judith Miller, of the supposedly liberal NYT, acting as little more than a mouthpiece for the administration.
Anything with an accent isn't English.
That's a cliché. The first rule about English, especially its spelling, is that there are no rules. There are a number of English words imported from other languages that retain diacritical marks.
The problem with defending the purity of the English language is that English is about as pure as a cribhouse whore. We don't just borrow words; on occasion, English has pursued other languages down alleyways to beat them unconscious and rifle their pockets for new vocabulary.
-- origin disputed
With these fancy New Yorker style words
Have you actually heard the average New Yorker speak? Fuggedaboutit.
most of the non-american world speaks 2 or more languages
Cite? For example, how many Mandarin speakers (many of whom live in isolated rural areas) speak a second language?
Most journalists are not great writers. I've heard Palast's writing style described as a bit over-the-top, but not as disorganized. Are you talking about his articles or his books?
Regardless, he is a hell of an investigator. He was the first to ferret out the real issue behind the 2000 Florida election fiasco (black voters deliberately, and erroneously, struck from the voter registration). IIRC it was at least six months before WaPo or NYT finally reported that.
GCHQ is in the "mother country", America was the colony
You should have told Tony Blair that.
Extra points if they add Greg Palast.
P.S. Why is it that the best American investigative journalists work for British publications? Do British investigative journalists work for American publications?
"Officially" being the key word. However, since Blair left, they seem to be acting a bit more like a sovereign country.