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

  Рет қаралды 171,378

Dave's Garage

Dave's Garage

Күн бұрын

Пікірлер: 846
@kbsanders
@kbsanders 3 жыл бұрын
I can't wait to see the Minecraft Redstone implementation.
@Thisone95
@Thisone95 3 жыл бұрын
I mean you could probably beat the 294 seconds. Would be interesting to see
@d.l.7416
@d.l.7416 3 жыл бұрын
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)
@херзнаетгражданинЕбеньграда
@херзнаетгражданинЕбеньграда Жыл бұрын
@@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 Жыл бұрын
@@херзнаетгражданинЕбеньграда 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
@херзнаетгражданинЕбеньграда
@херзнаетгражданинЕбеньграда Жыл бұрын
@@d.l.7416 The task is to find positive primes that are smaller than 1 million
@DavesGarage
@DavesGarage 3 жыл бұрын
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 жыл бұрын
Thank god! Spent half an hour trying to figure out why the video was bad quality
@meanbeach5109
@meanbeach5109 3 жыл бұрын
Seems perfect now!
@deefdragon
@deefdragon 3 жыл бұрын
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 жыл бұрын
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 жыл бұрын
Will do for future!
@DavesGarage
@DavesGarage 3 жыл бұрын
Done and done for this one as well. Thanks for the suggestion!
@rayford3430
@rayford3430 3 жыл бұрын
@@DavesGarage Hmmm, Richard Stallman would have numbered it E00 .
@loloknight
@loloknight 3 жыл бұрын
If you could add timestamps that would help a lot! Thanks great work
@acherongoon
@acherongoon 3 жыл бұрын
@@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.
@hypersonic12
@hypersonic12 3 жыл бұрын
Ok I’m hooked and looking forward to the next episode! Great concept
@tekman82
@tekman82 3 жыл бұрын
Well, well... this project will be a rosetta stone in the future.
@boluaygepong5920
@boluaygepong5920 3 жыл бұрын
Facts‼️😭
@TheFinagle
@TheFinagle 3 жыл бұрын
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 3 жыл бұрын
Good luck finding any scenario or task where for example Python outperforms C. Some languages simply are faster than others.
@nicolaslandau4692
@nicolaslandau4692 3 жыл бұрын
@@NymezWoW Python is faster at being written if that counts.
@tenhovergonha8739
@tenhovergonha8739 2 жыл бұрын
@@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 2 жыл бұрын
@@nicolaslandau4692 no
@gabrielbarrantes6946
@gabrielbarrantes6946 3 ай бұрын
​@@nicolaslandau4692is it? Lack of typing causes many bugs adding to development time
@nitrouspeed3583
@nitrouspeed3583 3 жыл бұрын
I bet Dave’s “recreationally fluent in C#” is still on par with the guys who wrote Unity
@Alche_mist
@Alche_mist 3 жыл бұрын
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 жыл бұрын
@@Alche_mist I didn’t, but I know now
@Alche_mist
@Alche_mist 3 жыл бұрын
@@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.
@di380
@di380 3 жыл бұрын
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 жыл бұрын
@@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 жыл бұрын
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 KZbin video "What has my compiler done for me lately" if you like compiler magic.
@lepidoptera9337
@lepidoptera9337 3 жыл бұрын
The fastest computer language in the world is the correct algorithm for the problem.
@tech5882
@tech5882 3 жыл бұрын
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.
@travails3829
@travails3829 3 жыл бұрын
Delphi has an optimizing compiler that was always ahead of its time. Would have been nice to see the results.
@ryan-heath
@ryan-heath 3 жыл бұрын
Isn't the best compiler the winner, and not necessarily the language it compiled?
@whatevah666
@whatevah666 3 жыл бұрын
That would be a huge part of it, yes :)
@paulburger9904
@paulburger9904 3 жыл бұрын
Jip, it's all about which compiler produced the best machine code.
@kaseyboles30
@kaseyboles30 3 жыл бұрын
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 жыл бұрын
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 жыл бұрын
@@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.
@nonobrochacho240
@nonobrochacho240 Жыл бұрын
I thoroughly love this channel and am grateful you’re doing it.
@jayjacob9621
@jayjacob9621 Жыл бұрын
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!
@pauldhartley
@pauldhartley 3 жыл бұрын
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 жыл бұрын
We need a FORTH impl, actually!
@PR-fk5yb
@PR-fk5yb 3 жыл бұрын
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.
@Kolor-kode
@Kolor-kode 3 жыл бұрын
This is a great series, could watch it all day. Thanks Dave
@DavesGarage
@DavesGarage 3 жыл бұрын
You're welcome!
@LonersGuide
@LonersGuide 3 жыл бұрын
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.
@ArchaeanDragon
@ArchaeanDragon 3 жыл бұрын
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.
@scottmilano2940
@scottmilano2940 3 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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.
@rgoodwinau
@rgoodwinau 3 жыл бұрын
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!
@glych002
@glych002 3 жыл бұрын
So… your title lies to us. It says 45 languages tested, but you didn’t test all 45. This is the sort of thing that pisses viewers off. Call it the “Language speed showdown: ADA vs Pascal”.
@thewaver8
@thewaver8 3 жыл бұрын
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).
@dagbruck
@dagbruck 3 жыл бұрын
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.
@hatcherluke
@hatcherluke 3 жыл бұрын
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 жыл бұрын
Jpython, ironpython, brython etc.
@hercion
@hercion 3 жыл бұрын
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 жыл бұрын
@@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
@wilhelmsarasalo3546
@wilhelmsarasalo3546 3 жыл бұрын
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.
@meylaul5007
@meylaul5007 3 жыл бұрын
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
@davidfirth1
@davidfirth1 3 жыл бұрын
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.
@VoxyGon
@VoxyGon 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!
@fburton8
@fburton8 3 жыл бұрын
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 жыл бұрын
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 жыл бұрын
@@valinhorn42 I uploaded an update to Git which doubles the performance (at least on my 1950x) using same algorithm, just optimized.
@TheSchwartzIsWithYouToday
@TheSchwartzIsWithYouToday 3 жыл бұрын
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 жыл бұрын
​@@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.
@garrykraemer8993
@garrykraemer8993 3 жыл бұрын
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 жыл бұрын
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 2 жыл бұрын
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.
@renancosta2644
@renancosta2644 3 жыл бұрын
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 3 жыл бұрын
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.
@golden.lights.twinkle2329
@golden.lights.twinkle2329 2 жыл бұрын
It's the compiler and the cpu it runs on that matters most, not the source language. Turbo-Pascal on the IBM-PC was the fastest language I ever used.
@stilles342
@stilles342 3 жыл бұрын
Thank you Dave for reuploading the video. This one works properly in 1080p!
@SidneyCritic
@SidneyCritic 3 жыл бұрын
Can't we run 4 languages at a time like Charlotte - lol -, this is going to take ages.
@DavesGarage
@DavesGarage 3 жыл бұрын
Do they still have four wide drag races? I've not seen one in years!
@davidmartensson273
@davidmartensson273 3 жыл бұрын
Turbo Pascal also supported virtual methods since the first object oriented version, 5.5.
@willboler830
@willboler830 3 жыл бұрын
It's cool to watch you get better at YT over time
@Herdatec
@Herdatec 3 жыл бұрын
15 Years ago I learned Pascal and Delphi in school. We were sad not to learn a useful language like C++. Well, now I've got a project to program in Ada. Life went full circle.
@theovandaele3220
@theovandaele3220 3 жыл бұрын
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)?
@FarrellMcGovern
@FarrellMcGovern 3 жыл бұрын
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 жыл бұрын
It probably wouldn’t fare much better than forth position
@joepike1972
@joepike1972 3 жыл бұрын
@@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!
@matthewv789
@matthewv789 3 жыл бұрын
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 жыл бұрын
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 жыл бұрын
@@thomasmeister8476 Yeah, I remember using Borland Turbo Pascal for DOS back in the 1990s. It did support pointers - yes.
@dingoosh
@dingoosh 2 жыл бұрын
Video starts at 9:03 I love your videos, but man, an over nine minute intro isn’t okay
@unsafecast3636
@unsafecast3636 3 жыл бұрын
About 32-bit integers - they're actually slower than 64-bit ones on a 64-bit machine! So it's not only the range, the performance is affected too
@ce9916
@ce9916 3 жыл бұрын
I wish you’d explain, this is so counterintuitive!
@nickcarter4006
@nickcarter4006 3 жыл бұрын
I’m not knowledgeable in any way about this but I assume it’s because the 32-bit integers have to be reinterpreted to 64-bit in an amd64 machine. Can someone confirm?
@unsafecast3636
@unsafecast3636 3 жыл бұрын
@@ce9916 I think I spoke early here. This depends A LOT on the architecture and use case. For example, if you're bottlenecked by memory bandwidth, just use smaller integers, any benefit you get from arithmetic speed will not matter at that point, just get as many integers through the bus as you can. If you're bottlenecked by the processing speed, that's a whole different story. I'm not very sure about x64, but I know some 64-bit architectures don't have 32-bit arithmetic especially - so they have to convert very often. Also registers, some can't read from fractional registers like x64 does (ax/eax/rax), so again, conversions everywhere. But sometimes it just doesn't matter. Benchmark it and see which is faster.
@ce9916
@ce9916 3 жыл бұрын
@@unsafecast3636 Thank you! I naively assumed that it would just treat 32b ints as 64b ints and ignored the extra space.
@brdrnda3805
@brdrnda3805 3 жыл бұрын
How about float vs. double? Can it have performance impact to use float on a 64-bit CPU?
@shizeeque
@shizeeque 3 жыл бұрын
the moment I saw Rust and Zig on the screen I said to myself: It's a legit channel on my KZbin Subscription list. 👌 Great Job, Dave!
@eldjmasterfreddy4366
@eldjmasterfreddy4366 2 ай бұрын
Brings back memories of 90s Turbo Pascal, C , C++, 80x86 and Motorola 68000 Assembly . Great channel
@sang3Eta
@sang3Eta 3 жыл бұрын
Delphi is to Pascal as Visual C++ is to C. Far easier to code and debug in Pascal it's a very underrated language. Much faster than Visual Basic at runtime.
@tommat86
@tommat86 3 жыл бұрын
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
@Ghandacity
@Ghandacity 3 жыл бұрын
I C you're very good with the Pascal puns. Do you have any pointers so I can reference them later?
@Ensue85A
@Ensue85A 3 жыл бұрын
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 жыл бұрын
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
@nickryan3417
@nickryan3417 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.
@phi1111ip
@phi1111ip 3 жыл бұрын
An excellent idea for a series, the execution is fantastic as well.
@KeinNiemand
@KeinNiemand 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.
@markusmaeder1388
@markusmaeder1388 3 жыл бұрын
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 жыл бұрын
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.
@johannhuman532
@johannhuman532 3 жыл бұрын
Thanks for talking about (Free)Pascal. Using the "packed" keyword does not put 8 booleans in one byte. For that you need to use "bitpacked" or some compiler directive. But then the compiler won't accept dynamic arrays. I've proposed an implementation using a pointer to bitpacked array. I've tested with actual bit-packed array, it was about the same speed for 1 million, but for 100 million, the bit-packed version was much faster, I guess due to reduced memory cache usage.
@JohnnyWednesday
@JohnnyWednesday 3 жыл бұрын
It's fine - you can enable / disable the bitpacking per unit (possibly round blocks of code too - I've not tried) - I do so for BSP visibility data and bit-plane functions on the Amiga using FPC while still allowing standard array access elsewhere
@johannhuman532
@johannhuman532 3 жыл бұрын
@@JohnnyWednesday I am not sure you got my point. bitpacked was not activated in the implementation and it was with a dynamic array.
@JohnnyWednesday
@JohnnyWednesday 3 жыл бұрын
@@johannhuman532 - oh my apologies - yes, I understand - we should ensure our language is fairly represented.
@johannhuman532
@johannhuman532 3 жыл бұрын
@@JohnnyWednesday no problem, you're forgiven. the keywords are similar
@ultraderek
@ultraderek 3 жыл бұрын
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.
@johnny5805
@johnny5805 3 жыл бұрын
10 Print "Please make these videos more interesting for non-programmers"; 20 poke 23606,0 30 goto 10 All I know is Sinclair BASIC :-)
@johncochran8497
@johncochran8497 3 жыл бұрын
Try the following program... 10 A=1E18 20 B=1E19 30 C=1E20 40 PRINT A*C 50 PRINT B*B Obviously, the result should be two lines with the value 1E38. But I suspect you'll be surprised at what you actually get.
@unclerojelio6320
@unclerojelio6320 3 жыл бұрын
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 жыл бұрын
@@RamLaska No, but we used her books. Still have them as a matter of fact.
@omnicoinv2
@omnicoinv2 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 жыл бұрын
​@@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.
@erickvasquezballon6406
@erickvasquezballon6406 3 жыл бұрын
Answer, ASSEMBLY
@JohnnyWednesday
@JohnnyWednesday 3 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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!
@ShALLaX
@ShALLaX 3 жыл бұрын
Fantastic! Just what I hoped would happen with all these implementations!
@dolsimon
@dolsimon 3 жыл бұрын
This is so interesting :D Great project man!
@DavesGarage
@DavesGarage 3 жыл бұрын
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!
@JuanManuelCuchilloRodriguez
@JuanManuelCuchilloRodriguez 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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
@@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 жыл бұрын
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 жыл бұрын
@@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.
@HeavyD6600
@HeavyD6600 3 жыл бұрын
Excellent video, Dave! Thanks!
@DavesGarage
@DavesGarage 3 жыл бұрын
Glad you liked it!
@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”.
@raatti
@raatti 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!
@theharbingerofconflation
@theharbingerofconflation 3 жыл бұрын
Can't wait to see a comparison between Swift and C/C++
@vspecky6681
@vspecky6681 3 жыл бұрын
This is amazing content. Can't wait for more!
@matt_b...
@matt_b... 3 жыл бұрын
The sunburn, the shirt... Welcome back from Hawaii?
@____-gy5mq
@____-gy5mq 3 жыл бұрын
Or Miami?
@mayank8387
@mayank8387 3 жыл бұрын
Or Vice City?
@fburton8
@fburton8 3 жыл бұрын
It will be interesting to see how much the benchmark results are improved by contributors. This is a fascinating project.
@EdwinvandenAkker
@EdwinvandenAkker 2 жыл бұрын
Ever tried *Xojo* _Native cross-platform_ I worked with it for a few years. And it gets me tools rather quickly.
@killjaqular
@killjaqular 3 жыл бұрын
Dave: "And if you're in jail, breakout!" Bill Cosby: "Ok." *weird faces accompanied by a laugh track
@lordcheezus1
@lordcheezus1 3 жыл бұрын
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!
@schulmastery
@schulmastery 3 жыл бұрын
"All you have to do is type make!" * *: As long as you are on a unix system with GNU dev tools installed(for make), and have docker installed and running, with permission to run as a standard privilege user
@voxelfusion9894
@voxelfusion9894 3 жыл бұрын
Isn't that most programmers?
@schulmastery
@schulmastery 3 жыл бұрын
@@voxelfusion9894 Well programmers write Microsoft documentation, which is phenomenal, but also write Oracle documentation, which is awful by comparison. I don't think terrible/incomplete guidance is inherent to programmers
@omgpullmyfinger
@omgpullmyfinger 3 жыл бұрын
Yep I spent some time getting it to work but consider it time well spent.
@voxelfusion9894
@voxelfusion9894 3 жыл бұрын
@@schulmastery Hm, not sure what the deal with documentation here is, but getting docker set up took me only 3 mins, and the instructions on their github to get all the parts working is excellent. It really is as simple as writing "make", considering how much it does on its own.
@schulmastery
@schulmastery 3 жыл бұрын
@@voxelfusion9894 And I'm sure setting up the WSL or dual booting a Linux distro would have been trivial for you and all the Windows users out there also. That's not the point. If you know what to do, doing it is easy. For those who don't, downloading the repo, cding into the directory, and typing 'make' would not work. That's all I'm saying.
@cyberwip
@cyberwip 3 ай бұрын
Assembly language rules! Only thing that beats it is working on the team that designed the machine instructions.
@mnoxman
@mnoxman 3 жыл бұрын
What no Eiffel?
@warrendemars
@warrendemars 3 жыл бұрын
Love the outtakes!
@rodhester
@rodhester 3 жыл бұрын
Very well put together video. Thank you
@JacobP81
@JacobP81 3 жыл бұрын
0:38 I'd say an Assembly language will be the fastest to run, but since it's so low level very slow to code.
@osgrov
@osgrov 3 жыл бұрын
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 жыл бұрын
Rust. If you do Assembly and C - the best Lang to look at next is Rust.
@Markus_included
@Markus_included 3 жыл бұрын
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 ;)
@mikeandersen8535
@mikeandersen8535 3 жыл бұрын
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 жыл бұрын
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 жыл бұрын
@@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. :)
@plexq
@plexq 3 жыл бұрын
For 90% of use cases, this is the wrong question. Fastest in terms of execution; mostly we don't care. Our CPU consumption is rarely the bottleneck in modern applications, so it's just the wrong question. It'd be better to ask what's the fastest language to develop in? What's the fastest language to maintain applications in. What language will you still love after maintaining an application in it with 5 other people who've changed 5 times for 5 years? That would be an interesting question.
@JohnWasinger
@JohnWasinger 3 жыл бұрын
Adept V+ is a language used for industrial robotics. If provides a real-type response and it is an uncompiled script language.
@fonkbadonk5370
@fonkbadonk5370 Жыл бұрын
Delphi's Pascal dialect has actually been named "Delphi Language" proper by its creators a couple of years ago. So it's entirely fine to use that name for both, the IDE and the language itself.
@NonRoker
@NonRoker 3 жыл бұрын
If I remember correctly, Integer is whatever the base size is of your cpu. So it would be 32bit on a 32bit cpu but it should be 64 on yours. That is why pascal also has other whole number types for when you really need a specific size and we were warned not to assume how many bits is in a integer.
@DavesGarage
@DavesGarage 3 жыл бұрын
Not until a programmer USES that language to express the algorithm, right?
@NonRoker
@NonRoker 3 жыл бұрын
@@DavesGarage Might also depend on what compiler was used in that docker. Might go take a look. Really interesting project this. I still use Delphi to this day, even though mostly I work on C# now. But for some quick implementations nothing beats Delphi's speed from concept to hitting the compile button. A future test project might be interesting to compare compile speeds. Like I'm 100% C is going to run faster in this project, but with a big program with lots of headers, I think Pascal based languages will come out on top. Their "header" files (called units) are pre-compiled and I've seen similar sized projects take literal hard seconds to compile in c# but instantly go in delphi.
@socratespassalidis5506
@socratespassalidis5506 3 жыл бұрын
@@DavesGarage what do you mean here. you should use the 64bit compiler.Why u used 32 bit and made it look as the language not supports 64bit int wich is not true and misleading. The programmer wisely choose the datatype matching the data it had to handle. I find you biased.
@Trev0r98
@Trev0r98 3 жыл бұрын
The more important question is: Which computer language will be the fastest and most efficient, once AI and quantum computing becomes the norm?
@abhinavchavali1443
@abhinavchavali1443 3 жыл бұрын
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.
@ray_glaze
@ray_glaze 3 жыл бұрын
I didn't have time to read all 857 comments, so this may be a repeat. Embarcadero has a free Community Edition that could be used for a fairer comparison. Turbo Pascal is a poor proxy.
@AndreiNeacsu
@AndreiNeacsu 3 жыл бұрын
I would be surprised if properly written Fortran does not get a top spot. I would expect it to be the fastest in this class of calculations.
@falklumo
@falklumo 3 жыл бұрын
For sure. Only problem is that the Github repo doesn't include a decent optimizing Fortran compiler, just gfortran. E.g., Intel Fortran compiler typically creates code running twice as fast, sometimes 30x!
@AndreiNeacsu
@AndreiNeacsu 3 жыл бұрын
@@falklumo It's all about the proper vectorization for the architecture; arranging variables and data to fit onto 128, 256, or 512bits and making sure that the cache is optimized for. On the XeonPhi (both on Knights Corner and Knights Landing) I measured a 10x increase in single-threaded speed when taking into account the specifics of the architecture (SSE, AVX, FMA, etc.).
@Noodles.FreeUkraine
@Noodles.FreeUkraine 3 жыл бұрын
And the Delphi result is where exactly?!?
@deadsource
@deadsource 3 жыл бұрын
I think he said he doesn't have a Delphi license
@BartekJuszczak
@BartekJuszczak 3 жыл бұрын
He basically said if it's paid and closed source then all you get is a "This language is just like pascal but you have to pay for it "
@Trashloot
@Trashloot 3 жыл бұрын
Wup wup much love for Delphi/Lazarus :3.
@LonersGuide
@LonersGuide 3 жыл бұрын
Is Lazarus still alive? I used to be a serious Delphi guy, but gave it up long ago.
@Trashloot
@Trashloot 3 жыл бұрын
@@LonersGuide I am using it and you can still download it. Im not a professional programmer tho so i don't know if anybody uses it for serious work. But i don't know anything that's better at quickly creating desktop applications. So its alive from my point of view :D.
@Pozi_Drive
@Pozi_Drive 3 жыл бұрын
Apparently you never understood the Niklaus Wirth joke. Europeans call him by name (Neeklous Weert), whereas the americans call him by value (nickles worth). Wirth had a complete Windows 8-like OS on his workstations running, around 1990. But he was from crazy switzerland so all the US joked about him.
@guyincognito1985
@guyincognito1985 3 жыл бұрын
I come for the drag racing, but I stay for the outtakes.
@robsku1
@robsku1 Жыл бұрын
Man, that Turbo Pascal screenshot brings back strong memories from my early years at programming =)
@alphabasic1759
@alphabasic1759 2 жыл бұрын
Fun to se someone mention Delphi and Turbo Pascal again. Reminds me of my early career.
@the_beefy1986
@the_beefy1986 3 жыл бұрын
Not trying to split hairs here, but Python is not an interpreted language in the sense that BASIC is interpreted. CPython, the reference implementation of the lanaguage, compiles your code to and then executes bytecode, which puts it into the same category with Java and C#. There are other implementations of the language, such as PyPy, which adds cool features like JIT.
@gronki1
@gronki1 3 жыл бұрын
Dave: I don't have a Fortran compiler ready on my machine me, using Fortran regularly: no?
@juanma9511
@juanma9511 3 жыл бұрын
Great stuff dave !!
@sanchezramirez4280
@sanchezramirez4280 3 жыл бұрын
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.
@9rune5
@9rune5 3 жыл бұрын
Isn't Anders Hejlsberg mostly busy with TypeScript these days?
@bharold
@bharold 3 жыл бұрын
Yes, I believe so. I might be outdated, but I believe the baton on C# was passed to Mads Torgersen and Anders went on to lead TypeScript.
@Mark.Brindle
@Mark.Brindle 3 жыл бұрын
@@bharold As far as I know, you are correct. Anders actually said this is a presentation about 2 years ago.
@ce9916
@ce9916 3 жыл бұрын
Is having a dutch last name a requirements to creating or maintaining languages?
@bharold
@bharold 3 жыл бұрын
@@ce9916 Hejlsberg is a Dane. I don't know where Torgersen is from, but his last name is also Scandinavian.
@9rune5
@9rune5 3 жыл бұрын
@@ce9916 Both Anders and Mads are Danish. As for Niklas, he is Swiss. So the answer to your question is 'no'.
@smidi4711
@smidi4711 3 жыл бұрын
Great video 👌
@scottk3292
@scottk3292 3 ай бұрын
I wonder if any Modula-2 implementation still exists. I bought Modula-2-Sprint for my Amiga system back in college. Also, what about Kotlin? Would that be applicable here? Lastly, I'm looking forward to the release of Mojo Python, to see how it really compares. They claim to have done some cool compiler tricks (with slight language modifications) that they say makes Mojo competitive with C++.
New Windows Easter Egg Discovered - And I'm in it!
10:23
Dave's Garage
Рет қаралды 182 М.
Lazy days…
00:24
Anwar Jibawi
Рет қаралды 8 МЛН
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 2 МЛН
computers suck at division (a painful discovery)
5:09
Low Level
Рет қаралды 1,7 МЛН
E00: Software Drag Racing:  C++ vs C# vs Python - Which Will Win?
23:30
Modern C++: Unique Ptrs and Vectors
16:25
Dave's Garage
Рет қаралды 145 М.
Blame Me: I Worked on the Windows Progress Dialog!
16:26
Dave's Garage
Рет қаралды 392 М.
What's the FASTEST Computer Language? C++ vs Fortran vs Cobol: E04
15:22
Top 10 Most Useless Languages to Learn
7:56
Language Simp
Рет қаралды 2 МЛН
E03: C# vs Java: Which is Faster?  Computer Language Drag Racing Series
25:10
Python vs Swift | Prime Reacts
19:44
ThePrimeTime
Рет қаралды 81 М.
Why learn Zig?
6:44
Kodaps Academy
Рет қаралды 16 М.
Mojo Lang… a fast futuristic Python alternative
4:14
Fireship
Рет қаралды 889 М.