StatsBase.jl VS StaticLint.jl

Compare StatsBase.jl vs StaticLint.jl and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
StatsBase.jl StaticLint.jl
5 4
565 133
1.2% 1.5%
6.2 5.7
10 days ago 20 days ago
Julia Julia
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

StatsBase.jl

Posts with mentions or reviews of StatsBase.jl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-20.
  • Downloading packages to Julia 0.7
    3 projects | /r/Julia | 20 Jan 2023
    so finally I tried running Pkg.add(Pkg.PackageSpec(url="https://github.com/JuliaStats/StatsBase.jl", rev="v0.24.0")) but encountered an error saying in needed to download dependencies like DataStructures.
  • R user excited about Julia
    1 project | /r/Julia | 3 Aug 2022
    The author identified some bugs and those were fixed. But they were all edge cases or footguns that are obviously bad to do, but allowed because Julia is a flexible language. For example, in this issue, the author overwrites the array they are sampling from. Which is obviously going to produce bad results.
  • Julia ranks in the top most loved programming languages for 2022
    3 projects | news.ycombinator.com | 23 Jun 2022
    Well, out of the issues mentioned, the ones still open can be categorized as (1) aliasing problems with mutable vectors https://github.com/JuliaLang/julia/issues/39385 https://github.com/JuliaLang/julia/issues/39460 (2) not handling OffsetArrays correctly https://github.com/JuliaStats/StatsBase.jl/issues/646, https://github.com/JuliaStats/StatsBase.jl/issues/638, https://github.com/JuliaStats/Distributions.jl/issues/1265 https://github.com/JuliaStats/StatsBase.jl/issues/643 (3) bad interaction of buffering and I/O redirection https://github.com/JuliaLang/julia/issues/36069 (4) a type dispatch bug https://github.com/JuliaLang/julia/issues/41096

    So if you avoid mutable vectors and OffsetArrays you should generally be fine.

    As far as the argument "Julia is really buggy so it's unusable", I think this can be made for any language - e.g. rand is not random enough, Java's binary search algorithm had an overflow, etc. The fixed issues have tests added so they won't happen again. Maybe copying the test suites from libraries in other languages would have caught these issues earlier, but a new system will have more bugs than a mature system so some amount of bugginess is unavoidable.

  • The Julia language has a number of correctness flaws
    19 projects | news.ycombinator.com | 16 May 2022

StaticLint.jl

Posts with mentions or reviews of StaticLint.jl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-10.
  • Julia v1.9.0 has been released
    4 projects | /r/programming | 10 May 2023
    Yes, tooling around this is being developed in the form of linters (e.g. https://github.com/julia-vscode/StaticLint.jl) and through real compiler integration tools like the very cool https://aviatesk.github.io/JET.jl/dev/ but this is definitely somewhere that the tooling in julia is weaker than in other languages. It seems to be picking up a lot of speed though.
  • The Julia language has a number of correctness flaws
    19 projects | news.ycombinator.com | 16 May 2022
    It is correct if `A` is of type `Array` as normal Array in julia has 1-based indexing. It is incorrect if `A` is of some other type which subtypes `AbstractArray` as these may not follow 1-based indexing. But this case errors normally due to bounds checking. The OP talks about the case where even bounds checking is turned off using `@inbounds` for speed and thus silently giving wrong answers without giving an error.

    An issue was created sometime ago in StaticLint.jl to fix this: https://github.com/julia-vscode/StaticLint.jl/issues/337

  • I created an Emacs package to statically lint Julia files (using StaticLint.jl)
    6 projects | /r/Julia | 1 Feb 2021
    Statically lint = find errors in the Julia file like using variables that are not defined, and functions with the wrong arguments. For Julia, StaticLint.jl is an actively developed library that does static linting. It basically provides a bunch of functions that spit out errors in your Julia file like those that I mentioned above. If you are an Emacs editor user, this project is like a "convenience" which will run Julia silently in the background, and communicate with it to extract errors in the file that you currently have open. These errors are then highlighted in your editor view using the Flycheck package that is one of the ways to highlight errors in Emacs.

What are some alternatives?

When comparing StatsBase.jl and StaticLint.jl you can also consider the following projects:

Lux.jl - Explicitly Parameterized Neural Networks in Julia

LanguageServer.jl - An implementation of the Microsoft Language Server Protocol for the Julia language.

Petalisp - Elegant High Performance Computing

julia-staticlint - Emacs integration for StaticLint.jl

Optimization.jl - Mathematical Optimization in Julia. Local, global, gradient-based and derivative-free. Linear, Quadratic, Convex, Mixed-Integer, and Nonlinear Optimization in one simple, fast, and differentiable interface.

Enzyme.jl - Julia bindings for the Enzyme automatic differentiator

dotfiles - Linux work environment setup

DSGE.jl - Solve and estimate Dynamic Stochastic General Equilibrium models (including the New York Fed DSGE)

Distributions.jl - A Julia package for probability distributions and associated functions.

diffrax - Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/

clasp - clasp Common Lisp environment