When Alexander Chistyakov, I am a Evangelist vdsina.ru and about 9 the best technology events of 2019. In the assessment I relied more on your taste than on the opinion of experts. Therefore, in this list, for example, was not included unmanned vehicles, because nothing new and surprising in this technology.
I didn't sort events in the list according to importance or wow-effect, because their importance will be clear in ten years and wow-effect is too short, just tried to make the story coherent.
1. Portable server applications in the programming language Rust under WebAssembly
I will start the review of the two reports:
1. Report Brian Cantrill “Time to rewrite the OS to Rust?”, read them in 2018.
At the time of reading the report, Brian Cantrill worked at Joyent on the position of CTO and has no idea what the outcome for him and Joyent 2019.
2. Report Steve Klubnika, a member of the core team of the Rust language, and author of “The Rust Programming Language”, working to Cloudflare, where he talks about the features of the Rust language and technology WebAssembly, allowing to use web browsers as the platform to launch applications.
In 2019-th WebAssembly with its interface WASI, which provides access to operating system objects such as files and sockets, stepped beyond browsers and targeting the market for server software.
The essence of the breakthrough is obvious — humanity, there is another runtime is able to run portable applications for Web (does anyone remember the WORA principle, invented by the authors of the Java language?).
In addition, we have a relatively safe method to create these applications because of the Rust language, the raison d'être of which is to destroy whole classes of errors at compile time.
WebAssembly so turns the game, that Solomon Hykes, one of the creators of Docker, wrote that if WebAssembly and WASI existed in 2008, Docker would just not have been born.
It is not surprising that Rust was in the ranks of osvojila new portable technology — its ecosystem is rapidly developing and Rust for several years remains a favorite programming language, according to the results of a survey conducted by StackOverflow.
This slide from the report by Steve, which shows the ratio of the number of security bugs that can be avoided entirely if you use Rust to the total number of errors in MS Windows, found in the last decade and a half.
Microsoft had to respond to such a call, and she answered.
2. Verona Project from Microsoft, which will save Windows and open a new page of history for any OS
The number of errors in the Microsoft Windows kernel and most custom programs almost linearly increased in the past 12 years.
In 2019, Matthew Parkinson, Microsoft introduced to the public Project Verona, which can put an end to it.
It is an initiative of Microsoft for creating a safe programming language based on the ideas of the Rust language: colleagues from Microsoft Research found that most of the security issues associated with the heavy legacy of the C language, which was written much a part of Windows. Rust is a similar language Verona manages memory and competitive access to resources using the principle of abstractions zero-cost. If you want to understand in detail how it works, review the report of the Parkinson's.
Interestingly, Microsoft is traditionally seen as the evil Empire and enemy of all that is new, despite the fact that Simon Peyton-Jones, the principal designer of the Glasgow Haskell Compiler is working in Microsoft.
Question Brian Cantrill from the first paragraph: “is it time to rewrite the operating system kernel in Rust?” received an unexpected response — it is obvious that the operating system kernel to rewrite yet possible, but programs running in userspace has already been overwritten. Began an unstoppable process, and it will open a new page of the future for all operating systems.
3. The rise in popularity of the programming language Dart through framework Flutter
I'm sure the following news is a big surprise not only for us and the General public, but also for the majority of direct participants in the process of its formation. The programming language Dart, which appeared in Google eight years ago, this year showed a rapid growth in popularity.
I use your method for the assessment of the popularity of programming languages through the analysis of repositories on Github, once a month, updating the data in the table. If at the beginning of the year popular repositories on the Dart was only 100, but today there are already 313.
Dart was ahead of Erlang, PowerShell, R, Perl, Elixir, Haskell, Lua and CoffeeScript. Faster, it seems, this year is not growing any other programming language. Why did this happen?
One of the landmark reports this year on the version of audience this hackernews was read by Richard Feldman called “Why functional programming is not the norm?” A significant part of the report analyses how the programming languages become popular. One of the main reasons, according to Richard — the presence of a popular application or framework, in other words the killer app.
Dart for the language reason for the popularity was the development framework mobile apps Flutter, the rise of which, according to Google Trends, as once occurred at the beginning of this year.
We don't know anything about Dart, so don't do mobile development, but applaud another programming language with static typing.
4. The chance of survival of the Linux kernel and its community due to the eBPF virtual machine
We love VDSina conference: this year I went to the conference DevOops in Saint-Petersburg and participated in a round table discussion on the trends and the hot stuff in the industry. In 2019 in these conversations were in the lead opinion:
- Docker is dead, because it is too boring;
- Kubernetes is alive and will last about a year — he will still be speaking at conferences in 2020;
- meanwhile, in the Linux kernel, none of the living people does not look for a long time.
I do not agree with the last point, from my point of view, the development of the Linux kernel are now taking place not just interesting, and revolutionary things. The most noticeable — eBPF virtual machine, originally created to solve tedious task of filtering network packets, and then turned into virtual machine kernel level utility.
Development under the Linux kernel was
Development under the Linux kernel has become
Thanks to eBPF, the kernel now reports the occurrence of events that can be partially processed outside the kernel — interface gives you the ability to safely and effectively communicate with the kernel from userspace and to extend the functionality of the Linux kernel, avoiding the all-seeing eye of Linus Torvalds.
To eBPF development of programs whose activities are closely connected with the interaction with the Linux kernel was a difficult story to create things like the drivers are not very fast devices and interfaces for filesystems in userspace required to undergo a formal review by experienced kernel developers Linux.
The appearance of the interface eBPF greatly simplified the process of writing such programs — the entry threshold is decreased, the developers will be more and community will live again.
I am not alone in my enthusiasm: kernel developer with years of experience David Miller declares the importance of eBPF for survival (!) ecosystem development on the core. Another, no less famous developer Brendan Gregg (I'm his big fan) calls eBPF breakthrough, the likes of which has not been 50 years.
Meanwhile, Linus Torvalds, for such are usually not publicly praises and I can see his point — who wants to publicly expose himself as an idiot? :)
5. Linux scored almost the last nail in the coffin of FreeBSD due to the asynchronous interface io_uring in the Linux kernel
Since we are talking about the Linux kernel, it is necessary to mention another significant improvement that occurred this year: the inclusion in the core of a new high-performance asynchronous APIs I/o io_uring authored by Jens Axboe from Facebook.
Many years of system administrators and developers for FreeBSD justified his choice by the fact that FreeBSD's asynchronous I / o was done better than in Linux. For example, the argument used in his report in 2014, the year Gleb Smirnov from Nginx.
Now the game has flipped. To use io_uring have already switched distributed file system Ceph and results of performance tests are impressive, the growth in the number of operations input/output per second ranges from 14% to 102% depending on block size. There is a prototype that uses asynchronous I / o in PostgreSQL (at least for background writer), the planned further work on the translation of PostgreSQL asynchronous input-output. But given the conservatism of the community, in 2020 these changes we will not see.
6. The triumphant return of the AMD line of processors Ryzen
Nothing unusual, just AMD for a long time, the former industry on the sidelines, breaking record after record.
The new line of processors Ryzen showed an incredible price/performance: they dominate the list of best-selling processor on Amazon, and in some regions sales of AMD exceeded sales Intel. The competition forced Intel to go for extremely unpopular measures: makes the program created using their own compiler to work less efficiently on the processors of a competitor. Despite the nasty ways of dealing with Intel, AMD's market valuation is very close to record levels in 2000 years.
7. After AMD, Apple aims to bite off a piece of the pie Intel using iPadOS old and above gates
In the battle of the giants usually try to involve all who can hold a weapon in his hands, and forage base Intel claims not only AMD. Apple behaved like an old bull joke.
Releasing a new iPadOS, Apple used against Intel tactic called “disruptive innovation” disruptive innovation.
"Disruptive innovation" (eng. Disruptive innovation) — innovation that change the ratio values in the market. While old products become uncompetitive simply because the options, based on which a previously held competition, lose their value.
Examples of "disruptive innovation" are the phone (instead of the Telegraph), ships (replaced sailing ships), semiconductors (replaced vacuum tubes), digital cameras (instead of film), electronic mail ("undermined" traditional mail).
Apple uses its own processors based on ARM designs with low power consumption and it turned out to users is more important than a little lagging behind Intel x86 performance.
Apple manages to snatch part of the market, turning the iPad from the terminal to experience a full-fledged working tool — first for those who creates the content, and now for developers. Of course, soon we'll see a MacBook based on ARM, but a little trouble with the design of the MacBook Pro keyboards contribute to the search for alternative solutions and one of them is going to be the iPad Pro with iPadOS.
And then gates and Microsoft?
At the time, gates pulled the same trick with IBM.
In the 1970s IBM dominated the server market, with the confidence of a giant oblivious to personal computers for ordinary people. In the 1980s, gates creates the money by IBM and is licensing it for MS-DOS, leaving the rights to the operating system itself. After receiving the money, Microsoft creates under the MS-DOS graphical interface Windows and is born — at first just a graphical add-on to DOS, and then the first operating system for PC, convenient for use by the masses. IBM, being a large unwieldy company loses the personal computing market is young and fast Microsoft. I very briefly recounted this wonderful story, so if you're wondering how in 2020 Apple will play against Intel with iPadOS, I highly recommend to read it whole.
8. The strengthening of the position of ZFSonLinux — the old horse furrow not spoil
Company Canonical has presented the option of installing Ubuntu using ZFS filesystem as the root file system directly from the installer. Sometimes I think engineers working at Sun Microsystems, represent a single biological species Homo sapiens (the aforementioned Brian Cantrill and Brendan Gregg worked in the Sun). Judge for yourself, despite the perennial attempts of humankind to do something at least remotely similar to the ZFS file system, despite the intractable licensing restrictions preventing the inclusion of ZFS source code in the main development branch of the Linux kernel, we still use ZFS, and in the near future the situation will not change.
9. Oxide Computer Company — we will closely follow a team that is clearly capable of much, at least, to create a great show
I complete your list new mention of Brian Cantrill, from which I started.
Brian Cantrell with other engineers (some of whom also previously worked at Sun) have started a company called Oxide Computer Company, whose main purpose — the creation of server platform suitable for use on a large scale. It is known that very large corporations such as Google, Facebook and Amazon, not used in the activity of conventional server hardware. Company Brian aims to address this disparity by developing a hardware and software platform suitable for use in any cloud service (no cost and no programming language Rust).
Their idea — the promise of a new revolution, and I'm at least happy to observe the movement of their thoughts and their development in the coming 2020.