Programming

Has the Time Finally Come for Generics in Golang? (thenewstack.io) 60

An anonymous reader quotes technology columnist Mike Melanson: The debate around adding generics to the Go programming language has been going on for years now, often with much resistance, but it's starting to look like one proposal finally has some backing and general acceptance from the greater Go community — much to the surprise of some involved.

Introduced this week in a blog post looking at the next step for generics, penned by Golang team members Ian Lance Taylor and Robert Griesemer, the first update in nearly a year on the topic explains that the generics design draft previously submitted for feedback has been refined, resulting in an updated design draft... For the time being, the team has introduced an experimentation tool that "permits people to type check and run code written using the version of generics described in the design draft" by translating generic code into ordinary Go code. It is meant to give users a feel of how the proposed design would, if accepted work, and they note that it will be implemented differently if so.

As for the proposal itself, it offers several levels of detail, from an abstract, to a high-level overview, to the full level of detail you might expect from such a document. As with everything Go, the design is intended to be fully backward compatible with Go 1, and the authors note that "as the term generic is widely used in the Go community, we will use it below as a shorthand to mean a function or type that takes type parameters.

"Don't confuse the term generic as used in this design with the same term in other languages like C++, C#, Java, or Rust; they have similarities but are not the same."

The article also notes that Go's package repository is now open source.
Programming

Stack Overflow Explores Why Developers Love TypeScript More Than Python (stackoverflow.blog) 93

Stack Overflow asked 65,000 programmers for their favorite programming language, and this year Microsoft's TypeScript knocked Python from the #2 spot. So they interviewed Microsoft's principal engineering lead for the language "to find out what about TypeScript makes it so dang lovable." Q: Do you remember why the team came up with TypeScript, why you wanted to release something like this?

A: When I joined the team, there were a lot of people at Microsoft who wanted to develop JavaScript at what we call "application scale." Teams like TFS and Office wanted to build large JavaScript applications. A lot of those people had familiarity with statically-typed languages — C++, C#, Java, that kind of thing. They wanted to have that static typing available both for conceptual scalability and for the tooling...

Q: Was there a point where you saw an adoption point of no return? Was there something that came along where people were like, oh, yeah, we do TypeScript now?

A: Oh, it was definitely Google announcing that they were going to use TypeScript with Angular. That's kind of lost to time now. But if you look at the graphs for TypeScript, literally any graph — GitHub stars, downloads, pull requests — you can see the exact point when that Angular announcement came out. And the graph just changes. It never looks back... TypeScript shores up that last rough edge on JavaScript and gives you something that's just really fun to work with and runs everywhere. I think if TypeScript were a language that was built on top of a less universal language or a less fun language, I don't think it would be as successful. It's really taking something that's great and making it better...

I think my favorite thing that I see is people on the Internet saying, 'I did this huge refactoring in TypeScript and I was refactoring for three hours. And then I ran my code and it worked the first time.' In a dynamic language, that would just never, ever happen....

I would just say to people, if static types aren't a good fit for you, for either your programming style or the problem you're working on, just skip it. That's fine. It's okay. I won't be offended. If someone can get a thirty thousand line application that gets its job done without static types, I'm very impressed. That just seems really difficult. But kudos to those people who make it work. Python's the same way. Very few people have working Python type annotations, but Python is incredibly popular. I think the data speaks for itself — I think Python is number three in the survey... I guarantee you that a very small proportion of those Python developers have static types. Whatever your problem domain is, that might be the best fit for you.

AI

Python Overtakes Java? JetBrains Releases 'State of Developer Ecosystem' Survey (jetbrains.com) 67

The creators of the Kotlin programming language — the Czech software development company Jetbrains — announced results from their annual "State of the Developer Ecosystem" survey. This year's survey involved 19,696 developers in 18 countries, and found that:
  • JavaScript is the most used overall programming language. Websites are the most common type of application developers work on.
  • Python has overtaken Java in the list of programming languages used in the last 12 months. And it is also the most studied language. In the last 12 months 30% of respondents have started or continued to learn Python — even more than last year.
  • Go, Kotlin, and Python are the top 3 languages developers are planning to adopt or migrate to.

JetBrains also gathered some statistics from programmers for a special section on Lifestyle and Fun:

  • 65% said they preferred laptops, while 33% preferred desktops.
  • 52% said they contributed to charity.
  • 20% said they owned a cat; another 20% said they owned a dog.
  • 16% said they owned cryptocurrency.

And when asked if they contributed to open-source projects:

  • 44% said "No, but I would like to."
  • 20% said "I have only contributed a few times."
  • 16% said "Yes, from time to time (several times a year)."
  • 11% said "Yes, regularly (at least once a month)."
  • 4% said "No, and I would not like to."
  • 3% said "I work full-time on open-source code and get paid for it."
  • 2% said "I work full-time on open-source code but do not get paid for it."

Also interesting were the answers to the question: If your country's government replaced your courts with AI, would you trust it? The results were:

  • Probably not (26%)
  • Definitely not (24%)
  • Maybe (26%)
  • Probably yes (20%)
  • Definitely yes (5%)

Java

New Java-Based Ransomware Targets Linux and Windows Systems (zdnet.com) 37

"A newly uncovered form of ransomware is going after Windows and Linux systems," reports ZDNet, "in what appears to be a targeted campaign." Named Tycoon after references in the code, this ransomware has been active since December 2019 and looks to be the work of cyber criminals who are highly selective in their targeting. The malware also uses an uncommon deployment technique that helps stay hidden on compromised networks. The main targets of Tycoon are organisations in the education and software industries.

Tycoon has been uncovered and detailed by researchers at BlackBerry working with security analysts at KPMG. It's an unusual form of ransomware because it's written in Java, deployed as a trojanised Java Runtime Environment and is compiled in a Java image file (Jimage) to hide the malicious intentions... [T]he first stage of Tycoon ransomware attacks is less uncommon, with the initial intrusion coming via insecure internet-facing Remote Desktop Protocol servers. This is a common attack vector for malware campaigns and it often exploits servers with weak or previously compromised passwords. Once inside the network, the attackers maintain persistence by using Image File Execution Options (IFEO) injection settings that more often provide developers with the ability to debug software. The attackers also use privileges to disable anti-malware software using ProcessHacker in order to stop removal of their attack...

After execution, the ransomware encrypts the network with files encrypted by Tycoon given extensions including .redrum, .grinch and .thanos — and the attackers demand a ransom in exchange for the decryption key. The attackers ask for payment in bitcoin and claim the price depends on how quickly the victim gets in touch via email.

The fact the campaign is still ongoing suggests that those behind it are finding success extorting payments from victims.

Open Source

GitHub Warns Java Developers of New Malware Poisoning NetBeans Projects (zdnet.com) 45

GitHub issued a security alert Thursday warning about new malware spreading on its site via boobytrapped Java projects, ZDNet reports: The malware, which GitHub's security team has named Octopus Scanner, has been found in projects managed using the Apache NetBeans IDE (integrated development environment), a tool used to write and compile Java applications. GitHub said it found 26 repositories uploaded on its site that contained the Octopus Scanner malware, following a tip it received from a security researcher on March 9.
But the article adds GitHub "believes that many more projects have been infected during the past two years." GitHub says that when other users would download any of the 26 projects, the malware would behave like a self-spreading virus and infect their local computers. It would scan the victim's workstation for a local NetBeans IDE installation, and proceed to burrow into the developer's other Java projects. The malware, which can run on Windows, macOS, and Linux, would then download a remote access trojan (RAT) as the final step of its infection, allowing the Octopus Scanner operator to rummage through an infected victim's computer, looking for sensitive information.

GitHub says the Octopus Scanner campaign has been going on for years, with the oldest sample of the malware being uploaded on the VirusTotal web scanner in August 2018, time during which the malware operated unimpeded.

Android

Google Launches Android Studio 4.0 With Motion Editor, Build Analyzer, and Java 8 APIs (venturebeat.com) 6

An anonymous reader quotes a report from VentureBeat: Google today launched Android Studio 4.0, the latest version of its integrated development environment (IDE). Android Studio 4.0 is supposed to help developers "code smarter, build faster, and design apps." Version 4.0 includes a new Motion Editor, a Build Analyzer, and Java 8 language APIs. Google also overhauled the CPU Profiler user interface and improved the Layout Inspector. [In the article] you'll find Android Studio 4.0 features broken down by category: design, develop, and build. The new version also includes the usual performance improvements and bug fixes on top of the new features (full release notes). Google didn't share its plans for the next version. Normally we'd get hints at the company's I/O developer conference, but 2020 is a weird year.
Programming

Developers Reveal Programming Languages They Love and Loathe, and What Pays Best (zdnet.com) 139

Stack Overflow has released the results of its 2020 survey of nearly 65,000 developers, revealing their favorite and most dreaded programming languages, tools and frameworks. From a news writeup: The survey shows that TypeScript, Microsoft's superset of the widely-used JavaScript programming language, has overtaken Python as the second most beloved programming language behind Rust. This year 86% of respondents say they are keen to use Rust, while 67.1% want to use TypeScript, and 66.7% want to use Python. Stack Overflow attributes TypeScript's rising popularity to Microsoft's embrace of open source software as well as the existence of larger and more complex JavaScript and Node.js codebases.

Rust has been the most loved programming language for five years running, despite few developers having experience with it. This year, just 5.1% developers report having used Rust, compared with the 68% who use JavaScript, which is the most commonly used language. [...] Meanwhile, the top 10 most dreaded programming languages are VBA, Objective-C, Perl, Assembly, C, PHP, Ruby, C++, Java and R.

The report also looks at average salaries of each developer role. In the US, engineering managers attract the highest salary at $152,000 per year, followed by site reliability engineers who earn $140,000 per year. Salaries across the globe for these roles are lower, at $92,000 for an engineering manager and $80,000 for a site reliability engineer. Other high-paying roles with an average salary of at least $115,000 in the US include data scientist and machine learning specialist, DevOps specialist, engineer, back-end developer, embedded application developers, mobile developers, scientist, desktop application developer, and educator.

Chrome

Chromium Project Finds 70% of Its Serious Security Bugs Are Memory Safety Problems (chromium.org) 154

"Around 70% of our serious security bugs are memory safety problems," the Chromium project announced this week. "Our next major project is to prevent such bugs at source."

ZDNet reports: The percentage was compiled after Google engineers analyzed 912 security bugs fixed in the Chrome stable branch since 2015, bugs that had a "high" or "critical" severity rating. The number is identical to stats shared by Microsoft. Speaking at a security conference in February 2019, Microsoft engineers said that for the past 12 years, around 70% of all security updates for Microsoft products addressed memory safety vulnerabilities. Both companies are basically dealing with the same problem, namely that C and C++, the two predominant programming languages in their codebases, are "unsafe" languages....

Google says that since March 2019, 125 of the 130 Chrome vulnerabilities with a "critical" severity rating were memory corruption-related issues, showing that despite advances in fixing other bug classes, memory management is still a problem... Half of the 70% are use-after-free vulnerabilities, a type of security issue that arises from incorrect management of memory pointers (addresses), leaving doors open for attackers to attack Chrome's inner components...

While software companies have tried before to fix C and C++'s memory management problems, Mozilla has been the one who made a breakthrough by sponsoring, promoting and heavily adopting the Rust programming language in Firefox... Microsoft is also heavily investing in exploring C and C++ alternatives⦠But this week, Google also announced similar plans as well... Going forward, Google says it plans to look into developing custom C++ libraries to use with Chrome's codebase, libraries that have better protections against memory-related bugs. The browser maker is also exploring the MiraclePtr project, which aims to turn "exploitable use-after-free bugs into non-security crashes with acceptable performance, memory, binary size and minimal stability impact."

And last, but not least, Google also said it plans to explore using "safe" languages, where possible. Candidates include Rust, Swift, JavaScript, Kotlin, and Java.

Java

Java Programming Language Celebrates Its 25th Birthday. What's Next? (infoworld.com) 75

May 23rd marks the 25th anniversary of the day Sun Microsystems introduced Java to the world, notes InfoWorld.

Looking at both the present and the future, they write that currently Java remains popular "with enterprises even as a slew of rival languages, such as Python and Go, now compete for the hearts and minds of software developers." Java continues to rank among the top three programming languages in the most prominent language popularity indexes — Tiobe, RedMonk, and PyPL. Java had enjoyed a five-year stint as the top language in the Tiobe index until this month, when it was overtaken by the C language, thanks perhaps to the combination of C's wide use in medical equipment and the urgency of the COVID-19 pandemic.

Nevertheless, Java represents a huge ecosystem and source of jobs. There were an estimated nine million Java developers worldwide in 2017, according to Oracle. A recent search of jobs site Dice.com found nearly 12,000 Java-related jobs in the USA, compared to roughly 9,000 jobs in JavaScript and 7,600 in Python. Plus, Java has spawned an enormous ecosystem of tools ranging from the Spring Framework to application servers from companies such as IBM, Red Hat, and Oracle to the JavaFX rich media platform.

The developers behind Java — including Oracle and the broader OpenJDK community — have kept the platform moving forward. Released two months ago, Java 14, or Java Development Kit (JDK) 14, added capabilities including switch expressions, to simplify coding, and JDK Flight Recorder (JFR) Event Streaming, for continuous consumption of JFR data. Up next for Java is JDK 15, set to arrive as a production release in September 2020, with capabilities still being lined up for it. So far, the features expected include a preview of sealed classes, which provide more-granular control over code, and records, which provide classes that act as transparent carriers for immutable data. Also under consideration for Java is a plan dubbed Project Leyden, which would address "longterm pain points" in Java including resource footprint, startup time, and performance issues by introducing static images to the platform.

Education

Google Searches For 'Java' Spiked During Friday's Online AP CS Exam 25

Long-time Slashdot reader theodp writes: Due to the COVID-19 pandemic, this year's AP Exams — a passing score on which earns high school students college credit — are open book/open note and taken from home. So it's no surprise that Google Trends registered a spike in searches for 'Java' during Friday afternoon's AP CS A exam (more detailed exam day chart) as students scrambled to solve the two Java programming questions that made up this year's abbreviated 45-minute AP Computer Science A exam.

Looking up answers online isn't banned, but a College Board video recommends against it, saying "the information won't be helpful." Similar spikes in exam content-related searches during testing times have also been observed for other AP subjects. The end-of-year AP exam for the "more approachable" AP Computer Science Principles course was canceled for 2020, although it was to have counted for 60% of AP CSP students' scores.
Programming

This AI-powered Auto-Completer is Helping Developers Write 25% Less Code (thenextweb.com) 67

Ivan Mehta, writing for The Next Web: For years, IDEs (Integrated Development Environment) have tried to make development quicker by predicting the next part of a developer's code. Now, startups like Codota are using AI to help developers with code completion on any code editor. The Israel-based startup was found in 2015 by Dror Weiss and Eran Yahav. Codota's free-to-use autocomplete plug-in supports major languages such as Java, Python, Javascript, PHP, and Rust across major IDEs such as Eclipse and Android Studio. Yahav told me that Codota differs from other code completion AIs as it's able to predict the next token completion by leaning on an AI-based code 'dictionary.'
Programming

C Is Now the Most Popular Programming Language, Claims TIOBE (jaxenter.com) 246

Charlotte Web writes: Since 2001 the TIOBE Index has been ranking top results for the search query +"<language> programming" on the top 25 search engines. "This month, C moved up past Java and entered the number one position," reports JAXenter.

"There's a new number one. (Or, should we say an old number one?)"

"Java and C were already very close in April, but this month C surpasses Java again," explains Paul Jansen CEO TIOBE Software. He also points out that the last time C was number one was back in 2015, suggesting that today embedded software languages like C and C++ "are gaining popularity because these are used in software for medical devices."

"On another note, it is also worth mentioning that Rust is really getting close to the top 20 now (from #27 to #21 within one month)."

"Perl, on the other hand, might be on its way off of the charts," argues JAXenter, "if it continues its downward trend. This month it saw a rate of change of -0.51%. It is currently number 18 on the list, but in May 2019 it was number 13."

Python also passed C++ to take the #3 spot, while C# overtook Visual Basic for the #5 spot. ("Classic Visual Basic" also lost the #16 spot to PL/SQL).

Even PHP rose a notch, pushing past SQL to take the #8 spot, and Scratch also moved up one, overtaking Objective C for the #19 position.
Programming

TIOBE Suddenly Ranks 'Scratch' as the 20th Most Popular Programming Language (jaxenter.com) 57

Python knocked C++ out of the top 3 on TIOBE's index of the most popular programming languages this month, while C# rose into the #5 position, overtaking Visual Basic.

But the biggest surprise was when last month's #26 most popular programming language suddenly jumped six spots into the #20 position, writes the CEO of TIOBE Software. "At first sight this might seem a bit strange for a programming language that is designed to teach children how to program." But if you take into account that there are in total more than 50 million projects "written" in Scratch and each month 1 million new Scratch projects are added, it can't be denied any more that Scratch is popular...

Since computers are getting more and more an integral part of life, it is actually quite logical that languages to teach children programming are getting popular.

TIOBE notes that Scratch is sponsored by major tech companies like Google and Intel (as well as the Cartoon Network and LEGO Foundation). But Jaxenter also applauds how the Scratch interface lets users remix or comment on existing projects in addition to sharing their own: The community not only introduces children to teamwork, creative problem solving, logical thinking, and collaboration, but it also introduces concepts such as open source communities and code review. They will learn concepts that might later become useful in Agile software development and DevOps.
TIOBE bases its rankings on the number of search engine results for courses, third party vendors, and programmers -- making the programming news site DevClass wonders if the spike came from "school aged children...stuck at home while schools are closed."

TIOBE still shows Java as the #1 most popular programming language (followed by C, Python, and C++). And this month's index also shows PHP rising into the #9 position -- overtaking SQL.

And COBOL is now #26 on the list, making it more popular than Rust.
Cloud

Unqork CEO: Anything Java Coders Can Do, No-Code Can Do 200x Faster (cnbc.com) 206

Here's some interesting thoughts from long-time Slashdot reader theodp: CNBC reports that the next frontier in the Microsoft, Google, Amazon cloud battle is over a world without code.

Google recently acquired no-code app development platform AppSheet, Microsoft just launched a new public preview of its low-code Power Apps mobile app for iOS and Android, and there is speculation about an 'Amazon for Everyone' product from AWS. "Anything a Java developer or engineer can build using custom code, we can do it 200 times faster," boasted Unqork CEO Gary Hoberman, whose no-code company raised $131 million in its latest funding round from investors that included Alphabet.

The promise of no-code development platforms has been touted for decades — is it different this time?

Oracle

Oracle Announces Java 14 (zdnet.com) 54

Java "remains the world's most popular programming language," notes ZDNet, reporting on Oracle's release this week of Java Development Kit (JDK) 14, Oracle's "reference implementation of the Java 14 programming language spec." Rolling out in line with Oracle's six-monthly release schedule that began with Java 9 in 2017, JDK 14 includes enhancements that Oracle says will improve developer productivity... According to Georges Saab, Oracle vice president of development for the Java Platform, the faster six-monthly releases are helping developers adopt new features more rapidly due to regular expected changes. Java 9, for example, was released more than three years after Java 8...

Saab notes that major improvements in JDK 14 include a Foreign-Memory Access API enhancement (JEP 370), and improvements from Project Amber, another OpenJDK project, including Pattern Matching (JEP 305) and a preview of Records (JEP 359). Oracle JDK 14 will receive at least two quarterly updates in line with Oracle's critical-patch update schedule before Java 15 is released in September 2020.

Oracle is providing Java 14 as the Oracle OpenJDK release under an open-source GNU General Public License v2. It's also released under a commercial license using Oracle JDK. Most of the nearly 2,000 fixes in JDK 14 have been made by Oracle employees while 528 came from individual developers and other organizations. Some of the main contributors included Red Hat, SAP, Google, Arm, Intel, and NTT Data.

Crime

Live Coronavirus Map Used to Spread Malware (krebsonsecurity.com) 19

Malware distributors "have started disseminating real-time, accurate information about global infection rates tied to the Coronavirus/COVID-19 pandemic in a bid to infect computers with malicious software," reports security researcher Brian Krebs: In one scheme, an interactive dashboard of Coronavirus infections and deaths produced by Johns Hopkins University is being used in malicious Web sites (and possibly spam emails) to spread password-stealing malware. Late last month, a member of several Russian language cybercrime forums began selling a digital Coronavirus infection kit that uses the Hopkins interactive map as part of a Java-based malware deployment scheme.

The kit costs $200 if the buyer already has a Java code signing certificate, and $700 if the buyer wishes to just use the seller's certificate. "It loads [a] fully working online map of Corona Virus infected areas and other data," the seller explains. "Map is resizable, interactive, and has real time data from World Health Organization and other sources. Users will think that PreLoader is actually a map, so they will open it and will spread it to their friends and it goes viral...!" The sales thread claims the customer's payload can be bundled with the Java-based map into a filename that most Webmail providers allow in sent messages... The seller says the user/victim has to have Java installed for the map and exploit to work, but that it will work even on fully patched versions of Java...

It's unclear how many takers this seller has had, but earlier this week security experts began warning of new malicious Web sites being stood up that used interactive versions of the same map to distract visitors while the sites tried to foist the password-stealing AZORult malware.

Oracle

Oracle Rejects Argument That Before Suing Google, It Got Rich By Copying IBM's SQL (arstechnica.com) 85

Ars Technica's senior tech reporter took a long long at Google's reimplementation of Java in Android -- and the lawsuit filed against it by Oracle in 2010. And he discovers "a possible downside" to Oracle's stance on API copyrights. If anyone should understand the importance of such copying, it's Oracle. After all, Oracle got its start in the 1970s selling a database product based on the then-new structured query language (SQL). SQL was invented by IBM. And Oracle doesn't seem to have gotten a license to use it...

Oracle's copying of SQL seems pretty similar to Google's copying of Java. But an Oracle spokeswoman disagrees. "It's an incorrect premise, comparing apples with broccoli, and being completely divorced from the facts of the case," she wrote in a Tuesday email.

Oracle

Oracle Criticized For Questioning Google's Supporters In Java API Copyright Case (twitter.com) 47

America's Supreme Court will soon decide whether Google infringed on a copyright that Oracle says it holds on the APIs of Java. But this week Oracle's executive vice president also wrote a blog post arguing that Google "sought the support of outside groups to bolster its position" by using friend-of-the-court briefs to "create the impression that this case is of great import and controversy, and a ruling in Oracle's favor will impede innovation."

"Upon closer inspection, what these briefs reveal is a significantly different picture, one where Google is the outlier, with very little meaningful support outside the purview of its financial fingerprints." As we discussed in a previous post, this case is not about innovation, it is about theft. Google copied verbatim more than 11,000 lines of software code, and now attempts post hoc to change the rules in order to excuse its conduct... As those of us that have watched Google over the past few decades know, Google's view boils down to the self-absorbed position that the work it is doing is of such consequence that the rules shouldn't apply to them. The problem for Google is that very few outside of its self-generated atmosphere agree.

Let's be clear, it is not commonplace or foundational in the software industry to steal other developer's software code. Rather, what is commonplace is a confluence of interests where code is licensed to facilitate its widespread deployment, with the owner choosing the terms... Java embraced choice, with three different licensing alternatives, including a freely deployed open source license, and a commercial license designed to maintain interoperability. And it turns out that nobody except Google found it necessary to steal despite Java's enormous popularity. It is not in dispute in this matter that Google destroyed Java interoperability so it is unbelievable that many of its amici take the position that Google needs to prevail in order to protect interoperability...

Out of 26 briefs, we found:

- 7 briefs representing 13 entities that received "substantial contributions" from Google;

- 8 briefs filed by entities or individuals that have financial ties to Google through grants, dues, cy pres settlement proceeds or employment of individual amici;

- 2 briefs filed by companies with a clear commercial interest in Google prevailing;

- 1 brief filed by several former U.S. government employees all of whom worked for a small government agency run by a former Google executive, despite the U.S. government itself filing a brief in favor of Oracle;

- 4 separate briefs representing a total of 7 individuals;

- A few other briefs where Google financial ties are likely;

- 1 brief submitted by a serial copyright infringer repeatedly sanctioned by the Courts;

What masqueraded as a mass show of support for Google, may not be much more than an exercise in transactional interests.

The groups Oracle is criticizing include the American Library Association, EFF, and the Python Software Foundation, as well as a brief by 83 computer scientists which included Doug Lea, a former memeber of the executive committee of the Java Community Process. Oracle's blog post also makes the argument that besides Microsoft and IBM, "not a single brief from the other 98 of the Top 100 tech companies was filed."

There was a response on Twitter from Joshua Bloch, who worked on the Java platform at Sun before leaving in 2004 to become Google's chief Java architect for the next 8 years. He called Oracle's blog post "nonsense." For example, Doug Lea -- who is in no small measure responsible for Java's success -- accepted one small grant from Google fourteen years ago, and promptly doled it out to deserving undergrads who were testing java.util.concurrent. Have you no shame, Oracle?

We are not Google shills. We are scientists and engineers. Some of us laid the theoretical groundwork for the profession, some designed the computers you grew up on, and some wrote the software you use every day.

We depend on the right to reimplement each others' APIs, and we are truly afraid that your irresponsible lawsuit may deprive us of that right, which we've enjoyed throughout our long careers.

Programming

Study Finds High Demand for Go and AR/VR Programmers, While Python Remains Favorite Language (hired.com) 75

The tech jobs marketplace at Hired.com crunched their data on more than 400,000 interview requests and job offers over the last year to produce their annual "State of Software Engineers" report. Among its surprising insights: software engineers with more than 10 years of experience get 20% fewere interview requests than engineers with 4 to 10 years of experience.

Other insights: Demand for AR/VR talent is up by 1400%, mirroring blockchain's 517% demand growth last year... In large U.S. tech hubs AR/VR engineer salaries range from $135k - $150k... 46% of software engineers rank AR/VR as one of the top 3 technologies they'd like to learn in 2020... If you work in AR/VR, you may want to move to San Francisco, where they pay $150k/year on average.
The next-highest growth in demand came for "gaming engineers" and "computer vision engineers" -- with both positions seeing a 146% increase in demand over 2018. The next-highest demand growth was for "search engineers" (increasing 137%) and for "machine learning engineers" (increasing 89%). Demand for "blockchain engineers" increased by just 9%.

But they also report that demand for frontend and backend engineers "grew steadily by 17%, which shows that all companies -- not just Silicon Valley tech giants -- are evolving into being tech companies..." The worldwide process of digital transformation, while something of a buzzword, reflects a critical truth: every company is now a technology company. Whether the company is Bank of America, Alaska Airlines, Sainsbury's, or Tesla, investment in top software engineering talent isn't a future ambition, it's a matter of survival.
And the #1 most-desired coding skill was Go (for the second year in a row), "garnering an average of 9.2 interview requests for every Go-skilled candidate..." But there may be a larger trend. All told, the number of interview requests across all languages remained nearly constant year-over-year, with only minor fluctuations in average requests, and zero change in how each language ranked against others. This could suggest that supply for these skills has not yet caught up with demand...

According to Robert Half, 67% of IT managers plan to expand their teams in areas such as security, cloud computing and business intelligence, but 89% reported challenges in recruiting that talent. Those challenges in hiring are even greater for roles related to machine learning, artificial intelligence, and blockchain.

Their analysis concludes the most in-demand programming languages are Go, Scala, Ruby, TypeScript, Kotlin, Objective C, JavaScript, Swift, PHP, Java, HTML, and then Python -- though Python, JavaScript, and Java are engineers' favorite coding languages, "largely because of their useful and well-maintained libraries and packages..."

"Ruby, PHP and Objective C are ranked the least favorite (and least fun) languages for software engineers."
Python

Python Finally Ties With Java In RedMonk's New Programming Language Rankings (zdnet.com) 90

An anonymous reader quotes ZDNet: Python is tying with Java as the second most popular programming language behind JavaScript, according to developer analyst RedMonk's latest ranking.

The second spot for Python is the highest position it's ever attained in RedMonk's list of top programming languages, which is based on an analysis of GitHub and Stack Overflow data. Historically, Python has been steady in fourth position but it rose to third spot three years ago in RedMonk's tables... Python has been rising across several programming language popularity indexes, including Tiobe and IEEE Spectrum.

Microsoft-maintained TypeScript for large-scale JavaScript projects has also risen one place to ninth position along with C... Rust is a popular language among developers who discuss technical challenges on StackOverflow, but it hasn't moved from its spot at 21.

Slashdot Top Deals