Programming

Are Trendy Developers Ignoring Tradeoffs and Over-Engineering Workplaces? (github.io) 211

An anonymous reader shares an article titled "Does IT Run on Java 8?"

"After more than ten years in tech, in a range of different environments, from Fortune 500 companies, to startups, I've finally come to realize that most businesss and developers simply don't revolve around whatever's trending on Hacker News," argues one Python/R/Spark data scientist: Most developers -- and companies -- are part of what [programmer] Scott Hanselman dubbed a while ago as the 99%... "They don't read a lot of blogs, they never write blogs, they don't go to user groups, they don't tweet or facebook, and you don't often see them at large conferences. Lots of technologies don't iterate at this speed, nor should they.

"Embedded developers are still doing their thing in C and C++. Both are deeply mature and well understood languages that don't require a lot of churn or panic on the social networks. Where are the dark matter developers? Probably getting work done. Maybe using ASP.NET 1.1 at a local municipality or small office. Maybe working at a bottling plant in Mexico in VB6. Perhaps they are writing PHP calendar applications at a large chip manufacturer."

While some companies are using Spark and Druid and Airflow, some are still using Coldfusion... Or telnet... Or Microsoft TFS... There are reasons updates are not made. In some cases, it's a matter of national security (like at NASA). In others, people get used to what they know. In some cases, the old tech is better... In some cases, it's both a matter of security, AND IT is not a priority. This is the reason many government agencies return data in PDF formats, or in XML... For all of this variety of reasons and more, the majority of companies that are at the pinnacle of succes in America are quietly running Windows Server 2012 behind the scenes.

And, not only are they running Java on Windows 2012, they're also not doing machine learning, or AI, or any of the sexy buzzwords you hear about. Most business rules are still just that: hardcoded case statements decided by the business, passed down to analysts, and done in Excel sheets, half because of bureacracy and intraction, and sometimes, because you just don't need machine learning. Finally, the third piece of this is the "dark matter" effect. Most developers are simply not talking about the mundane work they're doing. Who wants to share their C# code moving fractions of a cent transactions between banking systems when everyone is doing Tensorflow.js?

In a footnote to his essay, Hanselman had added that his examples weren't hypothetical. "These people and companies all exist, I've met them and spoken to them at length." (And the article includes several tweets from real-world developers, including one which claims Tesla's infotainment firmware and backend services were all run in a single-location datacenter "on the worst VMware deployment known to man.")

But the data scientist ultimately asks if our online filter bubbles are exposing us to "tech-forward biases" that are "overenthusiastic about the promises of new technology without talking about tradeoffs," leading us into over-engineered platforms "that our companies don't need, and that most other developers that pick up our work can't relate to, or can even work with...

"For better or worse, the world runs on Excel, Java 8, and Sharepoint, and I think it's important for us as technology professionals to remember and be empathetic of that."
Android

Google Pushes Kotlin Over Java for Android Development (thenewstack.io) 117

Google "officially declared Kotlin the go-to language for Android development last week at its Google I/O developer conference," reports Mike Melanson's "This Week in Programming" column, "and the company is backing that up with a couple of initiatives around making it easier (and free) to learn the language now used by a majority of Android developers." Google teamed up with Udacity to offer Developing Android Apps with Kotlin , a free, self-paced online course on how to build Android apps with Jetpack and Kotlin, meant for people who have programming experience and are comfortable with Kotlin basics. Google also announced "Kotlin/Everywhere, a series of community-driven events focussing on the potential of Kotlin on all platforms," which it is putting on in conjunction with JetBrains.

Of course, this leaves the question that has been asked many times before -- why Kotlin? -- and IT consultant Kristen Carter offers a take on how Android app development became Kotlin-first. Carter offers some business angles, such as the 2010 lawsuit against Google by Oracle, which predates Kotlin by just a year, and she speculates may have been the impetus behind the language's development as "Google has always wanted to get away from the [Java] ecosystem." At the same time, Carter offers some language-specific reasoning too, such as the comparably succinct nature of Kotlin, the absence of Java's NullPointerExceptions, and the ease with which Java developers could transition to Kotlin. Carter ends her piece by posing the possibility that Oracle "knows the significance of Java in android app development" and could "ship Java with a few upgrades in its next version to take on Kotlin."

Java

Mozilla, Cloudflare, Facebook and Others Propose BinaryAST For Faster JavaScript Load Times 125

Developers at Mozilla, Facebook, Cloudflare, and elsewhere have been drafting "BinaryAST" as a new over-the-wire format for JavaScript. From a report: BinaryAST is a binary representation of the original JavaScript code and associated data structures to speed-up the parsing of the code at the page load time compared to the JavaScript source itself. The binary abstract syntax tree format should lead to faster script loading across all web devices. Numbers related today by CloudFlare range from a 4% to 13% drop in load times compared to parsing conventional JavaScript source. Or if taking a "lazified" approach to skip unused functions, it can be upwards of 98% less time necessary. You can read more about it here.
Twitter

Twitter Opens Developers Labs Program To Test New API Products (venturebeat.com) 20

"Twitter is upgrading its API to be more standards-compliant and more modern," writes longtime Slashdot reader andyp. "They also want to collaborate with developers as they create the new API platform." VentureBeat provides more details: Twitter today announced plans to build "the next generation of the Twitter API" that will provide more flexibility and better serve developers. As a first step, the company is launching the Twitter Developer Labs program to let developers preview new features and test new API products before they are finalized. Participating developers will be asked to provide feedback on what they like and don't like ahead of the broad rollout. Twitter announced Twitter API version 1.1 in August 2012. The social network and what developers use it for have changed a lot since then. Twitter has added enterprise data APIs and the Ads API, but the main API has largely stagnated. At the same time, Twitter has burned developers again and again. The first new features that will be released in Labs are GET /tweets and GET /users. After that, Twitter will release new versions of functionality to filter and search tweets, and to get tweet engagement and impression metrics.

If you'd like to participate in Labs, Twitter says you must follow these steps:
1. Visit the Labs page and sign up to receive updates.
2.Create a developer account (if you haven't yet). Access to Labs will require a developer account, even if you have an active app created through the former apps.twitter.com website.
3.Review the Labs documentation to learn more about what's coming (and follow @TwitterDev).
4. Share feedback.
Programming

Software Executive Decries 'Toxic Certainty Syndrome' (glowforge.com) 217

Michael Natkin is the VP of software engineering at the 3D printer company Glowforge. In a recent post on the company blog, he argues that the tech industry has "glorified overconfidence" with its philosophy of "strong opinions, loosely held": The idea of strong opinions, loosely held is that you can make bombastic statements, and everyone should implicitly assume that you'll happily change your mind in a heartbeat if new data suggests you are wrong. It is supposed to lead to a collegial, competitive environment in which ideas get a vigorous defense, the best of them survive, and no one gets their feelings hurt in the process. On a certain kind of team, where everyone shares that ethos, and there is very little power differential, this can work well. I've had the pleasure of working on teams like that, and it is all kinds of fun...

Unfortunately, that ideal is seldom achieved. What really happens? The loudest, most bombastic engineer states their case with certainty, and that shuts down discussion. Other people either assume the loudmouth knows best, or don't want to stick out their neck and risk criticism and shame. This is especially true if the loudmouth is senior, or there is any other power differential... Even if someone does have the courage to push back, in practice the original speaker isn't likely to be holding their opinion as loosely as they think. Having stated their case, they are anchored to it and will look for evidence that confirms it and reject anything contradictory. It is a natural tendency to want to win the argument and be the smartest person in the room.

As a fix, he suggests adding a degree of uncertainty to statements -- which makes it easier for you to adjust them later while also explicitly encouraging feedback.

For example, in announcing the blog post on Twitter, Natkin wrote that "I'm about 60% sure it's useful."
Security

MongoDB Database Containing Over 275 Million Personal Records Exposed and Hacked (bleepingcomputer.com) 47

"An unprotected and public-facing MongoDB database containing over 275 million records of personal information on Indian citizens has been discovered on search engine Shodan," writes Slashdot reader helpfulhecker.

BleepingComputer reports that the detailed personally identifiable information was exposed online for over two weeks: Security Discovery researcher Bob Diachenko discovered the publicly accessible MongoDB database hosted on Amazon AWS using Shodan, and as historical data provided by the platform showed, the huge cache of PII data was first indexed on April 23, 2019. As he found out after further investigation, the exposed data included information such as name, gender, date of birth, email, mobile phone number, education details, professional info (employer, employment history, skills, functional area), and current salary for each of the database records.

While the unprotected MongoDB database leaked the sensitive information of hundreds of millions of Indians, Diachenko did not find any information that would link it to a specific owner. Additionally, the names of the data collections stored within the database suggested that the entire cache of resumes was collected "as part of a massive scraping operation" for unknown purposes.

Two months ago Diachenko also helped uncover over 800 million exposed email addresses in another unprotected MongoDB database. And in January an investigation with TechCrunch also discovered millions of highly sensitive financial documents from tens of thousands of individuals who took out loans or mortgages.

The same month Diachenko also discovered an exposed 854 gigabyte MongoDB database filled with resumes from over 200 million job-seekers in China.
The Internet

Google Launches Portal, an HTML Tag To Replace Iframe (zdnet.com) 109

An anonymous reader quotes a report from ZDNet: At the I/O 2019 developer conference earlier this week, Google launched a new technology called Portals that aims to provide a new way of loading and navigating through web pages. According to Google, Portals will work with the help of a new HTML tag named . This tag works similarly to classic tags, allowing web developers to embed remote content in their pages. Google says portals allow users to navigate inside the content they are embedding --something that iframes do not allow for security reasons. Furthermore, portals can also overwrite the main URL address bar, meaning they are useful as a navigation system, and more than embedding content -- the most common way in which iframes are used today.

For example, engineers hope that when a user is navigating a news site, when they reach the bottom of a story, related links for other stories are embedded as portals, which the user can click and seamlessly transition to a new page. The advantage over using Portals over classic links is that the content inside portals can be pre-loaded while the user scrolls through a page, and be ready to expand into a new page without having the user wait for it to load.
In a demo, you can see that Portals allow users to watch/listen to embedded content and then transition seamlessly to its origin page, where they could leave comments or open other media.
Education

'I Don't Think a Four-Year Degree is Necessary To Be Proficient at Coding', Tim Cook Says (macrumors.com) 354

An anonymous reader shares a report: Earlier this week, Apple CEO Tim Cook visited an Apple Store in Orlando, Florida to meet with 16-year-old Liam Rosenfeld, one of 350 scholarship winners who will be attending Apple's annual Worldwide Developers Conference next month. Echoing comments he shared with the Orlando Sentinel, Cook told TechCrunch's Matthew Panzarino that it is "pretty impressive" what Rosenfeld is accomplishing with code at such a young age, serving as a perfect example of why he believes coding education should begin in the early grades of school. "I don't think a four year degree is necessary to be proficient at coding," says Cook. "I think that's an old, traditional view. What we found out is that if we can get coding in in the early grades and have a progression of difficulty over the tenure of somebody's high school years, by the time you graduate kids like Liam, as an example of this, they're already writing apps that could be put on the App Store."
Google

Google Is Starting To Reveal the Secrets of Its Experimental Fuchsia OS (theverge.com) 75

At Google's I/O developer conference this past week, Android and Chrome chief Hiroshi Lockheimer offered some rare insight into Fuchsia, albeit at a very high level, in front of public audiences. The Verge reports: What we do know about Fuchsia is that it's an open source project, similar to AOSP, but could run all manner of devices, from smart home gadgets to laptops to phones. It's also known to be built on an all-new, Google-built kernel called "zircon," formerly known as "magenta," and not the Linux kernel that forms the foundation of Android and Chrome OS.

"We're looking at what a new take on an operating system could be like. And so I know out there people are getting pretty excited saying, 'Oh this is the new Android,' or, 'This is the new Chrome OS,'" Lockheimer said. "Fuchsia is really not about that. Fuchsia is about just pushing the state of the art in terms of operating systems and things that we learn from Fuchsia we can incorporate into other products." He says the point of the experimental OS is to also experiment with different form factors, a hint toward the possibility that Fuchsia is designed to run on smart home devices, wearables, or possibly even augmented or virtual reality devices. "You know Android works really well on phones and and you know in the context of Chrome OS as a runtime for apps there. But Fuchsia may be optimized for certain other form factors as well. So we're experimenting."
Lockheimer provided some additional details at a separate Android fireside chat held at Google I/O today. "It's not just phones and PCs. In the world of [the Internet of Things], there are increasing number of devices that require operating systems and new runtimes and so on. I think there's a lot of room for multiple operating systems with different strengths and specializations. Fuchsia is one of those things and so, stay tuned," he told the audience.
Android

Google Play Will Weight App Ratings To Favor Those From More Recent Releases (techcrunch.com) 60

Google announced today it's making a change to how its Play Store app ratings work. "[I]nstead of giving developers the choice of when ratings will reset, it will begin to weight app ratings to favor those from more recent releases," reports TechCrunch. Milena Nikolic, an engineering director leading Google Play Console, said that soon the average rating calculation for apps will be updated for all Android apps on Google Play.

"With this update, users will be able to better see, at a glance, the current state of the app -- meaning, any fixes and changes that made it a better experience over the years will now be taken into account when determining the rating," reports TechCrunch. "On the flip side, however, this change also means that once high-quality apps that have since failed to release new updates and bug fixes will now have a rating that reflects their current state of decline." In response to the announcement, Slashdot reader shanen writes: Basically I regard this as a good news story, though in relative terms. Of course the old data should get discounted if newer data is available. Too bad today's Google is certain to mangle the implementation, probably claiming they need more layers of secrecy to prevent more clever gaming of the new ratings system. However, the change I REALLY want to see would be more exposure of the developers' financial models for the apps. Following the money really works.
Windows

Microsoft Wants To Close the UWP, Win32 Divide With 'Windows Apps' (zdnet.com) 78

An anonymous reader quotes a report from ZDNet: When Microsoft launched UWP in 2015, officials promised that the platform would provide apps with better performance and security because they'd be distributable and updatable from the Microsoft Store. Developers would be able to use a common set of programming interfaces across Windows 10, Windows Phone, HoloLens and more, officials said, when selling the UWP vision. The downside: UWP apps would work on Windows 10-based devices only. Developers would have to do work to get their apps to be UWP/Store-ready. And Win32 apps wouldn't get UWP features like touch and inking. Arguably, [Kevin Gallo, Corporate Vice President of the Windows Developer Platform] told me, "we shouldn't have gone that way," meaning creating this schism. But Microsoft execs -- including Gallo -- continue to maintain that UWP is not dead. Over the past year or so, Microsoft has been trying to undo some of the effects of what Gallo called the "massive divide" between Win32 and UWP by adding "modern desktop" elements to Win32 apps.

"By the time we are done, everything will just be called 'Windows apps,'" Gallo told me. "We're not quite there yet." But the ultimate idea is to make "every platform feature available to every developer." In short, Microsoft's new goal is to try to make all features available to all of the Windows frameworks. Saying that Microsoft is dropping or deprecating any of the Windows frameworks seems to have been declared from on-high as a big no-no. Instead, Win32, UWP, Windows Presentation Foundation are all "elevated to full status," as Gallo told me.
What about the Microsoft Store? Gallo says it's not dead. In Gallo's view, "the Store is about commerce. It's another channel for distribution." But it's not the only way Windows users will be able to get apps. "You can trust apps differently. They don't need to be in the Store. People really just want to know if Microsoft considers an app good," he said.

ZDNet's Mary Jo Foley says "it sounds like Microsoft may be moving toward a model of getting apps Microsoft-certified and trusted and then allowing Windows developers to decide how best to distribute them -- via the Microsoft Store, the Web or other methods of their choosing."
Google

Google Finally Updates Android Distribution Dashboard, Pie Passes 10 Percent (venturebeat.com) 31

After more than six months of no updates, Google has finally updated its Android distribution data. Android Pie, the latest version of Google's mobile operating system, has passed the 10% adoption mark. VentureBeat reports: The Android developer website hosts a distribution dashboard that details the adoption of Google's mobile operating system versions. With over 2.5 billion active Android devices out there, this is useful information that Google used to update on a monthly cadence. For anyone who makes decisions regarding Android, it's incredibly valuable to know how widely (or narrowly) an Android version -- or more importantly, an API level -- has been adopted.

The distribution numbers were last updated in October 2018. In early December, Google added a small note below the chart: "(update coming soon: data feed under maintenance)." Months passed and the company would not explain what was going on, until today, when it finally updated the numbers. In short, Google is blaming a technical glitch, says it has resolved the issue, and is promising to keep the dashboard updated again. But those updates won't come on a monthly cadence anymore -- about quarterly is more likely, Google told VentureBeat. The Android adoption order now stands as follows: Oreo in first place, Nougat in second place, Marshmallow in third, Lollipop in fourth, Pie in fifth, KitKat in sixth, Jelly Bean in seventh, ICS in eighth, and Gingerbread in last. It will be a few more months before Pie can break into the top three.

Android

Android Q Gets Dark Mode, Live Video Captioning, Better Gestures and More (engadget.com) 29

At its annual I/O developer event, Google announced a bunch of new features available in the latest Android Q beta. Engadget reports: The most obvious new feature is dark mode, which will be released system-wide in Android Q. It's accessible via a toggle switch in the quick settings area and it'll also be activated when you turn on battery saver mode. We just saw a quick screenshot of it, but it looks like it'll apply to any apps you're using regardless of whether they're Google-made or from other developers. Another notable new feature is called Live Caption. If you're watching a video, Google's machine-learning algorithms can now add captions on the fly by just pressing the volume button and then a "live caption" button that'll show up on on the onscreen volume slider. From there, you can expand and contract the panel as you see fit, and move it up and down on the screen so it doesn't obscure your video. Google is also able to do all of this on-device, so it's more secure and also doesn't need a network connection.

[T]he company says that there are 50 new privacy and security settings in Android Q. Perhaps most notable are new location services settings that let you limit location tracking to only when the app is running. It'll also give you notifications to let users see when apps are using your location in the background. New settings also let you keep apps from accessing media on your phone and collecting information about your device like its IMEI and serial number. [...] Google's adding a new "focus mode" to help shut down various distractions. It'll block most app alerts and notifications while allowing important contacts like your family members to reach you. There are also more tools for parents to manage their kids' phone time -- it'll let you review how they're using their phone from your own device, set daily time limits, review app requests and more.
There are also tweaks to the gesture-based navigation bar to make it more closely resemble the navigation gestures first introduced in the iPhone X. Google's also adding a new chat-focused interface called "bubbles" that lets users keep messaging conversations accessible regardless of what they're doing with the phone.

We can expect the final desert-themed name and release date later in the summer. The Q beta 3 is currently available on 21 devices, including all Pixel devices.
Desktops (Apple)

Microsoft Teases Its Edge Browser For macOS (theverge.com) 76

In a blog post detailing new features coming to Edge, Microsoft has started teasing what Edge will look like on macOS. The Verge reports: During the company's Build 2019 developer conference, Microsoft is announcing new features for Edge on Windows and teasing the upcoming macOS release. We understand that the release will be available very soon, and Mac users should be able to access both the Canary and Dev builds of Edge just like Windows. Microsoft's implementation of Chromium on Edge has so far seen good performance improvements and reliability on Windows. It's not clear if we'll see similar improvements on the macOS side versus Chrome, but at least it gives Mac users another Chromium option with some Microsoft services and sync integration. MacRumors notes that Edge "will be Microsoft's first web browser on the Mac since Internet Explorer received its last feature update nearly 16 years ago."
Microsoft

Microsoft Unveils a New Terminal for Windows 10 and Windows Subsystem for Linux 2 (techcrunch.com) 198

Windows 10 is getting a new terminal for command-line users, Microsoft announced at its Build developer conference today. The new so-called "Windows Terminal" will launch in mid-June and promises to be a major update of the existing Windows Command Prompt and PowerShell experience. From a report: Indeed, it seems like the Terminal will essentially become the default environment for PowerShell, Command Prompt and Windows Subsystem for Linux users going forward. The new terminal will feature faster GPU-accelerated text rending and "emoji-rich" fonts, because everything these days needs to support emojis, and those will sure help lighten up the command-line user experience. More importantly, though, the Windows Terminal will also support shortcuts, tabs, tear-away windows and theming, as well as extensions. It also will natively support Unicode and East Asian fonts. Microsoft also unveiled a new update to WSL, a compatibility layer for running Linux binary executables natively on Windows. From a report: WSL 2 is based on a Linux 4.19 kernel coming soon to Windows. This kernel uses technology built for Azure. In both cases, it helps to reduce Linux boot time and streamline memory use. In fact, Microsoft is promising developers "twice as much speed for file-system heavy operations, such as Node Package Manager install." WSL 2 will also support running Linux Docker containers natively, so that VMs are no longer required. WSL 2, like Windows Terminal, is coming in mid-June.
Microsoft

Microsoft is Bringing Visual Studio To the Browser, Unveils .NET 5 (venturebeat.com) 30

Krystalo writes: At its developer conference Build today, Microsoft previewed new Visual Studio features for remote work, the .NET roadmap, and launched ML.NET 1.0. In April, Microsoft launched Visual Studio 2019 for Windows and Mac. Two notable features were Visual Studio Live Share, a real-time collaboration tool included with Visual Studio 2019, and Visual Studio IntelliCode, an extension offering AI-assisted code completion. At Build 2019, Microsoft shared that IntelliCode's capabilities are now generally available for C# and XAML in Visual Studio 2019 and for Java, JavaScript, TypeScript, and Python in Visual Studio Code. And IntelliCode is now included by default in Visual Studio 2019, starting in version 16.1 Preview 2. The company also previewed an algorithm that can locally track your edits -- repeated edit detection -- and suggest other places where you need that same change. But that's just the tip of the iceberg. Microsoft is experimenting with features that let developers work from anywhere, on any device. The company today announced a private preview for three such new capabilities: Remote-powered developer tools, cloud-hosted developer environments, and a browser-based web companion tool. If the future of work is remote, Microsoft wants to be ready.

[...] Microsoft also announced that it is skipping .NET 4 to avoid confusion with the .NET Framework, which has been on version 4 for years. Going forward, developers will be able to use .NET to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAssembly, and more. .NET Core 3 will be succeeded by .NET 5, featuring new .NET APIs, runtime capabilities, and language features. Calling it .NET 5 makes it the highest version Microsoft has ever shipped and indicates that the company hopes it is the future for the .NET platform. .NET Core 3 closes much of the remaining capability gap with .NET Framework 4.8, enabling Windows Forms, WPF, and Entity Framework 6. .NET 5 will build on this work, Microsoft says, combining .NET Core, .NET Framework, Xamarin, and Mono (the original cross-platform implementation of .NET) into a single platform. .NET 5 will provide both Just-in-Time (JIT) and Ahead-of-Time (AOT) compilation models. JIT has better performance for desktop/server workloads and development environments. AOT has a faster startup and a small footprint, which is required for mobile and IoT devices. .NET 5 will offer one unified toolchain supported by new SDK project types and a flexible deployment model (side-by-side and self-contained EXEs).

Programming

'Why I Prefer Go Over Python or Java' (yourbasic.org) 230

Stefan Nilsson, a computer science professor at the KTH Royal Institute of Technology, recently explained "why I prefer Go to Java or Python," arguing that Go "makes it much easier for me to write good code." Go is a minimalist language, and that's (mostly) a blessing. The formal Go language specification is only 50 pages, has plenty of examples, and is fairly easy to read. A skilled programmer could probably learn Go from the specification alone. The core language consists of a few simple, orthogonal features that can be combined in a relatively small number of ways. This makes it easier to learn the language, and to read and write programs. When you add new features to a language, the complexity doesn't just add up, it often multiplies: language features can interact in many ways. This is a significant problem -- language complexity affects all developers (not just the ones writing the spec and implementing the compiler).

Here are some core Go features:

- The built-in frameworks for testing and profiling are small and easy to learn, but still fully functional. There are plenty of third-party add-ons, but chances are you won't need them.

- It's possible to debug and profile an optimized binary running in production through an HTTP server.

- Go has automatically generated documentation with testable examples. Once again, the interface is minimal, and there is very little to learn.

- Go is strongly and statically typed with no implicit conversions, but the syntactic overhead is still surprisingly small. This is achieved by simple type inference in assignments together with untyped numeric constants. This gives Go stronger type safety than Java (which has implicit conversions), but the code reads more like Python (which has untyped variables).

- Programs are constructed from packages that offer clear code separation and allow efficient management of dependencies. The package mechanism is perhaps the single most well-designed feature of the language, and certainly one of the most overlooked.

- Structurally typed interfaces provide runtime polymorphism through dynamic dispatch.

- Concurrency is an integral part of Go, supported by goroutines, channels and the select statement.

The professor points out that the Java® Language Specification is 750 pages, and blames much of its complexity on feature creep (for example, inner classes, generics, and enum). And he also applauds the strict compatibility guarantees of Go 1 for the core language and standard packages, as well as its open source, BSD-style license, and Go's code transparency.

"There is one standard code format, automatically generated by the fmt tool," he writes, arguing that "Your project is doomed if you can't read and understand your code."
Python

Python Creator Guido van Rossum Blames His Resignation Partly On Social Media (www.tfir.io) 137

"Swapnil Bhartiya, the founder of TFIR, sat down with Guido van Rossum, the creator of Python, to talk about the origin of the language and why he stepped down from the leadership of the very project he created," writes sfcrazy.

In the interview, van Rossum emphasizes that he still remains one of the core developers, and provides this update: "We're going to set up a new form of governance. We haven't decided yet what that will be. There is actually an interesting time ahead where we currently have about five of six different proposals for new governance systems, and in November there's going to be a vote among the core developers about that. And then there will be another vote that will actually determine specifically who is going to form the leadership. So we're starting out by choosing a constitution, and then using the rules set out in the selected constitution, we're going to vote for a leadership..."
He talks more about his resignation when asked if there's ever been an after-the-fact debate about decisions he's made: "Well, that certainly happens too. What led to my resignation was a form of that, where on social media -- and I've got a feeling that social media are sort of getting out of hand... But for me personally, social media definitely sort of caused additional stress. And I did not enjoy it when core developers were sort of sending tweets where they were questioning my authority or the wisdom of my decisions, rather than saying it to my face and having an honest debate about things...

"It might just have to do with the fact that I've had this role for 28 years... And all that time, I've been sort of the final decider, the final arbiter. I'm getting older, I'm not always available... I just want to spend less time feeling stressed about what is the community -- I have this attitude where everything that was being said on some of the mailing lists, python-ideas, python-dev, touched me. I felt involved in everything, because ultimately every idea would end on my desk for deciding. And I just thought that that should be a responsibiity that should either be shared or transferred... Given that I've been on the project for such a long time, and some of the currently active core developers are good personal friends that I've known for 20 years or more, I am completely confident that the more experienced core developers that we currently have, plus the newer core developers that we have, together will be able to weather any kind of storm that might come Python's way. Yes I resigned from the title suddenly, but there were a lot of responsibilities that I had already completely delegated. I mean, I barely touch the code base, I barely reviewed submissions.

At one point van Rossum compares the future of Python to that of a grown-up child, in that "You're supposed to raise your child for independence..."

So what's he doing now? " I was and still am a principal engineer at Dropbox, which is actually where I spend most of my time."
Oracle

Oracle Exec Mocks Google Arguments About Java's APIs (thehill.com) 145

"Whether it is consumers' data or competitors' code, Google's view seems to be the same: What's mine is mine, and what's yours is mine," argues Oracle executive vice president Kenneth Glueck.

Google had urged America's Supreme Court to rule in their ongoing legal case about access to Java's APIs, a case which Google says hinges on "whether developers should be able to create new applications using standard ways of accessing common functions. Those functions are the building blocks of computer programming, letting developers easily assemble the range of applications and tools we all use every day. Making it harder to connect with those functions would lock developers into existing platforms, thus reducing competition and, ultimately, hurting consumers. Access to software interfaces like these is the key to interoperability, the foundation of great software development."

That editorial -- written by Google's senior vice president for global affairs, Kent Walker, notes that 175 startups, developers, academics and other tech companies (including Microsoft) are also asking the Supreme Court to hear this case. Google warns of a risk to innovation posed if companies like Oracle become "gatekeepers to interoperability," calling it "a defining battle of the digital era."

Oracle's executive responds that "There are many 'defining battles' of the digital era -- 5G, Artificial Intelligence, autonomous devices -- but Oracle v. Google is surely not among them." Only in Google's world does weaker intellectual property protection lead to more innovation. It is settled in law and in economics that the opposite is true. And at a time when the U.S. is circling the globe to enhance the protection of U.S. intellectual property -- including strong copyright protection -- Google takes the opposite view...

In a stunning what's-up-is-down and down-is-up statement, Walker attempts to wrap Google in the cloak of interoperability. Java defined the era of interoperability with its "write once, run everywhere" architecture. It was Google that copied Java, built Android around it, and altered it so it was only interoperable with itself (i.e., write once, run only on Google). Android killed Java interoperability, and now Google argues that killing interoperability is good for interoperability?

Those facts are not in dispute. The only issue in dispute is Google's assertion that its actions were all "fair." On this point, the federal circuit court clearly analyzed and methodically decided against Google's fair-use defense. This makes sense because, under no interpretation of fair use, may you copy a competitor's software code and turn around and compete against that competitor in the marketplace. Hard stop... There is no matter of law in question, nor is there a conflict among circuit courts. Google was caught killing interoperability and is now trying to concoct a new "we are too important" legal defense.

Reuters reports that this week the Supreme Court asked the White House "to offer its views on whether it should hear Google's bid to end Oracle's copyright infringement lawsuit."
Programming

'Could TypeScript replace JavaScript?' (zdnet.com) 140

ZDNet asked the question -- pointing to a RedMonk survey which found TypeScript jumped in popularity from #16 to #12 over the last six months (based on its usage in GitHub projects and in questions on Stack Overflow). The reason for this rise can be found in the latest survey of 33,000 developers from 156 countries who use npm, a hugely popular Node.js JavaScript package manager that's traditionally used to build website features... As per npm developers, a big surprise in last year's survey was that 46 percent of respondents said they used TypeScript. Today, the proportion of developers who use Microsoft's open-source take on JavaScript has ballooned to 62 percent... "Overall, 36 percent of npm users are writing TypeScript some or most of the time. That a third of the users in the JavaScript community are writing a totally new flavor of JavaScript should make everyone sit up and take notice" [according to npm Inc's report]. In other words, TypeScript should be on the list of languages to understand. As RedMonk noted in March, the growing number of projects helps explain why TypeScript's "trajectory is significant and sustainable" and won't just fade away like many other languages.
The article also argues that Microsoft's hit with TypeScript "comes as its open-source cross-platform code editor Visual Studio Code, or VS Code, finds a sweet spot with developers across the world, rising from being used by 500,000 developers in 2016 to 4.5 million in 2019. "

Meanwhile npm Inc. also points out that Slack's desktop application was written in JavaScript, pointing to this as evidence that JavaScript itself "has broken out of the browser and become a general-purpose programming language, put to all the same uses as other programming languages."

Slashdot Top Deals