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.
>
>

Reply via email to