From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: * X-Spam-Status: No, score=1.6 required=3.0 tests=BAYES_20,FREEMAIL_FROM, SCC_BODY_URI_ONLY,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Received: by 2002:a37:648:0:b0:75e:bb25:e0bd with SMTP id 69-20020a370648000000b0075ebb25e0bdmr309qkg.6.1686263551605; Thu, 08 Jun 2023 15:32:31 -0700 (PDT) X-Received: by 2002:a81:7607:0:b0:565:e903:6ad9 with SMTP id r7-20020a817607000000b00565e9036ad9mr551128ywc.9.1686263551159; Thu, 08 Jun 2023 15:32:31 -0700 (PDT) Path: eternal-september.org!news.eternal-september.org!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 8 Jun 2023 15:32:30 -0700 (PDT) In-Reply-To: Injection-Info: google-groups.googlegroups.com; posting-host=184.98.40.171; posting-account=x5rpZwoAAABMN2XPwcebPWPkebpwQNJG NNTP-Posting-Host: 184.98.40.171 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <191a99f6-8886-4831-9a1f-5261e15062b1n@googlegroups.com> Subject: Re: does a safer language mean it is slower to run? From: Jerry Injection-Date: Thu, 08 Jun 2023 22:32:31 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:65304 List-Id: On Thursday, June 8, 2023 at 1:00:55=E2=80=AFAM UTC-7, Dmitry A. Kazakov wr= ote: > I think comparison is misplaced. Julia is an interpreted language, very= =20 > slow, on par with Python. It has memory mapped arrays like Ada does, but= =20 > lacks Python's precompiled modules. The syntax is wonderfully arbitrary= =20 > and unpredictable... [I guess this is OT.] Julia is a hot mess. Rather than being interpreted, i= t uses a just-in-time compiler, so they claim they have the solution to the= "two-language problem" of prototyping in a slow language such as Python th= en re-writing in a compiled language for speed. There are problems. Julia h= as a bad habit of forgetting that it compiled a program before (no saved bi= nary between sessions) so it has to re-compile it each time. (I think there= are work-arounds but not intended for mere mortals.) Julia folks seem to = have invented the phrase "time to first plot" because much of the Julia eco= system is written in Julia so it has to go off and compile the plotters bef= ore you can make the first plot, or something like that. However, using Jul= ia in Visual Studio Code where there is a very nice notebook Jupyter enviro= nment plus a very clever hybrid of a REPL and standard editor, is quite del= ightful. There is a set of officially published instructions for getting ma= ximum speed from Julia https://docs.julialang.org/en/v1/manual/performance-= tips; when printed as as PDF, it spans 36 pages and uses terminology and co= ncepts that only an expert will know. People love Julia for its multiple-di= spatch feature whereby it automatically generates a different version of a = subroutine for every combination of argument and result that it can discove= r. (This behavior can be overridden by using ----- optional typing!) If you= think dynamic typing is 180 degrees from strong typing, I would suggest th= at it is now only 90 degrees from strong typing, with Julia's brand new opp= ortunities for accidentally calling a subroutine that you didn't even know = existed now occupying the 180 degree position.