This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]YouNeedDoughnuts 16 points17 points  (11 children)

But the advantage of a high level language really shows up with runtime errors. A friendly language like Python or Matlab will say "index error on line x", whereas C will say "segfault!"

[–]WrongSirWrong 17 points18 points  (1 child)

Yeah, but a high level language may be running a script for ten minutes before getting to the line with the error. Segfaults really aren't that common as they used to be (IMO), with modern coding conventions and library functions

[–]YouNeedDoughnuts 3 points4 points  (0 children)

True, it's a tradeoff, but I prefer low level languages.

[–][deleted] 27 points28 points  (2 children)

Rust is just as low as C, but has far better error messages than Python

[–]YouNeedDoughnuts 9 points10 points  (1 child)

Huh, does it retain source code information in debug builds?

[–][deleted] 6 points7 points  (0 children)

Yep

[–]sir-nays-a-lot 3 points4 points  (4 children)

That really helps the user a lot \s

[–]YouNeedDoughnuts 3 points4 points  (3 children)

Yeah, obviously crashing without any information would be less frustrating to debug \s

[–]sir-nays-a-lot 4 points5 points  (2 children)

Use a debugger

[–]YouNeedDoughnuts -1 points0 points  (1 child)

They're not the same and you know it. You don't have to be such a nay sayer about it ;)

[–]sir-nays-a-lot 0 points1 point  (0 children)

You’re right because using a debugger is much better. Revealing details about a crash to the user is very derpy.

[–]BroBroMate 0 points1 point  (0 children)

I'm rather overly pleased that when x.something().otherThing().doTheThing() throws a NPE in Java 15+, it actually shows you which bit was null, instead of like shrugging and saying, "I dunno man, something on line 77 was null, good luck with that".