In this article, we’ll take a look at the list of recommended programming languages and frameworks that I believe will still be useful to developers in the next five to 10 years. And considering that I don’t want this list to be just another well-received programming language recommendation, although this process is difficult for everyone with their own preferences, I still choose carefully and narrow it down. I also keep thinking about how programming paradigms and innovations evolve over time as I jot down ideas in response to the rapid pace of programming evolution.
review
Looking back to 2020, we have seen a lot of changes in the past five years. New trends such as blockchain, machine learning, deep learning and quantum computing are emerging. For those just learning to program or even experienced developers, it’s a good idea to reflect on where you are and what you want to do in order to remain professional in this rapidly changing and dynamic field. Anachronism is a permanent reality that lurks over our shoulders. So get out there, start on a new journey and learn new techniques to add to your toolbars.
Why is it important for developers to choose and learn the right language or framework?
Although learning a new language and framework is a significant investment of your time, you will not get a direct return on it, either in money or in work time. But technology is always changing almost every year, so it’s important to keep up with The Times, and choosing the right language and framework can even improve your life, revolutionize the way you do business, and greatly aid in developing and long-term combat capabilities. Therefore, you naturally want the language and framework you choose to be something that is valuable and timeless.
1
Rust
Rust is a system programming language designed to be an alternative to C and C ++ development. Rust has the capabilities of C and C ++ to help developers more effectively. Those of you who use C/C ++ for programming will understand what I mean. There are already quite a few new developers entering the space. Rust has a growing user base. Today, hundreds of companies use Rust for developing languages such as Dropbox, Yelp, and CloudFlare. Products such as Amazon’s recently announced Firecracker, a virtualized Firecracker, are created with Rust, which was also rated as the “most popular” technology in StackOverflow’s 2016 developer survey (meaning it has the most users who want to continue playing it).
Although relatively new compared to other languages that have been around for decades, it has a surprisingly large list of available libraries that can be used to speed up development efforts. You can find most of what you’re looking for on crates.io or GitHub.
Some key features of Rust: Speed and memory efficiency: Since it has no Runtime or Garbage Collector, it can fully support critical performance services, run on embedded devices, and integrate easily with other languages. Over the next 5 and 10 years, as we will encounter hardware limitations, Rust will be faster, use less memory, increase speed and responsiveness, and will allow us to write more energy efficient code.
Reliability: Rust’s rich type system and ownership model ensures memory safety and thread safety, and enables you to eliminate many class errors at compile time.
Productivity: Rust has excellent documentation and a user-friendly compiler to alert you to something that is wrong. By contrast, C ++ code’s compiler messages are notoriously difficult to decrypt. Rust’s compiler is better and more useful. If you want to learn system programming, using the “Rustc” compiler as a guide will keep you from worrying about anything other than storage security.
2
Python
Python’s popularity has been steadily rising over the years, and in the last decade it has rocketed into the top five of the Tiobe Index. Python is very versatile, and it is a very practical language that is well suited to many real-world scenarios. For starters, it’s a scripting language, which means getting started is quick, without the cumbersome compile and run cycles of Java. It’s an object-oriented language in nature, that is, you choose to program in an object-oriented way. Python has replaced Java as the default language of choice in many university academic courses. For beginners, getting started with the Python interpreter is pretty easy:
$print (' hello world this is my. First program ')
That’s it. Your first program will be written in Python.
Python paved the way for the future. So its significance over the next five years and beyond is bound to be significant. Python is equipped with mature libraries such as TensorFlow, Scikit-Learn, Dask, and so on. There is a lot of code in these libraries about machine learning, deep learning, artificial intelligence, big data and other new technologies. As you can see, Python has become the world programming language for all the popular data sciences on the Internet. In addition, Python enables large-scale scalable computations in distributed data science, which can be used for quantum computing.
Python has been well received among enterprises and start-ups. These tremendous advances have been made in the last five years, and as a result, Python is now more powerful than ever. At the same time, we now have a wide range of platforms like Reddit and Google libraries built on top of Python. I personally use Python to write scripts and quickly automate many mundane tasks, and it’s a valuable language for completing free projects quickly.
If you know Python, that’s good enough. Because Python has access to Web frameworks such as Django, it is the best framework for building Web front-end and back-end applications. It follows the DRY principle of building applications quickly with very little code and very little programming experience.
3
Ruby
Ruby is another powerful high-level programming language that makes it easy for you to build applications. Ruby is an object-oriented programming language, and to those who have experience with Python, the Ruby syntax looks very similar to Python. The language also comes with all the tools you need to build complex applications.
A number of Silicon Valley startups have built their businesses on top of Ruby, including Airbnb, Twitch, GitHub and Twitter. Ruby on Rails, a full-stack Web application framework that runs Ruby, further cemented its popularity.
Some of Ruby’s key features:
- Ruby provides a powerful and simple code base
- It is helpful for rapid prototyping
- Because of the low learning difficulty, new programmers can easily get on the ground
- It is an object-oriented programming language, so you can certainly benefit from learning this paradigm
4
Golang
Go (Golang) is a relatively new programming language developed by Google. It has become more and more popular recently. Go provides excellent support for multithreading and is being widely used by many companies because they rely heavily on distributed systems. Go is designed to address a pressing problem facing Google. Google is also using Go as the primary language for new projects and replacing other languages with Go. Because Google is so relevant to our daily lives, it’s impossible to deny that it’s going to be around for the foreseeable future.
I quite agree that Go is a beautiful language with a pleasant syntax. As a dynamically typed and interpreted language, it balances professional ease of use, performance, type safety, and memory security.
Some of Go’s key features:
- One of Go’s main functions is through Goroutine and Channels. Because Go is designed to be concurrency, it allows you to use CPU power effectively, and is good at distributed systems, microservices in cloud system development.
- Lightweight, fast execution and fast development,
- Smaller memory footprint and smaller binary file size
- Automated Garbage collection
- There are no exceptions. Go handles the error itself.
Wait a minute, you read that right. What does this mean for you? Rather than throw a lot of try-catch exceptions and get lazy, let Go handle the errors. Think about it
Interesting Facts
- Global average salary for Go developers: $109,483 per year. In the United States, the average annual salary for using this top-level programming language is $136K;
- In the 2019 Stack Overflow developer survey, Go was the third highest-paid language in the world;
- The Go programming language is the fourth most active language on GitHub.
5
GraphQL
When we look back, Web API design was relatively simple compared to today because there was a REST standard for representing state transfer, retrieving data from the server, and that standard accessed the data through URLs. As more and more mobile devices are used, APIs are becoming more complex and data-driven, so new approaches must be designed to achieve better data retrieval. The GraphQl data is not what it used to be before static data, so creating such GraphQl is much more dynamic. GraphQl is a modern alternative to a REST-based architecture designed to address its shortcomings. Unlike REST, GraphQl allows you to request specific data that the client needs, which is better than the fixed data structure approach. At its core is a language for querying databases from client applications.
On the back end, GraphQl specifies to the API how to present the data to the client. GraphQl redefines what developers do with APIs that offer greater flexibility and marketability. It improves the interaction between the client and server by enabling the former to make precise data requests and get more and more data. Originally created by Facebook in 2012, GraphQl is used internally by its mobile applications through its specific data extraction capabilities to reduce network memory usage. Since then, the GraphQL specification has become open source. It is now supported by all major programming languages (e.g. Python, Java, C, Node.js, etc.). Due to the rapid expansion of the ecosystem, which makes it one of the most significant and unique technologies for the foreseeable future, GraphQl has become a useful language with its ever-expanding library and powerful tools such as Apollo, GraphiQl and GraphQl Explorer.
Some key features of GraphQl:
- GraphQl is faster and can do the job simply by selecting the fields to query
- It is ideal for complex systems and micro-services by integrating multiple systems behind its APIs
- GraphQl is well suited for building micro-services architectures that aggregate data from multiple locations into a single API and retrieve data through a single API call
- There is no over-fetching or under-fetching problem
- Out-of-the-box validation and type checking
- Automatically generated API documentation allows you to not worry about Swagger and go straight to GitHub to find out questions and clues about how to use the specification
- API evolution without versioning is a common problem with REST, because API updates force you to either create new APIs or prefix versions to URLs, and often prompt that you cannot remove them. By using GraphQl, you can have a constant self-updating version, which gives your applications continuous access to new functionality and always cleaner, more maintainable server code.
GraphQl is not trying to replace REST, but rather two different ways to solve different types of problems. As we move toward big data, it makes sense to spend some time learning about GraphQl.
6
Angular
Angular, the complete TypeScript framework for software development, is one of the best-known open source frameworks for building Web and mobile applications.
Developed by Google. Angular is a new version of AngularJS completely rewritten. Although AngularJS’s status has wavered since its first release, Angular has grown into a comprehensive development framework that includes all the tools and components needed to build Web and mobile applications. The advantage of the framework is that it follows a clear roadmap and releases a new major version of Angular every six months, which is really important if you know anything about long-term use.
Some key Angular features:
I’ll present only the resolved features in Angular 9 that may address some of your performance concerns.
- Google has long supported the framework and continues to improve it. Regular improvements are also made frequently to show that the framework has strong backing and that Google really wants to see it succeed. Therefore, knowing Google’s support and investment in it means that the framework will remain professional and usable for the foreseeable future
- Another major feature of Angular 9 is the reduction of large file packages through the Ivy Compiler, which reduces the footprint. By reducing the size of the JavaScript package, Ivy is a welcome improvement for developers trying to speed up application startup
- Angular9 supports applications in multiple languages, making it more internationalized
7
JavaScript
JavaScript is a language I sincerely recommend to you, and there is no doubt that it will continue to be popular for years to come. So investing time in this language will pay off in the future. JavaScript is more than just a client-side scripting language. Frameworks and libraries like Node JS, Angular, and React allow you to use JavaScript and do user interface development on the server side.
JavaScript is at the heart of Netflix, Facebook, Google, and many other big tech companies. Therefore, JavaScript as a language is as compatible as any other programming language. The year 2020 is the year to start learning. Use your spare time to learn JavaScript. If you don’t believe me, think about it. Almost all websites make use of JavaScript in some way.
conclusion
If you think about it, all programming languages and frameworks can build complex and powerful features. So choose an app that solves a pressing problem in the real world! No one language is right for everyone, so it’s almost impossible to always lean towards one particular language, because every language and framework has its advantages as well as its disadvantages, and we can only use it where it makes sense or doesn’t make sense. Always keep in mind and remember that the goal of any programming language or framework is to get the job done and choose the technology that best suits your taste.
🔗 Original link:
https://medium.com/swlh/top-7…
The above information comes from the network, edited by the public account of “JD.com Zhailian Cloud Developer”,
Does not represent the position of Jingdong Zhilian Cloud