News for hackers. Stuff that matters.
Re:Taichi Lang by l_theanine on Thursday March 09, 2023 @08:09PM (#35089205)
Julia doesn’t have proper traits nor interfaces, making it impossible to actually organize code effectively. It’s unacceptably difficult to reason about which method will actually be called because of the type system, which results in weird situations where you have to dig through methodswith() to figure out which piece of junk is even being executed, what’s wrong with it, where it lives, etc. Barring metaclasses, which I’ve only bumped into a handful of times in the past decade of high-level professional Python work, it’s straightforward to find where a method lives because of the class hierarchy. Finally, because of how obtuse the occasional metaclass usage can seem, they’re typically documented by the developers well, eliminating the question in the first place.

Python has classes, so it’s pretty straightforward.

Julia has type instability, which can make debugging performance issues not only difficult, but unpredictable. Python is very easy to debug, and typically straightforward to call out to Cython, Numba, Taichi, or soon Codon. There’s a wealth of incredible tools to choose from.

The Julia language is suitable for mathematical programming for mathematically minded people, it’s NOT at all suitable for producing high quality software that may pass through dozens or hundreds of sets of eyeballs, for many years.

Also, retrofit isn’t really an applicable word here because basically every piece of software out there is retrofitted, in a certain sense. Nobody uses v0.0.1 of anything…

But, I’m replying to a Chinese spam account, so what does it really even matter?

Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @08:12PM (#35089220)
> Julia doesn’t have proper traits nor interfaces

as opposed to Python? where type hints are just that. Hints. It's not even enforced. But u can use mypy... right.... yeah, retrofit more stuff on python. why not? (sarcastic).

I am not a Chinese national btw, I am from Malaysia.

Re:Taichi Lang by l_theanine on Thursday March 09, 2023 @08:34PM (#35089366)
I’m talking about code organization, not types. In Julia, methods are grouped together by type dispatch, mostly. There are times when code reuse comes into play where it’s helpful, but mostly it just confuses the issue and introduces ambiguity into the structure of the program in the big picture sense.

My mistake, I saw your name was xiaodai and assumed.

My point is, Julia is not suited for general software, and it’s questionable as a tool for technical computing as well.

For running simulations and models where the code can be written and never looked at again, maybe it’s okay to use. But for anything else, Python is a lot nicer, and a lot more practical to write proper software in.

Re:Taichi Lang by nativecoinc on Friday March 10, 2023 @01:34AM (#35091139)
> My mistake, I saw your name was xiaodai and assumed.

Oh my bad, I disregarded your comment based on your assumed Chinese nationality and “spam” (also assumed?). Since you’re not Chinese you’re worth my time.

I don’t get it.

Re:Taichi Lang by l_theanine on Friday March 10, 2023 @07:00AM (#35093308)
Luckily, I wasn’t replying to you? Weirdo.
Re:Taichi Lang by cbkeller on Thursday March 09, 2023 @10:29PM (#35090044)
I've seen this criticism that it's "difficult to reason about which method will actually be called because of the type system" once before, but it absolutely flummoxes me... I have literally never been confused about which method is going to be called by my code, and I'm not even a proper computer scientist (just a regular scientist scientist).

Maybe this is just an issue of not having years of OO habits influencing the way I reason about dispatch in Julia?? Honestly not sure.

Re:Taichi Lang by blindseer on Thursday March 09, 2023 @11:52PM (#35090528)
I’ve never had any trouble understanding my code but understanding someone else’s multiple dispatch code has ALWAYS been hard for me.
Re:Taichi Lang by dang on Friday March 10, 2023 @11:29PM (#35105341)
We've banned this account. Regardless of how right you are or feel you are, you can't attack other users like you did in this thread, and certainly not for ethnic/national/racial reasons.

I appreciate that you have lots of good points to make but we need you to abide by the site rules: https://news.ycombinator.com/newsguidelines.html. Please don't create accounts to break those rules with.