6 ms·
I’ve made most of my career turning scientific and mathematical code into maintainable and aesthetic code, and the red flag for me in this article is that he ev
by adenozine 4y ago
I’ve made most of my career turning scientific and mathematical code into maintainable and aesthetic code, and the red flag for me in this article is that he evidently couldn’t keep up with the Python learning curve and chose instead a language with no traits, no interfaces, and no classes. So, the amount of organization in his code is effectively zero.
I understand that Julia 2.0 is slated to have some sort of concrete interface mechanism, so that’s good. Thus far, I’ve seen some pretty low quality results. There’s just no way to have intuition about what method is going to be called in Julia. In python, I know it’s either going to be somewhere in dir(some-obj) or it’s gonna be some funky meta class stuff. Either way, pycharm can literally just hyperlink me.
Until Julia has the same capability, it just won’t be suitable for general purpose code. I know there will be some Julia fan in the replies about how I can approximate the behavior, and how Julia is the future and blah blah blah.
Just fix interfaces. It’s not that hard. They’ve got MIT grads for crying out loud!
I’m a little appalled there’s PhDs doing computer science work with public money that can’t wrap their head around python. That’s a failed curriculum imo.
- BrandonS113 4y agoThat is harsh. I know PhDs doing comp science work, hey with PhDs in comp science, coming to same conclusion. Python is an excellent language. But coding in numpy is not its strength.
- andyferris 4y agoI find this a bit perplexing - it is possible to make organised, maintainable code without class-based polymorphism or statically enforced interfaces (traits, type classes). And Julia is so much easier than several other languages I know to organise your code in a neat modular way (and it still being quite generic and reusable). Better static analysis tools (or traits/interfaces in the type system) would of course be welcome. But in my experience that’s more to catch silly mistakes and typos than to aid in healthy modularity or easy discoverability (which to me are remarkable good already).
- mxkopy 4y ago> no traits, no interfaces, and no classes. So, the amount of organization in his code is effectively zero. This is an utterly deranged take. Do you mean to say that adherence to OOP and code organization are the same thing ?
- EdwardDiego 4y agoDeranged? You could've said that you disagree and leave it at that.
- mxkopy 4y agoI view the statement with fascination rather than derision
- kruxigt 4y ago[dead]
- jpfr 4y agoI'm surpised. At JuliaCon ~6 months ago the message was that no 2.0 is in the works [1]. I.e. no backwards-incompatible changes to the language. I checked the usual places and did not find any information on 2.0 and an interface mechanism. Do you have a pointer? [1] https://youtu.be/N4h46_TCmGc?t=1656 https://youtu.be/N4h46_TCmGc?t=1656
- adgjlsfhk1 4y agoNo, he's just making stuff up.
- adenozine 4y agoOh, well here's a post by Jeff Bezanson, since you've decided to just talk out of your ass... https://discourse.julialang.org/t/what-dont-you-like-about-julia-for-serious-work/54591/63 https://discourse.julialang.org/t/what-dont-you-like-about-j... Hope the uh... co-creator warrants enough merit as a source.
- adgjlsfhk1 4y agoYou misread (although it wasn't especially clearly phrased. "Interfaces are a really common topic of discussion and I think at this point we’re determined to do something about it in julia 2.0 (if it requires breaking changes)." This means we really want a solution for interfaces and if we had a good enough design for interfaces that would require 2.0, they are important enough that it could be worth breaking existing code (and releasing a 2.0 with interfaces). However there still isn't a plan for interfaces (breaking or non-breaking).
- adenozine 4y agoIf we are to continue this conversation, I need it to be addressed that you falsely characterized my top level comment with “he’s making stuff up.” Otherwise, further correction would be wasting my time.
- jpfr 4y ago