Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror

Comment: Dear Mr. Obama (Score 4, Interesting) 375

by DickBreath (#49783495) Attached to: Obama Asks Congress To Renew 'Patriot Act' Snooping
If the NSA had only been spying on terrorists we wouldn't even be having this conversation. (although it's not really a conversation, but you get my point)

Why would the NSA and CIA be spying on Congress? Is it someone's goal to set up the apparatus of a police state?

Why is the NSA spying on the EU Parliament? Are they looking for terrorists in Parliament?

See: TED How the NSA betrayed the world's trust — time to act
at: 4:30
also see at: 12:40 (or at 12:00 for better context) "I don't think they're looking for terrorists in Parliament."
(see at: 6:00 if you believe in encryption golden keys)

Comment: Re:Easier to learn != easier to use (Score 1) 382

by DickBreath (#49774705) Attached to: How Java Changed Programming Forever
I like getters/setters in Java because in practice, the JVM compiles everything down to native code and aggressively inlines. So typical getters/setters cost nothing and are direct accesses to member variables. But it gives you the flexibility to later make the getter/setter do something else without affecting other code.

Suppose you were to change the getter/setter and then dynamically re-load the class at runtime in a running system. The JVM will immediately de-optimize (go back to interpreted bytecode) for all methods that now have stale inlined code (from the old version of the class). Dynamic profiling may then quickly reveal that the de-optimized code is (still, as it was before) an actual CPU hot spot, causing it to get re-compiled again, and if appropriate, to have those getters/setters inlined, or not.

The JVM compiler is like having a global -O 5 optimizer that can optimize globally across the actual code running on the machine, and the code generator of the compiler is tailored to your actual hardware and whatever instruction set extensions it might have.

The JVM as a runtime platform will probably outlast the Java language.

Comment: Re:Delete YOUR email account... (Score 2, Funny) 173

Your never going too get you're weigh on this. Their are just two many people out they're using there words wrong too get to upset. Sew don't loose you're cool about it. You can sea mini common examples that exist of incorrect usage. People pick the write words two use according too there porpoises. But you'd have two be a fool to begin or end a sentence with the word "but". And only an idiot would begin or end a sentence with "and". And a preposition is a very bad word too end a sentence with.

Comment: Re:Dunning Krugers and Old Fogies (Score 1) 382

by DickBreath (#49750569) Attached to: How Java Changed Programming Forever
Hey, it's always easier to blame the programming language for things done by stupid developers, stupid practices, stupid managers, stupid organizations, stupid vendors, stupid requirements, and stupid teachers.

But your list of the bashing comment types is right on the money as evidence in these comments.

Comment: Re:Easier to learn != easier to use (Score 2) 382

by DickBreath (#49750531) Attached to: How Java Changed Programming Forever
While operator overloading can be used for good, it is far more often used to create huge messes. It makes the simplest expressions impossible to understand locally because now, everywhere there is an operator, you cannot be sure what is actually going on. IMO, operator overloading is evil, despite the good intentions.

I hear you about type erasure for generics.

Lambda statements in Java are a recent addition. But I hear you about first class functions. There are a lot of other languages that run on the JVM platform and are interoperable with Java. And many of these have first class functions. JavaScript (Nashorn), Clojure (a modern lisp with concurrency and immutable structures), Groovy, Scala and many others. And the interoperability is very real -- because they all pass around the very same underlying types and objects from the underlying runtime system.

I hear you about lack of properties and the annoyance of getters/setters. IDEs help, but its not the same thing. (like kissing your boyfriend through a veil)

Comment: Re:Java programmers? - don't make me laugh (Score 1) 382

by DickBreath (#49750389) Attached to: How Java Changed Programming Forever
You forgot: . . . and not check the licensing conditions of all those 3rd party packages.

I have not switched to Maven . . . so far.

But your 'three line loop' example is NOT a Java problem. That same kind of stupidity transcends languages, platforms and tools, and often opens up career paths into management.

Comment: Re:language is OK, programmers are terrible (Score 4, Informative) 382

by DickBreath (#49750343) Attached to: How Java Changed Programming Forever
Don't blame Java for that. It is the fault of many managers. They want cheap, interchangeable droids to build their applications. Run them hard, burn them out, throw them away like a used spark plug. They're cheap to replace. So those managers want a language all these droids understand. So not only do you get experts, but hoards of below average drones who's main skill is interviewing and taking certification exams. (aka 'certified idiots')

Any programming language could have stumbled into that phenomena. It just happened to be Java. That doesn't make Java itself bad. If anything, the huge community of wealthy enterprise Java users has benefited the Java ecosystem tremendously.

The platform itself has its major strengths. For just one example, in 2012, Twitter switched from Ruby to Java because Java could scale. You need major scalability when you handle a billion tweets per day and must route each of them to many destinations and platforms. It doesn't matter how much cpu / memory the platform uses, it matters that you can scale it linearly by just adding more boxes. Java already has a lot of ecosystem and infrastructure that enables that kind of scalability. You can google for twitter's 2012 switch from Ruby to Java, and they also have (last time I looked a year or so ago) a lengthy YouTube video presentation discussing the benefits of the change after the fact.

Comment: Re:forever and ever? (Score 1) 382

by DickBreath (#49750185) Attached to: How Java Changed Programming Forever
In ways that affect most programmers, for most everyday purposes, Java is an advance over Pascal just as Pascal was an advance over earlier languages. Just as Pascal gave you new powerful tools (structured programming without GOTO, data structures, strong typing, recursion, etc), Java gives you more new tools (objects, inheritance, polymorphism, garbage collection, a very large standard library, object code portability across platforms), later on the JVM brought portable source level debugging, dynamic profiling and hotspot compilation, better and more sophisticated garbage collection, and more.

Ultimately it depends on what your goals are. If you are writing high performance video codecs, or signal processing, for example, then you would probably not use Java.

But for many everyday things, Java is great. That is probably why it is so widely used to build huge enterprise software projects that should run for decades;.

Comment: Re:Don't make me puke... (Score 1) 382

by DickBreath (#49750101) Attached to: How Java Changed Programming Forever
> you could in theory make an Enterprise class application in GWBASIC.

In theory you could make Enterprise applications in assembly language. Or write the direct machine instructions in Hex. An IDE might help. But the language you use also plays a large part. Perhaps larger than the IDE. The IDE is a lever that helps leverage the power of the language that you start with. If the language you start with (GWBASIC or machine code) isn't that high level, abstract or powerful, then the IDE can only help you leverage what you have, which isn't much.

Wherever you go...There you are. - Buckaroo Banzai

Working...