Programming

Are We Experiencing a Great Software Stagnation? (alarmingdevelopment.org) 286

Long-time programmer/researcher/former MIT research fellow Jonathan Edwards writes a blog called "Alarming Development: Dispatches from the User Liberation Front."

He began the new year by arguing that software "is eating the world. But progress in software technology itself largely stalled around 1996." Slashdot reader tonique summarizes Edwards' argument: In 1996 there were "LISP, Algol, Basic, APL, Unix, C, Oracle, Smalltalk, Windows, C++, LabView, HyperCard, Mathematica, Haskell, WWW, Python, Mosaic, Java, JavaScript, Ruby, Flash, Postgress [sic]". After that we're supposed to have achieved "IntelliJ, Eclipse, ASP, Spring, Rails, Scala, AWS, Clojure, Heroku, V8, Go, React, Docker, Kubernetes, Wasm".

Edwards's main thesis is that the Internet boom around 1996 caused this slowdown because programmers could get rich quick. Then smart and ambitious people moved into Silicon Valley, and founded startups. But you can't do research at a startup due to time and money constraints. Today only "megacorps" like Google, Facebook, Apple and Microsoft are supposedly able to do relevant research because of their vast resources.

Computer science wouldn't help, either, because "most of our software technology was built in companies" and because computer science "strongly disincentivizes risky long-range research". Further, according to Edwards, the aversion to risk and "hyper-professionalization of Computer Science" is part of a larger and worrisome trend throughout the whole field and all of western civilisation.

Edwards' blog post argues that since 1996 "almost everything has been cleverly repackaging and re-engineering prior inventions. Or adding leaky layers to partially paper over problems below. Nothing is obsoleted, and the teetering stack grows ever higher..."

"[M]aybe I'm imagining things. Maybe the reason progress stopped in 1996 is that we invented everything. Maybe there are no more radical breakthroughs possible, and all that's left is to tinker around the edges. This is as good as it gets: a 50 year old OS, 30 year old text editors, and 25 year old languages.

"Bullshit. No technology has ever been permanent. We've just lost the will to improve."
Programming

Report: PHP, C++, Java, and .NET Applications are the Most Frequently Flawed (techrepublic.com) 92

Application-security company Veracode "has released the 11th volume of its annual State of Software Security report, and its findings reveal that flawed applications are the norm, open-source libraries are increasingly untrustworthy, and it's taking a long time to patch problems," reports TechRepublic.

The top three security flaws — like last year — are still information leakage, cryptographic issues, and CRLF injection: The report found a full 76% of apps contained flaws, and 24% of apps have flaws considered highly severe. Some 70% of apps are inheriting security flaws from their open-source libraries, but it's important to note that only 30% of apps have more security bugs in their open-source libraries than in code written in-house, suggesting that it isn't solely open-source projects that are to blame... In terms of how bugs are being resolved, Veracode found that 73% of the bugs it found as part of the report were patched, which is a big improvement over previous years, when that number was in the mid-50% range. Despite that good sign, it's still taking an average of six months to close half of discovered flaws...

Veracode also released a heatmap of the worst bugs in the most popular languages. Interestingly enough, the language with the least use of open-source libraries is also the one with the most bugs: PHP.

Looking at the heatmap, it's easy to spot which of the five popular languages included has the worst security. Following PHP is C++, then Java, .Net, JavaScript, and Python. The latter two are, doing considerably better than the competition, with the worst flaws in each only being found in roughly 30% of apps. Compared to PHP with 74.6% of its apps vulnerable to cross-site scripting, JavaScript and Python are security powerhouses.

Java

In Jakarta EE 9 'javax' is Finally Renamed 'jakarta' (i-programmer.info) 53

i-programmer reports: The Jakarta EE Working Group has announced that javax is now officially and finally renamed as jakarta with the release of the Jakarta EE 9 Platform and Web Profile specifications and related TCKs. The announcement was made during the JakartaOne Livestream virtual conference, and the group said that the release "provides a new baseline for the evolution and innovation of enterprise Java technologies under an open, vendor-neutral, community-driven process."

The move from Java EE to Jakarta EE was necessary because while Oracle handed over the open source version of Java to the Eclipse Foundation, it kept the names 'Java' and 'javax' and refused permission for their use...

The initial release doesn't include support for Java SE (Standard Edition) 11, the latest long-term support release of the standard Java platform. This will be added in a release in the next few weeks.

Programming

2020 AP CS Scores: Still Big Gaps In Performance, Participation 103

theodp writes: As the 8th annual Hour of Code kicked off this week, the College Board released 2020 AP national and state score breakouts for AP CS program participants. As in past years, this year's results still showed striking gaps in performance and participation across gender and ethnicity segments. Passing rates across major ethnic group segments ranged from 39.8%-78.6% for the Java-based AP CS A course, and 52%-83% for the newer "language agnostic" AP Computer Science Principles (CSP) course. Across gender segments, females accounted for 25% of AP CS A scores (16.2K of 64.9K total students) and 33.9% of AP CSP scores (38.6K of 113.9K students). Asian students accounted for 47% of all passing female AP CS A students. Due to pandemic-related school closures, the overall number of students completing AP STEM-related courses in 2020 declined for all subjects except CS. AP CS A, which had an abbreviated taken-at-home final exam, saw a modest 1.5% YOY increase in completions, while AP CSP saw a whopping 21.5% YOY increase in completions, no doubt helped by the cancellation of its end-of-course exam, which was to have counted for 60% of scores (students were instead assessed only by their portfolio submissions).
Programming

Python Beats Java Again in New GitHub Annual Report (github.com) 54

This week the Microsoft-owned code repository site GitHub released its annual report with statistics about its community, writes programming columnist Mike Melanson: The report offers a deep dive into three specific areas, with a look at developer productivity in the time of COVID, community and collaboration, and open source security. Highlights include increased productivity with 35% more repositories created in 2020 than 2019, a large open source community with more than 56M developers in 2020 with 100M expected by 2025, and security vulnerabilities that often go undetected for more than 4 years before being disclosed and 94% of projects relying on open source components.
"2020 has been a year of extraordinary change," notes GitHub's report. "Yet with 60M+ new repositories created this past year, one thing has remained true — developers came together from all corners of the world to innovate, find connection, and solve problems."

GitHub reports that over 1.9 billion contributions were added in the last year, with users distributed around the globe:
North America: 34%
Asia: 30.7%
Europe: 26.8%
South America: 4.9%
Africa: 2%
Oceania: 1.7%
And while JavaScript is still the most popular language used on the site, Python remains more popular (at #2) than Java (at #3) for the second year in a row.
  1. JavaScript
  2. Python
  3. Java
  4. TypeScript
  5. C#
  6. PHP
  7. C++
  8. C
  9. Shell
  10. Ruby

Programming

JavaScript Turns 25 (zdnet.com) 50

The programming language JavaScript emerged 25 years ago and has grown to become one of the most important pieces of the web and browser applications we use today. From a report: JavaScript is the go-to language for front-end development and has spawned Microsoft's Typescript, a superset of JavaScript with a stronger optional type system for developers that compiles to JavaScript when run in the browser. Both JavaScript and TypeScript conform to ECMAScript, the standard for JavaScript and node.js, the runtime for running applications outside of the browser thanks to Google's powerful V8 JavaScript engine. JavaScript's impact on the web cannot be understated. Tech giants have thrown their weight behind the language. Besides Google's V8, there are open source projects like React from Facebook and Angular from Google, which help spread web applications across smartphones and desktop. After Netscape and Sun Microsystems -- where Java was hatched in May 1995 by James Gosling -- announced JavaScript in December 1995, Microsoft promoted Visual Basic (VB) as a standard for creating web applications using VB Script for its Internet Explorer browser. Oracle would go on to buy Sun Microsystems in 2008 largely to get its hands on Java and its huge development ecosystem. The press release about its launch from 25 years ago.
Programming

Python and TypeScript Gain Popularity Among Programming Languages (venturebeat.com) 50

GitHub has released its annual Octoverse report, revealing trends in one of the largest developer communities on the planet, including a spike in open source project activity following the start of the COVID-19 pandemic. VentureBeat: JavaScript continues to be the most popular programming language on GitHub, while Python is now the second most popular, followed by Java and the fast-growing TypeScript community. Maintained by GitHub owner Microsoft, TypeScript has climbed from seventh place in 2018 and 2019 to fourth overall this year. PHP and Ruby, languages that ranked among the most popular five years ago, continued to decline in popularity.
Transportation

How Lion Air's Boeing 737 Max Experienced a Near-Crash The Day Before 2018's Fatal Crash (go.com) 73

ABC News tells the story of Indonesia-based budget airline Lion Air, which had ordered over 200 Boeing 737 MAX 8s at a cost of $22 billion — and what happened on a flight the day before a fatal crash on October 29th, 2018: [A]fter its first flight in May 2017, the 737 MAX 8 went 17 months without incident. Then, on Oct. 28, 2018, Lion Air Flight 610 from Bali to Jakarta experienced an in-flight emergency as the plane suddenly began to nosedive after take-off. "All of us were screaming like we are in a roller coaster," said Rakhmat Robbi, a passenger on the flight. "To be honest, I [was] think[ing] it's almost like my last flight and this is my last day." The aircraft nosedived four times as the pilots struggled to regain control, according to Indonesia's National Transportation Safety Committee (NTSC). A third pilot who just happened to be in the cockpit was able to help the two pilots resolve the situation and the plane landed safely in Jakarta.

However, according to the NTSC, the crew left incomplete notes about the details of the emergency. "The pilot reported that he had a problem with the speed and altitude indicated on [the] captain's side," said Capt. Nurcahyo Utomo, senior safety investigator of the NTSC. Nurcahyo said the captain failed to mention the plane's trim system had suddenly activated, causing it to repeatedly nose dive. "The pilots were able to control it," said aviation attorney Steven Marks. "They knew they had a problem. But they didn't understand exactly what the nature of the problem was."

Early the next morning, on Oct. 29, 2018, the same plane departed from Jakarta to Pangkal Pinang, Indonesia. Just 13 minutes after takeoff, Lion Air Flight 610 plummeted into the Java Sea. Authorities launched a search and rescue mission immediately, but all 189 people on board died.

The flight data recorder from Lion Air 610 revealed that the plane had gone out of control — it had moved up and down over 24 times before it finally dove into the sea at full speed. "I never knew... any case of the [sic] aircraft that fly down and up and up and down like this," Nurcahyo said. "I knew that the pilot was fighting with the plane." Nurcahyo said the NTSC asked Boeing about the kind of system on the 737 MAX that could have caused it to behave in such a manner. He said investigators were surprised to learn that Boeing had installed a flight control software program that could force the plane into a dive without the pilots' knowledge... MCAS was accidentally triggered on both Lion Air flights because a defective angle of attack (AOA) sensor had transmitted incorrect information about the position of the plane's nose. Although there are two AOA sensors on the 737 MAX, MCAS was only connected to one of them.

"It's a lack of redundancy that appears to me to be unacceptable in airplane design," said aviation journalist Christine Negroni, author of the book "The Crash Detectives..."

Boeing later told the pilots union of American Airlines it hadn't revealed the existence of MCAS in the 737 flight manual "on the grounds that it didn't want to inundate pilots with unnecessary information," according to the article.

ABC also points out that a later investigation by the U.S. Congress "uncovered internal Boeing emails that showed some employees had raised concerns about the 737 MAX while it was still in development, and that they had questioned the safety culture of the company as well."
Microsoft

What Will Happen After Python Creator Guido Van Rossum Joins Microsoft? (thenewstack.io) 108

Programming columnist Mike Melanson assesses the news that Guido Van Rossum, the creator of the Python programming language, has come out of retirement to join Microsoft's developer division: The news brought a flurry of congratulations and feature requests, though a few of the suggested features indeed, already exist. Others still were met with informative responses that make the resulting threads worth a perusal, especially if you're looking for a quick "who's who" on Twitter for the world of programming languages. Microsoft's Miguel de Icaza pointed out that this addition adds to the company's now growing list of language designers and contributors:

"The developer division at Microsoft now employs the language designers and contributors to Python, Java, JavaScript, Typescript, F# C#, C++. We just need some PHP, Rust and Swift magic to complete the picture."

[Microsoft senior software engineer Kat Marchán added "We actually have some early ex-moz Rust people too!"]

So, what can we expect from all of this? Is it a corporate takeover of open source, as some further down in the long list of replies always seem to suggest? Or is Microsoft planning the Frankenstein of all languages, with a little bit of this, a little bit of that? In all likelihood, you Python developers using Microsoft products probably have some good features to look forward to in the near future, and that's that, but there's always lingering fears...especially when it comes to Microsoft. As van Rossum suggests, stay tuned.

After Slashdot's earlier story, long-time reader alexgieg posted his own theory: "Several months ago the Excel folk within Microsoft asked users whether they'd like to have Python as an alternative scripting language in Office. Support for that was overwhelming, but nothing more was said on the matter since then. I guess this is Microsoft's answer."
Java

Python Overtakes Java To Become The Second-Most Popular Programming Language (techrepublic.com) 103

For the first time in the history of TIOBE's index, Java has slipped out of the top two, leaving Python to occupy the spot behind reigning champion, C. TechRepublic reports: October's TIOBE index had C at No. 1 and Java at No. 2, and historically those two languages have simply traded spaces while the rest of the competition battled it out for the privilege to fall in behind the two perennial leaders. With Python finally overtaking Java in popularity, the future could be one in which everything comes up Python. "In the past, most programming activities were performed by software engineers. But programming skills are needed everywhere nowadays and there is a lack of good software developers," TIOBE CEO Paul Jansen said. "As a consequence, we need something simple that can be handled by non-software engineers, something easy to learn with fast edit cycles and smooth deployment. Python meets all these needs."

Jansen said that he believes this is the case despite claims from others that Python's popularity is due to booms in data mining, AI, numerical computing, and other initiatives that commonly use Python's extensive data processing capabilities. As TechRepublic's R. Dallon Adams wrote in his piece on the October index, Python has been giving Java a run for its money for some time. October saw Python at No. 3 with the largest year-over-year growth percentage in the top 50 languages. Java, still at second place in October, had the largest negative year-over-year growth rate in the top 50 during the same period.
R, Perl, and Go are also all boasting positive growth. "R is in 9th place, the same it occupied last month," reports TechRepublic. "R has experienced explosive growth in 2020, which has led TIOBE to consider it a contender for programming language of the year."
Java

Java Geeks Discuss 'The War for the Browser' and the State of Java Modularization (frequal.com) 67

Self-described "Java geek" nfrankel writes: At the beginning of 2019, I wrote about the state of Java modularization. I took a sample of widespread libraries, and for each of them, I checked whether:

- It supports the module system i.e. it provides an automatic module name in the manifest

- It's a full-fledged module i.e. it provides a module-info

The results were interesting. 14 out of those 29 libraries supported the module system, while 2 were modules in their own right.

Nearly 2 years later, and with Java 16 looming around the corner, it's time to update the report. I kept the same libraries and added Hazelcast and Hazelcast Jet. I've checked the latest version...

Three full years after that release, 10 out of 31 libraries still don't provide a module-compatible JAR. Granted, 3 of them didn't release a new version in the meantime. That's still 7 libraries that didn't add a simple line of text in their MANIFEST.MF

Meanwhile, long-time Slashdot reader AirHog argues that "Java is in a war for the browser. Can it regain the place it once held in its heyday?" All major browsers have disabled support for Java (and indeed most non-JavaScript technologies). Web-based front-ends are usually coded in JavaScript or some wrapper designed to make it less problematic (like TypeScript). Yes, you can still make websites using Java technology. There are plenty of 'official' technologies like JSP and JSF. Unfortunately, these technologies are entirely server-side. You can generate the page using Java libraries and business logic, but once it is sent to the browser it is static and lifeless... Java client-side innovation has all but stopped, at least via the official channels....

How can Java increase its relevance? How can Java win back client-side developers? How can Java prevent other technologies from leveraging front-end dominance to win the back-end, like Java once did to other technologies?

To win the war, Java needs a strong client-side option. One that lets developers make modern web applications using Java code. One that leverages web technologies. One that supports components. One that builds quickly. One that produces fast-downloading, high performance, 100-Lighthouse-scoring apps. One that plays nicely with other JVM languages. What does Java need?

Spoiler: The article concludes that "What Java needs Is TeaVM... an ahead-of-time transpiler that compiles Java classes to JavaScript."
Python

Does Python Need to Change? (zdnet.com) 233

The Python programming language "is a big hit for machine learning," read a headline this week at ZDNet, adding "But now it needs to change."

Python is the top language according to IEEE Spectrum's electrical engineering audience, yet you can't run Python in a browser and you can't easily run it on a smartphone. Plus no one builds games in Python these days. To build browser applications, developers tend to go for JavaScript, Microsoft's type-safety take on it, TypeScript, Google-made Go, or even old but trusty PHP. On mobile, why would application developers use Python when there's Java, Java-compatible Kotlin, Apple's Swift, or Google's Dart? Python doesn't even support compilation to the WebAssembly runtime, a web application standard supported by Mozilla, Microsoft, Google, Apple, Intel, Fastly, RedHat and others.

These are just some of the limitations raised by Armin Ronacher, a developer with a long history in Python who 10 years ago created the popular Flask Python microframework to solve problems he had when writing web applications in Python. Austria-based Ronacher is the director of engineering at US startup Sentry — an open-source project and tech company used by engineering and product teams at GitHub, Atlassian, Reddit and others to monitor user app crashes due to glitches on the frontend, backend or in the mobile app itself... Despite Python's success as a language, Ronacher reckons it's at risk of losing its appeal as a general-purpose programming language and being relegated to a specific domain, such as Wolfram's Mathematica, which has also found a niche in data science and machine learning...

Peter Wang, co-founder and CEO of Anaconda, maker of the popular Anaconda Python distribution for data science, cringes at Python's limitations for building desktop and mobile applications. "It's an embarrassing admission, but it's incredibly awkward to use Python to build and distribute any applications that have actual graphical user interfaces," he tells ZDNet. "On desktops, Python is never the first-class language of the operating system, and it must resort to third-party frameworks like Qt or wxPython." Packaging and redistribution of Python desktop applications are also really difficult, he says.

Microsoft

Minecraft Will Require a Microsoft Account To Play In 2021 (theverge.com) 70

Minecraft said in a blog post yesterday that players will need a Microsoft account to play the game in 2021. Those who do not switch will be unable to play. The Verge reports: The game has existed in two separately developed versions since its 2011 launch on consoles. Previously, the original Minecraft: Java Edition used Mojang accounts, while Minecraft: Bedrock Edition, the name for the console and Windows store version of the game, used Microsoft accounts. After this change, the accounts will be the same, but there's still no crossplay: you still won't be able to play with friends using the other version of the game.

Mojang says players migrating from Mojang accounts will not lose any information and that the new accounts will offer two-factor authentication (2FA) and other safety features previously available in the Bedrock Edition of the game, like parental controls and the ability to block chats and invitations -- a concern for younger players on multiplayer servers. Players will be emailed in batches in the coming months on how to migrate and will receive an additional notification on their profile page when they're able to create a new account. Alongside the blog post, Mojang created a video to explain the switch and preempt player complaints.
The Verge points out that usernames for Java Edition players are at risk, which could make many players angry.

"In support articles addressing the change, Mojang is clear that your username won't be affected in-game, but if someone is already using your name or it doesn't meet Microsoft's standards, you might be forced to log in with a different one," reports The Verge. "There may not be as many names available to pick from, given that console players have had eight years to snap them up."
Programming

Kite Expands Its AI Code Completions From 2 To 13 Programming Languages (venturebeat.com) 19

An anonymous reader writes: Kite, which suggests code snippets for developers in real time, today added support for 11 more programming languages, bringing its total to 13. In addition to Python and JavaScript, Kite's AI-powered code completions now support TypeScript, Java, HTML, CSS, Go, C, C#, C++, Objective C, Kotlin, and Scala. (The team chose the 11 languages by triangulating the StackOverflow developer survey, Redmonk's language rankings, and its own developer submissions.) AI that helps developers is growing in popularity, with startups like DeepCode offering AI-powered code reviews and tech giants like Microsoft trying to apply AI to the entire application developer cycle. Kite stands out from the pack with 350,000 monthly developers using its AI developer tool. Kite debuted privately in April 2016 before publicly launching a cloud-powered developer sidekick in March 2017. The company raised $17 million in January 2019 and ditched the cloud to run its free offering locally. In May, Kite added JavaScript support, launched a Pro plan with advanced line-of-code completions for Python, and updated its engine to use deep learning, a type of machine learning.
Linux

Linux 5.9 Boosts CPU Performance With FSGSBASE Support (phoronix.com) 75

FSGSBASE support in Linux "has the possibility of helping Intel/AMD CPU performance especially in areas like context switching that had been hurt badly by Spectre/Meltdown and other CPU vulnerability mitigations largely on the Intel side," Phoronix wrote back in August. As it started its journey into the kernel, they provided a preview on August 10: The FSGSBASE support that was finally mainlined a few days ago for Linux 5.9 is off to providing a nice performance boost for both Intel and AMD systems... FSGSBASE support for the Linux kernel has been around a half-decade in the making and finally carried over the finish line by one of Microsoft's Linux kernel engineers...

FSGSBASE particularly helps out context switching heavy workloads like I/O and allowing user-space software to write to the x86_64 GSBASE without kernel interaction. That in turn has been of interest to Java and others...On Linux 5.9 where FSGSBASE is finally mainlined, it's enabled by default on supported CPUs. FSGSBASE can be disabled at kernel boot time via the "nofsgsbase" kernel option.

Today on the Linux kernel mailing list, Linus Torvalds announced the release of Linux 5.9: Ok, so I'll be honest - I had hoped for quite a bit fewer changes this last week, but at the same time there doesn't really seem to be anything particularly scary in here. It's just more commits and more lines changed than I would have wished for.
And Phoronix reported: Linux 5.9 has a number of exciting improvements including initial support for upcoming Radeon RX 6000 "RDNA 2" graphics cards, initial Intel Rocket Lake graphics, NVMe zoned namespaces (ZNS) support, various storage improvements, IBM's initial work on POWER10 CPU bring-up, the FSGSBASE instruction is now used, 32-bit x86 Clang build support, and more. See our Linux 5.9 feature overview for the whole scoop on the many changes to see with this kernel.
Python

Is Python Becoming More Popular Than Java? (techradar.com) 107

Python has reached "a new all-time high" on TIOBE's index of programming language popularity. TechRadar reports: Java's days as the world's second most popular programming language could be numbered according to Tiobe's latest programming language rankings which show Python is becoming increasingly popular among developers. The firm's Index for October 2020 shows that Java has been overtaken by C as the world's most popular programming language when compared to the same period last year. Python remains in third place but it's quickly closing the gap between it and Java. According to Tiobe CEO Paul Jensen, C and Java have held the top two spots consistently for the past two decades. However, the 25-year-old programming language Java is approaching its "all time low" in popularity as it has fallen by 4.32 percentage points when compared to where it stood in October of last year. Tiobe ranks programming languages in its popularity index based on the number of hits each language gets across 25 search engines.
RedMonk's rankings already show Python as more popular than Java — the first time since 2012 that Java isn't one of their top two most popular languages. And TIOBE's CEO says "Let's see what will happen the next few months."

Here's their October rankings for the top 10 most popular programming languages.
  • C
  • Java
  • Python
  • C++
  • C#
  • Visual Basic
  • JavaScript
  • PHP
  • R
  • SQL

And coming in at #11 is Perl.


Google

Google Gets Mixed Reception in High Court Clash With Oracle (bloomberg.com) 74

Alphabet's Google got a mixed reception at the U.S. Supreme Court as it sought to overturn a ruling that could force the company to pay billions of dollars for improperly using Oracle's copyrighted code in the Android operating system. From a report: Holding a low-tech telephone session in one of the biggest software fights in American history, the justices on Wednesday questioned Google's contention that it had no way to replicate the code without forcing millions of software developers to learn a new programming language. Justice Neil Gorsuch told Google's lawyer that Apple and other companies have "come up with phones that work just fine without engaging in this kind of copying." But Gorsuch also raised the possibility of returning the case to a federal appeals court for another look at Google's contention that it engaged in legitimate "fair use" of Oracle's Java programming language. Oracle says it's entitled to at least $8.8 billion in damages. A jury found that Google's code copying was a legitimate fair use, but a federal appeals court reversed that finding.
Java

The World's Largest Concentrations of Java Programmers are in Asia and Germany (jetbrains.com) 34

"To celebrate Java's 25th anniversary this year and the latest release of Java 15, JetBrains has compiled data from multiple sources to look at what the current state of the language," reports SD Times: The largest concentration of Java developers is in Asia, where 2.5 million developers use it as their primary language. JetBrains believes this may be due to the fact that it is common to hire offshore developers in countries like China and India to build Android apps. "We might have expected the USA to have a high percentage of Java users, but it also makes a lot of sense that they don't. There is a big technology stack to choose from and often a lot of the tech companies are at the forefront of that stack, so it could be that developers there don't need the power or stability of Java and are using languages that allow them to build and test quickly," JetBrains wrote in a post.
The post on JetBrains notes that the six countries with the highest percentage of developers using Java as their primary language are: China, South Korea, India, Germany, Spain, and Brazil: The reasons Java is most likely so popular in the first 6 countries include the free use of Java, governmental support, and open-source... Germany is also very high which could be attributed to Java being the most popular language in Germany for software engineers as it is used to build highly scalable applications for a multitude of industries. Most enterprise services rely on Java to power the applications that enable the day-to-day running of businesses, such as payroll, inventory management, reporting, and so on. Germany also has a big financial sector that uses Java heavily for their homegrown tech, such as trading bots, retail banking systems, and other applications that the finance industry requires in order to remain competitive...

According to the State of the Developer Ecosystem Survey 2020, more than a third of professional developers use Java as a primary language and Java remains the second primary language among professional developers after JavaScript. Expert analysis: It is not surprising to see JavaScript and Java taking the leading positions as they are kind of paired together; developers who work with Java often write their frontend and any quick scripts in JavaScript. Python is probably third place due to the spread of machine learning. In general, we expect the web to be a big part of the developer ecosystem and so JavaScript, HTML and CSS, and PHP will always have solid standing. SQL is also always going to be around as there isn't much that doesn't require databases in some capacity. C++ is also kind of a solid language in that it is used for a lot of embedded applications, so it won't be disappearing off the charts any time soon. C# though seems to be losing ground, and I guess if Java is high then C# will be low, as they are both very similar in terms of capabilities.

As to why I think Java is so high in the sphere of professional development — it's similar to what was mentioned about Germany. Most enterprise business services rely on Java to make them tick along. It's not just the IT sector either — almost every company, be it in distribution, manufacturing, or banking, has IT services as part of their infrastructure, and these services, such as payroll or inventory management, are generally built with Java in the backend. So Java is used a lot by professional developers who work for these companies.

Java

Oracle's Plan to Keep Java Developers from Leaving for Rust and Kotlin (zdnet.com) 90

ZDNet reports: Oracle has released version 15 of Java, the language created 25 years ago by James Gosling at Sun Microsystems, which Oracle snapped up in 2009 for about $7.4bn to gain what it said was the "most important software Oracle has ever acquired". Java 15, or Oracle Java Development Kit (JDK) 15, brings the Edwards-Curve digital signature algorithm, hidden classes, and former preview features that have been finalized, including text blocks, and the Z Garbage Collector, while the sealed-classes feature arrives and pattern matching and records emerge as a second preview...

In July, Java fell out of RedMonk's top two positions for the first time since 2012 and now resides behind JavaScript and Python in terms of popularity. Tiobe in September ranked Java in second position, behind C and ahead of Python.... But Java is still hugely popular and widely used in the enterprise, according to Oracle, which notes it is used by over 69% of full-time developers worldwide... It counts Arm, Amazon, IBM, Intel, NTT Data, Red Hat, SAP and Tencent among its list of notable contributors to JDK 15. Oracle also gave a special mention to Microsoft and cloud system monitoring service DataDog for fixes...

As part of Java's 25th anniversary, Oracle commissioned analyst firm Omdia to assess its six-month release strategy for Java and whether it would be enough to keep millions of Java developers away from memory-safe alternatives such as Kotlin, the language Google has endorsed for Android development, and Rust, a system programming language that was created at Mozilla. "In Omdia's opinion, the work Oracle began a few years ago in moving to a six-month update cycle and introducing a new level of modularity, puts the vendor in good stead with its constituency of approximately 12 million developers," Oracle said in its report on Omdia's analysis.

"However, Oracle and the Java programming language need an ongoing series of innovative, must-have, and 'delightful' features that make the language even more user friendly and cloud capable. These will keep existing Java developers happy while steering potential Java developers away from newer languages like Rust and Kotlin."

Programming

'If Everyone Hates Object-Oriented Programming, Why Is It Still So Widely Spread?' (stackoverflow.blog) 386

Object-oriented programming "has been wildly successful. But was the success just a coincidence?" asks Stack Overflow's blog: Asking why so many widely-used languages are OOP might be mixing up cause and effect. Richard Feldman argues in his talk that it might just be coincidence. C++ was developed in the early 1980s by Bjarne Stroustrup, initially as a set of extensions to the C programming language. Building on C , C++ added object orientation but Feldman argues it became popular for the overall upgrade from C including type-safety and added support for automatic resource management, generic programming, and exception handling, among other features.

Then Java wanted to appeal to C++ programmers and doubled down on the OOP part. Ultimately, Sun Microsystems wanted to repeat the C++ trick by aiming for greatest familiarity for developers adopting Java. Millions of developers quickly moved to Java due to its exclusive integration in web browsers at the time. Seen this way, OOP seems to just be hitching a ride, rather than driving the success.

While acknowledging OOP cornerstones like encapsulation, inheritance, polymorphism, the article still takes a skeptical stance. "Seems like in 2020, there is not so much that OOP can do that other programming paradigms cannot, and a good programmer will use strategies from multiple paradigms together in the battle against complexity."

Slashdot Top Deals