So are we assuming that aliens don't have mothers? Because if I played too many computer games I got thrown out.
They are probably out there in there puny spaceships because they were send out and - if we are lucky - they are wondering what to do after playing space-ball.
So Vodaphone customers can buy apps that have been tested on their device and without paying by credit card (I presume it's harder to steal money from them this way). Of course, if you can't use other app. stores, then this might be a problem. But I wonder if Google would allow companies to use the Android name if it cannot connect to their marketplace.
If anyone has more info on whether it will be the only app. store configured/configurable, please let us know.
You're back on 5, but note that I got modded down in a previous for dissing the (IMHO) horrible Sharepoint. And I actually even supported it with evidence. It's not that black and white. Sometimes I have the idea that people invite friends to mod things up or down, skewing the scores.
"Not a chance, you can play it half asleep without a single thought, just as easy as writing or talking. I've written a relatively simple algorithm for a computer to play tetris, it enumerates all possible options of placing a piece and compares certain properties of resulting landscape (number of holes, smoothness of surface, etc). Of course it is not perfect, but it can easily outplay most human players without any problems."
They probably tried to find an algorithm to actually *win* Tetris and failed. Then they decided to input infinite size of blocks, infinite size of the playing field, infinite speed over infinite time and decided it to be NP-complete:)
That said, I'm on an unlimited plan here in Europe (valid only in the Netherlands, which is a bit of a drag, but nothing to be too worried about). I can use tethering on my Android mobile, so I can also use it as a modem. Almost everybody that can afford such a phone (or, more precisely, spend ~25 euro/month for 2 years) will also have a fast cable modem or ADSL line, so downloading oodles of data (continuously) over 3G is not really something I expect people to do.
Yes, the whole idea that we should put more fiber in from Boston to Washington is preposterous anyway. I mean, can't the US take some action and put the wires in themselves? Can you see a Dutch company digging up the good old US of A? I always thought you used Mexicans and Latins for that - Europeans would be much too pricey.
And note that the EU comprises of a lot of countries that are just starting up building a welfare state. There are quite a few Eastern European countries (the "new" Europe, according to Bush) that have just started to build good infrastructure. They probably take down the average by quite a bit.
Nope, not for me. I cannot trust an application or abuser (malicious flash or javascript in a page) not to download XXX GB per month. The reason I need a flat fee is that it costs me a certain amount of money per month, which I know I can afford. That's why I'll never use data roaming when abroad - I cannot trust my phone enough (any phone) not to download a lot of MB without notifying me.
Throttling is less of a problem (*IF* stated clearly before purchase) - you can still communicate and you don't have to worry about your bill. A more advanced scheme could do throttling + allowing you to put additional GB in your account, charged after use.
Well, for me it is latency. Not the one of the network, but the one I am experiencing when I am downloading the next Eclipse Java EE IDE (getting close to 200 MB). If I do that at 1 MB sec and I require it because of a bug, I have to do something else for the next half hour or so. And as another user said, you get used to the speed. I started with 512 Kbit/sec with 64 Kbit/sec upload, and I sure don't want to get back to that. My 3G Android phone is already annoying the hell out of me (but being online slowly still beats not being online at all). 2 years and I will buy a 4G Android phone for sure.
The problem with functional constructs is simply their complexity. They. Require a whole new way if understanding a problem. Because of their power they are often expressed in a sperse, abstract way. Just look at the examples given by the proponents.
I'm already preparing to think on how I can explain them to my colleagues. And I will have to because they are going to wind up in libraries. They also tend to broaden scope. A larger scope means more testing and less programmatic security.
From my android, I apologize for wrong words un advance (no keyboard).
Personally I don't think dynamic language leaves more time for debugging; you need to do a lot more debugging, and debugging takes time (unless you are that one off programmer that never makes obvious mistakes). I can type a 300 line Java application including multi-threading that runs the first time.
As for the evidence, I can supply as much evidence as you can for the "over-engineering" of the libraries. This is a discussion forum, winning arguments by skipping logic and asking for hard facts is not something you can do.
Hmm, yes, weak typing has problems with conversion. Dynamic typing also suffers from problems but not conversion specifically. Most of the time dynamic typing occurs when weak typing is used, but it was not correct to equal them.
I've heard this claim about dynamic typing before, but never with any evidence. Can you offer any? And why would functional programming be bad for maintainability?
The more options are left open for runtime bugs, the more bugs will be in the final product. The more options there are for converting one value to another, the more bugs there will be in the final product. There is a lot of things that can go wrong during conversion.
Java will never have dynamic typing.
Did I say I wanted those features added to Java? I was simply expressing what I don't like about the language. Java can stay exactly as it is until the end of time, for all I care.
Well, that's what the main article is about.
It's not that it is hard to implement (e.g. look at bsh an interpreter that is still, basically Java), it's that it has way to many drawbacks.
You know you can have both static and dynamic typing in the same language, right? See Objective-C, for example.
Yes, e.g. bsh supports that as well. I know that is a possibility, and I know sometimes including both options can be a viable alternative that should certainly be considered. In this case though it would certainly lead to sloppier code. Sloppier code is not something most Java programmers (should) want. And including each and every option in a language is also a big no-no (e.g. D, the language that ticks everything off).
If you want to have that, use a scripting language (and don't use it for large programs).
So you think all dynamic languages are "scripting languages"? Enjoy being left behind over the next few years.
Meh, no. Not really. I have programmed C, C++, JavaScript and Java professionally. I've tried out at least JavaFX, PHP, C, C++, Lua, SmallTalk, Python and PERL. Oh, and lately Google GO (highly unfinished unfortunately). Then there are the domain specific ones (.bat, bash, awk, sed, SQL etc).
Strangely enough, when it comes to creating secure, maintainable programs as well as API & tools support Java still seems to be top of the hill. I'd jump to a language that would improve on the secure/resilient programming ideas expressed in Java. E.g. no basic types, additional constructs for (runtime) immutability, everything final and non-null by default, default private fields etc..
Instead there are all those programming languages that focus on expressing things in as few characters as possible or doing things a full ms faster. Oh well, at least closures (and other functional language features) will make some problems clearer to express, that certainly is a boon.
Gain in capability? Just the screen size and quality, that's about it. You just can't fit a bigger screen in a smaller device. And there are a lot of applications that require more pixels. I can see this device as being much easier to handle than a laptop when reading books or watching video's.
Oh, you can mess up about anything, including the VM startup times, although 10s is completely insane.
First of all, if you don't make exceptions to an idiot virus scanner such as McAfee, it will scan each and every.jar file you start up. Since every class in Java is likely to be in a.jar, that is already a huge amount of trap.
Then you can create a huge minimum heap size. It's easy to see the trashing that will occur when -Xms is set to the same amount of memory as the entire server is using.
Of course, you can save some space by removing the pre-compiled class files from your install, making it necessary to repeat that process for each and every class in each and every standard Java package, each time the VM is started up.
There is tons of idiotic things you can do with the Java install as well. I'm not sure what happens if you overload the "ext" folder of the VM with.jar files, but it certainly won't help. The only thing you should be doing to your basic java install is installing the unlimited crypto files (not required any more for 1.7 - phew).
Probably the biggest abuse you can do to it is to install it on a network drive. No file caching will be performed, your virusscanner will go ape and all the initial network overload will be present. Installing it on anything other than a drive intended as a system drive can be called abuse. Installing it on an SSD is the reverse of abuse of course - zip files are just meant to be indexed using flash.
Oh, and starting it up as "-server" (probably automatic on his hardware) might introduce some lag too, but nowhere near 10s. Try starting it up as -client on 32 bit hardware for short lived applications.
OT: Network drives are also "fun" when developing. We've compile times of tens of seconds for a single component of an application because each and every.jar will be pulled over the network IF each and every time. Brilliant. Apache Maven seems to solve that problem by the way.
I meant to say that closures are hard to add. Generics too of course, but closures take complexity a step further. It's the most debated change of the language spec so far. It's not just *if* they are added, it is how they affect the whole language structure.
Now I'm having a day dream of a huge piece of aerogel slowly falling/floating on my part of the city, will all kinds of interesting space junk embedded in it. It would be some kind of Xmas with a hugely large tree.
That would be List myList = new ArrayList() by now. The hole idea that you create an ArrayList but only use the List interface is one thing that is missing when languages use type inference. Personally I only use the class interface when the additional methods are required for that part of the application.
I've tried going from Java to SmallTalk but SmallTalk was just *too* weird. I like many of its OO structure, but in those SmallTalk environments I just can't work.
Java, however, deliberately is less confusing to C/C++ programmers. Maybe SmallTalk is better once you really understand the language, but it certainly takes some time getting used to.
Of course not, it was not because it was explicitly designed not to be all that. It was supposed to be a small well defined language that brought good OO practices and GC to the mass market of C/C++ programmers - hence it syntax. For this to happen, it needed also to be relatively fast during execution.
As for all the politics, I am highly surprised by the way you think the market moves. The development market moves because it sees something useful. After that it looks at the license yes, and Java never had much to scare away developers except hard core purists (read: the linux crowd - and they certainly had good reasons for shunning it).
"But betting on Sun was the wrong move: Sun screwed up the language, screwed up the toolkits, screwed up the implementations, and made Java one of the most proprietary languages in existence. In the end, all Sun managed to produce was the only thing they have ever been able to produce: bloated server side software. Good riddance, Sun, you won't be missed."
Now that's just trolling. I'm very surprised that you get modded up when that kind of junk is in your post.
So are we assuming that aliens don't have mothers? Because if I played too many computer games I got thrown out.
They are probably out there in there puny spaceships because they were send out and - if we are lucky - they are wondering what to do after playing space-ball.
Bollocks, the enemy of my enemy is just that. Stupid sayings like that are just easy unsupported arguments.
So Vodaphone customers can buy apps that have been tested on their device and without paying by credit card (I presume it's harder to steal money from them this way). Of course, if you can't use other app. stores, then this might be a problem. But I wonder if Google would allow companies to use the Android name if it cannot connect to their marketplace.
If anyone has more info on whether it will be the only app. store configured/configurable, please let us know.
You're back on 5, but note that I got modded down in a previous for dissing the (IMHO) horrible Sharepoint. And I actually even supported it with evidence. It's not that black and white. Sometimes I have the idea that people invite friends to mod things up or down, skewing the scores.
"Not a chance, you can play it half asleep without a single thought, just as easy as writing or talking. I've written a relatively simple algorithm for a computer to play tetris, it enumerates all possible options of placing a piece and compares certain properties of resulting landscape (number of holes, smoothness of surface, etc). Of course it is not perfect, but it can easily outplay most human players without any problems."
They probably tried to find an algorithm to actually *win* Tetris and failed. Then they decided to input infinite size of blocks, infinite size of the playing field, infinite speed over infinite time and decided it to be NP-complete :)
"I'm seeing a pattern here..."
Are you sure? Maybe determining if the pattern is correct is also NP-hard.
Indeed, FAIL to RTFA, mods, AC's post should be modded into oblivion.
That said, I'm on an unlimited plan here in Europe (valid only in the Netherlands, which is a bit of a drag, but nothing to be too worried about). I can use tethering on my Android mobile, so I can also use it as a modem. Almost everybody that can afford such a phone (or, more precisely, spend ~25 euro/month for 2 years) will also have a fast cable modem or ADSL line, so downloading oodles of data (continuously) over 3G is not really something I expect people to do.
Yes, the whole idea that we should put more fiber in from Boston to Washington is preposterous anyway. I mean, can't the US take some action and put the wires in themselves? Can you see a Dutch company digging up the good old US of A? I always thought you used Mexicans and Latins for that - Europeans would be much too pricey.
And note that the EU comprises of a lot of countries that are just starting up building a welfare state. There are quite a few Eastern European countries (the "new" Europe, according to Bush) that have just started to build good infrastructure. They probably take down the average by quite a bit.
Nope, not for me. I cannot trust an application or abuser (malicious flash or javascript in a page) not to download XXX GB per month. The reason I need a flat fee is that it costs me a certain amount of money per month, which I know I can afford. That's why I'll never use data roaming when abroad - I cannot trust my phone enough (any phone) not to download a lot of MB without notifying me.
Throttling is less of a problem (*IF* stated clearly before purchase) - you can still communicate and you don't have to worry about your bill. A more advanced scheme could do throttling + allowing you to put additional GB in your account, charged after use.
Well, for me it is latency. Not the one of the network, but the one I am experiencing when I am downloading the next Eclipse Java EE IDE (getting close to 200 MB). If I do that at 1 MB sec and I require it because of a bug, I have to do something else for the next half hour or so. And as another user said, you get used to the speed. I started with 512 Kbit/sec with 64 Kbit/sec upload, and I sure don't want to get back to that. My 3G Android phone is already annoying the hell out of me (but being online slowly still beats not being online at all). 2 years and I will buy a 4G Android phone for sure.
Dear mods, can we stop modding different opinions as flamebait please? Thanks.
The problem with functional constructs is simply their complexity. They. Require a whole new way if understanding a problem. Because of their power they are often expressed in a sperse, abstract way. Just look at the examples given by the proponents.
I'm already preparing to think on how I can explain them to my colleagues. And I will have to because they are going to wind up in libraries. They also tend to broaden scope. A larger scope means more testing and less programmatic security.
From my android, I apologize for wrong words un advance (no keyboard).
Personally I don't think dynamic language leaves more time for debugging; you need to do a lot more debugging, and debugging takes time (unless you are that one off programmer that never makes obvious mistakes). I can type a 300 line Java application including multi-threading that runs the first time.
As for the evidence, I can supply as much evidence as you can for the "over-engineering" of the libraries. This is a discussion forum, winning arguments by skipping logic and asking for hard facts is not something you can do.
Hmm, yes, weak typing has problems with conversion. Dynamic typing also suffers from problems but not conversion specifically. Most of the time dynamic typing occurs when weak typing is used, but it was not correct to equal them.
Both are a problem for code maintainability.
I've heard this claim about dynamic typing before, but never with any evidence. Can you offer any? And why would functional programming be bad for maintainability?
The more options are left open for runtime bugs, the more bugs will be in the final product. The more options there are for converting one value to another, the more bugs there will be in the final product. There is a lot of things that can go wrong during conversion.
Java will never have dynamic typing.
Did I say I wanted those features added to Java? I was simply expressing what I don't like about the language. Java can stay exactly as it is until the end of time, for all I care.
Well, that's what the main article is about.
It's not that it is hard to implement (e.g. look at bsh an interpreter that is still, basically Java), it's that it has way to many drawbacks.
You know you can have both static and dynamic typing in the same language, right? See Objective-C, for example.
Yes, e.g. bsh supports that as well. I know that is a possibility, and I know sometimes including both options can be a viable alternative that should certainly be considered. In this case though it would certainly lead to sloppier code. Sloppier code is not something most Java programmers (should) want. And including each and every option in a language is also a big no-no (e.g. D, the language that ticks everything off).
If you want to have that, use a scripting language (and don't use it for large programs).
So you think all dynamic languages are "scripting languages"? Enjoy being left behind over the next few years.
Meh, no. Not really. I have programmed C, C++, JavaScript and Java professionally. I've tried out at least JavaFX, PHP, C, C++, Lua, SmallTalk, Python and PERL. Oh, and lately Google GO (highly unfinished unfortunately). Then there are the domain specific ones (.bat, bash, awk, sed, SQL etc).
Strangely enough, when it comes to creating secure, maintainable programs as well as API & tools support Java still seems to be top of the hill. I'd jump to a language that would improve on the secure/resilient programming ideas expressed in Java. E.g. no basic types, additional constructs for (runtime) immutability, everything final and non-null by default, default private fields etc..
Instead there are all those programming languages that focus on expressing things in as few characters as possible or doing things a full ms faster. Oh well, at least closures (and other functional language features) will make some problems clearer to express, that certainly is a boon.
Gain in capability? Just the screen size and quality, that's about it. You just can't fit a bigger screen in a smaller device. And there are a lot of applications that require more pixels. I can see this device as being much easier to handle than a laptop when reading books or watching video's.
Oh, you can mess up about anything, including the VM startup times, although 10s is completely insane.
First of all, if you don't make exceptions to an idiot virus scanner such as McAfee, it will scan each and every .jar file you start up. Since every class in Java is likely to be in a .jar, that is already a huge amount of trap.
Then you can create a huge minimum heap size. It's easy to see the trashing that will occur when -Xms is set to the same amount of memory as the entire server is using.
Of course, you can save some space by removing the pre-compiled class files from your install, making it necessary to repeat that process for each and every class in each and every standard Java package, each time the VM is started up.
There is tons of idiotic things you can do with the Java install as well. I'm not sure what happens if you overload the "ext" folder of the VM with .jar files, but it certainly won't help. The only thing you should be doing to your basic java install is installing the unlimited crypto files (not required any more for 1.7 - phew).
Probably the biggest abuse you can do to it is to install it on a network drive. No file caching will be performed, your virusscanner will go ape and all the initial network overload will be present. Installing it on anything other than a drive intended as a system drive can be called abuse. Installing it on an SSD is the reverse of abuse of course - zip files are just meant to be indexed using flash.
Oh, and starting it up as "-server" (probably automatic on his hardware) might introduce some lag too, but nowhere near 10s. Try starting it up as -client on 32 bit hardware for short lived applications.
OT: Network drives are also "fun" when developing. We've compile times of tens of seconds for a single component of an application because each and every .jar will be pulled over the network IF each and every time. Brilliant. Apache Maven seems to solve that problem by the way.
I meant to say that closures are hard to add. Generics too of course, but closures take complexity a step further. It's the most debated change of the language spec so far. It's not just *if* they are added, it is how they affect the whole language structure.
Now I'm having a day dream of a huge piece of aerogel slowly falling/floating on my part of the city, will all kinds of interesting space junk embedded in it. It would be some kind of Xmas with a hugely large tree.
OK, that's it, I'm dropping Slashdot. If this is the level of +5 articles then I'm fuckin' off.
But you would still have to type "out.", what are you thinking?
Well said.
One little remark though:
That would be List myList = new ArrayList() by now. The hole idea that you create an ArrayList but only use the List interface is one thing that is missing when languages use type inference. Personally I only use the class interface when the additional methods are required for that part of the application.
I've tried going from Java to SmallTalk but SmallTalk was just *too* weird. I like many of its OO structure, but in those SmallTalk environments I just can't work.
Java, however, deliberately is less confusing to C/C++ programmers. Maybe SmallTalk is better once you really understand the language, but it certainly takes some time getting used to.
"It was never groundbreaking and revolutionary."
Of course not, it was not because it was explicitly designed not to be all that. It was supposed to be a small well defined language that brought good OO practices and GC to the mass market of C/C++ programmers - hence it syntax. For this to happen, it needed also to be relatively fast during execution.
As for all the politics, I am highly surprised by the way you think the market moves. The development market moves because it sees something useful. After that it looks at the license yes, and Java never had much to scare away developers except hard core purists (read: the linux crowd - and they certainly had good reasons for shunning it).
"But betting on Sun was the wrong move: Sun screwed up the language, screwed up the toolkits, screwed up the implementations, and made Java one of the most proprietary languages in existence.
In the end, all Sun managed to produce was the only thing they have ever been able to produce: bloated server side software.
Good riddance, Sun, you won't be missed."
Now that's just trolling. I'm very surprised that you get modded up when that kind of junk is in your post.