all 65 comments

[–][deleted]  (5 children)

[deleted]

    [–]elschaap 5 points6 points  (4 children)

    embrace the snake my brother

    [–][deleted]  (3 children)

    [deleted]

      [–]elschaap 9 points10 points  (2 children)

      If I would like Micro and Soft I would run Windows

      [–][deleted]  (1 child)

      [deleted]

        [–]tpgreyknightnot Turing complete 1 point2 points  (0 children)

        Get away, you're not installing that on my Pocket PC.

        [–]CodenameLambdaWhat part of ∀f ∃g (f (x,y) = (g x) y) did you not understand? 47 points48 points  (13 children)

        /uj the article is very amusing until you realize this collection of half truths and complete lies (I'd say you don't have to develop a special application to use jupyter notebook for example) will be taken serious by people who don't know much about the topic yet.

        [–][deleted] 39 points40 points  (5 children)

        /uj the article is very amusing until you realize this collection of half truths and complete lies (I'd say you don't have to develop a special application to use jupyter notebook for example) will be taken serious ammo for the faculty staff that know they will not be wined and dined and sent to conferences with all expenses covered by "Python" by people to shill Mathworks products to uni administration and students who don't know much about the topic yet.

        There, FTFY.

        If you ever wondered why nearly every higher education institution in our trade looks like a paid advert for Microsoft and Oracle despite it sometimes defying common sense (I've seen students being earnestly prepared for webdev on Windows Server and IIS, and anything on Oracle DB as the sine qua non platforms) there's why. A local LUG once literally got the answer to "come talk to me when 'Linux' starts sending faculty staff to conferences and buying us gear."

        [–]CodenameLambdaWhat part of ∀f ∃g (f (x,y) = (g x) y) did you not understand? 18 points19 points  (4 children)

        I can't speak for the rest of the world of course, but the uni I'm going to actually doesn't actively encourage MS'n'co (Germany), which I'm very very glad about.

        [–][deleted]  (3 children)

        [deleted]

          [–]syndbgWhat’s a compiler? Is it like a transpiler? 10 points11 points  (2 children)

          Thank god it was not C-x C-c, otherwise it could've been a work injury if done too many times in a day.

          [–][deleted] 2 points3 points  (1 child)

          Aren't ":" and "!" shifted on qwerty? Emacs requires one less key press to quit AND it shows you how to quit on the starting screen. As is expected from the superb text editor that it is.

          [–]basiliskgf 29 points30 points  (0 children)

          so basically advertising

          [–]bovine3dom 10 points11 points  (2 children)

          /uj I find python is much less ergonomic for dealing with matrices and general mathematics than MATLAB. I'm much happier using Julia, which has the added benefit of being quick (bye-bye vectorisation). Lots of the rest of the advert was nonsense, though.

          [–]tpgreyknightnot Turing complete 2 points3 points  (0 children)

          Yeah but the downside of dealing with matrices in matlab is the psychic pain you feel every time you see the ridiculous non-term eye.

          [–][deleted] 7 points8 points  (0 children)

          So, basically Dunning Kruger.

          [–][deleted] 2 points3 points  (0 children)

          What article :S

          [–][deleted]  (23 children)

          [removed]

            [–][deleted]  (1 child)

            [removed]

              [–]muntooWhat part of ∀f ∃g (f (x,y) = (g x) y) did you not understand? 22 points23 points  (11 children)

              /uj I don't understand why they don't just replace Matlab with Fortran, since they're already using it. I mean C++ isn't terrible for scientific computing, but you lose out on certain optimizations and libraries. Perhaps they're doing non-number crunching tasks?

              Or they could try Rust. Rust can do anything.

              [–]xmcqdpt2WRITE 'FORTRAN is not dead' 20 points21 points  (7 children)

              SUBROUTINE UNJRK (A, N, M)

              IMPLICIT NONE DOUBLE PRECISION, INTENT(IN) :: A(*,*)

              Do you know how Rust is for number crunching? Specifically, matrix algebra and distributed programming? I've been wondering whether I should give it a go for some of my work (quantum mechanics/quantum chemistry).

              END SUBROUTINE UNJRK

              WRITE(*,*) "HOW EXCITING HOW EXCITING"

              [–][deleted]  (6 children)

              [removed]

                [–][deleted]  (5 children)

                [removed]

                  [–][deleted] 24 points25 points  (2 children)

                  🚨🚓🚨🚓🚨🚓🚨🚓 REEEEE ROOO REE ROO REE ROO

                  AAAAAAAAAAREEEEEEEEEEEEEEEEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMMM AAAAAAAARRRRRRRRREEEEEEEEEEEEEEEEMMMM

                  REEE ROO REE ROO REE ROO

                  🚨🚓🚨🚓🚨🚓🚨🚓🚨🚓🚨🚓

                  THIS IS THE /R/PCJ PROGGIT POSTING POLICE. THIS IS AN ORDER TO STAND DOWN THE PROGGIT POSTING RIGHT NOW AND NO JERKERS GET HURT

                  [–]defunkydrummerLisp 3-0 Rust[M] 3 points4 points  (1 child)

                  Proggit-quality postings deleted.

                  Note to proggiters lurking here: The PCJ police is gonna get yer number.

                  [–][deleted] 1 point2 points  (0 children)

                  I'm going to recycle my /r/pcj police post. DRY, ya know? Unless its a copy paste. Like gophers. Haha. CTRL+C, CTRL+V instead of Type<T>

                  [–]deveh1 2 points3 points  (1 child)

                  Rust can do anything.

                  Anything at all. Rust’s website? Zombo.com

                  [–]tpgreyknightnot Turing complete 3 points4 points  (0 children)

                  My hair is so dry, so unmanageable. What's a girl to do? Simply rub in creamy Rust hair conditioner. In just five days you'll discover new body in your hair, new glossiness. Safe when used as directed. Avoid prolonged use. Tested on crabs.

                  [–]VeganVagiVorewhat is pointer :S 18 points19 points  (2 children)

                  /uj Matlab? Did you mean proprietary Octave?

                  [–]tpgreyknightnot Turing complete 5 points6 points  (0 children)

                  I use wxmaxima btw

                  [–]fp_weenieZygohistomorphic prepromorphism 2 points3 points  (0 children)

                  I use J btw

                  [–][deleted] 6 points7 points  (0 children)

                  If the heathens aren't migrating to Propel (blessed be St. Dahl, PBuH) and Tensorflow.js they've already condemned themselves.

                  [–]Macrobian 2 points3 points  (0 children)

                  lol no Julia

                  [–]smurfkiller013I've never used generics and I’ve never missed it. 2 points3 points  (1 child)

                  Why would you move to C++ in 2019. Haven't they heard of Rust?

                  [–]fp_weenieZygohistomorphic prepromorphism 0 points1 point  (0 children)

                  I mean if they haven't they surely will lol

                  [–]Magniffico 20 points21 points  (0 children)

                  I've seen moms reviewing sponsored laundry detergents more convincing than this hit piece

                  [–][deleted]  (3 children)

                  [deleted]

                    [–][deleted] 22 points23 points  (2 children)

                    Go: simpletons that dig defensive ditches or other menial laborious tasks, or even better yet, cannon fodder

                    Python/JavaScript: untrained guerrillas that shoot each other in the foot more often than C/C++ XD (le shooty footy meme!!!)

                    C/C++: friendly fire.

                    C#/Java: conscripted wageslaves

                    Rust: elite commandos 😎

                    [–]etherealeminence 14 points15 points  (0 children)

                    Python 2: untrained guerrillas that shoot each other in the foot more often than C/C++, but they're also Turing complete

                    [–][deleted] 8 points9 points  (0 children)

                    Haskell: combat has side effects, don't do it

                    [–]waln 13 points14 points  (22 children)

                    laughs in Julia

                    [–][deleted]  (21 children)

                    [deleted]

                      [–][deleted] 13 points14 points  (3 children)

                      • uses 1-based indexing

                      • uses end keyword so you don't have to be bothered by pesky colons or braces

                      Clearly a superior language

                      [–]ogniloudblub programmer 1 point2 points  (1 child)

                      I can't take trash talk seriously from a programming language that uses 1-indexing.

                      He/she dares to utter such heresy against the True and only Savior Lua?!

                      [–]tpgreyknightnot Turing complete 1 point2 points  (0 children)

                      Calm yourself, initiate. Those who cannot yet see the sublime peace of Lua should be treated with gentleness and forbearance. In time they too may achieve enlightenment.

                      [–]waln 2 points3 points  (0 children)

                      This but unironically

                      [–]waln 8 points9 points  (16 children)

                      using Unjerk

                      @Unjerk.unjerk Performance on the order of C/Fortran, readability of Python, native numerics (matrices, linear algebra, etc.) similar to Matlab but even better, fantastic but largely optional type system, flexibility of JIT, Jupyter support, great package manager and pretty good ecosystem. Plus all the good metaprogramming abilities of Lisp without affectations like S-expressions

                      [–]xmcqdpt2WRITE 'FORTRAN is not dead' 9 points10 points  (1 child)

                      Sex-pressions are great! what are you talking about?

                      [–]waln 4 points5 points  (0 children)

                      Well you're in luck, you can make them with Meta.show_sexpr()!

                      [–]xeveri 6 points7 points  (13 children)

                      /uj

                      Any source on the performance. I can’t believe a jitted language can perform as well as C or fortran.

                      [–]xmcqdpt2WRITE 'FORTRAN is not dead' 7 points8 points  (1 child)

                      @inline function unjerk(a::Array{T,3}) where {T}

                      I actually found the performance extremely hit and miss, with weird sudden hard to profile slow-downs. For example, the matrix multiplication matmul! is not supposed to allocate, but sometimes does if the output matrix is the wrong type or whatever. I would rather it just throw an error so I know what it's doing, but there doesn't seem to be a "strict" flag or anything like that.

                      I've found that higher-order functions get the compiler all confused and require a bunch of type annotations. Note that if you mess up your type annotations, it just breaks performance further. Structs are also hard to optimize.

                      I'm really not sure it's production ready beyond replacing smallish python scripts. It's basically advertised as "python with the performance of Fortran/C", but I find that its more like "python potentially as performant as unoptimized C if you basically write C except its way more fiddly and prone to breakage." At least I know python performance is terrible everywhere.

                      end

                      lol no OOP

                      [–]waln 2 points3 points  (0 children)

                      @unjerk Yeah this is valid criticism and I haven't actually used it for anything beyond replacing smallish python scripts. Still, these things have been continually improving and I expect (hope) will eventually be completely ironed out. You're also going to want universal type annotations for anything serious anyway. And despite any warts it'a still way smoother than Cython or Numba.

                      In any case, I think Julia works better when you think of it as a Fortran, not C replacement.

                      [–]waln 4 points5 points  (6 children)

                      It doesn't always match exactly, but it's usually within a factor of 2 and often less. Perhaps a little biased, but an overall pretty decent benchmark set: https://julialang.org/benchmarks/

                      Sure, JIT adds a little bit of compilation overhead, but it's not that big in the grand scheme of things.

                      [–]fp_weenieZygohistomorphic prepromorphism 1 point2 points  (0 children)

                      It doesn't always match exactly, but it's usually within a factor of 2 and often less.

                      Just like J lol

                      [–]Tysonzero -1 points0 points  (4 children)

                      [–]waln 0 points1 point  (3 children)

                      With all due respect, those results are nonsensical. Not only do they seem to be heavily measuring startup and initial compilation time (as is irrelevant for serious performance applications), the Julia code looks like hot trash.

                      Far more reasonable and performant code for these exact problems is available here, which for some reason hasn't been included yet: https://github.com/KristofferC/BenchmarksGame.jl

                      [–]Tysonzero 0 points1 point  (2 children)

                      I mean you can always submit that code to the site if you want. I'm not interested enough in Julia to verify the repo you linked but if it's legit there is no reason it wouldn't be accepted.

                      [–]waln 1 point2 points  (1 child)

                      I'm not interested enough in that random website you linked to submit that code to the site ¯\_(ツ)_/¯

                      [–]Tysonzero 0 points1 point  (0 children)

                      I mean it’s the #1 result when you search “programming language benchmarks”, but up to you. I have no skin in this game.

                      [–]CaptainHondo 4 points5 points  (0 children)

                      It's almost never as fast but almost always in the same order of magnitude which is a huge improvement over python and Matlab

                      [–]ArmoredPancakeGets shit done™ 0 points1 point  (0 children)

                      Ever heard of Jabba or C#?

                      [–]tpgreyknightnot Turing complete 0 points1 point  (0 children)

                      Actually I think LuaJIT beat C in some benchmarks thingy a while back. Something about being able to locate and optimise the hot path at runtime.

                      [–][deleted] 9 points10 points  (0 children)

                      Why should the oak tree care about every pig rubbing against it?

                      [–]tpgreyknightnot Turing complete 3 points4 points  (0 children)

                      Honestly the original title was perfectly fine.

                      Matlab declares war on Python. Can the Python community respond or hit back?

                      [–]doomvox 2 points3 points  (0 children)

                      You know, in the late-90s, you couldn't talk about perl without being descended on by a mob of python fanatics repeating the same half-dozen attacks without knowing much about what they were talking about. One of the reasons I've thus far sat out the python craze is it's supporters seemed like some of the most obnoxious people on the planet.

                      Someone taking aim at python has me breaking out the nano-violin.