×
AI

Microsoft Wants To Apply AI 'To the Entire Application Developer Lifecycle' (venturebeat.com) 69

An anonymous reader writes: At its Build 2018 developer conference a year ago, Microsoft previewed Visual Studio IntelliCode, which uses AI to offer intelligent suggestions that improve code quality and productivity. In April, Microsoft launched Visual Studio 2019 for Windows and Mac. At that point, IntelliCode was still an optional extension that Microsoft was openly offering as a preview. But at Build 2019 earlier this month, 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. Microsoft also now includes IntelliCode by default in Visual Studio 2019. IntelliCode has come a long way since May 2018, but Microsoft is only getting started. When it comes to using AI to aid developers, the company wants to help at every step of the way, according to Amanda Silver, a director of Microsoft's developer division.

"If you look at the entire application developer lifecycle, from code review to testing to continuous integration, and so on, there are opportunities at every single stage for machine learning to help," Silver told VentureBeat. "IntelliCode is, very broadly, the notion that we want to take artificial intelligence -- and really machine learning techniques -- and allow that to make developers and development teams more productive. "IntelliCode is really only at the early stages -- authoring and helping to focus code reviews. But over time, we really think that we can apply it to the entire application developer lifecycle."

PlayStation (Games)

PlayStation Gamers Are Now Authoring Their Own Games With 'Dreams' For PS4 (pushsquare.com) 38

dryriver explains the new buzz around "Dreams" for PS4 (now in open access). Created by the studio that made PS4's Big Little World, Dreams "is not a game. It is more of an end to end, create-your-own-3D-game toolkit that happens to run on PS4 rather than a PC... essentially an easy to use game-engine a la Unity or UnrealEngine." Dreams lets you 3D model/sculpt, texture, animate and create game logic, allowing complete 3D games to be authored from scratch. Here is a Youtube video showing someone 3D modeling a fairly sophisticated game character and environment in Dreams. Everything from platformers to FPS games to puzzle, RPG and Minecraft type games can be created.

What is interesting about Dreams is that everything anybody creates with it becomes available and downloadable in the DreamVerse and playable by other Dreams users -- so Dreams is also a distribution tool like Steam, in that you can share your creations with others.

While PC users have long had access to 3D modeling and game authoring tools, Dreams has for the first time opened up creating console games from scratch to PS4 owners, and appears to have made the processs quicker, easier and more intuitive than, say, learning 3D Studio Max and Unity on a PC. Dreams comes with hours of tutorial walkthroughs for beginners, so in a sense it is a game engine that also teaches how to make games in the first place.

Back in January Push Square gushed that "There's simply nothing like this that's ever been done before... This is one of the most innovative, extraordinary pieces of software that we've seen on a console in quite some time..."

"And it can be browsed for hours and hours and hours. It's like when you fall into a YouTube hole, and you're clicking from recommended video to recommended video -- except here, you're jumping from minigames involving llamas to models of crustaceans to covers of The King of Wishful Thinking..."

"It's an astounding technical achievement with unprecedented ambition."
Education

College Requires All CS Majors To Take An Improv Class (wsj.com) 353

Northeastern University requires all of its computer science majors to take improv -- a class in theatre and improvisation, taught by professors in the drama department. The Wall Street Journal says it "forces students to come out of their shells and exercise creative play" before they can get their diplomas. (Although when the class was made mandatory in 2016, "We saw a lot of hysterics and crying," says Carla E. Brodley, dean of the computer science department.)

So what happens to the computer science majors at Northeastern? The course requires public speaking, lecturing on such nontechnical topics as family recipes. Students also learn to speak gibberish -- 'butuga dubuka manala phuthusa,' for instance... One class had students stare into a classmate's eyes for 60 seconds. If someone laughed, you had to try again...

The class is a way to 'robot-proof' computer-science majors, helping them sharpen uniquely human skills, said Joseph E. Aoun, the university president. Empathy, creativity and teamwork help students exercise their competitive advantage over machines in the era of artificial intelligence, according to Mr. Aoun, who wrote a book about it... Other professionals agree that improv can teach the teamwork and communication required of working with others. Many software applications now are built in small teams, a collaboration of engineers, writers and designers.

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."

Slashdot Top Deals