×
Programming

Facebook Teams With Microsoft On Visual Studio Code's Remote Extensions (facebook.com) 38

A new Facebook blog post explains the company doesn't mandate one development environment internally. "Some developers use vim. Some use Emacs. And even more engineers use our internal, unified development environment called Nuclide," which originally was a set of open-source packages built on top of the Atom editor.

But in late 2018, Facebook "announced to our engineers" that the company was moving to Microsoft's Visual Studio Code, a free and open source editor released under the permissive MIT License that runs on macOS, Windows, and Linux. And the Facebook for Developers blog reports that they're now actually helping Microsoft build the IDE: While engineers at Facebook have Visual Studio Code installed locally on laptops, most development is done directly on individually-reserved development servers that live within our data centers. Being able to access code on these servers in a seamless, performant way is critical for productivity.

As Microsoft's Visual Studio Code team stated when they first released the remote extensions, remote development is an emerging trend... [W]e at Facebook believe that we can apply our unique expertise in this problem space to help. That's why today we are excited to share not just our usage of their remote development extensions, but our involvement in helping Microsoft further improve remote development extensions, with a lens on enabling engineers to do remote development at scale with Visual Studio Code...

Microsoft has now created such a robust remoting experience, it has allowed us to move off our own custom solution... Visual Studio Code is now an established part of Facebook's development future. In teaming with Microsoft, we're looking forward to being part of the community that helps Visual Studio Code continue to be a world class development tool.

Android

Google Launches Android Studio 3.5 With Improved Memory Settings, Build Speed, and Apply Changes (venturebeat.com) 15

Google today launched Android Studio 3.5, the latest version of its integrated development environment (IDE), with a specific focus on "product quality." From a report: This release is the last one under Project Marble, a fancy name for an initiative Google announced late last year to improve Android Studio. For eight months, the team focused "on making the fundamental features and flows of Android Studio & Emulator rock-solid." All the improvements were either to system health, feature polish, or bug fixes. To improve system health, Google created a new set of infrastructure and internal dashboards to better detect performance problems. The team ultimately fixed over 600 bugs, 50 memory leaks, and 20 IDE hangs, and improved XML & Kotlin typing latency. For the Android Emulator, the team decreased the CPU and memory impact. The team also took a look at app deployment flow to a device, replacing Instant Run with Apply Changes. The new system no longer modifies an APK during your build. Instead, it uses runtime instrumentation to redefine classes on the fly.
Java

7,000 Developers Report Their Top Languages: Java, JavaScript, and Python (jetbrains.com) 194

"JetBrains released its State of Developer Ecosystem 2019 report, which found while Java is still the most popular primary language and JavaScript is the most used overall, Python is gaining speed," reports SD Times: The report surveyed about 7,000 developers worldwide, and revealed Python is the most studied programming language, the most loved language, and the third top primary programming language developers are using... The top use cases developers are using Python for include data analysis, web development, machine learning and writing automation scripts, according to the JetBrains report. More developers are also beginning to move over to Python 3, with 9 out of 10 developers using the current version.

The JetBrains report also found while Go is still a young language, it is the most promising programming language. "Go started out with a share of 8% in 2017 and now it has reached 18%. In addition, the biggest number of developers (13%) chose Go as a language they would like to adopt or migrate to," the report stated...

Seventy-three percent of JavaScript developers use TypeScript, which is up from 17 percent last year. Seventy-one percent of Kotlin developers use Kotlin for work. Java 8 is still the most popular programming language, but developers are beginning to migrate to Java 10 and 11.

JetBrains (which designed Kotlin in 2011) also said that 60% of their survey's respondents identified themselves as professional web back-end developers (while 46% said they did web front-end, and 23% developed mobile applications). 41% said they hadn't contributed to open source projects "but I would like to," while 21% said they contributed "several times a year."

"16% of developers don't have any tests in their projects. Among fully-employed senior developers though, that statistic is just 8%. Like last year, about 30% of developers still don't have unit tests in their projects." Other interesting statistics:
  • 52% say they code in their dreams.
  • 57% expect AI to replace developers "partially" in the future.
  • "83% prefer the Dark theme for their editor or IDE. This represents a growth of 6 percentage points since last year for each environment.
  • 47% take public transit to work.

And 97% of respondents using Rust "said they have been using Rust for less than a year. With only 14% using it for work, it's much more popular as a language for personal/side projects." And more than 90% of the Rust developers who responded worked with codebases with less than 300 files.


Operating Systems

Ask Slashdot: Should All OSs Ship With a Programming Language Built In? 307

dryriver writes: If anybody remembers the good old Commodore 64, one thing stood out about this once popular 8-bit computer -- as soon as you turned it on, you could type in BASIC (Beginner's All-purpose Symbolic Instruction Code) and run it. You didn't have to install a programming language, an IDE and all that jazz. You could simply start punching code in, and the C64 would execute it. Now that we live in a time where coding is even more important and bankable than it was back in the 1980s, shouldn't operating systems like Windows 10 or Android also come with precisely this kind of feature? An easy-to-learn programming language like the old BASIC that greets you right after you boot up the computer, and gives you unfettered access to all of the computer's hardware and capabilities, just like was possible on the C64 decades ago? Everybody talks about "getting more people to learn coding" these days. Well, why not go the old C64 route and have modern OSs boot you straight into a usable, yet powerful, coding environment? Why shouldn't my Android phone or tablet come out of its box with a CLI BASIC prompt I can type code into right after I buy it from a store?
Google

Android Studio 3.3 Now Available To Download On Stable Channel, New Version Focuses On 'Refinement and Quality' 14

Android Studio 3.3 is now available to download through stable channel, Google said Monday. The top new features of Android Studio 3.3 include a navigation editor, profiler tracking options, improvements on the build system, and lazy task configuration. However, the big focus with the new version was on "refinement and quality," the company said. Further reading: VentureBeat.
Java

Apache NetBeans 10.0 Now Available (apache.org) 38

The Apache Software Foundation has released NetBeans 10.0, the second major release of the Apache NetBeans IDE. The release, said the Apache Software Foundation, is focused in adding support for JDK 11, JUnit 5, PHP, JavaScript and Groovy, as well in solving many issues. From a blog post: JDK 11 support has been enhanced in the following ways: Integration with the nb-javac project, adding support for JDK 11, removed the CORBA modules, support for JEP 309, Dynamic Class-File Constants, support for JEP 323, Local-Variable Syntax for Lambda Parameters, and support for LVTI Support for Lamdba Parameters.

PHP 7.3: You can now add trailing commas in function calls under PHP 7.3 (mailing list thread), and also use the list reference assignment, the flexible Heredoc and Nowdoc Syntaxes are also supported. [...] And more: context sensitive lexer, PHPStan support, debugger, twig, hints, suggestions, code completionâ¦â visit PHP Features Page and NetBeans 10 New and Noteworthy for more details on PHP support. JUnit 5.3.1 has been added as a new Library to NetBeans, so you can quickly add it to your Java projects. For Maven projects without no existing tests, JUnit 5 is now the default JUnit version.

Programming

Rust 1.31 Released As 'Rust 2018' In Major Push For Backwards Compatibility (rust-lang.org) 81

"The Rust programming language team has announced the first major edition of Rust since 1.0 was released in 2015," reports SD Times -- specifically, Rust 1.31, the first edition of "Rust 2018," described by Rust's developers as "the culmination of feature stabilization."

An anonymous reader writes: The Rust team is working hard to maintain backwards compatibility, for example with the way they're handling the ongoing addition of an async/await feature. "Even though the feature hasn't landed yet, the keywords are now reserved," notes the Rust Team. "All of the breaking changes needed for the next three years of development (like adding new keywords) are being made in one go, in Rust 1.31." The keyword "try" has now also been reserved, but "Almost all of the new features are 100% compatible with Rust as it is. They don't require any breaking changes... New versions of the compiler will continue to support "Rust 2015 mode", which is what you get by default... [Y]ou could think of Rust 2018 as the specifier in Cargo.toml that you use to enable the handful of features that require breaking changes."

The Rust language's blog adds, "Your 2018 project can use 2015 dependencies, and a 2015 project can use 2018 dependencies. This ensures that we don't split the ecosystem, and all of these new things are opt-in, preserving compatibility for existing code. Furthermore, when you do choose to migrate Rust 2015 code to Rust 2018, the changes can be made automatically, via cargo fix." Tooling improvements include faster and smarter "incremental" compilation (along with better IDE support), plus the addition of function-like and attribute-like (procedural) macros. There's also a rustfmt tool which can automatically reformat your code's style "like clang format does for C++ and Prettier does for JavaScript," plus an optional diagnostics linter named clippy, and automated code fixes via rustfix. There's even upgrades to Rust's module system and other path clarity improvements.

But this is only the beginning, SD Times reports: With the release of Rust 2018, the team is now starting to look at Rust's future. The team is asking developers to reflect on what they liked, didn't like or hoped to see in Rust during the last year, and propose any goals or directions for the upcoming year.
Security

400,000 Websites Vulnerable Through Exposed .git Directories (scmagazine.com) 35

Open .git directories are a bigger cybersecurity problem than many might imagine, at least according to a Czech security researcher who discovered almost 400,000 web pages with an open .git directory possibly exposing a wide variety of data. From a report: Vladimir Smitka began his .git directory odyssey in July when he began looking at Czech websites to find how many were improperly configured and allow access to their .git folders within the file versions repository. Open .git directories are a particularly dangerous issue, he said, because they can contain a great deal of sensitive information. "Information about the website's structure, and sometimes you can get very sensitive data such as database passwords, API keys, development IDE settings, and so on. However, this data shouldn't be stored in the repository, but in previous scans of various security issues, I have found many developers that do not follow these best practices," Smitka wrote. Smitka queried 230 million websites to discover the 390,000 allowing access to their .git directories. The vast majority of the websites with open directories had a .com TLD with .net, .de, .org and uk comprising most of the others.
Android

Google-backed Kotlin Gains Adoption in Open Source Android Apps; Scientists Say It Has Improved Code Quality (theregister.co.uk) 86

Kotlin, which Google blessed last year as an alternative to Java for programming Android apps, has already made its way into almost 12 per cent of open source Android apps, and in so doing has elevated their code quality. From a report: So we're told by computer scientists Bruno Gois Mateus and Matias Martinez, affiliated with University of Valenciennes in France, who observed that Google at the end of 2017 said Kotlin had infiltrated more than 17 per cent of Android apps developed with its IDE, Android Studio 3.0. Kotlin is an open source statically typed programing language that targets the JVM, Android, JavaScript (transpiling to ES5.1) and native platforms (via LLVM). JetBrains, the company that created it, contends Kotlin is more concise and more type-safe than Java. It estimates that apps written in Kotlin require about 40 per cent less code than they would with Java. With fewer lines of code, in theory, one can expect fewer bugs. In a paper distributed through pre-print service ArXiv, "An Empirical Study on Quality of Android Applications written in Kotlin language," Mateus and Martinez describe how they gathered 925 apps from the open source F-Droid repository, measured the amount of Kotlin code in each, and analyzed the code for "smells" as an indicator of code quality.
PHP

Ask Slashdot: Should I Ditch PHP? 341

Long-time Slashdot reader Qbertino does PHP for a living, but says he's growing "increasingly frustrated with the ignorant and clueless in the vincinity of PHP." Crappy code and baaaaad application setups is one thing, but people refusing to fix them or simply not even understanding the broader implications of bad applications or attempting SEO with gadgets while refusing to fix 3.5 MB-per-pagecall are just minor tidbits in a history of increasingly unnerving run-ins with knuckledragers in the "web agency" camp...

Will I leave the larger part of this backwards stuff behind if I move to another server-side programming language such as Java or Kotlin for professional work in the broader web area? Do I have a chance to do quality work on quality projects using PHP, or are those slim compare to other programming languages? In short, should I ditch PHP?

"I think .NET is a much cleaner language to work in with Microsoft's excellent Visual Studio IDE and debugger," argues Slashdot reader Agret , adding "there are many large projects in my city hiring .NET developers and being a strongly typed language the code quality is generally better than PHP."

But what's been your experience? And would a frustrated developer find more quality projects by ditching PHP?
Java

Survey: JavaScript is the Most-Used Language, But Java is the Most Popular (sdtimes.com) 136

An anonymous reader quotes SD Times Java remains the most popular primary programming language, but JavaScript is the most used programming language overall. That is according to a recently released report from JetBrains on the State of the Developer Ecosystem in 2018. The report surveyed more than 6,000 developers from 17 countries to reveal the trends driving the world of coding this year... According to the report, Java, JavaScript and Python are the top three programming languages this year, and Go is the most promising language. Twenty percent of developers use multiple versions of Go at the same time, and 26 percent set up their GOPATH per project. The top Go frameworks include Gin, Beego, Echo and Buffalo.

While 38 percent of developers have no plans to adopt any new languages this year, the top languages respondents have started to learn in the last year include Python, JavaScript, Java, Go, TypeScript and Kotlin... Eighty-two percent of respondents use IDEs while 69 percent use editors. Of those using IDEs and editors, only 12 percent cited that they don't customize their IDE/editors. In addition, 77 percent use the dark theme for their editor or IDE... Some fun facts about developers include 77 percent listen to music while they are coding; the top music to listen to includes electronic, pop and rock; 53 percent sleep seven to eight hours a night; 85 percent code on the weekends; and 57 percent prefer coffee over tea.

Chrome

You Can Now Run Linux Apps On Chrome OS (venturebeat.com) 106

Google today announced Chrome OS is getting Linux support. "As a result, Chromebooks will soon be able to run Linux apps and execute Linux commands," reports VentureBeat. "A preview of Linux on the Pixelbook will be released first, with support for more devices coming soon." From the report: "Just go to wherever you normally get those apps, whether it's on the websites or through apt-get in the Linux terminal, and seamless get those apps like any other Linux distribution," Chrome OS director of product management Kan Liu told VentureBeat.

Support for Linux apps means developers will finally be able to use a Google device to develop for Google's platforms, rather than having to depend on Windows, Mac, or Linux machines. And because Chrome OS doesn't just run Chrome OS-specific apps anymore, developers will be able to create, test, and run any Android or web app for phones, tablets, and laptops all on their Chromebooks. Without having to switch devices, you can run your favorite IDE -- as long as there is a Debian Linux version (for the curious, Google is specifically using Debian Stretch here -- code in your favorite language and launch projects to Google Cloud with the command line.

Programming

Ask Slashdot: Should Coding Exams Be Given on Paper? 274

Slashdot reader Qbertino is pursuing a comp sci degree -- and got a surprise during the last exam: being asked to write code on paper. Not that I'd expect an IDE -- it's an exam after all -- but being able to use a screen and a keyboard with a very simple editor should be standard at universities these days... I find this patently absurd in 2018...

What do you think and what are your recent experiences with exams at universities? Is this still standard? What's the point besides annoying students? Did I miss something?

A similar question was asked on Slashdot 16 years ago -- but apparently nothing has changed since 2002.

Leave your best answers in the comments. Should coding exams be given on paper?
Education

How Harvard Teaches CS Students How To Code (kqed.org) 138

Harvard computer science professor David J. Malan "is pretty amazing!" says long-time education-watcher theodp. And he's sharing a link to the online version of Malan's famous CS50 class, "if you can't pony up the estimated $63,025-a-year sticker price to take 'the quintessential Harvard (and Yale!) course' on campus."

KQED's education site "MindShift" reports: Malan's class attracts students who have never taken computer science before, as well as kids who have been coding a long time. His goal with this diverse group of learners is to create a community that's equal and collaborative. One way he does this is by asking students to self-identify by comfort level. Those groups become different section levels, and they sometimes get different homework, but harder assignments are not worth more credit. Malan said recently that the "less comfortable" group has dominated his 700-person course. "At the end of the day all students are treated with the same expectations," said Malan, speaking at the Building Learning Communities conference in Boston.

Students are graded based on each individual's growth; Malan and his team of teaching assistants don't use absolute measures when assigning grades. Instead, they look at scope, how hard the student tried, correctness, how right the work was, style, how aesthetic the code is, and design, which is the most subjective. When it's time to assign grades, Malan and his teaching fellows have lots of in-depth conversations about how each student has improved relative to where he or she started...

The course includes a tool that rewrites error messages to make them easier to understand, plus a code-checking tool which they're planning to open source. There's also a cloud-based IDE which "allows students to access their code from multiple locations," though students can also submit their code through GitHub. (The original submission complains that Harvard's students are "coddled.") But Malan says the class works partly because there's an intentionally social aspect to it -- including numerous teaching assistants holding office hours in public spaces and "the human structure within the course." Guest lecturers have even included Mark Zuckerberg and Steve Ballmer.

But all these technical details don't really capture the wild flavor of the course and all of its multimedia bells and whistles. Malan's fast-paced lectures often close with relevant clips from movies -- for example, a lecture on cryptography which ended with video from a movie you'd see "if you turn on your TV on December 24th."
Mozilla

Rust Blog Touts 'What We Achieved' in 2017 (rust-lang.org) 153

An anonymous reader quotes the official Rust blog: Rust's development in 2017 fit into a single overarching theme: increasing productivity, especially for newcomers to Rust. From tooling to libraries to documentation to the core language, we wanted to make it easier to get things done with Rust. That desire led to a roadmap for the year, setting out 8 high-level objectives that would guide the work of the team. How'd we do? Really, really well.
Aaron Turon, part of the core developer team for Rust, wrote the blog post, and specifically touts this year's progress on lowering the learning curve with books and curriculum, as well as actual improvements in the language and a faster edit-compile-debug cycle. He also notes new support for Rust in IntelliJ and Atom (as well as preview versions for Visual Studio and Visual Studio Code) in 2017 -- and most importantly, mentoring. I'd like to specifically call out the leaders and mentors who have helped orchestrate our 2017 work. Leadership of this kind -- where you are working to enable others -- is hard work and not recognized enough. So let's hand it to these folks...! Technical leaders are an essential ingredient for our success, and I hope in 2018 we can continue to grow our leadership pool, and get even more done -- together.
GNOME

Fedora 27 Released (fedoramagazine.org) 65

The Fedora Project has announced the general availability of Fedora 27 Workstation and Fedora 27 Atomic editions. Fedora 27 brings with it "thousands of improvements" from both the Fedora Community and various upstream software projects, the team said on Tuesday. From a post on Fedora Magazine: The Workstation edition of Fedora 27 features GNOME 3.26. In the new release, both the Display and Network configuration panels have been updated, along with the overall Settings panel appearance improvement. The system search now shows more results at once, including the system actions. GNOME 3.26 also features color emoji support, folder sharing in Boxes, and numerous improvements in the Builder IDE tool. The new release also features LibreOffice 5.4.
Cellphones

Apple's Swift 4.0 Includes A Compatibility Mode For 'The Majority' Of Swift 3.x Code (infoworld.com) 122

An anonymous reader quotes InfoWorld: Swift 4.0 is now available. It's a major upgrade to Apple's Swift, the three-year old successor to the Objective-C language used for MacOS and iOS application development. The Swift 4 upgrade enhances the Swift Package Manager and provides new compatibility modes for developers. Apple said Swift 4 also makes Swift more stable and improves its standard library. Swift 4 is largely source-compatible with Swift 3 and ships as part of Apple's Xcode 9 IDE...

Swift 4's new compatibility modes could save you from having to modify code to be able to use the new version of the compiler. Two modes are supported, including the Swift 3.2 mode, which accepts most source files built with Swift 3.x compilers, and the Swift 4.0 mode, which includes Swift 4 and API changes. Apple said that some source migration will be needed for many projects, but the number of source changes are "quite modest" compared to many previous major changes between Swift releases.

Apple calls Swift 4.0 "a major language release" that also includes new language changes and updates that came through the Swift Evolution process.
Ubuntu

Ask Slashdot: Ubuntu 18.04 LTS Desktop Default Application Survey 298

Dustin Kirkland, Ubuntu Product and Strategy at Canonical, writes: Howdy all- Back in March, we asked the HackerNews community, "What do you want to see in Ubuntu 17.10?": https://ubu.one/AskHN. A passionate discussion ensued, the results of which are distilled into this post: http://ubu.one/thankHN. In fact, you can check that link, http://bit.ly/thankHN and see our progress so far this cycle. We already have a beta code in 17.10 available for your testing for several of those:

- GNOME replaced Unity
- Bluetooth improvements with a new BlueZ
- Switched to libinput
- 4K/Multimonitor/HiDPI improvements
- Upgraded to Network Manager 1.8
- New Subiquity server installer
- Minimal images (36MB, 18% smaller)

And several others have excellent work in progress, and will be complete by 17.10:

- Autoremove old kernels from /boot
- EXT4 encryption with fscrypt
- Better GPU/CUDA support

In summary -- your feedback matters! There are hundreds of engineers and designers working for *you* to continue making Ubuntu amazing! Along with the switch from Unity to GNOME, we're also reviewing some of the desktop applications we package and ship in Ubuntu. We're looking to crowdsource input on your favorite Linux applications across a broad set of classic desktop functionality. We invite you to contribute by listing the applications you find most useful in Linux in order of preference.


Click through for info on how to contribute.
Open Source

Microsoft Makes 'Visual Studio Code Extension for Arduino' Open Source (betanews.com) 65

BrianFagioli quotes BetaNews: Thursday, Microsoft released yet another open source tool on GitHub -- Visual Studio Code Extension for Arduino. This MIT-licensed code should greatly help developers that are leveraging Arduino hardware for Internet of Things-related projects and more. "Our team at Visual Studio IoT Tooling, researched the development tools developers are using today, interviewed many developers to learn about their pain points developing IoT applications, and found that of all layers of IoT, there are abundant dev tools for cloud, gateway, interactive devices, and industrial devices, but limited availability and capability for micro-controllers and sensors...

"Keeping open source and open platform in mind, we started the work to add an extension on Visual Studio Code, the cross-platform, open sourced advanced code editor, for Arduino application development," says Zhidi Shang, R&D and Product Development, Microsoft.

Microsoft's adds that its tool "is almost fully compatible and consistent with the official Arduino IDE," extending its capabilities with "the most sought-after features, such as IntelliSense, Auto code completion, and on-device debugging for supported boards."

Maybe this would be a good time to ask if anybody has a favorite IDE that they'd like to recommend?
Software

Ask Slashdot: What's the Best Working Environment For a Developer? 360

New submitter Dorgendubal writes: I work for a company with more than a thousand developers and I'm participating in activities aimed at improving the work experience of developers. Our developers receive an ultrabook that is rather powerful but not really adapted for development (no admin rights, small storage capacity, restrictive security rules, etc.). They also have access to VDIs (more flexibility) but often complain of performance issues during certain hours of the day. Overall, developers want to have maximum autonomy, free choice of their tools (OS, IDE, etc.) and access to internal development environments (PaaS, GIT repositories, continuous delivery tools, etc.) . We recently had a presentation of VMWare on desktop and application virtualization (Workstation & Horizon), which is supposedly the future of the desktops. It sounds interesting on paper but I remain skeptical.

What is the best working environment for a developer, offering flexibility, performance and some level of free choice, without compromising security, compliance, licensing (etc.) requirements? I would like you to share your experiences on BYOD, desktop virtualization, etc. and the level of satisfaction of the developers.

Slashdot Top Deals