Good afternoon from the province of Barcelona. :-)
I have a client who forces me to make an application with Nim. I'm
studying this language and I'm pleasantly surprised. I attach the
URL in case there is something of interest that could be
transferred to Ring.
https://nim-lang.org/
Best regards.
Antonio F.S.
-------------------------------------------------------------------
--
---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ring-lang/592f53bd-167e-47e5-a574-50255110ef9an%40googlegroups.com.
Choosing the Right Programming Language
Selecting a programming language depends on your personal needs, whether for home projects or commercial work. If you're a student or aspiring developer aiming for job opportunities, focus on mastering languages in high demand.
For me, I'm just vibe coding and handling simple CSV sales data management at work. In this case, I prefer Ring because of its simplicity and 1-based indexing, which feels natural when working with row-and-column data (like Excel). Other key factors are its GUI library support (LibUI, Qt, and Form Designer), enabling rapid development of apps that require user input and presentable data output.
I’ve also experimented with other languages—here are my thoughts on a few worth mentioning:
General Purpose / ML / AI: Python
Pros:
- Beginner-friendly with a massive ecosystem and superb documentation.
- Extensive tutorials (even on YouTube) and dedicated package docs (e.g., Pillow, PyPDF, PyGame, scikit-learn).
- Modern UI libraries like CustomTkinter (lightweight, fast, and easy to deploy with a sleek look).
- Performance improvements in Python 3.13+ (including experimental GIL removal).
-Cons:
- Large executable sizes (minimum ~7MB, ~14MB with Tkinter).
General Purpose / Systems Programming: Nim
Why I Use Nim: For testing small routines and learning systems programming.
Pros
- Feels like Python on steroids—same clean, indentation-based syntax but as fast as C.
- Compiles to C (via GCC/Clang/VCC) for standalone and small size executables.
- Modern memory management (ORC—Ownership-Reference Counting) for better performance.
- Easy C interoperability:
proc printf(formatstr: cstring) {.header: "<stdio.h>", varargs.}
printf("%s %d\n", "Hello from C function", 5)
echo "Hello from Nim function"
Nim is promising with continue community packages development, but it might face a close competition with Mojo in the future.
General Purpose / Systems Programming: V
A promising new language still in beta. I’ve tested V for small projects, and its compiler is blazingly fast—generating executables in VS Code almost instantly.
Cool Features:
- Variables are immutable by default (use `mut` for mutability).
- No global mutable state.
- `defer` statements (like Go) for cleanup.
- Syntactic sugar for complex allocations (e.g., 3D arrays):
mut a := [][][]int{len: 2, init: [][]int{len: 3, init: []int{len: 2}}}
a[0][1][1] = 2 // Weird but cool once you get it!
Also can write Inline Assembly Language in V for low-level tinkering.
Drawbacks
- Steeper learning curve due to unique syntax.
- Still evolving (beta status).
V is one to watch for future systems programming!
---
General Purpose / Scientific Computing: Julia
I like Julia’s syntax the most, it is clean and readable, with near-C speed for numerical computing. Perfect for math-heavy tasks:
Strengths
- 1-based indexing (natural for math/Excel users).
- Powerful array/matrix operations.
- Weaknesses
- Package management is slow (JIT compilation + large sysimages).
- No AOT compilation yet—no standalone `.exe` generation.
Ideal for scientists, but not yet for distributable apps. Yea, NASA use it for some space calculation project.
General Purpose / Game Programming: Odin
A data-oriented alternative to C, designed for "sane" high-performance software (especially games).
Why It Shines
- No OOP clutter—just data + functions.
- Fast compilation → Code fast, run fast
- Used with Raylib for live game dev (check out creator Ginger Bill’s YouTube!).
Best For:
- Game developers wanting a modern C competitor.
Other Languages Worth Mentioning**
Mobile (Android):
- Kotlin / Dart / Java — Kotlin reigns supreme for modern Android apps.
Web Dev:
- TypeScript / JavaScript — TypeScript’s Go port promises 10x speed boosts.
Targeting Windows .NET:
C# — Verbose like Java, but excellent for enterprise teams.
For Webserver Backend/Concurrency: GO
-Go — Simple concurrency model, but tooling can be finicky (e.g., Fyne UI hangs).
For Low-Level Systems Programming:
- Rust / Zig — Overkill for my needs; steep learning curves.
C Successors:
- D / C3 / Carbon — Niche alternatives to modernize C.
--
---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ring-lang/7ca1e453-34eb-4d83-968a-8b6f3ab3d6dbn%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ring-lang/8b29f0de-be98-4455-addc-9abbe0e096fbn%40googlegroups.com.