Live data from Hacker News

A Minecraft server written in COBOL

github.com

41–50 of 127 posts

Re: A Minecraft server written in COBOL

#42
I'm sure this is some kind of fallacy, but I feel I quite often see ostensibly impressive small side projects like this written in simple plain languages like C (or here COBOL). Every similar, e.g., Rust project I see seems almost non-functional despite having 10x the SLOC.

My working theory is that simpler languages lend themselves to blueprinting ideas and getting something working even with an ugly messy codebase, whereas modern languages force you to write code that will last longer. Or maybe modern languages are just doing something wrong.

Re: A Minecraft server written in COBOL

#43

I'm sure this is some kind of fallacy, but I feel I quite often see ostensibly impressive small side projects like this written in simple plain languages like C (or here COBOL). Every similar, e.g., Rust project I see seems almost non-functional despite having 10x the SLOC. My working theory is that simpler languages lend themselves to blueprinting ideas and getting something working even with an ugly messy codebase,…

People that get things done usually don't care about code quality. I noticed myself in a place where I just never finished anything anymore by trying to write something to last. Over the years I've found a good balance, but I've found that iterating over garbage will eventually turn into something good and I've been doing so since.

Re: A Minecraft server written in COBOL

#44

I'm always hearing that Cobol programmers get high salaries, because they are so rare. Did this project generate any flood of offers for work?

As others have pointed out, probably more the intricacies of the existing business logic, plus the understanding of the mainframe systems that it usually runs on. Otherwise you could just build a cross compiler and call it day.

>As others have pointed out, probably more the intricacies of the existing business logic, plus the understanding of the mainframe systems that it usually runs on.

Honestly just knowing COBOL is how you get your foot into a well paying job where you learn that stuff from the old timers.

Re: A Minecraft server written in COBOL

#45

I'm sure this is some kind of fallacy, but I feel I quite often see ostensibly impressive small side projects like this written in simple plain languages like C (or here COBOL). Every similar, e.g., Rust project I see seems almost non-functional despite having 10x the SLOC. My working theory is that simpler languages lend themselves to blueprinting ideas and getting something working even with an ugly messy codebase,…

Same as dynamically typed vs statically typed languages.

Re: A Minecraft server written in COBOL

#46
post #38

My kids are just getting into Minecraft on the switch and I am a bit confused by the options for hosting a server. I’d love to hop on and play with them on a self-hosted server, what’s the current best way to do that or is that level of cross-play between PC and Switch on a self-hosted solution even possible? Edit: I don’t currently play, which is why I’m not familiar with what’s out there

Check out minetest open source too, which is similar but separate game like minecraft. You can self-host the server.

or, as the kids like to call it, the "We Have Minecraft At Home" version.

Re: A Minecraft server written in COBOL

#47

My kids are just getting into Minecraft on the switch and I am a bit confused by the options for hosting a server. I’d love to hop on and play with them on a self-hosted server, what’s the current best way to do that or is that level of cross-play between PC and Switch on a self-hosted solution even possible? Edit: I don’t currently play, which is why I’m not familiar with what’s out there

Cross-play between the PC "Java" edition and the console "Bedrock" edition is not really possible, so the best option is to play it on Bedrock on both platforms. On Windows you can download the Bedrock edition and play it there, it seems technically possible but a little complicated to play Bedrock edition on Mac / Linux too. (Some Google searching suggests you'll need to run it in a VM on those OSs) Easiest way to g…

Do you always speak so confidently?

Re: A Minecraft server written in COBOL

#49

I'm sure this is some kind of fallacy, but I feel I quite often see ostensibly impressive small side projects like this written in simple plain languages like C (or here COBOL). Every similar, e.g., Rust project I see seems almost non-functional despite having 10x the SLOC. My working theory is that simpler languages lend themselves to blueprinting ideas and getting something working even with an ugly messy codebase,…

I feel like this is a case of the no silver bullet principle. Like, going from a legacy/pre-modern/old language to modern, dynamic to static typed, etc. isn't going to magically make your projects succeed.

Maybe these failed projects in modern languages are the graveyards of those who believed that silver bullets exist.

Or maybe Rust projects are filled with people of first and foremost want to learn Rust, and the actual completion of the project is secondary.

Re: A Minecraft server written in COBOL

#50
post #32
post #26

Earlier quoted context omitted.

That’s why I like Ada (and VHDL). Somewhat verbose, perhaps, but much more readable than more “modern” languages.

As a teenager I swore by Turbo Pascal's begin/end syntax and C++ at the time, with its overloads and macro system was just noise to me. Many years have passed since but C++ with its overloads and macro system is still largely noise to me.

Overloading can be easily abused, but the very complicated expressions that can appear in programs for scientific/technical computing are immensely more readable when using operator overloading like in C++ instead of using named functions, like in languages that forbid operator overloading, e.g. Java.

In scientific/technical computing you have frequently, even in the same expression, dozens of different kinds of additions, multiplications, divisions, etc., between scalars, vectors, matrices, tensors, complex numbers, various kinds of physical quantities, and so on. Without operator overloading the expressions can become huge, extending on a great number of program lines and they can be very difficult to understand.

Also, Pascal's method of using a single kind of statement brackets, i.e. "begin" and "end" (renamed in C as "{" and "}"), which has been inherited from Algol 60, is wrong for program readability.

The right method has been introduced by Algol 68 and it was inherited by languages like Ada. In such languages there are several kinds of statement brackets, like in the UNIX shell, where "if" and "fi" are brackets for conditional statements, "do" and "done" are brackets for loops and "case" and "esac" are brackets for selection statements. This is much more readable, especially when there is a big loop that can not be seen in a single page of code, so you see only its end, which is also the end of many other kinds of program structures, like nested loops, conditional statements or selection statements.

To get the same readability in languages like Pascal and C, you can add comments to the final braces or "end" of the program structures, but this is much more cumbersome than in a language with several kinds of statement brackets, where the bracket pairs will normally be added automatically by your text editor.

Post reply on HN