Plang is a general-purpose programming language that allows developers to write code in natural human language.
Download Plang | Discord | Twitter | Youtube | Podcast
Plang is a programming language written in natural human language.
Plang is a new type of programming language that provides various features over other operation programming languages. It has built in Identity, built in database, built in messaging, solves syncing between device, and more.
Plang provides the developer with features that he already is familiar with such as variables, condition and for statements as well as powerfull standard library, and plang is easily extendable.
Plang provides increased security and privacy to both developer and users of their application, for free.
In Plang, you write in natural language, meaning you can code in any spoken language. This makes it incredibly accessible and easy to understand, even for those who are new to programming.
For example, let's create an app that reads data from a web service and inserts that data into a database.
LoadPosts
- get https://jsonplaceholder.typicode.com/posts/, write to %posts%
- go through %posts%, call InsertPost
InsertPost
- insert into posts, %item.title%, %item.body%
This is straightforward. While there are a few basic rules, Plang eliminates the need for strict syntax, making it intuitive and easy to use.
Plang is a high-level, natural language programming framework that simplifies coding by allowing developers to define business logic in plain language.
It reduces complexity and bridges the gap between business and technical teams, making it easier to maintain, modify, and understand software. By focusing on goals and steps, Plang abstracts much of the low-level coding, enabling faster development, reduced bugs, and more secure applications, especially in data-sensitive areas
Below is a screenshot from the developer tool (IDE) while coding in Plang
For initial steps and guidance, see Getting Started with plang or jump straight to the Tutorial.
Explore plang's features and capabilities:
- Basics for everybody
- Install Plang: You start by installing Plang before anything.
- Development Environment (IDE): This is where you write your code. Makes sure to setup your development environment.
- Rules: The basic rules to follow when writing plang code.
- Basics for beginners to programming
- Variables: Learn about
%variables%
in plang and how to use them. - Conditions: Understanding
if
statements and conditional logic in plang. - Loops: Explore how to go through a list of data
- Date & Time: How you work with
%Now%
, the date and time of the system
- Variables: Learn about
- Tutorials
Create a simple Todo app to get familiar with rules and ability of plang
- 1. Todo Webservice: Simple webservice. Learn how to setup webserver, api and database
- 2. Todo LLM: How to use LLM in plang
- 3. Todo Identity: Learn to use
%Identity%
- 4. Todo GUI: Learn about how you create GUI (early alpha)
- 5. Todo New approach: Learn how you can rething User Experince with Plang
- For everybody
- Advanced
- Core
- Identity: What is Identity and why is it so important
- Private keys: What private keys are in the system and where are they stored.
- Settings: How to store and use settings in your app such as API keys and other sensitive data.
- Error Handling: How to handle errors in Plang
- Cache Handling: How to cache in Plang
- Events: Learn about event-driven programming in plang.
- Runtime
- Runtime Lifecycle: Sequence of operations when running plang
- Startup parameters: Lists out what parameters can be injected at startup
- Builder
- Building your code: How does the builder take your intent and convert it to executable code.
- Builder Lifecycle & Events: Sequence of operations when building plang and build events
- Extending the language
- Modules: Learn how to extend the language. Discover the different modules available in plang and their capabilities.
- Services: Learn how flexible the plang language is, e.g. using the db engine of your choice, your own caching service and more.
- 3rd party libraries: Learn how use existing .Net library in Plang.
- Performance: What is the perfomance of plang?
- Roadmap: What is the roadmap for plang?
- LLM
- Use OpenAI API key or Local LLM: Shows how to use OpenAI API directly instead of PLang LLM service. Discusses status of local LLM
- Supported LLM: List of supported LLM models
- Reserved keywords: See list of reserved keywords in the language
- Core
- Developing the Plang language
- Help us create PLang: Information on how to help with development of plang programming language.
- Examples of actual apps
- List of apps at https://github.com/PLangHQ/apps
- Doc builder - This doc is built with plang
- Static content generator - plang.is website is built using plang
Plang comes with a wide range of features including:
- Intuitive syntax (just natural language, with some rules)
- Powerful standard library
- Built-in Identity
- Efficient error handling
- Efficient cache handling
- Built-in Messaging system
- Built-in Database
- Dependency injection
- User privacy
- Verifiable code
- Local storage of your data
- Sync between devices
- User is in control the UX
- Programing in your native tongue
- Security at another level, eliminating most problems we have today
You can read the "paper" I wrote while developing plang. It goes into detail about the language and thoughts.
Join our community of contributors! Learn how you can contribute on GitHub.
At version 0.1.
- Creator: @ingig
- Contributors: See the list of contributors
Special thanks to everyone who has developed an open source project that plang uses. ❤️
plang is available under LGPL version 2.1. Details are in our LICENSE.
Go to the discussion board, find us on Discord or follow us on Twitter or email [email protected]