E01: What is the FASTEST Computer Language? 45 Languages Tested!

Поділитися
Вставка
  • Опубліковано 2 лип 2021
  • HD Episode 01: Retired Microsoft engineer Dave Plummer takes you on a guided tour of 45 different computer languages and drag races each against one another using a prime sieve benchmark. From Ada to Zig and everything in between, find out which is fastest and which is slowest.
    Languages tested in the series include ARM ASM, X86 ASM, Ada, BASIC, Bash, C, C++, C#, D, Dart, Delphi, F#, Fortran, Go, Haskel, Java, Julia, Lisp, Lua, Node, Nim, OCaml, Octave, PHP, Pascal, Perl, Powershell, Python, R, Ruby, Rust, Scala, SQL, Swift, TypeScript, V, Zig, and more are being added!
    Each round, languages are tested in groups, such as C vs C++ vs Rust, Python vs BASIC, Ada vs Pascal vs Delphi, and so on.
    Github Code: github.com/PlummersSoftwareLL...
    I am re-uploading this as the original video appears stuck forever at 306p. My apologies if you received this as a duplicate!
  • Наука та технологія

КОМЕНТАРІ • 854

  • @kbsanders
    @kbsanders 2 роки тому +334

    I can't wait to see the Minecraft Redstone implementation.

    • @Thisone95
      @Thisone95 2 роки тому +15

      I mean you could probably beat the 294 seconds. Would be interesting to see

    • @d.l.7416
      @d.l.7416 2 роки тому +14

      EDIT: turns out i forgot how sieves work and misunderstood the problem, here's the correct version:
      You only need to be able to do a thing for each prime up to 1000 (sqrt of 1 million)
      So thats 168 * 6/20 = 50.4 seconds if you can do a thing every 6 ticks (which is possible)
      And you only need to be able to count to 1000 (because you only need primes up to sqrt(1,000,000) to do the sieving)
      And that only takes 10 bits.
      So you only need something on the order of 100 million blocks (exactly how much it is idk).
      Lag would be a big problem tho.
      I have an idea which probably works and would be able to run in the theoretical 50.4 seconds on a hypothetical supercomputer, and I'm gonna start making it.
      (before the edit i massively miscalculated and got 3 days so 52 seconds is a lot better lol)

    • @wintc
      @wintc 2 роки тому +4

      i dont think this would be possible... HOWEVER, i volunteer to write this in MCFUNCTION though

    • @user-bq9jp7bl5p
      @user-bq9jp7bl5p Рік тому +1

      @@d.l.7416 i don't see why you need to find 1 million primes, nor do you need a modulo operator

    • @d.l.7416
      @d.l.7416 Рік тому

      @@user-bq9jp7bl5p the test is finding 1 million primes so you need to find 1 million primes.
      the algorithm is a sieve and sieves require modulo or something as complicated to build in minecraft

  • @DavesGarage
    @DavesGarage  3 роки тому +220

    I re-uploaded this in HD 1080p60 because some folks were only seeing it in 360p. My apologies if this is a dupe for you this morning!

    • @dogee1985
      @dogee1985 3 роки тому +5

      Thank god! Spent half an hour trying to figure out why the video was bad quality

    • @meanbeach5109
      @meanbeach5109 3 роки тому +2

      Seems perfect now!

    • @deefdragon
      @deefdragon 3 роки тому +2

      Worth marking In the titles that this is an HD re-upload, and that the old one is SD only.

    • @ebol08
      @ebol08 3 роки тому

      Should remove the other one'

    • @jackgerberuae
      @jackgerberuae 3 роки тому

      @@ebol08 no, we will lose the comments

  • @nattyman0007
    @nattyman0007 3 роки тому +274

    Putting the episode number in the video title may be more clear that this is a series. Otherwise, I'm excited to see the whole thing :)

    • @DavesGarage
      @DavesGarage  3 роки тому +50

      Will do for future!

    • @DavesGarage
      @DavesGarage  3 роки тому +38

      Done and done for this one as well. Thanks for the suggestion!

    • @rayford3430
      @rayford3430 3 роки тому +17

      @@DavesGarage Hmmm, Richard Stallman would have numbered it E00 .

    • @loloknight
      @loloknight 3 роки тому +2

      If you could add timestamps that would help a lot! Thanks great work

    • @acherongoon
      @acherongoon 3 роки тому +1

      @@loloknight I actually like listening to Dave's talk, some of the asides are interesting (and funny) -- thanks Dave. Timings would lead away from the stories and discussions.

  • @meylaul5007
    @meylaul5007 3 роки тому +23

    I must say, seeing the Github for this is an absolute joy! So many different approaches to implementations all with the same purpose and very funny by the way. Is there actually an attempt by someone to implement it in a esoteric language, or don't we do that here? Shakespeare by any chance? :D

  • @jayjacob9621
    @jayjacob9621 11 місяців тому +1

    I really enjoy how you give the history of each language as well as give a quick overview of how each language works. This series was a great idea, thank you!

  • @Kolor-kode
    @Kolor-kode 3 роки тому +7

    This is a great series, could watch it all day. Thanks Dave

  • @hypersonic12
    @hypersonic12 3 роки тому +1

    Ok I’m hooked and looking forward to the next episode! Great concept

  • @stilles342
    @stilles342 3 роки тому +1

    Thank you Dave for reuploading the video. This one works properly in 1080p!

  • @di380
    @di380 3 роки тому +18

    I would also like to point out that results might vary greatly depending on the compiler. Even with C++ you can see performance differences between different compilers on the same exact code implementation.

    • @GregMoress
      @GregMoress 3 роки тому

      Exactly. The language makes no difference, other than making conveniences available, such as object-orientation.

    • @falklumo
      @falklumo 3 роки тому

      @@GregMoress Yes, but some languages are more susceptible to compiler optimizations than others. E.g., Fortran which can beat assembly written by mere mortals.

    • @Tom55data
      @Tom55data 3 роки тому +5

      @@GregMoress Yes it does, some languages have primitives and some do not, which is very significant for computation - some languages have better implementation of high precision numbers, some languages have better implementations of string (multiple-byte representations of languages) and so on.
      In real cases we have to deal with large data flows (genomics), rapid calculation (interactive 3D manipulation for example), or just calculations of high precision data (machine learning).
      Although the quality of compilers is important, the ability of a compiler to take logic implementations and create machine code that is efficient ends up at a limiting point based on the underlying structure of the language and its design to make it easy for a user and create code efficient for a chipset. For example; how can an interpretive language fully implement refactoring of code or code look-ahead when it is interpreting one line at a time.

    • @MrKentaroMotoPI
      @MrKentaroMotoPI 3 роки тому +2

      Yep. I have Fortran coal reactor chemistry codes that are ~10K lines. The Intel compiler executables run ~ 8x faster than GNU (Gfortran) compiler executables. AVX optimizations on GNU yield nothing. On Intel, they yield about 30%.

    • @compuholic82
      @compuholic82 3 роки тому

      Indeed. Compilers can make radical a difference and in some (usually rather simple cases) even change the complexity class of an algorithm. If you write a simple program that sums the numbers from 0 to N in a loop some compilers recognize that and replace the loop with a closed-form solution. So you have replaced an O(N) algorithm with an O(1) algorithm.
      So it is debatable whether a comparison between languages makes sense if the algorithm that is executed on the machine actually differs from the algorithm you wrote.
      Check out the UA-cam video "What has my compiler done for me lately" if you like compiler magic.

  • @TheFinagle
    @TheFinagle 3 роки тому +15

    The answer to what is the fastest language always starts with "For what task?" for me. Some are optimized for high order math, some are efficient at memory management for large data manipulation, others are built with other kinds of tasks in mind. I have yet to hear of any one language that is perfectly optimized for all possible operations or tasks.

    • @NymezWoW
      @NymezWoW 2 роки тому +6

      Good luck finding any scenario or task where for example Python outperforms C. Some languages simply are faster than others.

    • @nicolaslandau4692
      @nicolaslandau4692 2 роки тому +4

      @@NymezWoW Python is faster at being written if that counts.

    • @tenhovergonha8739
      @tenhovergonha8739 Рік тому

      @@NymezWoW I use JavaScript because it's fastest to me to program in any computer that have at least a browser and a notepad... (No need for internet to download anything more)

    • @nosuchthing8
      @nosuchthing8 Рік тому

      @@nicolaslandau4692 no

  • @nonobrochacho240
    @nonobrochacho240 Рік тому +1

    I thoroughly love this channel and am grateful you’re doing it.

  • @pauldhartley
    @pauldhartley 3 роки тому +13

    I attended a meeting of the Forth Interest Group in Palo Alto in the 1970s, one group of Forth programmers explained they had worked on the project to send a rover to Mars. They were supposed to use ADA to program the rover but unbeknown to the 'suits' used Forth. They claimed that the arm on the rover holding the camera was damaged on take-off and because Forth had been used to control the camera could re-program the code to make the rover move instead of the camera arm when panning the camera while the rocked was on its way to Mars. It certainly was a very interesting group of people, a meeting I remember with great interest ever since.

    • @abc.2924
      @abc.2924 3 роки тому

      Amazing

    • @DavesGarage
      @DavesGarage  3 роки тому +4

      We need a FORTH impl, actually!

    • @PR-fk5yb
      @PR-fk5yb 2 роки тому

      The most interesting and valuable thing is that FORTH can be implemented on absolutely anything that has a stack and can manipulate it with PUSH, POP and ROT values. I have used it extensively to port different cpus implementations across different test jigs (in ancient times). Unfortunately, I doubt it could win such a sieve race because it is so stack intensive and burns memory like hell. On the other hand it is a langage that does not do any floating point arithmetic (yes no need for that) and is best suited for integer calculations. So for findings primes, it will have a edge there. Really looking forward to the results.

  • @garrykraemer8993
    @garrykraemer8993 3 роки тому +14

    I can't wait to see more comparisons! AWESOME sound effects during 'execution'! I was a real-time SW engineer on the B-52G/H flight simulator (6 DOF) and F-15 C Flight simulator, F-15 E Weapon System trainer, plus F-15S Aircraft Maintenance Trainer. Languages: Fortran IV/7/95, C, ADA (F-15 Central Computer - 486), JOVIAL (B-52 Avionics), C++, C#, and big symbol dictionaries! A 'cold start' would take days! Over a million lines of code. The B-52 also had very large radar and visual database sets! That was over 30 years ago.

    • @dale116dot7
      @dale116dot7 3 роки тому +2

      I do automotive engine management and reboot time is one metric I’m always trying to improve, I look for a reboot and resynchronization on a running engine within 200ms. Probably a quarter million lines in C and just a tiny bit of assembly. It’s interesting to hear all of the different programmers and engineers on here.

    • @choasisgoated
      @choasisgoated Рік тому

      Yoooo have you have you heard of dcs? I bet some company who makes software for dcs would love to talk to you. Your a legend man.

  • @nitrouspeed3583
    @nitrouspeed3583 3 роки тому +54

    I bet Dave’s “recreationally fluent in C#” is still on par with the guys who wrote Unity

    • @Alche_mist
      @Alche_mist 3 роки тому +14

      While I really don't bet against (I'm inclined to agree), do you know that the Unity itself was written in C++ (C# is used as its scripting language)?

    • @nitrouspeed3583
      @nitrouspeed3583 3 роки тому +6

      @@Alche_mist I didn’t, but I know now

    • @Alche_mist
      @Alche_mist 3 роки тому +14

      @@analogfeelingshateswin32 Which still means that "the guys who wrote Unity" most probably did more C++ than C#. After all, game engine cores are rather huge and complex projects.

  • @ryan-heath
    @ryan-heath 3 роки тому +158

    Isn't the best compiler the winner, and not necessarily the language it compiled?

    • @whatevah666
      @whatevah666 3 роки тому +28

      That would be a huge part of it, yes :)

    • @paulburger9904
      @paulburger9904 3 роки тому +7

      Jip, it's all about which compiler produced the best machine code.

    • @kaseyboles30
      @kaseyboles30 3 роки тому +21

      To a large degree yes. However it's possible some constructs in some languages are very hard to translate to efficient machine code. And of course as time goes on and effort is applied the compiler for a language will tend to get better. That said there can be a trade off between speed and size. Also not all languages are compiled.

    • @klaxoncow
      @klaxoncow 3 роки тому +15

      Indeed. And if the programmer was good enough - and time was no object - then assembly language would be intrinsically impossible to beat.
      Because every other language is being translated into machine code, and assembly language is just human-readable machine code.
      So, you know, anything a compiler could potentially do could, at least in theory, be simply manually duplicated in assembly language.
      "Anything you can do, I can do better. Anything you can do, I can do as well".
      Of course, in practice - which is why I stipulated that "time was no object" - reaching, and then exceeding, all possible compiler output would not be quick and it would not be easy. But it is always, by definition, possible.
      So, like, no-one ever really uses assembly language, other than for small performance-critical routines, as it's too slow and impractical for the majority of programming.
      (And, indeed, with assembly language, there's a fundamental "cheat" available that no other language can do - first, use your compiler and obtain its assembly output, then go through it and make improvements. So, again, assembly language, by definition, is intrinsically impossible to beat. As you can actually USE the other languages to produce assembly output and then manually tweak it to be just that slightly bit better. The reverse ain't possible.)

    • @kaseyboles30
      @kaseyboles30 3 роки тому +14

      @@klaxoncow A couple decades ago I would have completely agreed with you. However with modern cpu's so much is going on that it's unlikely a human could out-optimize a good compiler. Now with out of order executions, multiple layers of cache, hyperthreading, etc. there are just to many variables for one person to track and account for in any non-trivial program. You do not however want to abstract away programming itself. I'm not sure how to express what I mean, but one of the many weaknesses I see in some modern languages and coders is lack of awareness the intrinsic differences between human reasoning and computer operation.

  • @lordcheezus1
    @lordcheezus1 2 роки тому

    Just discovered this channel, and Dave - You are awesome! Your very well spoken and entertaining while providing very detailed information in a pleasing way. I love watching your videos and aspire to watch more!

  • @phi1111ip
    @phi1111ip 3 роки тому

    An excellent idea for a series, the execution is fantastic as well.

  • @vspecky6681
    @vspecky6681 3 роки тому

    This is amazing content. Can't wait for more!

  • @ShALLaX
    @ShALLaX 3 роки тому

    Fantastic! Just what I hoped would happen with all these implementations!

  • @VoxyGon
    @VoxyGon 2 роки тому +3

    Sweet series! I've got to assume the Pascal working with 32 bit values is giving it the speed advantage over Ada working with 64 bit values (especially since performance is pretty close to 2x). Really interested to see how things evolve at the end of the series!

  • @travails3829
    @travails3829 2 роки тому +8

    Delphi has an optimizing compiler that was always ahead of its time. Would have been nice to see the results.

  • @renancosta2644
    @renancosta2644 3 роки тому +8

    That's quiet interesting, looking at the pascal source code we can check lot of things that could be optimized, including the choice of the map, pascal has lots of dictionaries with different goals.

    • @Axel_Andersen
      @Axel_Andersen 2 роки тому

      The video was TLDR and boring for me so I did not watch it all. But from your comment I gather some libraries were involved. In that case all bets are off. A system library is hopefully highly optimised, but has severe constrains to comply with what ever spec it has. An other library maybe targeting a different spec and might utilise for example GPU. Unless the libraries are coded in the host language (as opposed to for example assembly) then this is really not about comparing languages.

  • @rodhester
    @rodhester 3 роки тому

    Very well put together video. Thank you

  • @tech5882
    @tech5882 2 роки тому +9

    Delphi and it's open source alternatives (Lazarus etc) are still VERY popular among independent Windows tools devs.

    • @fonkbadonk5370
      @fonkbadonk5370 Рік тому

      Glad to see this comment in the wild. Pascal and its derivatives get a lot of pity these days, but I've sustained a good living for the last >25 years by writing indvidual one-off tools for specific customers using Delphi. It has been able to generate mobile apps for years as well. It's a modern language with a (still mostly) healthy ecosystem. The one complaint I have is, that its documentation has been taking a steep dive during the last couple of years, making it nearly necessary to get a version with full sources to properly learn what lib function behaves how.
      I'd say it suffers a LOT more due to its undeserved reputation, instead of its actual merits.

  • @hatcherluke
    @hatcherluke 3 роки тому +69

    Another interesting comparison for languages like Python would be using different implementations. For Python, CPython (the standard implementation) vs. pypy (a fast but compatible implementation using a JIT compiler).
    Edit: Looks like this already exists in the community branch. Great!

    • @WasiMaster
      @WasiMaster 3 роки тому +3

      Jpython, ironpython, brython etc.

    • @hercion
      @hercion 3 роки тому +6

      did you check out NUMBA? with numba, you can jit-compile individual python functions by marking them with @jit and get amazing performance. in the background llvm will do the machine code generation.

    • @semuta2752
      @semuta2752 3 роки тому +2

      @@hercion I’m looking at the documentation now and holy hell that’s such a neat and useful tool. I appreciate you sharing NUMBA’s existence here! Cheers

  • @tekman82
    @tekman82 3 роки тому +123

    Well, well... this project will be a rosetta stone in the future.

  • @fburton8
    @fburton8 3 роки тому +1

    It will be interesting to see how much the benchmark results are improved by contributors. This is a fascinating project.

  • @dolsimon
    @dolsimon 3 роки тому +1

    This is so interesting :D
    Great project man!

    • @DavesGarage
      @DavesGarage  3 роки тому +5

      Thanks a lot! It'll get more interesting as I can dispense with all the talk up front and spend more time with the code!

  • @davidfirth1
    @davidfirth1 3 роки тому +5

    My first job out of college was as a software engineer for.a small company that did embedded systems in Forth and the host software in Turbo Pascal. I actually fondly remember TP 5.5 and 6.x. Extra points if someone still has TP 3.0, which was the first real compiler that I owned. Prior to that, I was punching in hex codes or messing around a little with Z80 assembler.

  • @mollybell5779
    @mollybell5779 3 роки тому

    Great stuff. Thank you, Dave. 😁

  • @rgoodwinau
    @rgoodwinau 2 роки тому +4

    First language at uni was Pascal. Went on to retarget the Modula-2 compiler (also a Wirth language) to cross compile to the Intel 8086 for my honours year.
    Later, working at the uni as a DEC-10 sysprog (back in the days when we had source code for the OS), I discovered and fixed a code generation bug in the Pascal compiler.
    Pascal (with extensions) was a very capable language if you knew what you were doing, even for system programming tasks!

  • @willboler830
    @willboler830 3 роки тому

    It's cool to watch you get better at YT over time

  • @HeavyD6600
    @HeavyD6600 3 роки тому

    Excellent video, Dave! Thanks!

  • @thewaver8
    @thewaver8 2 роки тому

    IIRC with Delphi, you have "Int64" or you can use an unsigned version of Integer, AKA "LongWord".
    Also, you can check directly whether a variable is nil. "Assigned" is just a "convenient" way to not have to worry whether that variable holds a function pointer (@myVar nil), or a value (myVar nil).

  • @shizeeque
    @shizeeque 2 роки тому +2

    the moment I saw Rust and Zig on the screen I said to myself: It's a legit channel on my UA-cam Subscription list. 👌 Great Job, Dave!

  • @markusmaeder1388
    @markusmaeder1388 3 роки тому +4

    What a cool video. Back in the days, I benchmarked every language I could get on my computer.
    Today performance is more about choosing the right architecture and implement features as fast as possible. If it is too slow, throw more hardware (virtual) at it. The art of tuning performance is neglected and underestimated today.
    Many programmers tend to not understand all the complexity involved executing their highly abstracted code using thousands of libs. If code doesn't work, pray they find the problem. :)

    • @portlyoldman
      @portlyoldman 3 роки тому +1

      I distinctly recall rewriting batch programs so that they could run overnight in the period between when everyone went home at night then returned in the morning. Delivering the printouts to their desks by 9am.

  • @juanma9511
    @juanma9511 3 роки тому

    Great stuff dave !!

  • @scottmilano2940
    @scottmilano2940 3 роки тому +8

    The bit manipulation seemed the easiest place to make improvements. A list of bools or even a list of ints seemed to be a lot simpler to check/set than a bit. Memory limitation for bools to 1 million aren’t even close to an issue.
    Edit: Maybe I'm missing the point and the goal is a common algorithm that can be compared across multiple languages. It's just unusual to see space optimizations in code where storage limitations aren't an issue. I've optimized bits of code now and again, and trading memory for speed is usually the easiest way to optimize, that and -O2.

    • @somethingsomthing2456
      @somethingsomthing2456 3 роки тому +3

      unless your working in a low memory system (microcontrollers) then bit set and check manipulation becomes near necessary, but yhea (list/array of bools / ints ) for modern computers it should be pretty quick since it could do the whole computation in a single ALU call

    • @fvbakel
      @fvbakel 3 роки тому +1

      It matters because a small bit array can fit in the L2 cache of the CPU.

    • @scottmilano2940
      @scottmilano2940 3 роки тому

      @@fvbakel Take a look at the code, cache has little to do with the optimization. I thought he needed to get, or-in, and then set each value. But that's not the case. He's or-ing in 64 values at a time. Basically he takes a prime, 2 for example, creates a 64 bit value 0b10101010 ... and then just or's it in 64 bits at a time.

  • @LonersGuide
    @LonersGuide 2 роки тому +13

    Delphi's Object Pascal (when it was a compiled to language) was comparable to in performance to C++. In the case of memory-management-intensive applications, it was a lot faster than Visual C++.

    • @zobook
      @zobook Рік тому

      I use Lazarus at work and is great and fast

    • @fonkbadonk5370
      @fonkbadonk5370 Рік тому

      Delphi / Pascal has such a MUCH worse reputation than it deserves. Fostered mostly by people that only had contact with it during th 90s and early 2000s, and aren't aware that Delphi today is a fully featured, mobile-capable IDE, and can produce very modern and quick executables. On windows espsecially, its ability to remove a LOT of dependencies and result in a monolithic executable makes for a really sleek deployment process.
      Yes, the executables are 20MB+ even for an empty window. But you also don't have to install literal gigabytes of libraries to be able to simply launch it, and you also don't have to micro-manage their version composition on top.
      It's just sad that Delphi's current owner is simply terrible at marketing IDEs, and documentation has been neglected a lot in recent years. The IDE and compilers are great though, and up to speed.

  • @Ensue85A
    @Ensue85A 3 роки тому +5

    In secondary, I studied Apple II c/e line interpreted BASIC, at DeVry Insitute I then studied i8085A binary HEX, and machine code, followed by ANSI C.

    • @29Aios
      @29Aios 3 роки тому +1

      I think OpCodes of different processors should be included too.
      However ASM is good, but probably it can be optimized with OpCodes, not sure, but hope

  • @warrendemars
    @warrendemars 3 роки тому

    Love the outtakes!

  • @mikeandersen8535
    @mikeandersen8535 3 роки тому +8

    How much does the implementation of a language (compiler/interpreter) impact the results? Anyway, I find this is interesting from other aspects than just raw performance. :)

    • @FruchteisMitErdbeer
      @FruchteisMitErdbeer 3 роки тому +4

      The implementation is literally the only thing that matters here. Anything else is just syntax.
      The best example is that LuaJIT can outperform C in certain situations. Normally, jit compiled languages are not quite as fast as compiled languages. But with the right implementation (LuaJIT is amazing), that can be outweighed

    • @mikeandersen8535
      @mikeandersen8535 3 роки тому +1

      @@FruchteisMitErdbeer Remember one who once said that "languages are not fast nor slow, it is their implementation that is fast or slow". And I've seen many examples of that up through the years, from Microsofts and Intels Macro Assembler in the late 80s... to different JIT compilers for more "modern" languages. :)
      I hope Dave comments on this issue in the series he now makes. :)

  • @Luix
    @Luix 3 роки тому +1

    hi, do you have the graphs of all implementations? I’d like to see cpp, rust and golang hand to hand.

  • @lepidoptera9337
    @lepidoptera9337 3 роки тому +4

    The fastest computer language in the world is the correct algorithm for the problem.

  • @Ghandacity
    @Ghandacity 2 роки тому +2

    I C you're very good with the Pascal puns. Do you have any pointers so I can reference them later?

  • @dagbruck
    @dagbruck 3 роки тому +2

    But note that Pascal wasn’t object-oriented in any way when it was designed. The comparison in the day was between C and Pascal. Modula-3 was the first OO derivative of Pascal.

  • @OldePhart
    @OldePhart 3 роки тому +1

    Bummer I thought this was live. Its better to see the outtakes in realtime :)

  • @fllthdcrb
    @fllthdcrb 3 роки тому

    18:41 I'm hardly familiar with Ada, but just looking at the code, it seems to me there are two different syntaxes for converting a number to a string being used here: varname'Image converts a variable, while type'Image(funcname) converts the return value of a function. At least I think that's how it works. It seems that simply referencing a nullary function calls it in Ada; maybe the latter syntax is just an alternate way that works for variables too. Also interesting that you apparently have to specify the type even though it's already declared on the function. One strange thing is Num'Img about halfway down there. Is "Img" an alias for "Image", or is there some other subtlety?

  • @vitor000000
    @vitor000000 3 роки тому

    Amazing video!

  • @fburton8
    @fburton8 3 роки тому +16

    I still use Delphi 7 for work and it's plenty fast enough for the programming I do - real time data acquisition, instrument control, signal processing, graphics and UIs, so I was a bit shocked at how slow Delphi was. Maybe Embarcadero would like to have a go improving the Delphi code... or their compiler! Maybe I should have a go (at the former), although I don't see huge scope for improving the existing code.

    • @valinhorn42
      @valinhorn42 3 роки тому +5

      I've been using Delphi XE5 and later 10.4 professionally for the past few years in similar environments. I really like the commodities that Pascal-derived languages bring to the table compared to C. Sure it's a little slower than the latter, but it more than makes up for it in readability. The WYSIWYG GUI editor is also very neat.

    • @kimbomadsen
      @kimbomadsen 3 роки тому +10

      @@valinhorn42 I uploaded an update to Git which doubles the performance (at least on my 1950x) using same algorithm, just optimized.

    • @TheSchwartzIsWithYouToday
      @TheSchwartzIsWithYouToday 3 роки тому +1

      He did NOT show the Delphi results here, only what I think was FreePascal. Note that there are three Pascalish compilers on the market: Delphi, FreePascal, and Lazarus -- the latter two of which are FOSS. There's a Community Edition of Delphi that's free, so I'm not sure why it can't be used for this (unless it's due to some silly clause in the license that says you cannot publish benchmark results using it). All three support slightly different versions of Pascal, but it's a pretty safe bet you can compile a Delphi 7 app in the other two. Delphi 10.4.2 ... not likely.

    • @fburton8
      @fburton8 3 роки тому

      @@kimbomadsen Well done, sir!

    • @valinhorn42
      @valinhorn42 3 роки тому +4

      ​@@TheSchwartzIsWithYouToday Fair point. I didn't mean to say that either Delphi or Pascal is slow, just that from experience, the compiler results for the most part aren't as performant as those you get from C compiled with GCC. My main point was that I like using Pascal (the language family) and that the GUI tools which Lazarus and Delphi offer are convenient.
      As for the Delphi licencing, the Community Edition permits the free distribution of programs up to an annual revenue of USD 5k if I remember correctly.

  • @davidmartensson273
    @davidmartensson273 3 роки тому +3

    Turbo Pascal also supported virtual methods since the first object oriented version, 5.5.

  • @johnterpack3940
    @johnterpack3940 3 роки тому

    This is awesome. Entertaining, educational, pure greatness. But I do have to agree with the other commenter who questioned whether it's truly indicative of a language's relative performance. At the extreme, Powershell and Bash are completely out of their element here. So if one trounces the other will that really tell us anything? That said, I'm at a loss to come up with a better test. And I'm still eager to see all the results.

  • @smidi4711
    @smidi4711 3 роки тому +1

    Great video 👌

  • @vogong
    @vogong 3 роки тому

    Hi Dave , great work.
    Has Erlang been considered or has it already been suggested ?

  • @zehph
    @zehph 3 роки тому

    48 seconds in and holy crap balls, had to pause and say that the video quality got turned up to eleven! Good stuff!

  • @sanchezramirez4280
    @sanchezramirez4280 2 роки тому +1

    Huge knowledge, and experience. I am amazed. Due to your influence, I will back to c++ which I lerned in 1999-2003 and start lerning another language. C#, Kotlin/Java or Python I think. It becomes very interestic for me. Maybe I will change my job as computer graphic artist to programming/coding.

  • @robsku1
    @robsku1 Рік тому

    Man, that Turbo Pascal screenshot brings back strong memories from my early years at programming =)

  • @guyincognito1985
    @guyincognito1985 3 роки тому

    I come for the drag racing, but I stay for the outtakes.

  • @KeinNiemand
    @KeinNiemand 3 роки тому +3

    I wonder how fast you could make x86 or x86_64 assembly if you really optimised it as much as possible and used even the most obscure instructions when they usefull. While modern c compliers might be faster then doing things by hand they aren't perfect and I wonder how much faster perfect or near perfect assembly that uses every trick to speed things up would be.

  • @ultraderek
    @ultraderek 2 роки тому +2

    You should do a in-depth side by side comparison video of each of the 45 languages.

    • @1992jamo
      @1992jamo Рік тому

      I'd at least love to see a chart with all 45 languages.

  • @unclerojelio6320
    @unclerojelio6320 3 роки тому +31

    The first couple of semesters of CS at The University of Texas back in the 80’s used Pascal culminating in a compiler class where used C to write a Pascal compiler. Good times.

    • @theovandaele3220
      @theovandaele3220 3 роки тому

      If I'm not mistaken the Delphi compiler was written in C, but the IDE was written in itself.

    • @RamLaska
      @RamLaska 3 роки тому

      Did you have Nell Dale's class?

    • @unclerojelio6320
      @unclerojelio6320 3 роки тому +1

      @@RamLaska No, but we used her books. Still have them as a matter of fact.

    • @omnicoinv2
      @omnicoinv2 3 роки тому +3

      @@unclerojelio6320 Id like to inform you that writing a pascal compiler in C is still the basis of the compilers course at UT in 2021. Hook em

    • @RamLaska
      @RamLaska 3 роки тому +1

      ​@@unclerojelio6320 Neat! My mom had her class in the early 80. So early that her textbook (which was used for a couple decades or so) was literally just printed out and bound in a HUUUGE 3-ring binder.
      I think I might still have the binder somewhere, but I removed most of the pages to save space.

  • @MySonBand
    @MySonBand 3 роки тому +1

    Hello from another Leatherlander ;)
    Interesting to see where this is heading.

    • @bertblankenstein3738
      @bertblankenstein3738 3 роки тому +1

      Haha I thought the same thing. Good trying he didn't go there.

  • @SidneyCritic
    @SidneyCritic 3 роки тому +21

    Can't we run 4 languages at a time like Charlotte - lol -, this is going to take ages.

    • @DavesGarage
      @DavesGarage  3 роки тому +7

      Do they still have four wide drag races? I've not seen one in years!

  • @theharbingerofconflation
    @theharbingerofconflation 3 роки тому

    Can't wait to see a comparison between Swift and C/C++

  • @JohnnyWednesday
    @JohnnyWednesday 3 роки тому +2

    You have created an absolute storm in the Object Pascal world! Delphi coders and FPC coders are at war over your words ;)

    • @gorilladisco9108
      @gorilladisco9108 3 роки тому +1

      I couldn't care less. I use FPC not because it's better, but because it's affordable. Delphi has gone from $40 during Turbo Pascal time, to $3,000 for current version .. I'm not going to mortgage my house to buy it, is what I'm saying.

    • @DavesGarage
      @DavesGarage  3 роки тому +2

      Cool! I do hope their best and brightest head over to the repo to improve the algorithms before the finale!

    • @JohnnyWednesday
      @JohnnyWednesday 3 роки тому

      @@DavesGarage - we're the OG strongly typed, object orientated language - Dart and Rust? are playing on our turf! we'll do you proud Dave!

  • @aamiddel8646
    @aamiddel8646 3 роки тому

    Just a question. What is the impact, if any, of using different compilers for a specific language. (Besides that the race becomes very complicated ;-)

    • @MrSumkinFedor
      @MrSumkinFedor 3 роки тому

      different compilers support different CPU architechtures, optimisation options, compilation speeds and also have language extension options.

  • @matthewv789
    @matthewv789 3 роки тому +11

    Pascal was also the main programming language of the original Macintosh, including most of the OS and original applications like MacWrite and MacPaint. I’m not sure if other versions of Pascal support this, but Mac pascal supported pointers as well as “handles” - pointers to pointers - allowing the OS to move chunks of memory around without the application needing to know or care when it happened.

    • @thomasmeister8476
      @thomasmeister8476 3 роки тому +1

      Borland's Turbo Pascal did support that as well - gave me the creeps when I was a kid, trying to learn to code

    • @alphabetaxenonzzzcat
      @alphabetaxenonzzzcat 3 роки тому +1

      @@thomasmeister8476 Yeah, I remember using Borland Turbo Pascal for DOS back in the 1990s. It did support pointers - yes.

  • @theovandaele3220
    @theovandaele3220 3 роки тому +6

    Starting to watch this thinking I know the answer. I'll be honest after viewing it.
    Edit: OK, I'll have to wait a bit. My guess would be ASM. It may be interesting to note that Delphi supports inline Assembler. So you keep the pretty great OOP framework, but can go a level deeper when you really need the speed. I hope someone tries this (it's been too long for me). PS: did you ever meet Anders after you guys stole him (heheh)?

  • @bradkuntzelman5343
    @bradkuntzelman5343 3 роки тому

    I'm sad... the full benchmark was unable to complete since all the Docker images filled up the 24G partition I have on the VM I have set aside for toys like this.

  • @topperthehorse
    @topperthehorse 3 роки тому +2

    Are there deficits from using containers versus running on bare metal and if so could the deficit be different for different languages?

    • @DingleFlop
      @DingleFlop 3 роки тому

      I could be wrong, but I'm fairly certain the tests aren't virtualized, just the compilation. As was mentioned, virtualization has come a very long way but I'm interested to see these results nonetheless.

    • @xeridea
      @xeridea 3 роки тому

      Any CPU that supports virtualization.... pretty much any CPU in the last decade, the virtualization is done in hardware, it is essentially bare metal. There might be a very slight hit, like 1-2%, but it is essentially bare metal. Much of the internet just runs in VMs anyway..... You may need to enable it in your BIOS.
      Before CPUs supported virtualization directly, virtualizing OSs was exceedingly complicated, and slow.

    • @xeridea
      @xeridea 3 роки тому

      @@DingleFlop If running on Windows, the tests are ran through docker, which uses WSL2 (Windows Subsystem for Linux), it is essentially Linux in a VM, with direct Windows integration. If running on Linux or MacOS, the tests would be ran directly. Not sure on some like PowerShell though....

  • @bassbacke
    @bassbacke 3 роки тому +1

    The outtakes were the final bits that made me push that like button. Great video, Dave!

  • @markburhop
    @markburhop 3 роки тому

    Just ruined my day off going though this and the earlier videos! Worth it.

    • @DavesGarage
      @DavesGarage  3 роки тому +1

      Glad to hear it! Sorry not sorry! :-)

  • @joepike1972
    @joepike1972 3 роки тому

    Which version of python is used in the video? I have been working with GPT2/Tensorflow python 3.7 and the implementation looks a bit different from what I have been dealing with.

    • @DavesGarage
      @DavesGarage  3 роки тому

      Hmmm... should be python3 I thought!

  • @abhinavchavali1443
    @abhinavchavali1443 3 роки тому +1

    I ran the benchmarks, and for some reason Zig won by a very large margin (3300 passes vs 2102 in C). I have never heard of this language before, or how incredibly optimized it is. There are a lot of other suprises: csharp beats Rust, a bunch of languages beat Assembly and Fortran. Python beat swift, Julia, and Assembly. Did you get similar results Dave?

    • @robsku1
      @robsku1 Рік тому

      In almost every case where assembly loses to another language, the reason is that the assembly implementation is not good enough yet - with precompiled languages you could actually run disassembler on the winning executable, clean up the resulting assembly code, including writing meaningful labelnames, etc., then try looking for anything that can be removed or done better. Like the compiler propably pushes function parameters to stack before calling, but on some instances it might make more sense to just pass them in registers instead. You'll end up at very least with same performance, because the disassembled code is literally a symbolic presentation of the machine code of the winning program executable.
      But there's couple of things to consider. 1st, x86 assembly can mean a lot of things. We're probably not talking about 16-bit real-mode x86 assembly. And if we were talking about 32-bit x86 assembly, we most likely wouldn't want to limit ourselves to the instruction set of a 386 CPU. But as we're likely talking about 64-bit, are we going to lose simply because we're making sure the code will run on any 64-bit x86 CPU?
      I for example would implement C benchmarking in two different ways - one that just defines the basic CPU architecture (IA64/AMD64), and same code but with configuration done "the gentoo way", where the configuration script would check the machines CPU features and create a GCC_FLAGS list that enables all the instruction set extensions of your specific CPU. Then even if you wrote the winning code in assembly, you might lose to C on another CPU. Unless someone went all Japanese on creating a single assembly implementation that implemented different solutions for different instruction sets available today that were all optimized to perfection and make it choose at runtime which code was the best that could be ran on the current CPU. Even then you might loose your 1st place just because of newer CPU's were made, LOL.
      Even JIT-compiler might end up beating an assembly solution if the JIT is written to choose what CPU instructions can be used at runtime.
      This whole rant is to make a simple point: The fact is that nothing can outperform assembly - as long as it's optimized for same CPU. When you have a specified "minimum requirements" you need the software to run "fast enough" on, that's when you have good case for using assembly to optimize performance critical parts. If that software also happens to never need to or benefit from running faster than X, that's perfect! Many computer games fit this, they run fast enough on "recommended hardware" and optimization is done to push that hardware, as well as "minimum requirements" as low as possible.
      But a lot of software is the kind that can always benefit from increased performance. If that software also happens to be open source (or proprietary software that is provided as source that the customer can compile to their custom hardware), then the software can utilize compiler optimizations on different hardware without effort required from the author of the software. Code written in assembly however will only become faster when ran on faster hardware, someone has to make the effort of rewriting it if they want it to be able to benefit from newer CPU's new instructions.
      Most of the time optimizing by programming in assembly isn't practical. But when you have to push a specific architecture beyond it's limits (internet dummies, don't take this literally), there's no language that can outperform it. In theory. In practise it comes down to your skills.

  • @TranscendentBen
    @TranscendentBen 3 роки тому

    13:20 Okay, so it's been (quite) a few years since I used USCD Pascal on the Apple ][ but I sure don't recall the object-like syntax CheckMap.Create() and ReferenceResults.Add(...). When was that added to Pascal, or are we looking at Delphi, or what ... I finally learned C (just before ANSI C came out) and I never looked back.

    • @eitan71
      @eitan71 3 роки тому

      look at Delphi today, and i'm sure you will be amazed (there is a free version)

  • @nickryan3417
    @nickryan3417 3 роки тому +3

    Yep, can certainly see some optimisations for Pascal, Object/Delphi Pascal but even for ADA (although I am definitely not familiar with it enough to really do it justice).
    My prediction for the fastest will be assembly, but that would require an experienced assembly coder and those are much rarer than other languages. The optimisations that modern compilers, and even the Intel vs generic compilers produce are incredibly sophisticated and this is why it would require an experienced assembly coder to beat them.

  • @edwardjaycocks5497
    @edwardjaycocks5497 3 роки тому

    Great video Dave as always…….::) Retired network engineer giving you the thumbs up

  • @osgrov
    @osgrov 3 роки тому +8

    This is really cool. As someone who only really uses C and assembly, it'll be a real treat to learn about all those languages. :)

    • @MagicNumberArg
      @MagicNumberArg 3 роки тому +1

      Rust. If you do Assembly and C - the best Lang to look at next is Rust.

    • @Markus_included
      @Markus_included 3 роки тому +1

      To be fair, most languages are pretty similar to C.

    • @abhinavchavali1443
      @abhinavchavali1443 3 роки тому

      Have you looked into Rust? It's my favorite PL

    • @osgrov
      @osgrov 3 роки тому

      @@MagicNumberArg not yet, but I've heard lots about it. Maybe now is the time. Will check it out, cheers. :)

    • @robsku1
      @robsku1 Рік тому

      @@Markus_included If you want something that's different in very fundamental way, I'd suggest taking a look at Common Lisp - now I'm not a grandmaster of programming language knowledge, in fact I've yet to actually take learning more than very basics of Lisp programming, but I haven't seen anything else that's even close to being as different (disclaimer for asshats: I know I said Common Lisp, but I actually mean Lisp/Lisp-based languages in general, so nobody bring up other implementations than Common Lisp - like elisp or Scheme - to show that I'm wrong. Besides I'm not claiming there isn't anything as different from C).
      It's a damn interesting language as well - there is a joke about if God was a programmer they would use Lisp. There's another joke about God commenting on programming the universe where he says that he originally planned to do it with Lisp, but ended up hacking it all together with Perl. And despite my love for Perl, if the latter joke was true I feel it would certainly explain a lot ;)

  • @JuanManuelCuchilloRodriguez
    @JuanManuelCuchilloRodriguez 3 роки тому +3

    In my university, they are still using Pascal to introduce students to programming. Obviously, Ada is a mandatory language for the "Programming languages" course. I loved this episode!

    • @Grantherum
      @Grantherum 3 роки тому +1

      Pascal is really nice to teach newcomers to programming, as it kind of instills some "best practices" inherently in programming. If you start in something like C, C++... that you can be lazy with the indentions, it takes longer to teach that out of someone, than to just teach it in the first place.

    • @Mark.Brindle
      @Mark.Brindle 3 роки тому +3

      Pascal is a great and Borland added extensions that became almost standard. I have used UCSD Pascal, Olivetti, Fujitsu, VAX, Turbo Pascal V1.0, 2.0, 3.0 and all Delphi's up to Borlands demise. It has some fantastic features (such as sets) that make reading much easier. The book Data Structures Plus Algorithems = Programs is an awesome book by the author of Pascal.

    • @JuanManuelCuchilloRodriguez
      @JuanManuelCuchilloRodriguez 3 роки тому +3

      @@Grantherum I actually discussed much about this topic, and as today I think is the best language to teach programming. It is typed, is readable, allows to pass parameter by copy or as reference, and allows pointers and manually managed memory. I know, memory managed language like C# or Java are less error prone and allows faster development, but I think it is easier going from Pascal to C# than going from C# to Pascal. If you know how to do something the hard-way, the easy way is trivial.

    • @Sauvenil
      @Sauvenil 3 роки тому +2

      Nice, we had Turbo Pascal as an "intro" class as well, in 1996, but didn't have Ada. They offered FORTRAN as well but I didn't really see the point of it except as kind of a history lesson.

    • @Sauvenil
      @Sauvenil 3 роки тому +1

      @@JuanManuelCuchilloRodriguez it's also compiled, so there's the opportunity to learn about the compiler chain too... things you don't learn with the scripted languages of web development.

  • @ArchaeanDragon
    @ArchaeanDragon 2 роки тому +4

    The comparison of Pascal and Delphi versions is a bit confusing.
    Pascal (and ObjectPascal) has several dialects implemented in modern day compilers, and some compilers (like FreePascal) handle multiple dialects with compiler switches. Delphi is technically just a modern dialect of Pascal, specifically Object Pascal, with some minor function, keyword, and syntactic sugar differences, but is otherwise functionally equivalent as other Object Pascal dialects. I suppose it's fine for benchmarking its specific compiler optimizations and dialect, and seeing how it differs in performance, but the code isn't largely all that different between them. For example, Inc/Dec procedures exist in the original Turbo Pascal language spec, dating back to the early 80s and are (I believe) a staple of all modern Pascal dialects, not just Delphi.
    As such, I think the differences between the Object Pascal and Delphi versions showcased here are largely due to programmer preference.

  • @davidconnelly
    @davidconnelly 3 роки тому

    Shame we couldn't get Erlang on the list. Great video. Looking forward to the rest.

  • @FarrellMcGovern
    @FarrellMcGovern 3 роки тому +8

    I hope that someone implements this in Forth since I would like to see if the claims that Forth is like a "portable assembler" in terms of speed are true. I used to do some coding in Forth...but that was 40 years ago...and I have forgotten much about the language.

    • @PablumMcDump
      @PablumMcDump 3 роки тому

      I believe that the only time I've seen Forth in the wild was in the Sun OpenBoot environment.

    • @FarrellMcGovern
      @FarrellMcGovern 3 роки тому

      @@PablumMcDump I played around with that on the Sun boxes I have owned. I still have an Ultra 60 that someday I would boot up again. Postscript is a very close cousin to Forth. A bunch of instruments used in Aerospace and Aviation run on Forth. There are lots of embedded real-time control systems that used to run Forth...I don't know about today. I'm totally out of the programming field, doing mostly Unix/Linux sysadmin stuff.

    • @ce9916
      @ce9916 3 роки тому +2

      It probably wouldn’t fare much better than forth position

    • @joepike1972
      @joepike1972 3 роки тому +1

      @@FarrellMcGovern The XO-1 computers that were part of the give one get one program of the One Laptop per Child had Forth open firmware on them.

    • @FarrellMcGovern
      @FarrellMcGovern 3 роки тому

      @@joepike1972 Nice! I didn't know that!

  • @MsDuketown
    @MsDuketown 7 місяців тому

    I learned programming in Pascal and still love it. The native 32-bit sieve supports packed arrays and allows integer operations, including negative index and lookups in the dict.
    Other interpreters typically in Office PC's are VBA, so testing that would make sense as well. And Rust would inject this office workstation with doping since Rust has great industrial support, similar to how Python has academic support, whereas PHP and Javascript are web languages.
    Currently I'm researching about testing and I don't use JAVA. With Super Tux and Minecraft Redstone I think I'm going to reorganise some unit tests..
    Btw. Results may differ per compilers. And RAD development together with Microsoft SureStep can maintain the whole environment.
    Great video❤

  • @CalvaTV
    @CalvaTV 2 роки тому

    The dictionary with prime counts, mentioned at 13:15 is lacking 1->0. A lot of the solutions miss this one, and also miss to produce the correct answer for ”all primes up to the number 1”.

  • @JamesPotts
    @JamesPotts 3 роки тому

    inc() and dec() are part of base Pascal. It's a bit odd to see then used.

  • @TomTalley
    @TomTalley Рік тому

    Is there a way to see the effects using graphics processor's to offload math?

  • @vvvvaaaacccc
    @vvvvaaaacccc 3 роки тому

    will you discuss clojure in the java episode? :)

  • @alphabasic1759
    @alphabasic1759 Рік тому

    Fun to se someone mention Delphi and Turbo Pascal again. Reminds me of my early career.

  • @wilhelmsarasalo3546
    @wilhelmsarasalo3546 2 роки тому +1

    Fpc/Lazarus here, I do C, C++, various assembly langues etc. Pascal makes you type more, but a typo is a syntax error instead something you did not intend. Similar end results.

  • @GbpsGbps-vn3jy
    @GbpsGbps-vn3jy 3 роки тому

    It's usually a hand-written assembly or manually optimized the one generated by compiler. That's the first part, the second is for what architecture we're writing and what's the problem

    • @isuller
      @isuller 3 роки тому

      Not sure. A manually optimized code would run fast on one architecture, but slow on other. Maybe a JIT style interpreter would be faster. I'm not sure - a "current status" would be nice to see though :-)

    • @GbpsGbps-vn3jy
      @GbpsGbps-vn3jy 3 роки тому

      @@isuller Good comment, but try to read my second sentence.

  • @TheTrienco
    @TheTrienco 3 роки тому

    Follow up when this series is done: which is the most productive language (ie. how long does it take to implement a given algorithm using only what comes with the default installation). Might be impossible to do in a fair and representative way, unfortunately.

    • @katrinabryce
      @katrinabryce 3 роки тому

      I'm guessing probably Excel, if it doesn't fall over.

  • @raatti
    @raatti 3 роки тому +3

    Your Pascal part is old (Turbo), Free Pascal is more modern compiler (like Delphi)

    • @DavesGarage
      @DavesGarage  3 роки тому

      If you like, see if you can enlist in the project and update it!

  • @jaysistar2711
    @jaysistar2711 3 роки тому

    I'm not sure if you can disable the Ada runtime checks, but there are quite a few. Although branch prediction may keep the pipeline full, the extra instructions processed cause Ada to be slower. If you can disable these checks with a compiler option, then you'd get a much more fair score... Maybe. I said "maybe" because these checks are ussually left on in released Ada code, so your results may be considered a fair score if you want "what's ussually done" vs "what can be done, but is never done in practice".

  • @tommat86
    @tommat86 3 роки тому +1

    I get between 1300-2400 with the pascal bench. Not sure why the numbers are that far apart, but they are much higher than 143. That's on an AMD 2700X

  • @EvilDaveCanada
    @EvilDaveCanada Рік тому

    But which version of BASIC are you using.
    Basis BBx/BBj (Business BASIC) currently can compile in to pure Java.
    Then the created Java code could be used as an independent Java app compared to the specifically writen Java app.

  • @k0ppit
    @k0ppit 3 роки тому

    I tried to port the sieve to my Siemens S7-1511 PLC. I don't think SCL the language let you make an array at runtime. Anyway it was able finish a single pass to 1M in about 1.7s

  • @Alphapat1
    @Alphapat1 6 місяців тому

    Like to pick your brain about a NTVDM running on a hyper V. Seems like my DOS 4GL Rdbs slows down from time to time. Other times it is faster. Is there any way to implement some sort of caching to speed things up. Sorry if this is off topic. Appreciate the help.

  • @tbthedozer
    @tbthedozer 3 роки тому

    I wonder if the Enterprise ran the warp engines on PowerShell? It seems like they were always saying they need more Power, like it’s their favorite..

  • @HashimAziz1
    @HashimAziz1 2 роки тому

    This is a nice idea, but I came across this hoping that it would be a comparison between every language as you say you won't be doing at 6:00 i.e. comparing how fast Bash can execute the prime sieve compared to Rust. Sure, we know one is faster than the other, but just how much faster is the answer that I was curious about enough to come searching for this video. And then there's the much closer comparisons like whether Rust is faster than Go, etc. If you could do one final speed comparison between all the languages at the end of the series that would be amazing.

  • @leosthrivwithautism
    @leosthrivwithautism 3 роки тому

    Funny to see languages that I used back in high school days. Visual Basic and pascal are two languages I’ve used. Php, front pages, html, and Java are other languages I’ve used (except front page that was to build sites and not a language). Messing around with languages was when I noticed it wasn’t for me. I’m technical. Prefer to build and fix computers or programming them in what to do. That’s where I bow to this man for creating many tools I use today. Funny part about all this is that it’s been many years and when the code came up I was some what able to read it. So I did actually learn something back then.