Section 2: Why Node.js? Advantages vs RPG, Java, Python and PHP\
IBM i is a surprisingly multilingual box these days. So why pick Node.js over the other open source options?
Let's be fair to everybody.
Java
Java has been on IBM i forever and it's rock solid, with the JTOpen (jt400) toolbox giving deep IBM i access.
- Pros: Mature, fast once warmed up, great tooling, strongly typed.
- Cons: Verbose, heavy JVM startup and memory, and the "enterprise framework" learning curve can be steep.
- Node.js comparison: Node apps start in a blink, use far less memory for typical web APIs, and need a fraction of the code.
Python
Python is the darling of data science and scripting, available via yum install python39 and friends, with pyodbc for Db2 access.
- Pros: Lovely readable syntax, fantastic for scripts, automation and data/AI work.
- Cons: Traditional Python web servers are synchronous by default; async is an add-on rather than the core model.
- Node.js comparison: For high-concurrency web APIs Node's non-blocking model is built in. For data crunching and scripting, I'd often reach for Python. Horses for courses.
PHP
PHP has a long IBM i history (Zend Server, now community PHP via yum).
- Pros: Easy to deploy web pages, huge legacy of IBM i PHP apps.
- Cons: Request-per-process model; less suited to real-time features like WebSockets.
- Node.js comparison: One language for browser and server, and real-time is native.
