Can Geblang replace Python for scripting and backend work?
For command-line tools, automation, web services, and data processing, yes. Geblang reads like a scripting language, enforces its types, runs CPU-bound work on every core, and ships as one executable. Python remains the standard for notebooks and for training machine-learning models.
Does Geblang have an equivalent of NumPy and pandas?
Yes, in the standard library. The ndarray module provides n-dimensional arrays with broadcasting, reductions, and linear algebra, and the dataframe module provides typed columns with filtering, grouping, joins, and CSV, JSON, and SQL input and output. The stats module adds probability distributions.
Can Geblang call C libraries the way Python uses ctypes?
Yes. The ffi module calls C-ABI shared libraries in-process, and geblang bind generates a typed Geblang module from a manifest that describes the library. FFI access is opt-in with the --allow-ffi flag.
How does Geblang run code in parallel without a global interpreter lock?
Each async task runs on a goroutine, so tasks started with async.run execute on all CPU cores inside one process. Results come back through await, and tasks can coordinate through channels and select.
How do I deploy a Geblang program?
Run geblang build to produce one self-contained executable that bundles your code, its dependencies, and the runtime. Copy it to the target machine and run it, with no interpreter or virtual environment to install. Add --docker to also write a Dockerfile.