Many factors, and many of the complaints apply equally to Javascript or any other dynamically typed language. Julia talks more about types than most other dynamic languages, but many things are still not statically checked and can lead to runtime-only errors. The problem boils down to whether or not a compiler is verifying invariants, interfaces, types, and safety in your code ahead of time. It's a common justification for using languages like Ada, Rust, Haskell, Scala, etc. Julia may be more amenable to offline static analysis than many other dynamic languages, but this really isn't the design space that's being targeted here, and tooling for this remains immature.
You've quoted that phrase multiple times since May, sorry I deliberately chose not to read that disaster of a many-pages-long mailing list thread so was unaware it was first written by someone else. I'd chastise him too and recommend a different choice of words. The "consenting adults" phrasing should probably be retired as well, given the growth and standards that we'd like to maintain as a community. On Wednesday, July 8, 2015 at 1:46:41 PM UTC-4, Scott Jones wrote: > > > > On Wednesday, July 8, 2015 at 9:23:28 AM UTC-4, Tony Kelman wrote: >> >> Although Python gets by fine without any enforced privacy, Python is also >> notorious for being poorly suited for writing large scale reliable systems >> - lack of privacy of internals is only one factor among many, but it >> contributes. >> > > What other factors do you see contributing to that in Python? (I've > learned Python, but once I learned about Julia, never looked back at it). > Are there any other impediments in Python to being able to write large > scale reliable systems (which is precisely what my colleagues and I are > trying to do), that are currently in Julia? > > However this will be very difficult to convince enough of the core >> development group that it needs to be implemented (hint: step one is to >> create a proof-of-concept implementation) as a first-class language >> feature, when it could potentially be implemented via macros in user code. >> Especially on top of getfield overloading, #1974. >> > > That would be fine - I don't know enough about Julia > meta-programming (that's next on my list of things I need to grok) to even > know if it could be done as a macro. > > >> P.S: Scott, for everyone's benefit, please refrain from using the >> "private parts" metaphor. >> >> > I just repeated it (from: > https://groups.google.com/d/msg/julia-users/sk8Gxq7ws3w/mvQbIb-FjRkJ), > and if so, by the same token, people should stop using the "consenting > adults" metaphor, which is *precisely* what leads to the "private parts" > metaphor. Note: > https://groups.google.com/d/msg/julia-dev/Rj1xkrZkgcw/VE0K8Ji83QcJ, this > has been around in Julia for years. > In order for the "consenting adults" metaphor to work, you have to have > the means of *denying* consent, if you so wish. > >
