[Official Events] Unilang Comes Out - A New Programming Language from Deepin
poster avatar
2022-09-27 21:20


Deepin releases the self-developed new general-purpose programming language - Unilang, which has been developed for two years from 2020 to 2022!

Here is the creation process of Unilang:

April 2020: We decided to develop our "own language" to further develop a GUI framework;

June 2020: After research and analysis, we created the Unilang repository and submitted the first line of code;

March 2021: We started to generate the object code, and basically realized the main features designed in 2020;

September 2022: The new general-purpose programming language Unilang is published for all developers!

In the process, we analyzed a series of solutions such as Dart/Flutter, Swift/SwiftUI, and decided on requirements and development directions; to solve the conflict between rapid output and a perfect design, we tried different solutions and gave first priority to quality. Through the hard work of deepin teams, the little budding idea was finally realized

Today, Unilang comes out for you!

Why do we create Unilang?

In fact, there were already quite a few mature solutions for desktop application development.


The C/C++ native application development solution as Qt is the mainstream solution for many Linux desktop applications. C/C++ has mature language standards and implementations, rich development resources, and is representative of the most portable industrial languages. But at the same time, it is difficult to learn; the project development cycle is often long; as statically typed languages, the type systems are not that powerful and they contribute little to the development experience. Most of these overall problems are difficult to improve in the short term.

The development solution based on the non-native and dynamic language runtime as Electron is another mainstream solution. Using popular dynamic languages can overcome the problem that some static languages are not flexible, but it is sometimes difficult to ensure quality. Most developers find it difficult to effectively optimize the runtime mechanism, and it is easy to cause problems such as memory leaking, which greatly affects the quality and development experience of GUI applications.

Is there a solution that can solve the problems of the above two options?

The hybrid solutions of native and dynamic languages such as PySide seem to be the "ideal answer". However, it can not automatically solve the problems brought by native languages and dynamic languages themselves. At the same time, it requires developers to understand the basic scheme and does not guarantee that it is easier to use. Otherwise, once used improperly, it is possible to integrate the defects rather than the advantages of the two. Mobile app solutions as by Flutter are also migrating to the desktop, but it has problems similar to those in the solutions of other dynamic language runtimes, which is not really a perfect alternative.

From the perspective of higher-level structure, different types of GUI solutions also have different technical limitations in the sense of architecture. All in all, none of the existing solutions can solve all the problems, and become the unquestioned and well-received preferred solution for desktop development.

Therefore, after a comprehensive analysis of all the options, we are eager to have such a language:

It can solve all the above pain points as soon as possible;

It can greatly help developers who are forced to give up due to difficulties in the secondary development of the language;

It can truly achieve universality in a deeper way.

That's why we create Unilang.

What are the new features?

Unilang is a brand-new, modern, general-purpose programming language, which makes desktop application development more efficient and flexible, and solves language disadvantages of new solutions. Compared with other languages, what are the new features of Unilang?

  • Unilang is a Turing-complete general-purpose computing language with innovative language features, which can build powerful and easy-to-use abstractions.
  • Unilang's emphasis on first-class objects makes it easier than ever to reuse almost any source program component if you want.
  • The underlying design of Unilang's base language and language extensions allows you to smoothly implement improvements to the language's design in an unprecedented way while maintaining compatibility.
  • The resource management model and abstraction capabilities of Unilang make the program performance on different computing resource platforms naturally consistent by default and easy to adjust.
  • The language characteristics of Unilang determine that you are not bound to specific pragmatic paradigms.
  • The minimalist design of Unilang's core language features helps you get started faster and easier.
  • Unilang is not a language that requires you to be well-versed and proficient in various features — If the language has no problems, lots of developers can pay more attention to solving issues beyond the language.

It is worth mentioning that Unilang is designed at the level of language features to support different application development scenarios, but is neutral to these scenarios in principle. This means — it can support the development of both server-side and client-side applications without requiring users to switch their thinking paradigms or drastically change their language habits.

For the specific language design specification of Unilang, please visit: https://github.com/linuxdeepin/unilang/blob/master/doc/Language.zh-CN.md

Join Unilang team

Currently, it is planned to support Qt-based binding libraries to bridge some existing desktop application projects. In the future, it is also planned to provide an execution engine generated by optimized JIT code after the stable implementation of the base language features of the interpreter. The new implementation can directly replace part of the core of the existing interpreter without changing the Unilang code that already uses the interpreter, obtaining a significant performance improvement "for free".

Born for innovation — Unilang is just born, which needs continuous improvement and development. As for innovation , we need to actively absorb various experimental extensions, so as to take advantage of the advanced achievements of the programming language community and make it quickly grow into one of the much-anticipated root technologies.

Therefore, whether it is an individual or an organization, whether reporting an issue or contributing code, we sincerely look forward to your participation in the construction of Unilang to make it better together! Not only our work is needed, but also yours!

Project address: https://github.com/linuxdeepin/unilang

Follow US:

Twitter: https://twitter.com/linux_deepin/

Reddit: https://www.reddit.com/r/deepin/


Reply Favorite View the author
All Replies
deepin testing team
2022-10-09 21:05


Reply View the author
2022-12-09 07:43

A entire source code for a cryptocurrency trading platform is known as a cryptocurrency exchange script. This script is simple to use and may be altered to follow shifting market patterns.

You need some fundamental developer expertise and to be aware of the technical components of bitcoin exchange script in order to choose the finest cryptocurrency exchange script.

However, full technical understanding of the cryptocurrency exchange script is required for businesspeople who want to launch a trading exchange for digital currencies. Business folks don't have a lot of time to learn about or comprehend things from the perspective of engineers.

Reply View the author
2022-12-20 01:47

Thanks for your article! As a programmer, it is important for me to know about all the innovations in programming. I am constantly learning new languages and I need to constantly turn to mongodb homework help for help, and this helps me learn quickly and qualitatively new programming languages. This is very important for me.

Reply View the author
2023-01-17 09:22

В партнерской программе интернет-казино могут участвовать практически все, от неизвестного блогера до маркетингового агентства. Но когда участников программы становится слишком много, становится проблематично следить за активностью каждого и проводить своевременные выплаты. Для решения этих проблем и существует Affilka — платформа для управления аффилиатами.

Reply View the author
2024-02-14 13:45

Unilang, a revolutionary language, addresses the shortcomings of existing solutions for desktop development. With its innovative features like first-class objects and seamless compatibility upgrades, Unilang streamlines development cycles and ensures consistent performance across platforms. Our website offers Data Regression Assignment Help services, leveraging Unilang's efficiency for data analysis tasks. Experience the future of programming with Unilang and optimize your workflow with our expert assistance. Visit our website to learn more and boost your productivity today!

Reply View the author
2024-02-14 13:49

Discover Unilang, a groundbreaking programming language born from deep analysis and dedicated effort. Say goodbye to the limitations of existing solutions like C/C++, Electron, or PySide. With Unilang's innovative features and minimalist design, desktop application development becomes efficient and flexible. Experience first-class object emphasis, smoother language improvements, and neutral support for various development scenarios. Join us in shaping the future of programming with Unilang. For Investment Banking Assignment Help, visit our website: https://www.financeassignmenthelp.com/investment-banking-assignment-help/.

Reply View the author
2024-02-14 13:55

Exciting news for all developers and tech enthusiasts! Deepin has unveiled Unilang, a groundbreaking general-purpose programming language designed to revolutionize desktop application development. With features like first-class objects and a minimalist design, Unilang offers unparalleled flexibility and efficiency. Plus, its emphasis on resource management ensures consistent performance across different platforms. Ready to dive into the future of programming? Join the Unilang team and be part of this innovative journey! And hey, while you're at it, don't forget to ace your Regression Analysis Homework Help with our expert assistance at EconomicsHomeworkHelper.com. Let's excel together! 💡🚀 #Unilang #Programming #RegressionAnalysis #HomeworkHelp

Reply View the author
2024-02-14 13:56

Discover a breakthrough in programming! Unilang, a revolutionary general-purpose language by Deepin, simplifies desktop app development. Tackle your Capital Asset Pricing Model Assignment with ease! Unilang offers first-class object emphasis and a minimalist design for efficient coding. Plus, it bridges Qt-based projects seamlessly. Join us in shaping the future of programming at https://www.financeassignmenthelp.com/ and explore Unilang's potential today!

Reply View the author
2024-02-14 13:58

As a student, struggling with accounting? Don't fret! Check out Takemyclasscourse for expert help. Whether it's grasping concepts or acing exams, they've got you covered. With Unilang's release, mastering coding and accounting simultaneously is a breeze. Take My Accounting Class stress-free with their tailored assistance. Visit Takemyclasscourse now for seamless learning!

Reply View the author
2024-02-14 14:00

Excited to explore Unilang's innovative features! Eager to contribute to its growth and evolution. Count me in for Solidworks Assignment Help.

Reply View the author
2024-02-14 14:07

Explore the future with Deepin's Unilang! From inception in 2020 to its launch in 2022, experience innovation with Online Programming Homework Help in the USA. Get expert guidance today!

Reply View the author
2024-02-14 14:09

Thanks for sharing this exciting news! As a student interested in programming languages, learning about the development of Unilang is really fascinating. It's impressive to see the effort and innovation that went into creating a new general-purpose language aimed at solving existing pain points in desktop application development. I definitely need to explore this further to understand its features and potential applications. Also, for anyone seeking expert assistance with topics like smalltalk assignment help, I highly recommend checking out programminghomeworkhelp.com for reliable support.

Reply View the author
2024-02-14 14:15

Thank you for sharing this insightful journey of Unilang's development! It's truly fascinating to see the meticulous process behind creating a new programming language. Unilang seems poised to address significant pain points in desktop application development, offering a promising solution with its innovative features. As an expert in the field, I'm excited to explore the possibilities Unilang presents for developers. For those seeking assistance with Linux assignment or looking to delve deeper into programming, sites like programminghomeworkhelp.com can be invaluable resources for guidance and support. Keep up the fantastic work in advancing the realm of programming languages!

Reply View the author
2024-02-14 14:49

Economics is a fascinating subject that explores the allocation of resources in society and the behaviors of individuals, businesses, and governments in response to scarcity. One of the key areas of study within economics is market structures. In this field, we delve into the different types of markets that exist, such as perfect competition, monopoly, monopolistic competition, and oligopoly. Understanding these market structures is crucial for analyzing how prices, quantities, and resource allocation are determined in various industries. For students seeking assistance in comprehending the intricacies of market structures, websites like economicsassignmenthelp.com offer valuable resources and guidance through their market structures assignment help services. These services can provide invaluable support in tackling assignments, understanding concepts, and mastering the subject matter.

Reply View the author
2024-02-14 15:07

I recently utilized System Stability Assignment Help service and found it immensely beneficial. Regarding your query, Unilang presents a promising solution to desktop application development challenges by amalgamating the strengths of native and dynamic languages. With innovative features like first-class objects and adaptable resource management, Unilang offers efficiency and flexibility. Its minimalist design and compatibility focus ensure a smoother development experience. Unilang stands as a beacon for developers seeking a versatile and powerful programming language for desktop applications.

Reply View the author
2024-02-22 13:46

Drift Hunters . Players enjoy the thrill of drifting. It's a leisure activity used during free time.

Reply View the author
2024-06-10 17:01

Congratulations to Deepin on launching Unilang, a revolutionary programming language for desktop application development. For expert assistance in mastering complex languages like Unilang, trust ProgrammingHomeworkHelp.com. Our Prolog Assignment Help ensures precise, timely assistance, deep understanding, and top grades. Elevate your programming skills and academic performance with us today

Reply View the author
2024-06-10 17:35

Interesting read! It's evident there's a need for a language that bridges the gaps between existing solutions. Unilang seems promising with its focus on flexibility and efficiency in desktop app development. Speaking of which, if you're ever in need of assistance with filter design assignments, our website offers expert help tailored to your requirements. Enhance your understanding and performance with our filter design assignment help services today.

Reply View the author
2024-06-10 19:32

Thank you for highlighting Unilang’s innovative features. Optimizing network performance is crucial for smooth application development. At ComputerNetworkAssignmentHelp.com, our network optimization assignment help service ensures your network can handle modern development demands, allowing you to focus on Unilang's potential. Reach out for expert network optimization to support your innovative projects.

Reply View the author