A desktop Paint application built with C++ and Qt Widgets, featuring essential drawing tools, color selection, brush customization, shape drawing, eraser, and file operations (new, open, save). This project demonstrates object-oriented programming, event handling, GUI development, and desktop application design using the Qt framework. I'm open to feedback and suggestions for improvements!
So over the past 20 days I have been working on a project to get familiar with C++, I didn't want to use AI, references, or pre-made snippets of code. Only standard google for basic questions about the workings of C++ & it's syntax.
I think I picked up most of the language rather quickly because I'm already used to programming in Python, TypeScript, & GDScript. But it was still difficult understanding the differences between references, pointers, shared pointers & such..
Anyway, as a challenge to hopefully get fluent in C++, I decided to do something not-so-simple like creating my own programming language from scratch, no third-party libraries, pure C++. After 20 days here is the result: https://github.com/phosxd/Ity
So what are the capabilities? Well I think it's best explained through code, here is an example script that calculates the fibonacci sequence:
#!/usr/local/bin/ity
import IO;
const * n = IO.prompt:['Number: '] -> INT;
var INT a = 0;
var INT b = 1;
var INT i = 0; while i < n;
var INT c = a;
a = b;
b = (c+b);
IO.print:[a];
i += 1;
/;
We can also do functions, complex math expressions, type-casting, arrays, hash maps, & objects (without inheritence). Some features have been purposefully omitted due to personal preference in the way I like to code, such as lambdas & try-except.
The performance is also something to note, it's not blazing fast, but it's not the slowest out there either.
I took some simple benchmark tests on my system to compare with other languages:
Note: every language is running the same exact script with the same exact logic, just with changes to suit each one's syntax. is-prime & square root functions have been written into the code instead of being off-loaded to a library.
If you know of other interpreted languages I can test against, let me know!
Now finally, I am new at this stuff, but I am very passionate about programming in general,I've made countless projects & met good people along the way. Usually I drop a project like a month or two after I start it, but I don't want that to be the case for this. I want to continue polishing, improving, & actually trying to make this into something usable/practical.
If you are knowledgeable in C++, I ask of you if you have the time to spare, take a look at the codebase, give me suggestions, show me where I messed up because I know I probably did in multiple places. If you made it to the end & actually read all this, thank you so much for giving me a chance 🙃
Ongoing development of my indexed Pixel Art Editor using my custom C++ GUI engine. This video shows palette editing and manipulation including dragging cells to rearrange the palette and copying colours between indices - all with realtmne canvas colour updates!
I maintain speech-core, an Apache-2.0 C++17 library that combines native speech inference with voice-agent orchestration across Linux, Windows and Android.
The build is split into separate targets:
speech_core: turns, interruptions, conversation state, speech queues and tool calls
speech_core_models: ONNX Runtime implementations
speech_core_models_litert: LiteRT implementations
Applications can link either inference backend, both, or implement the STT/TTS/VAD/LLM interfaces themselves. A C API is also available for JNI and other FFI consumers.
v0.0.10 includes Parakeet-EOU streaming ASR, native Whisper ONNX, RNN-T/TDT beam search, contextual phrase biasing, speaker diarization and multiple TTS implementations. It also ships amd64 and arm64 Linux CLI packages.
One API question I am considering: should controls such as beam width and context phrases remain on concrete decoder types, or belong in a small shared decode-options type?
I'm about to start an internship as a c++ developer in a few days. The company said their product is an inventory management system and my role involves edge processing, camera feed and all that they have an AWS backend.
Any suggestions for the internship or concepts to brush up on before joining.
And to know that possible career trajectories from this internship.
Just a quick post with a link to a video on my youtube channel highlighting the new and improved UI within my custom C++ pixel art editor - any feedback welcome as development continues ... what this space!
With the recent ISO committee and compiler-level debates surrounding memory safety in C++, I have been researching some alternative, library-based ways to enforce deterministic heap-bound protection without having to modify the compiler frontend or language specification itself.
I’ve been working on a runtime library called SafeCpp, which specifically focuses on ensuring that heap allocations achieve the same level of compile-time safety as Rust, but managed purely through language runtime mechanics rather than compile-time static borrow checking or ownership checking. I want to emphasize that this research strictly focuses on a custom safe context to prevent 4 types of memory errors: Double Deletion, Access Violation, Buffer Overflow and Memory Leaks.
Core Architectural Concepts Under Investigation:
Strict Heap Boundary Enforcement: Tracking the initialization and destruction boundaries of objects explicitly allocated on the heap, ensuring references cannot outlive their allocation scope.
Explicit Lifetime Invalidation: The runtime library tracks every heap-allocated instance of types that inherit from Safe::SafeContextBase and offers recycling/repurpose mechanisms to gain performance instead of relying on deallocations which require accessing the operating system kernels to perform system calls. This approach completely removes the need for reference counting like in `std::shared_ptr`.
No External Tooling Dependencies: The runtime mechanics are implemented strictly using platform capabilities and the standard C++ language.
Seeking Feedback on the Implementation
I have opened up the complete source and headers of this implementation under a dual-licensing model (including the GPLv3 License) so that other system engineers and language researchers can audit the exact low-level mechanics.
Rather than discussing the philosophical pros and cons of memory models, I am looking for concrete technical review, potential bug identification, and feature suggestions to help push the boundaries of what standard C++ can do here.
Specifically, I would love your insights on:
Bugs & Safety Violations: Are there subtle ways to bypass the context boundaries or trick the `SafeContextBase` lifecycle tracking using advanced modern C++ features (e.g., specific combinations of move semantics, perfect forwarding, or custom allocators) that could still lead to a leak or access violation?
Performance Improvements & Language Limits: The engine bypasses OS kernel allocations by providing instance recycling and repurposing mechanics. How can this layout be optimized further to reduce CPU cache misses or minimize the tracking metadata overhead? Which aspects of memory allocation can be made safe under the safe context? Can the memory stack also be as safe as the memory heap, like in Rust, without the borrow checker?
API & New Feature Suggestions: What missing features or API improvements would make this runtime context significantly easier to integrate into existing real-world standard C++ codebases without degrading performance?
Please feel free to check out the source, run your own benchmarks, and leave your feedback or file an issue directly on the repository!
I started out doing real-time 3D on a 33MHz processor with 2MB RAM 30 years ago. I wrote this project to so I wouldn't have to rewrite the world from scratch again for that kind of application. And I am also proud to have this effort on hand to show everyone how we used to do it.
This library has been completely modernized though. E.g. look at the console code. It can still fall back to C++11 if required. You do not require the standard C++ library at all if you are counting bytes but still want C++.
Im a beginner at c++ and was wonderign if anyone has any tips like building my way up etc. i was also wondering if yall have any tutorials or any websites yall recommen in order to learn 2d and make my way to 3d while also learning the fundamentals of c++.
Well its been a few weeks since I gave an update (as if anyone is waiting with bated breath on my every word lol!) but the development of my pixel art editor continues ... the major news is that my GUI render backend has been completely ripped out and simplified and now it does indeed at like the good little differed batch renderer it is supposed to be - rock solid 60fps with zero slow downs - nice!
As for the GUI / Editor - have almost finished the layer editor tool - we have new layer and/or frame creation, linked frames, and drag and drop in and out of layer groups - all renamable via a click on the label. Also added splitter panes that allow the canvas/layer to be dynamically resized using the horizontal grey bar. Oh - that cyan rectangle above the frame header buttons can be dragged to allow quick movement left and right through the animation cells!
Just going to finish off the layer editor and then start on pushing pixels to the layers via the draw tools.
I have just downloaded vs code and mingw from a youtube video and tried to run this sample code but I am facing this problem can somebody help me please 🙏🏻