Welcome! Yes, there have been many long threads on this in the past. Here are two comments that I think speaks to your question at a high level, but there are many good responses there:
  
  
    Unfortunately, I think the author is right. I only have experience with Python, Julia and Rust (and a little Perl), but I’ve never encounted even close to as many bugs in other languages as I do in Julia. Both in packages and in Base. 
The question is why. 
I think it’s the combination of: 
A) An extremely generic language where everything is built upon shared abstractions and generic, extendible functions, and 
B) No way of specifying or checking abstract interfaces, so no-one really knows what …
   
 
  
  
    I’m sympathetic to Yuri’s larger point: Julia as a language and ecosystem is permissive by default. You can easily combine packages in ways that are unlikely to work and get mired in the weeds.  For example, I can easily imagine attempting to differentiate a distributed SVD of a BlockedArray filled with Unitful Quaternions.  Sure, that’s an absurd example and it’s unlikely to work, but I can imagine how it might work and may even be able to construct the problem statement in a few lines of code.…
   
 
I will also add that there’s a wide range of dis/agreement with the various points and so this topic can often spark some lively debates.
             
            
              9 Likes