NitroPascal v0.3.0 #5
jarroddavis68
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
🚀 NitroPascal v0.3.0: Production-Ready Milestone
TL;DR
NitroPascal just crossed the threshold from "interesting experiment" to "actually useful tool". With exception handling, comprehensive string manipulation, file I/O, dynamic arrays, sets, external library integration, and conditional compilation, you can now build real, robust, working applications in pure Delphi syntax that compile to native, high-performance C++.
🎯 The Productivity Milestone
This isn't just another incremental update - v0.3.0 is the milestone where NitroPascal becomes production-ready. You can now:
✅ Handle errors gracefully - try..except..finally for robust error handling
✅ Manipulate strings - Copy, parse, search, format, convert
✅ Read and write files - Text files, binary files, complete file system access
✅ Use dynamic data structures - Dynamic arrays and sets that grow at runtime
✅ Call external libraries - Integrate with any Windows DLL or Unix shared library
✅ Target multiple platforms - Conditional compilation for Windows, Linux, macOS
✅ Build real applications - Not toy programs - actual, productive software
🔥 What's New in v0.3.0
Exception Handling - The Game Changer
This is the big one. Real applications need real error handling. NitroPascal now has full exception support:
What you get:
try..except
- Catch and handle errorstry..finally
- Guaranteed resource cleanup (files, memory, etc.)try..except..finally
- Both error handling and cleanupRaiseException(msg)
- Throw exceptionsGetExceptionMessage()
- Retrieve exception messageThis changes everything. You can now write production-quality code that handles errors gracefully, cleans up resources properly, and recovers from failures. No more crossing your fingers and hoping nothing goes wrong.
String Manipulation - Finally Complete
No more cobbling together workarounds - NitroPascal now has a complete string library:
File I/O - Build Real Applications
Read configuration files. Parse data. Write logs. Generate reports. Do actual work:
Dynamic Arrays - Real Data Structures
Static arrays are fine for fixed-size data, but real applications need dynamic structures:
Sets - Efficient Membership Testing
Need to track which options are enabled? Which days are selected? Use sets:
External Library Integration - Use Any Library
Call Windows APIs. Use existing C libraries. Integrate with any native code:
The compiler automatically tracks external libraries and links them. It converts Pascal string types to C types at the call site. Zero friction interoperability.
Conditional Compilation - One Codebase, All Platforms
Write platform-specific code without breaking other platforms:
Available defines:
Math Library - Scientific Computing
Trigonometry. Statistics. Numerical analysis. Now possible:
Enhanced Control Flow
Better loop control and function declarations:
💪 Why This Matters
This release closes the gap between "proof of concept" and "production tool". You now have:
🎁 The RTL Keeps Getting Better
The Runtime Library now includes:
Everything maintains true Delphi semantics while generating optimal C++ code that compiles to native machine code via Zig's LLVM backend.
📚 Documentation
Want to see what's working RIGHT NOW?
Check the docs to see exactly what you can build today!
🚀 Getting Started
Example: A robust file processing utility with exception handling:
This is a real, working, ROBUST program that compiles to native code. Not a demo. Not a toy. A production-quality utility with proper error handling.
🌐 Community
🔮 What's Next?
With the productivity foundation in place What features do YOU need for your projects? Let us know in the discussions!
🎊 The Bottom Line
NitroPascal v0.3.0 is ready for real work.
You can now build actual applications: file processors, data analyzers, system utilities, command-line tools, and more. With exception handling, you can write robust, production-quality code that handles errors gracefully and cleans up resources properly.
Stop waiting. Start building.
Write pure Delphi. Get native C++ performance. Ship everywhere. 🚀
File Integrity
Files are signed with minisign using this public key:
RWTqBYfsUOCQscb6ZeknLC0On3cvWCVzMzlHamtgXNaDOO4bNs3WCSkV
This discussion was created from the release NitroPascal v0.3.0.
Beta Was this translation helpful? Give feedback.
All reactions