Maybe, but I'm completely serious. Code syntax should have clear demarcation
I agree, but this is not an argument for or against whitespace sensitivity. It's an argument for what kind of indications are suitable.
while indenting your code is unquestionably good, the whole tab vs space thing is a pile of frustration.
It was a pile of hurt a decade ago. The industry has unquestionably settled on spaces. Google, Facebook, Microsoft, Sony, Id, Nvidia, Intel, even most EA houses. All of them mandate space-based demarcation. No serious code editor gives you any trouble over this.
Even in 2003 when I was interning at Lockheed Martin people were already standardizing on spaces. I remember one day an older "chief architect" walked up to the lead engineer and started an argument that tabs allowed flexible indenting and the lead engineer cut him off, "Pardon me, but Federal Health and Safety mandates you stand at least 10 paces away from me before you start masturbating furiously all over this project. I'm going to step over here where I can do real, meaningful work."
Yes, Java has a lot of boilerplate and repeated syntax, as do C++ and C. But there's a certain charm to being explicit.
I am not in the business of charming or being charmed. I'm in the business of making performant, stable, maintainable software.
The biggest weakness of Java's approach is that it is explicit about things that shouldn't be explicit and frustratingly implicit about things that you'd wish you didn't need to be. The real strength of the clojure example is that "map" is highly tuned, generic, reuable code that you never need to write. The best studies we have suggest code error rates (as a function in the domain of a single person's output) are constant over line-numbers if other factors are accounted for. Therefore, reducing boilerplate reduces errors, which increases project velocity and reduces fielded errors.
It would probably run a bit more smoothly (assuming the C++ programmers aren't rubbish,) given that Java runs on a virtual machine,
If anything this probably makes minecraft run faster because of the way the JIT works out. Only the very best programmers with the very best techniques can consistently beat Java's JIT over micro-optimized regions. And tree-tracing JIT optimizations frequently capture latent optimizations that only a compiler (or someone mentally being the compiler at a high level) can clearly see.
Two. Some people would say scripting languages are more convenient, some would say less. They're definitely easier to learn, but large projects are often difficult. APIs would probably need to be very easy to use if, say, Python were the modding language.
I hate the phrase "scripting language." It is nonsense.
Minecraft could trivially implement a scripting layer for mods and it'd work very well. Many major games have adopted this approach quite successfully. World of Warcraft's scripting layer is quite sophisticated. The most widely deployed """"scripting"""" language is JavaScript, and people use it to write and run sophisticated, graphics rich applications every day.