DEV Community

Cover image for Razen Programming Language beta v0.1.695
Prathmesh barot
Prathmesh barot

Posted on

Razen Programming Language beta v0.1.695

Announcing Razen v0.1.695: Streamlining the Language and Supercharging Error Handling ๐Ÿš€ (Beta)

Hey Dev.to fam! ๐Ÿ‘‹

Iโ€™m thrilled to share a new milestone for Razen, the programming language Iโ€™ve been passionately developing. Weโ€™ve just released v0.1.695, now in Beta, focused on making Razen leaner, more reliable, and developer-friendly โ€” especially when it comes to error handling and library support.


Why Beta?

Razen is still early-stage but rapidly evolving. The Beta status means:

  • The core syntax and libraries are mostly stable, ready for serious exploration
  • Weโ€™re actively gathering community feedback to shape future features
  • Some APIs and tokens are still in flux (like the recent token removals), aiming for a clean, maintainable language

If you like being on the cutting edge, diving into language design, or helping steer a language from ground zero, this is a perfect time to jump in.


Whatโ€™s New in v0.1.695?

โœจ Enhanced Error Handling โ€” Because Bugs Happen

  • Robust try-catch-finally ensures your cleanup always runs
  • Clearer error messages with line and column details
  • Nested exceptions support for complex error flows

๐Ÿ“š Library System Revamp

  • Faster library imports for a smoother dev experience
  • StrLib now packs more punch with advanced string operations
  • TimeLib handles all your date/time needs cleanly and consistently

Cleaning House: Token Removal for Simplicity

Based on community feedback, we removed some redundant tokens, especially around strings and date/time. This makes Razen easier to learn, parse, and maintain:

  • String operations use StrLib functions instead of dedicated tokens
  • Date/time now handled through TimeLib functions

Migration Example

lib strlib;
lib timelib;

# Before
text greeting = "Hello, World!";
concat fullName = "John" + " " + "Doe";
slice firstName = "John Doe"[0:4];
len nameLength = "John Doe".length;

# After
take greeting = "Hello, World!";
take firstName = StrLib[substring]("John Doe", 0, 4);
take nameLength = StrLib[length]("John Doe");

# Date & Time
let currentTime = TimeLib[now]();
let year = TimeLib[year](currentTime);
let month = TimeLib[month](currentTime);
Enter fullscreen mode Exit fullscreen mode

Why This Update Matters

By simplifying the language and beefing up error handling, Razen becomes:

  • More intuitive for new and experienced devs alike
  • More performant under the hood
  • Easier to maintain and extend as the language matures

Join Us on This Journey

Razen is an evolving Beta project, and your feedback is invaluable! Try it out, experiment, break things, and share your thoughts:

Letโ€™s build something great together โ€” a language that respects the wisdom of the past but embraces the future.


Thanks for reading and being part of the dev community! If you want tutorials, deep dives, or to discuss language design, just say the word.

โ€” Prathmesh, Creator of Razen

Top comments (0)