What "better java" means? It means I can build the same stuff but in a better way. Easier to read, to maintain, and at least with the same performance.
Scala has a big plus on asynchronicity, but the article doesn't even try to go there. Libraries like Akka, FS2, Monix, ScalaZ etc are not mentioned either.
In Scala I can use everything from Java and much more, and this is why is better.
I'm sure by tomorrow someone with more time than I have will write an extensive article explaining in more detail why is better.
One should imagine the days without computers... waiting days for a letter to arrive...
Even if you don't like computers many of the benefits that come with them you might like... so think of them as a necessary evil.
IMHO the “Singularity” will be achieved when AI will invent new things. We have only reached the point where AI can only do improvements of something humans have created...
Innovation is something hard for humans, so I don't know if we will see AI innovations anytime soon.
The point I was trying to make is that for engineers you can't do a simple math from minutes to productivity. The interruptions are big productivity killers, but all engineers take voluntary breaks. A break helps productivity, but there is a limit, above that it harms. The same with the interruptions, some might help, too many will not.
Nice article, but I can't agree with everything inside.
1. Engineers are not computers, so saving 5 minutes a day will not increase productivity by 1%. Most engineers work with passion, and don't look at the clock. They are focused on delivering a certain task, and they will make their best to deliver it, even with the interruptions, even if this will require them to work 10 minutes more at the end of the day.
2. The benefit of the tools is a clear win, but as these tools will not change so much over time, after the initial boost of productivity, the effect will no longer be noticeable. You can't increase performance each month compared to the last month just by using the right tools. So I think the EE team make sense to be created "on demand" and not as a permanent solution. Time should be a parameter in the effectiveness model
3. If you grow to a large scale enterprise, as the people are not computers and reaching agreement between large number of individuals is not easy, the bigger the number of people in the EE team the harder will be to approach solutions and test them.
I think the AI should do more than just correlate some verbs. It should also be capable of understanding concepts like. If I give the following:
"John and I are brothers. My mother has a brother named James. "
And we ask:
"What is the name of my uncle?"
The initial results are great but in my humble opinion the big quest is to make computer learn concepts.
I wish people would accept drone world wide. Unfortunately in many places they are forbidden :( This is sad, because if tomorrow someone would invent a flying car, something like the taxi from "The Fifth Element", then most probably that will be forbidden as well, on the same principles.
"It is impossible to make imperative programming languages safer by only partially removing implicit side effects" So when we can call a program safe? My personal definition is that a program is safe when it always gives the right output for the input it was designed for. Of course if you put water in your car won't make it run, the same way if you provide the wrong input to a program might end up in a wrong output. Getting back I do believe in the middle way.
I like the idea, but can I suggested also on the same note that they can create a high tech condom, which will let you know how many diseases you have avoided each time you wear it, and it might have also a pleasure indicator, so at the end both partners, will know how much the other one faked. (Obviously this message is intended as a joke, and should not offend anyone)
I'm sure by tomorrow someone with more time than I have will write an extensive article explaining in more detail why is better.