Draft:C(-PI)²
Draft article not currently submitted for review.
This is a draft Articles for creation (AfC) submission. It is not currently pending review. While there are no deadlines, abandoned drafts may be deleted after six months. To edit or make changes to this draft, simply click on the "Edit" tab at the top of the window. To be accepted, a draft should:
It is strongly discouraged to write about either yourself or your business or employer. If you do so, you must declare it. Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
Last edited by Qwerfjkl (bot) (talk | contribs) 8 hours ago. (Update) |
C(-PI)² Programming Language
C(-PI)² is a programming language created by Al-Mesri Aiman as an experimental and performance-focused language designed for graphics, systems, and high-level application development. It is built using C++, Vulkan and GLFW, with LLVM used as its compilation and optimization backend to achieve high performance and low-level control.
The project began in early 2026 and was developed over an intensive period of work, focusing on building a functional language system capable of handling real-time graphics, system-level execution, and extensible application development.
A key milestone in the development of C(-PI)² was its ability to render a physics-based black hole simulation, demonstrating advanced graphics rendering capabilities and shader-driven visual computation. The language was also used to build a complete game prototype, showing that it can be used for real software beyond experimental output.
C(-PI)² was designed with a clear purpose: to support the creation of graphics applications, software tools, artificial intelligence systems, and operating system components. Its architecture emphasizes speed, low-level hardware interaction, and flexibility for developers who want direct control over system resources.
By integrating LLVM, the language gains a compilation pipeline that allows optimization and scalability, making it suitable for more complex software systems. This design choice also enables C(-PI)² to expand beyond a simple experimental language into a broader ecosystem for high-performance computing.
During development, Al-Mesri Aiman identified a limitation: C(-PI)² alone was not suitable for handling hashing, encryption, and secure encoding systems efficiently. To solve this, he designed a companion helper language called safe++, created specifically to handle security-related operations such as hashing and encryption. This separation allowed C(-PI)² to remain focused on performance and graphics, while safe++ handled security and data protection tasks.
The language is planned to evolve further with support for GUI development, advanced graphics pipelines, and audio systems, aiming to become a multi-domain programming environment capable of handling full software stack development.
C(-PI)² is part of a larger vision by its creator, Al-Mesri Aiman, to build foundational technologies that combine programming languages, graphics systems, and operating system design into unified, high-performance tools for future software development.
Example of C(-PI)²:
using VideoVK
const var string[projectName] = "C(-PI)² Project"
var Window[window] = createWindow(projectName, 1280, 720, escape, false)
var Instance[instance] = createInstance("C2", 1, 0, 0, false)
var Validation[val] = customaizeValidation(false, "VK_LAYER_KHRONOS_validation")
var Surface[surface] = createSurface("window", true)
var PhysicalDevice[gpu] = selectPhysicalDevice(0, "", false)
var QueueFamily[queues] = createQueueFamily(-1, -1)
var LogicalDevice[device] = createLogicalDevice(true, false)
var Swapchain[swapchain] = createSwapchain(3, "fifo", "bgra8_srgb", true)
var Framebuffer[framebuffer] = createFramebuffer(0, 0.05, 0.05, 0.08)
var CommandBuffer[cmd] = createCommandBuffer(2, true)
var FramesInFlight[frames] = createFramesInFlight(2)
var Shader[shader] = createShader("embedded", "embedded")
var Pipeline[pipeline] = createPipeline(shader, "triangle_list", false)
var Camera[camera] = createCamera(0.0, 0.0, 5.5, -10.0, 0.0, 0.0, 60.0, 0.1, 100.0)
var vector<float>[pyramidVertices] = [
-1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0,
1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.0, 1.0, 0.0,
1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.0, 1.0, 0.0,
1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 0.0, 1.0, 0.0,
-1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 0.0, 1.0, 0.0
]
var vector<float>[pyramidColors] = [
0.15, 0.18, 0.22, 0.15, 0.18, 0.22, 0.15, 0.18, 0.22,
0.15, 0.18, 0.22, 0.15, 0.18, 0.22, 0.15, 0.18, 0.22,
1.00, 0.25, 0.20, 1.00, 0.25, 0.20, 1.00, 0.80, 0.25,
0.20, 0.85, 1.00, 0.20, 0.85, 1.00, 0.80, 0.55, 1.00,
0.35, 1.00, 0.45, 0.35, 1.00, 0.45, 1.00, 0.95, 0.95,
1.00, 0.70, 0.25, 1.00, 0.70, 0.25, 1.00, 0.95, 0.95
]
var Shape3D[pyramid] = createShape3D(pyramidVertices, pyramidColors)
bindPipeline(pyramid, pipeline)
var float[x] = 0.0
var float[y] = 0.0
var float[z] = 0.0
var float[rx] = 0.0
var float[ry] = 0.0
var float[s] = 1.0
func<void> -> input()
if(keyDown("left")) ry = ry - 1.0 endif
if(keyDown("right")) ry = ry + 1.0 endif
if(keyDown("up")) rx = rx - 1.0 endif
if(keyDown("down")) rx = rx + 1.0 endif
if(keyDown("d")) x = x - 0.05 endif
if(keyDown("a")) x = x + 0.05 endif
if(keyDown("q")) y = y + 0.05 endif
if(keyDown("e")) y = y - 0.05 endif
if(keyDown("w")) z = z + 0.05 endif
if(keyDown("s")) z = z - 0.05 endif
if(keyDown("+")) s = s + 0.02 endif
if(keyDown("-")) s = s - 0.02 endif
endfunc
func<void> -> update()
pyramid.x = x
pyramid.y = y
pyramid.z = z
pyramid.rotationX = rx
pyramid.rotationY = ry
pyramid.scaleX = s
pyramid.scaleY = s
pyramid.scaleZ = s
endfunc
func<void> -> render()
beginFrame(framebuffer)
beginCommand(cmd)
bindPipeline(cmd, pipeline)
drawShape3D(cmd, pyramid, camera)
endCommand(cmd)
submit(cmd, queues.graphics)
present(swapchain)
endfunc
func<void> -> main(const var string[argv], const var int[args]) : special
while(windowOpen("window"))
call input()
call update()
call render()
endwhile
endfunc
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
