My University only has two programming courses: C++ and Java
That's terrible. No Prolog? No Lisp? No functional programming language at all? No assembly, for that matter? And what about parallel programming languages? I must have learned about a dozen languages at my university (not all of them very thoroughly, mind you).
Jodatime is a lot better than Java's standard date handling, but for many applications, it still falls short of Ruby's date handling or Groovy's TimeCategory.
In my opinion, nothing beats being able to write (2.months + 5.days).ago. Jodatime does support durations that keep track of months and days rather than milliseconds (which are often useless), but it doesn't patch that support into existing Java dates and integers, and that's what you really need to make date handling trivial.
JVM as a spec is actually pretty limiting (no raw memory operations,
I think practically everybody would agree that's a good thing.
There's no implementation of Haskell on JVM that I know of. I don't think it's even possible to have one that would be useful, because JVM doesn't have tail call optimization. For the same reason, you won't see a proper Scheme or ML implementation on Java.
Isn't Clojure basically Scheme or Lisp for the JVM?
Try Groovy. You can simply do def myList = new ArrayList>SomeObject<();.
It also does closures and internal iteration, it automatically generates your getters and setters, you don't have to handle exceptions if you don't want to, and it does nullpointer-safe bean paths: foo?.bar?.baz() simply returns null if foo is null, rather than throwing an exception.
Java is readable, it's just not very expressive, which means you need a lot of code to get anything done. Often you need a couple of classes to get the structure of your code right. Perl is indeed the polar opposite: expressive but unreadable.
Good languages have both. Ruby, Python and Groovy are readable, but also very expressive. You can do stuff in a single very readable line that would take a page of Java, or a very arcane line of Perl.
THe thing that makes me think Java has a huge path forward is groovy.
in theory groovy has all the advantage python has and more.
This is entirely correct. Groovy is really great: accepting (almost all) Java syntax, but offering almost the same level of flexibility and expressiveness as Ruby (it falls short in a few places, though). Accepting Java syntax can also be a problem, however: old Java programmers may cling to their old ways instead of solving their issues with closures, metaprogramming and other powerful constructs.
Also, sticking to Java basics also means that Groovy truth lacks Ruby's power. 0 is false in Groovy (because it's false in Java and C), despite it being a valid value. In Ruby, only false and nil are false, which allows you to do amazing things with logic. Even better, || and && return the last evaluated value, whereas in Groovy, they return true or false. Because of those shortcomings, Groovy's expressiveness falls a little bit short of that of Ruby.
But in the end, closures and metaprogramming are a must for any modern, serious programming language. Java lacks them, Groovy adds them. That alone is more than enough to justify Groovy's existence. But to really make Groovy fly, more Javaisms need to be kicked out.
The "truth" is, the same people that want anything the Obama Administration does to fail are the same people that created the Third Largest Government Agency.
But that's okay because it has a suitably patriotic-sounding name.
Call it Department for Healthy Americans, and point out that some veterans are diabetic, and I'm sure you'll get a lot more support.
When there are differences between standards compliant browsers, theres something wrong with the standard imho.
What's wrong with W3C standards is that there's never been a reference implementation, which means there's a lot of room for interpretation, and interpretations can vary a lot. And after they've been implemented, people start discussing which implementations are closest to what the standard intended, after which people need to fix their browser, and in the mean time, we've got a big bloody mess.
I've been using Opera for ages. For a long time, it was really the only choice for power users. Every other browser would crash or slow to a crawl when you had more than a few dozen pages open. Back in my Pentium II 200MHz days, I needed 200 pages open to inconvenience Opera. It's still one of the browsers with the smallest memory footprint, although it's not leading by as much as it used to.
Imagine the impossibility of the oceans drying up.
For the ocean to "dry up" the water would have to be removed from the planet. That requires two energy inputs: first, enough energy to boil all the water in all the oceans. Second, enough energy to raise the velocity of each molecule of water vapor to the escape velocity.
Why escape velocity? Just boil them up, and you've got your dry ocean beds. And the extra water in the atmosphere amplifies the greenhouse effect in order to keep them dry. Think Venus.
I never know what to do with my mod points, and now that I find a very informative and insightful post with a score of only 1 (at the time of writing), I don't have any!
Except that the EU parliament has no real power (much like the British House of Lords). All real power in the EU is held by the bureaucracy.
By the council of ministers, actually. They make agreements behind closed doors without input from either their national parliaments or the euoparliament.
Pure-passive coolers are huge and expensive, far more so than quieter fans. They also generally depend on good case airflow, which you really won't have with no fans.
Not all passive coolers are all that expensive. The Accellero S1, I think, costs about $20 and cools better than many active coolers. If you have good air flow, of course. Unless you go with water or external heat sinks (very expensive!), you will always need a single case fan, and make sure the inside of the case is well-organised, with no big blobs of cables blocking the air flow.
I'll second that on the Antec cases, but what's wrong with their power supplies? I haven't had any problems with mine.
I don't have any reliable statistics, but I've heard from several people who had Antec PSUs fail on them for no good reason. Could be that was just a single bad model. I would probably choose Antec over any nameless brand, but why would I, if I can choose Seasonic or Corsair? Well, I guess if you buy an Antec case with a PSU already in it, it makes sense to keep that one.
You know what the thing is about multitasking? When they're different tasks, they're rarely all equally CPU-intensive. Usually, one application uses 50%+ of the CPU at any given time, and if that application is not multithreaded, that means 50% of the work will be done by a single core. So a second core is all you need to get the rest of the work done.
Now if you've got a server that spawns dozens or hundreds of identical jobs, then quadcore makes a lot of sense, but for a desktop, but on a desktop, it only makes sense if you know that no single thread is going to be 50% of your CPU load.
Also stay away from their fans. That case is fitted with a "Tricool" fan. Called "tricool" because it got three settings: Hairdryer, Vacuum-cleaner and Wind-tunnel.
Could be. I replaced it with (probably) a Nexus Real Silent D12SL-12, which is pretty quiet yet not expensive.
Keep in mind that the CPU isn't the only thing that determines speed, especially as experienced by the user. Sufficient memory, hard disk space, not running too much stuff in the background, etc, can matter a lot more than the slight speed boost that a cutting edge processor can give you.
But $300 a year is plenty to upgrade all of those regularly as long as you don't spend it all on just the CPU.
My University only has two programming courses: C++ and Java
That's terrible. No Prolog? No Lisp? No functional programming language at all? No assembly, for that matter? And what about parallel programming languages? I must have learned about a dozen languages at my university (not all of them very thoroughly, mind you).
Jodatime is a lot better than Java's standard date handling, but for many applications, it still falls short of Ruby's date handling or Groovy's TimeCategory.
In my opinion, nothing beats being able to write (2.months + 5.days).ago. Jodatime does support durations that keep track of months and days rather than milliseconds (which are often useless), but it doesn't patch that support into existing Java dates and integers, and that's what you really need to make date handling trivial.
With syntax like this:
amPM = Calendar.getInstance().get(Calendar.AM_PM)
That's not Groovy's fault. That's Sun's fault for writing a retarded Date library and refusing to replace it with something sane.
Groovy has TimeCategory, which is what you want to use. With it, you can just do:
2.months.ago
and get what you'd expect to get.
JVM as a spec is actually pretty limiting (no raw memory operations,
I think practically everybody would agree that's a good thing.
There's no implementation of Haskell on JVM that I know of. I don't think it's even possible to have one that would be useful, because JVM doesn't have tail call optimization. For the same reason, you won't see a proper Scheme or ML implementation on Java.
Isn't Clojure basically Scheme or Lisp for the JVM?
Try Groovy. You can simply do def myList = new ArrayList>SomeObject<();.
It also does closures and internal iteration, it automatically generates your getters and setters, you don't have to handle exceptions if you don't want to, and it does nullpointer-safe bean paths: foo?.bar?.baz() simply returns null if foo is null, rather than throwing an exception.
Java is readable, it's just not very expressive, which means you need a lot of code to get anything done. Often you need a couple of classes to get the structure of your code right. Perl is indeed the polar opposite: expressive but unreadable.
Good languages have both. Ruby, Python and Groovy are readable, but also very expressive. You can do stuff in a single very readable line that would take a page of Java, or a very arcane line of Perl.
And Scala is every bit as fast as Java straight out of the box. It's a shame many of those gazillion Java packages suck so much.
Why has Sun still not added a sensible way to deal with Dates, for example?
THe thing that makes me think Java has a huge path forward is groovy.
in theory groovy has all the advantage python has and more.
This is entirely correct. Groovy is really great: accepting (almost all) Java syntax, but offering almost the same level of flexibility and expressiveness as Ruby (it falls short in a few places, though). Accepting Java syntax can also be a problem, however: old Java programmers may cling to their old ways instead of solving their issues with closures, metaprogramming and other powerful constructs.
Also, sticking to Java basics also means that Groovy truth lacks Ruby's power. 0 is false in Groovy (because it's false in Java and C), despite it being a valid value. In Ruby, only false and nil are false, which allows you to do amazing things with logic. Even better, || and && return the last evaluated value, whereas in Groovy, they return true or false. Because of those shortcomings, Groovy's expressiveness falls a little bit short of that of Ruby.
But in the end, closures and metaprogramming are a must for any modern, serious programming language. Java lacks them, Groovy adds them. That alone is more than enough to justify Groovy's existence. But to really make Groovy fly, more Javaisms need to be kicked out.
The fact that the currently accepted solution is patented is irrelevant, a FOSS alternative would be just as good.
No it wouldn't. It's about power tools, which are hardware. Software, open source or otherwise, won't help you here.
The "truth" is, the same people that want anything the Obama Administration does to fail are the same people that created the Third Largest Government Agency.
But that's okay because it has a suitably patriotic-sounding name.
Call it Department for Healthy Americans, and point out that some veterans are diabetic, and I'm sure you'll get a lot more support.
I weep every time I see insurance companies make profit from people's misery. Can't we do this collectively on a not-for-profit basis?
When there are differences between standards compliant browsers, theres something wrong with the standard imho.
What's wrong with W3C standards is that there's never been a reference implementation, which means there's a lot of room for interpretation, and interpretations can vary a lot. And after they've been implemented, people start discussing which implementations are closest to what the standard intended, after which people need to fix their browser, and in the mean time, we've got a big bloody mess.
Reference implementations are important.
I've been using Opera for ages. For a long time, it was really the only choice for power users. Every other browser would crash or slow to a crawl when you had more than a few dozen pages open. Back in my Pentium II 200MHz days, I needed 200 pages open to inconvenience Opera. It's still one of the browsers with the smallest memory footprint, although it's not leading by as much as it used to.
Imagine the impossibility of the oceans drying up.
For the ocean to "dry up" the water would have to be removed from the planet. That requires two energy inputs: first, enough energy to boil all the water in all the oceans. Second, enough energy to raise the velocity of each molecule of water vapor to the escape velocity.
Why escape velocity? Just boil them up, and you've got your dry ocean beds. And the extra water in the atmosphere amplifies the greenhouse effect in order to keep them dry. Think Venus.
Downloading a file (from a P2P network) for private use is perfectly legal as long as there is no lucrative or collective use of the downloaded copy.
So this pretty much destroys copyright in Spain, right?
No it doesn't. It just makes (or keeps) file-sharing legal.
I never know what to do with my mod points, and now that I find a very informative and insightful post with a score of only 1 (at the time of writing), I don't have any!
The decision to allow the EU to enter the ACTA negotiations was done in a meeting of the EU ministers for fishery and agriculture (no joking).
Fishery and agriculture? They were also the ones who tried to legalize software patents in the EU (until the Polish minister vetoed it).
It's almost as if they really believe fishing and farming has something to do with copyrights and patents.
Except that the EU parliament has no real power (much like the British House of Lords). All real power in the EU is held by the bureaucracy.
By the council of ministers, actually. They make agreements behind closed doors without input from either their national parliaments or the euoparliament.
Pure-passive coolers are huge and expensive, far more so than quieter fans. They also generally depend on good case airflow, which you really won't have with no fans.
Not all passive coolers are all that expensive. The Accellero S1, I think, costs about $20 and cools better than many active coolers. If you have good air flow, of course. Unless you go with water or external heat sinks (very expensive!), you will always need a single case fan, and make sure the inside of the case is well-organised, with no big blobs of cables blocking the air flow.
I'll second that on the Antec cases, but what's wrong with their power supplies? I haven't had any problems with mine.
I don't have any reliable statistics, but I've heard from several people who had Antec PSUs fail on them for no good reason. Could be that was just a single bad model. I would probably choose Antec over any nameless brand, but why would I, if I can choose Seasonic or Corsair? Well, I guess if you buy an Antec case with a PSU already in it, it makes sense to keep that one.
Or if you want to multitask.
You know what the thing is about multitasking? When they're different tasks, they're rarely all equally CPU-intensive. Usually, one application uses 50%+ of the CPU at any given time, and if that application is not multithreaded, that means 50% of the work will be done by a single core. So a second core is all you need to get the rest of the work done.
Now if you've got a server that spawns dozens or hundreds of identical jobs, then quadcore makes a lot of sense, but for a desktop, but on a desktop, it only makes sense if you know that no single thread is going to be 50% of your CPU load.
Doesn't that mean you're basically buying a new PC every year?
Also stay away from their fans. That case is fitted with a "Tricool" fan. Called "tricool" because it got three settings: Hairdryer, Vacuum-cleaner and Wind-tunnel.
Could be. I replaced it with (probably) a Nexus Real Silent D12SL-12, which is pretty quiet yet not expensive.
Keep in mind that not every gamer is playing Crysis (or whatever is the current unplayable power waster).
I think too many gamers who like to see themselves as leet hardcore gamers spend too much money on the wrong parts of their rig.
Keep in mind that the CPU isn't the only thing that determines speed, especially as experienced by the user. Sufficient memory, hard disk space, not running too much stuff in the background, etc, can matter a lot more than the slight speed boost that a cutting edge processor can give you.
But $300 a year is plenty to upgrade all of those regularly as long as you don't spend it all on just the CPU.