> Netflix used Groovy
Does Netflix still use Groovy? You make it sound like they no longer use it for new coding projects. If they do, you should have written "Netflix uses Groovy" and said what they still use it for.
> Netflix used Groovy
Does Netflix still use Groovy? You make it sound like they no longer use it for new coding projects. If they do, you should have written "Netflix uses Groovy" and said what they still use it for.
If you let your Apache Groovy scripts get too large before switching on static compilation, you often have to modify the types and logic in your programs before they'll even compile. This problem occurs because static compilation was only bolted onto Groovy for version 2.0 and there's an impedance mismatch between what's required for its dynamic and static modes.
Just because it's hard to define the lines between inorganic life, simple life, and sentient life, it doesn't mean there's no distinction.
... and prescient life. Don't forget the next stage on from sentience. The line between sentience and prescience also seems blurred, given how many humans nowadays report having flashes of the future.
But even for scientific writing, my dictionary translates DNA as 脱氧核糖核酸, where 脱 means peel off, 氧 means oxygen, and 核糖核酸 means RNA, so DNA = de-oxy-RNA. As for RNA, 核糖 means ribose and 核酸 means nucleic acid. And in 核酸, 核 means nucleus/core/pip and 酸 means sour/acid, so again the meaning of the characters joined together are simply the sum of their parts. That's always been the case in my limited experience with medical words in Mandarin.
It's a passport to the JVM that has all the advantages of Python and few of its downsides. The philosophy is a unique combination of being incredibly developer friendly (kitchen sink APIs etc, every syntactical convenience you can imagine thrown in), but in every other aspect being ruthlessly Java-syntax compatible. You get both dynamic and static typing rolled in, super powerful AST transforms that give you static-compile-time metaprogramming capabilities other languages struggle to achieve. Yet it competes with Bash for single-line utility scripts.
And if Groovy is so "ruthlessly" Java-syntax compatible, why doesn't it have lambda syntax over 5 yrs after they were added to Java?
1. Understanding how the language works. Additionally understanding how the language infrastructure interfaces with the computer.
2. Anticipating problems. Prefer solid foundations over veneers that appear to get the job done.
3. Organizing and designing systems. Essentially, SOLID.
Two things on this:
First, bad code often results from conflicting goals. Moving goalposts and on time shipping, for example. The result appears to have been written by a poor programmer, when this may not be the case.
Second, the most valuable skill a programmer can have isn't technical, but rater social: empathy. The best programmers I've seen have it and the worst completely lack it.
Lack of empathy leads to poor communication. If programmer can't anticipate or read his/her audience's perspective, there's no way s/he can communicate a complex concept to them. The temptation will be to blame the audience when in fact the failure lies squarely with the programmer doing the speaking or writing.
Lack of empathy also leads to disregard for the needs of users and future maintainers. Systems get built that don't need building, and systems that should be built aren't. Should the two happen to coincide, the system is a nightmare to maintain because the programmer simply didn't care about the people who would need to maintain the contraption.
A lot of the 10x programmer discussion focussed on people who lack empathy. For some reason, it's easy to conflate lack of empathy with technical skill.
You should say "a programmer needs social skill as well as technical skills to be valuable". If a programmer doesn't have a basic aptitude for programming-like tasks, they won't be able to understand how the language works, anticipate technical problems, or organize and design systems. Until you've worked in a group that's filled with "programmers" who don't have the aptitude for coding, you won't really understand this. The social skill must complement the technical aptitude and skills, but is not more important than them. In fact, I'm even suspicious of people who say "the most valuable skill a programmer can have isn't technical, but rather social" because they often turn out to be aptitudinally-challenged programmers themselves.
James Strachan brought us Camel and Groovy. That's pretty good.
Gavin King had Hibernate and Seam. Not too shabby, either.
There are definitely people who are very good. To me, having more than one runaway hit is a good indicator.
But there are a very few of them.
The rise to 15 is probably not correct but 81 is probably as inaccurate the other way as 15 is today. Given how ubiquitous gradle has become and groovy being the basis of that. Especially when you consider the nature of tiobe, it is about search results, so even people migrating away from groovy will generate "groovy" traffic as they try to figure out how to do equivalent things in, say, kotlin.
I can understand both how and why someone would push Apache Groovy's ranking higher up the Tiobe results, but I wouldn't know how you could push it down, let alone why anyone would. #81 is probably as accurate nowadays as the mid-40's has been for most of Groovy's life on Tiobe since 2006. Groovy's seen a significant drop in use (outside Gradle) over the past few years.
I don't see either line making a financial return on the investment, but the NZ government is financing it all by plundering the NZ Super Fund, which was originally intended to provide super payments for NZ's over-65-yr-old retirees. Of course, they're framing it all as "the Fund is making a long-term investment in the country's transport infrastructure", making the eventual huge losses some other goverment's problem.