A Minecraft server written in COBOL
Overall reaction to the COBOL Minecraft server
- Many commenters find the project impressive, surprising, and “awesome,” especially given it was written by someone new to COBOL.
- Several note the code is quite readable and organized, especially compared to some modern-language projects.
- Some see it as a fun, whimsical demonstration rather than a production-ready server.
COBOL as a language: stigma, readability, and features
- Commenters discuss COBOL’s reputation: old, verbose, “punched card” heritage, but also very readable and business-oriented.
- A few argue COBOL is effectively a high-level assembler, good at low-level byte manipulation, contradicting the repo’s framing that it isn’t suited for that.
- The object-oriented features from COBOL 2002 onward are mentioned; standards exist but are only partially implemented by vendors due to weak demand and lack of modern test suites.
- Comparisons are drawn to FORTRAN, PL/I, Ada, VHDL, SQL, and Algol-family languages, often around readability and English-like syntax.
Platforms, mainframes, and Docker
- There is curiosity about whether the server could run on z/OS, with mentions of testing via Hercules or asking a mainframe sysprog.
- Running it on zLinux is considered technically easier but less interesting.
- A side thread debates Docker’s portability, with complaints about missing support on platforms like FreeBSD, Solaris, and Android, and workarounds like Podman.
Functionality and technical scope of the server
- Readers look for redstone support and conclude it’s effectively unsupported; blocks with complex state or behavior are explicitly out of scope.
- Lighting and full block behavior are recognized as major omitted features; implementing a complete Minecraft server is viewed as a multi‑year effort.
- The presence of unit tests is appreciated.
COBOL jobs and legacy systems
- The thread challenges the idea that COBOL programmers alone command high salaries.
- Commenters argue the real scarcity is knowledge of legacy business logic and mainframe ecosystems; COBOL skills mainly provide an entry point to those domains.
Language design, simplicity, and project success
- Some observe that many polished side projects are written in simple languages (C, COBOL), whereas modern languages (especially Rust) often appear in large but incomplete projects.
- Theories offered:
- Simple languages reduce cognitive load and “choice overload,” making it easier to ship messy but working prototypes.
- Modern languages and frameworks encourage heavy abstractions, code generation, and “code that will last,” which can impede finishing hobby projects.
- Hype attracts beginners to Rust and similar languages, leading to many ambitious but abandoned efforts.
- Extended debate centers on Rust vs C++/C#/others in game development:
- One side argues Rust’s focus on memory safety and strictness slows iteration and clashes with the rapid experimentation needed for games.
- Others counter that C++’s ecosystem is also painful, and Rust’s smaller community and immature game tooling are bigger issues than the language itself.
Nostalgia and personal COBOL experiences
- Several share memories of learning or working in COBOL decades ago, often in batch financial systems, emphasizing how readability helped with maintenance and production support.
- Some express humorous reluctance to revisit COBOL, while still acknowledging the achievement of this project.
Minecraft hosting and cross‑play tangent
- A sizable subthread discusses how to host Minecraft servers for kids across PC, Switch, Xbox, and mobile.
- Key points:
- Java and Bedrock editions are distinct and normally can’t cross‑play.
- Official Bedrock server binaries exist for Windows and Linux.
- Tools like Geyser/Floodgate can bridge Java and Bedrock with some feature limitations.
- Switch/console clients are more locked down, often requiring Realms or workarounds; paid console online services are typically needed.
- Alternatives like Minetest/Luanti are briefly mentioned as open‑source, Minecraft‑like options.