Pretty hard to make turning off things impossible when you may need to do exactly that in case of an electrical fire in one of them. The pilot can still break the system and there is no sane way around that.
That is belief, not Science. Science in this case says the whole is exactly the sum of its parts. If anything "magically" appears, then it was already present in the parts. That is exceptionally unlikely with the precision we have in measuring the properties of the parts today.
Indeed. Also, in CS and in Physics, the whole is not more than the sum of its parts. Consciousness and real intelligence will not magically emerge just because you threw enough parts together. That is not how things work.
> when it works, you rewrite the parts that do the heavy lifting in C.
When it works you get onto the next project knowing that the next server upgrade will be far cheaper than the time you waste recoding it to C.
Spoken line an inexperienced amateur. Last time I did this, I got a speed-up of 1000x for real-world cases. No server-upgrade can reach or top that. It really depends on the task you are solving. Nobody would do this for simple business-logic, of course. But there are some people that implement actual algorithms and apply them to real-world data, you know.
I have some symbolic simulation code that runs about 1000x faster for some real-world cases with the core in C instead of in Python. It really depends on what you are doing. Of course, if it had been running fast enough in Python, I would just have left it there, but sometimes you just cannot wait a week. And the Python version also had a much larger memory footprint. It was still hugely beneficial to have the pure Python version, as I found a lot of bugs by simply running both in parallel on randomized input and I keep maintaining both versions.
I do agree that quite often pure Python is quite enough. If you try that first, you may already be finished. If it is too slow or takes too much memory, you have the glue code and a nice base to find out which parts are actually slow and go to C there. It really is the best development model I have found so far. I also have done something similar in Lua. Works pretty much as well, although Lua is far better for embedding but comes with less native functionality.
I take it you have never done code-review fora larger project in Java? Because industrial Java code is routinely the most unreadable and unmaintainable trash you can run into.
I have. I agree it can get bad, but the code is still something that can be worked with, as miserable as it may seem.
Now imagine those same programmers were using C++.
They will not. These people will not get any real code in C++ to run.
Without discipline, there would be memory corruption all over the place. Bugs would be nearly impossible, as the system would crash mysteriously all over the place. Java saves them from this mess.
I disagree. Java allows them to produce something that seems to work, but causes more problems than it solves. These people have negative productivity. "Memory corruption" is not the problem, it is just a symptom. Fixing the symptom does not fix the problem.
What about Python or Javascript? Objects getting passed around all over the place with no type, or whose type changes over the lifecycle of the object. No way of knowing what needs to be passed into a function (safer just rewriting it). No, these programs are unusable. At least in Java, when a function requires a string, you know you should pass a string. There may be other problems, but at least there is clarity on that point.
And the same is true for static type safety. It is a crutch. Those that need it cause numerous problems even with it, the problems are just in other areas. Technology cannot fix incompetence.
I'm not saying that Java code is good, there are plenty of bad programmers in Java. I'm saying those same programmers would write worse code in other languages.
And that would be a benefit, because if they had to work in other languages, they would simply get fired for incompetence and be replaced with people that had a clue what they are doing. Java is one of the tools that allow the incompetent to continue to do damage, nothing more.
I take it you have never done code-review fora larger project in Java? Because industrial Java code is routinely the most unreadable and unmaintainable trash you can run into. It is like the coders are trying hard to beat a Perl-coder with a bad attitude, bit at the same time have no skills at writing code at all. Incompetent coders produce unmaintainable code in any language and Java for sure has a very large share of incompetent coders due to its popularity. Anybody and their dog thinks they can learn to code in Java. They cannot.
For the intended target applications, it is also not a problem that Python is slow. You just re-implement the critical parts in C after the Python prototype works. Of course, this is something people that cannot code well in C cannot do. But that was/is the same problem with Java: It is pretty slow too. The idea there is as well to do the heavy lifting via JNI and C so that execution time is mostly spent in libraries. But as it turns out, most Java coders cannot do that, like, at all.
In the end, it comes down to 1-trick-pony coders that can code in only one language and do not have skills or ability to learn other languages that work on other performance/coding effort trade-offs. Personally, I would not even consider a 1-language coder a technician, these people are more like hired burger-flippers.
Python is fine to prototype real work. Then, when it works, you rewrite the parts that do the heavy lifting in C. As an added benefit, you can run both implementation in parallel for testing purposes. I have had pretty good success with this approach.
... and any language running in a non-jit virtual machine, Python is as fast as the library during library calls. It gets pretty slow when you code logic and calculations from elementary steps directly in Python. This is not new or surprising in any way.
This actually was already an appeal and it was found to be lacking. Hence an appeal to a higher court was not allowed. German courts can do that. The only appeal Amazon could do is to the German supreme court, with absolutely no chances to even be heard.
There is no AI at this time (at least none that deserved the name), so "never" is the correct answer. Now, if you are talking about dumb, non-intelligent automation and statistical classification, that is something else...
Pretty hard to make turning off things impossible when you may need to do exactly that in case of an electrical fire in one of them. The pilot can still break the system and there is no sane way around that.
That is belief, not Science. Science in this case says the whole is exactly the sum of its parts. If anything "magically" appears, then it was already present in the parts. That is exceptionally unlikely with the precision we have in measuring the properties of the parts today.
Ah, yes. There is no tuition or only token tuition in most public universities in Europe.
While I would say this is funny, I have a nagging suspicion that the human race is working hard towards that goal...
I think a lot of the AI fanatics are using tech as a religion-surrogate. Of course, it has to be all powerful then.
Indeed. Also, in CS and in Physics, the whole is not more than the sum of its parts. Consciousness and real intelligence will not magically emerge just because you threw enough parts together. That is not how things work.
You would have to go into things like "teach everybody how to write an opera" or "teach everybody how to do brain-surgery".
Ambitious, yes, utterly stupid, you bet.
Yep, sorry. I must have slipped.
> when it works, you rewrite the parts that do the heavy lifting in C.
When it works you get onto the next project knowing that the next server upgrade will be far cheaper than the time you waste recoding it to C.
Spoken line an inexperienced amateur. Last time I did this, I got a speed-up of 1000x for real-world cases. No server-upgrade can reach or top that. It really depends on the task you are solving. Nobody would do this for simple business-logic, of course. But there are some people that implement actual algorithms and apply them to real-world data, you know.
I have some symbolic simulation code that runs about 1000x faster for some real-world cases with the core in C instead of in Python. It really depends on what you are doing. Of course, if it had been running fast enough in Python, I would just have left it there, but sometimes you just cannot wait a week. And the Python version also had a much larger memory footprint. It was still hugely beneficial to have the pure Python version, as I found a lot of bugs by simply running both in parallel on randomized input and I keep maintaining both versions.
I do agree that quite often pure Python is quite enough. If you try that first, you may already be finished. If it is too slow or takes too much memory, you have the glue code and a nice base to find out which parts are actually slow and go to C there. It really is the best development model I have found so far. I also have done something similar in Lua. Works pretty much as well, although Lua is far better for embedding but comes with less native functionality.
Clueless statement is clueless.
That sounds stupid. I much rather write C directly. And it does deprive me of the diversifying aspect were I test pure Python against C.
I will just take it in the spirit it was said. Thanks!
I take it you have never done code-review fora larger project in Java? Because industrial Java code is routinely the most unreadable and unmaintainable trash you can run into.
I have. I agree it can get bad, but the code is still something that can be worked with, as miserable as it may seem.
Now imagine those same programmers were using C++.
They will not. These people will not get any real code in C++ to run.
Without discipline, there would be memory corruption all over the place. Bugs would be nearly impossible, as the system would crash mysteriously all over the place. Java saves them from this mess.
I disagree. Java allows them to produce something that seems to work, but causes more problems than it solves. These people have negative productivity.
"Memory corruption" is not the problem, it is just a symptom. Fixing the symptom does not fix the problem.
What about Python or Javascript? Objects getting passed around all over the place with no type, or whose type changes over the lifecycle of the object. No way of knowing what needs to be passed into a function (safer just rewriting it). No, these programs are unusable. At least in Java, when a function requires a string, you know you should pass a string. There may be other problems, but at least there is clarity on that point.
And the same is true for static type safety. It is a crutch. Those that need it cause numerous problems even with it, the problems are just in other areas. Technology cannot fix incompetence.
I'm not saying that Java code is good, there are plenty of bad programmers in Java. I'm saying those same programmers would write worse code in other languages.
And that would be a benefit, because if they had to work in other languages, they would simply get fired for incompetence and be replaced with people that had a clue what they are doing. Java is one of the tools that allow the incompetent to continue to do damage, nothing more.
It is mostly boring and suffers from the same problems as back then, with some really serious ones in addition.
I take it you have never done code-review fora larger project in Java? Because industrial Java code is routinely the most unreadable and unmaintainable trash you can run into. It is like the coders are trying hard to beat a Perl-coder with a bad attitude, bit at the same time have no skills at writing code at all. Incompetent coders produce unmaintainable code in any language and Java for sure has a very large share of incompetent coders due to its popularity. Anybody and their dog thinks they can learn to code in Java. They cannot.
For the intended target applications, it is also not a problem that Python is slow. You just re-implement the critical parts in C after the Python prototype works. Of course, this is something people that cannot code well in C cannot do. But that was/is the same problem with Java: It is pretty slow too. The idea there is as well to do the heavy lifting via JNI and C so that execution time is mostly spent in libraries. But as it turns out, most Java coders cannot do that, like, at all.
In the end, it comes down to 1-trick-pony coders that can code in only one language and do not have skills or ability to learn other languages that work on other performance/coding effort trade-offs. Personally, I would not even consider a 1-language coder a technician, these people are more like hired burger-flippers.
Python is fine to prototype real work. Then, when it works, you rewrite the parts that do the heavy lifting in C. As an added benefit, you can run both implementation in parallel for testing purposes. I have had pretty good success with this approach.
... and any language running in a non-jit virtual machine, Python is as fast as the library during library calls. It gets pretty slow when you code logic and calculations from elementary steps directly in Python. This is not new or surprising in any way.
This actually was already an appeal and it was found to be lacking. Hence an appeal to a higher court was not allowed. German courts can do that. The only appeal Amazon could do is to the German supreme court, with absolutely no chances to even be heard.
Some people find it hard to read and think. Probably these are the ones that think AI is real, because they at the very low end of human capability...
Indeed. This is dumb automation and statistics, nothing else.
There is no AI at this time (at least none that deserved the name), so "never" is the correct answer. Now, if you are talking about dumb, non-intelligent automation and statistical classification, that is something else...
Ah, yes. I remember. Must be one of the most stupid (or disrespectful to the customer) acts in the software industry a major player has ever done.
Fortunately, I run Linux, not Poetterix and are nicely unaffected.