Alternatives to C & C++ for Embedded Systems, Game Engines, & Other Manually Managed Memory Domains

Sdílet
Vložit
  • čas přidán 6. 07. 2024
  • Support this channel via a special purpose donation to the Georgia Tech Foundation (GTF210000920), earmarked for my work: • Support This Channel v...
    0:00 -- Introduction
    2:47 -- Application domains
    2:57 -- Jai
    3:38 -- Odin
    5:49 -- Zig
    6:17 -- Beef
    7:56 -- Vala
    8:30 -- Your thoughts
    8:43 -- Rust
    9:13 -- Carbon

Komentáře • 120

  • @yezariaelll
    @yezariaelll Před rokem +40

    Last commit ...3 days...poor 3 hour commit just above being ignored :).
    I think your list covers the spectrum quite well. I think two interesting aspects of Jai/Zig is also the compile time (as in time it takes to compile) aspect.
    If I'm not mistaken, JBlow aims to provide a compiler (next to an LLVM backend), that can compile very large code bases very fast for rapid development.
    Zig also has some interesting binary patching ideas going on.

  • @mjolnirdev
    @mjolnirdev Před rokem +28

    I use odin, and cannot say enough good things about it. I get all the power of c, without the cruft. your video made me curious, 45kloc in my odin projects folders. im a bit surprised so much now heh.
    i can tell you when i go back to using c, cpp or rust, i find them maddening. c is painful because forward declaration, array pointer degen (or length for the matter) and no native map, the others just make you realize how much "abstraction" is piled on for no reason at all.

  • @ZombieLincoln666
    @ZombieLincoln666 Před 2 měsíci +5

    zig seems fantastic. I’m already using it as just a build tool, for compiling C on Windows.

  • @FrankHarwald
    @FrankHarwald Před 6 měsíci +3

    If you're looking for a mature & widely available alternative to C++, try using D.
    (it's not as new & radical as Zig & Odin or the other ones but it's the most readily available, it has a mature standard library, GCC, LLVM & a custom DMD compiler backend & works on Mac, Linux, Windows, BSD & Android & has C-ABI interoperability (but only partial C++ ABI interop lacking support for multiple inheritance & can't use C++ template macros in D))

    • @shrin210
      @shrin210 Před 5 měsíci +1

      No we want more new language in which we don't want to work in 😅
      Have you used D in business projects? Can you tell your experiences in D?

  • @zetaconvex1987
    @zetaconvex1987 Před rokem +5

    Hare. As a language it can be built from the ground up rapidly. It is being used as the basis for Helios, a microkernel. But you can certainly do systems programming with it. It occupies the same general space as C, Odin and Zig.

  • @danplt
    @danplt Před rokem +3

    professor makes youtube video, what a time to alive!

  • @hawkbirdtree3660
    @hawkbirdtree3660 Před měsícem +1

    Cool. I started with C++ but ended up falling in love with C, but Odin seems cool to try out, as long as I don't confuse it with Odin, Odin, or Odin.🤣

  • @bobweiram6321
    @bobweiram6321 Před rokem +20

    What about Ada? It checks off all the items on your list. It's syntax is similar to VHDL and Pascal.

    • @TranscendentBen
      @TranscendentBen Před rokem +5

      Ada is "interesting" in that it's probably older than C++ (I first saw Ada 40+ years ago, perhaps it (C++) was then still called "C with Classes" when Ada came out). It was the big DOD-specified military language meant for high-reliability systems such as fighter jets. One of the more memorably usages of Ada was in Ariane 5 whose first launch dramatically failed due to (long story short) a bug in the code. It went to show that reliability (and other things) aren't just in the language, it's also in proper coding and and extensive testing.
      But has Ada been "growing" as much as C++? Especially since C++11, many new (and mostly good) features have been added. Unfortunately, too much of the old features are still there (admittedly needed for legacy code), making it that much bigger of a language than it probably should be.
      There's a point where one should start over to make something better, and that's the hope of all these new languages, but it'll take many years to discover which ones, if any, are really THAT much better.

    • @joakimstrandberg5850
      @joakimstrandberg5850 Před rokem +7

      @@TranscendentBen What I remember from the Ariane 5 disaster is that code properly implemented for Ariane 4 was reused
      for Ariane 5 without proper testing. There was some piece of code that could raise exceptions but had been proven exception free by the developers of Ariane 4. Note that it wasn't always exception free but exception free for the trajectories supported by Ariane 4. Thus the exception handler which could catch exceptions had been removed to save disk space (the project had hardware limitation issues). When the code was reused for Ariane 5 which supported trajectories and fuselage angles that Ariane 4 didn't, an exception was generated when an invalid value was detected at run-time. The consequences of the missing exception handler was catastrophic. Insufficient testing let the issue go into production. On the other hand, it was a looong story and I may have oversimplified.
      Personally, I really enjoy developing software in Ada. It makes me feel productive. But I also realize it's not for everyone.

    • @bobweiram6321
      @bobweiram6321 Před rokem +9

      @@TranscendentBen Of all the languages I've programmed in, Ada is by far the most productive one. When you're programming in Ada, you're specifying your data and its constraints. The compiler uses it to enforce safety at compile time and optionally at runtime. Beginners frequently complain about this process as verbose and overly dogmatic. The process, however, serves a very powerful secondary purpose, which even seasoned Ada programmers are unaware of. Those same specifications become hints or metadata the compiler uses to perform optimizations. Ada's object code is tiny and very fast in comparison to other languages. Finally, those specifications also serve as documentation. Ada is one of the few languages where I can immediately pick up where I left off months later.

    • @ViaConDias
      @ViaConDias Před měsícem +1

      Ada is just so beautiful. I am really considering it and even if I end up going with Odin or Zig for now, I will have to learn Ada at some point.

  • @freeideas
    @freeideas Před 4 měsíci +2

    Curious what you guys think about Nim and how it compares to the others here.

  • @kylegaijin
    @kylegaijin Před rokem +5

    Watching this video made me think I was having a conversation with myself. You and I seem to be looking for the exact same thing. I've spent a lot of recent time learning, relearning, and relearning Rust. I think Rust is a great language. It has the largest offering of 3rd party and developer offered documentation. However, I can't find myself being able to think in the language. But, I really love it's solid stable feel. I've looked at Zig, but it really lacks documentation and a 1.0 baseline. Jai is a language that I'm also very keen about. I'm one of the beta testers and the compiler speed is phenomenal. It's easy to think you got a compiler error because it completes so fast. I've had to double check the terminal screen a number of times to find that the compile completed successfully. I agree with everything you said about C and some. Most new languages (i.e. Rust) have nice package management systems such as (Rust Cargo.) I, too, would like a non-GC language, with simple mechanics and modern language elements like Matching, and Iterator loops, perhaps a blend of functional style.

    • @_slier
      @_slier Před rokem

      by any chance do you have any spare beta key sir?

  • @boats3208
    @boats3208 Před rokem +28

    I have tried both Zig and Odin and while I liked both I have to say that Odin feels significantly more ready as of now (which makes sense since it is a smaller language). So if you are interested in learning a new low level language I recommend it over Zig. Also I hope the Beef devs either port their IDE or make some kind of LSP so people can use it everywhere. It looks really interesting but I'm basically a monkey without auto completion.

    • @handmadegamesdev
      @handmadegamesdev Před rokem +5

      I agree. Odin is a great language. I'm enjoying it a lot for game programming. I wish the documentation was better, but between the docs, the github wiki, the discord, and code examples in the official Odin repo, you can puzzle out the more idiomatic Odin patterns.

    • @danieleccleston7928
      @danieleccleston7928 Před rokem +1

      Yes I love odin

    • @ZombieLincoln666
      @ZombieLincoln666 Před 2 měsíci +1

      zig can be used along with C though. That’s a huge advantage and will help adaption

  • @thavrisco1632
    @thavrisco1632 Před 11 měsíci +3

    4:04 Odin isn't even listed on that wiki page anymore.

  • @frankc2119
    @frankc2119 Před 6 měsíci +2

    there is also cakelisp (c semantics, lisp syntax) and nelua (lua syntax, c semantics, optional GC). Hylo and Vale are also in development (safe by default with optional MMM).

  • @hatoline4731
    @hatoline4731 Před rokem +2

    Doing my own short research on this I came across a language called c3 as well that compares itself to other languages here in its documentation and apparently does not have garbage collection. Seems to have been used as part of a Vulkan port of Quake.

  • @TheGag96
    @TheGag96 Před rokem +20

    Don't forget D! You can decide to not use the GC, and even compile in -betterC to go without a lot (if not all?) of the runtime if you want. I've done things for the 3DS this way. (There are dozens of us...!)
    And it should be noted that the only language in this space with compile time execution / metaprogramming features exceeding D's is Jai. It's been seriously overlooked for how good it is.

    • @wiktorwektor123
      @wiktorwektor123 Před rokem +5

      One of Zig main futures is "comptime", you can execute any function during compilation. So your statement is false. Besides D is also complicated language, less than C++ but still. I don't like complication, I like simplicity and in this space Odin and Zig are languages I can learn in less than 2 weeks (which I did). You can't do this with C++ or D.

    • @TheGag96
      @TheGag96 Před rokem +4

      @@wiktorwektor123 Zig's comptime is limited in many ways like D's. In Jai, you can do just about anything - read and write to files, spin up windows, play sounds, connect to the internet, etc. It's just not the same, whether you think it's worthwhile or not. The main purpose of that kind of power is to be able to replace build systems entirely and make it sure you have the tools for any metaprogramming you find yourself needing.
      I understand that D has a lot of features that make it difficult to learn quickly. I would say it's better than C++ in this regard, but if that's a concern for you, one of these newer cleaned-up languages makes sense.

  • @DrunkenUFOPilot
    @DrunkenUFOPilot Před 4 měsíci

    I like this video! My favorite few alternative new languages, and some papers I've enjoyed reading in the past, such as Joyner's Critique of C++. I really like Vala. I get a lot done in it, using gtk, and easy usage of gstreamer, GEGL, and other libraries. I really like Odin but haven't used it much yet, but the built-in complex numbers, 3-vector and 4-vectors and associated matrix types appeal to the mad theoretical physicist / signal processor / 3D graphics / computer vision part of me. Which takes care of everything except making coffee and doing the laundry. Marvelous times we live in!

  • @jomy10-games
    @jomy10-games Před rokem +2

    Very interesting video. Was going to suggest Rust, but then you mentioned it at the end. Another language without gc is Swift, though it's not as suitable for embedded programming as the other languages mentioned. And memory is managed for you, though you can fiddle with pointers if you want.

  • @christofferlerno2633
    @christofferlerno2633 Před rokem +4

    Look at C3?

  • @ishimachi
    @ishimachi Před rokem +4

    C3 kind of made me click with C much more than Zig/Odin

  • @stephenkamenar
    @stephenkamenar Před rokem +2

    i've tried jai. it's fantastic. code actually compiles, if there's errors they make sense.
    someone even wrote a jai operating system that i was able to build from source and run without problems or instructions.
    the only "issue" i ran into is the lack of any package manager. you have to just copy paste modules next to your source code and manually update them. but maybe that'll change before release. and all the language features necessary to make a good package manager are already there

  • @neuro_corgi
    @neuro_corgi Před 6 měsíci +2

    I just want to mention Roc lang once more here. It’s a functional language without a GC, and according to the talks of its creator, a pretty fast one

    • @Lantertronics
      @Lantertronics  Před 6 měsíci +1

      Oh that's interesting! I can't imagine a functional language without GC. I will need to check that out.

  • @eduardabramovich1216
    @eduardabramovich1216 Před 23 dny +1

    Hello, will you continue your exploration of Odin?

    • @Lantertronics
      @Lantertronics  Před 23 dny

      I'm hoping to get a student who wants to work on it this year. :)

  • @thanosfisherman
    @thanosfisherman Před rokem

    Which one of these languages is the most blazingly fastest?

  • @ViaConDias
    @ViaConDias Před měsícem +1

    What do you guys think of Odin for embedded (micro controllers specifically)? I am choosing between Odin and Zig right now and I lean towards Zig for MCUs
    I find Zig's syntax really noisy for no other reason than to save a few keystrokes (which is NEVER a valid excuse since we all spend 5-10x more time reading code than we do writing it. I know the noise will be minimized through familiarity but still.
    Odin I fear will be killed by Jai if Jai launches within the next couple of years where I truly believe Zig will be a real long term addendum/replacement for C.

    • @Lantertronics
      @Lantertronics  Před měsícem

      I've had students experiment with Zig, but I haven't yet found a student who wanted to take on Odin, so I don't have any deep thoughts on it yet. Maybe with the new crop of students in the Fall...

  • @daviidon
    @daviidon Před 9 měsíci +1

    lobster, futhark and roclang. Roc isn't production ready but you should put in on your radar.

  • @IconicPhotonic
    @IconicPhotonic Před 17 dny

    I think Rust might also fit the bill here. I'm personally more interested in Zig, and it sounds like I should be looking into Odin as well.

  • @patrickdowling6442
    @patrickdowling6442 Před rokem +1

    A language with a rune type? That’s automatically a win.
    C++ does seem to require blinders to filter out some of the “cruft” and just use what's useful...

  • @konstantinrebrov675
    @konstantinrebrov675 Před měsícem +1

    But what about Golang? You didn't mention Go, which I thought would have been yet another replacement for C?

    • @Lantertronics
      @Lantertronics  Před měsícem

      Golang would be interesting to explore. Here I was focusing on languages that don't have garbage collection.

    • @konstantinrebrov675
      @konstantinrebrov675 Před měsícem

      @@Lantertronics An interesting programming language that I've found is the HLA programming language. Basically it is between C and x86 assembly. It's higher level than x86 assembly, but lower level than C. In fact, it's name HLA stands for High Level Assembly. It is basically a C-like language, which has all of your usual loops and if statements, but then it also has built in support for using registers directly, and assembly instructions directly. Like you can do a mov(eax, ebx); in the middle of what otherwise looks like a C source code. In addition to loops and if statements, you can also write your control structures manually using gotos and registers, which makes writing state machines really easy and intuitive to read the code. It also has support for a compile time language, macros, exception handling, OOP and inheritance, RTTI, and an extensive standard library that does everything that the C standard library does, and then some. the HLA standard library has built in support for strings and string processing, file handling, blobs module, environment variables, coroutines, networks sockets programming, Posix inter process communications, Win32 API, custom terminal interface similar to ncurses, and a standard template library somewhat similar to C++. All of this you can program in a language that visually resembles C, but then you can also drop one layer down and use registers, and all of the x86 instructions can be used on those registers, including MMX instructions, complete free reign for type punning, reinterpreting bits of data as something else, looking into high level data structures as simply collections of bytes, giving you a greater degree of control of the data than any of these modern systems programming languages ever will, obviously at the cost of safety of course. C doesn't make any assumptions and allows the programmer to do whatever, HLA makes even less assumptions, and it's quite easy to write intentionally buggy, insecure, or just hard to read and obfuscated code in HLA. HLA also has full interoperability with C, so you can call C functions from HLA and vice versa, and HLA even supports C++ pass by reference arguments. I can definitely say that HLA is a niche language, which could be useful for embedded systems, or low level systems programming, or perhaps data encryption and compression, and writing intentionally clever and obfuscated programmers to impress your friends.

  • @matroqueta6825
    @matroqueta6825 Před rokem +4

    I'm a bit late to this but it surprised me not to see Nim on your radar.
    I can't say I have used it extensively personally, but I'm coming from a Julia backround and intending to start working on low level code next year, and Nim will be my go-to tool because it seems to do right everything that Julia does right, except on a lower level language. Is there a specific reason why Nim wasn't on the radar?
    Edit: You'll see that Nim has a garbage collector by default, but it is optional and can be turned off, which seems very versatile.

    • @Lantertronics
      @Lantertronics  Před rokem

      No particular reason; I just started with languages I had heard of. Nim definitely looks interesting!

    • @boredstudent9468
      @boredstudent9468 Před rokem

      but afaik it has significant whitespace

    • @ViaConDias
      @ViaConDias Před měsícem

      Nim's default is not a GC it is Automatic Memory Management. I believe you can think of it as writing C/C++ without memory management and then having your co-worker write the memory management code for you. In Nim's case it's just the compiler that injects the memory management into your code. Doesn't give you full control but should work out much like a skilled C/C++ programmer would write the memory management and therefore there should be no overhead compared to writing it yourself. At least that is my high-level understanding of the process.

  • @jsphfalcon
    @jsphfalcon Před 2 měsíci +1

    what about Nim programming

  • @momofomomofo
    @momofomomofo Před 7 měsíci

    ATS has full linear types, no GC, no need for array bounds checking, and C FFI, but is hard to pick up if you don't already know ML and/or linear types. I've made a few SDL games with it though.

    • @FrankHarwald
      @FrankHarwald Před 6 měsíci

      ATS is great - if you find a platform that it runs on & you & everyone in your team is not just familiar with functional programming but also with throwing pre- & post- conditions & other invariants & formal verification overhead at their heads.

  • @tinkerwithstuff
    @tinkerwithstuff Před rokem +6

    What about the D language? It's one of the older (self declared) C++ successors, have not followed its development, but it looks like 2022 had/will have a D conference, so it's not dead yet.
    It did away with some of C++'s quirks. It has modules (no header files), some syntax oddities were fixed (like C# also did) and while it has garbage collection, there can be code that's not subject to it, IIRC.

  • @kernelk1931
    @kernelk1931 Před rokem +3

    wow, tsoding on 3:08

  • @eckee
    @eckee Před 7 měsíci

    Hey, is there any follow up on these? I'm an EEE and CpE dual degree student interested in robotics and game design. Naturally I was attracted to C/C++ but I wonder if I should invest in emerging tech instead of those. I mainly liked Odin from these because it's already being used professionally by EmberGen and you mentioned it has built in complex number, quaternion and matrix support.
    However with C/C++ being widely used by already established companies and C++ having Unreal Engine and huge robotics background, I might feel safer learning these to find jobs more easily.

    • @MagpieMcGraw
      @MagpieMcGraw Před 6 měsíci

      Just learn C first and you can do the others later. It's not like you're limited to learning just 1 language. Avoid C++ though.

  • @olekollo7875
    @olekollo7875 Před 7 měsíci

    Why not julialang?

  • @haowu6749
    @haowu6749 Před 11 měsíci +2

    6:11 "the last commit was 3 days ago", but it literally says 3 hours ago

    • @Lantertronics
      @Lantertronics  Před 11 měsíci

      Heh whoops I misread it

    • @Lantertronics
      @Lantertronics  Před 11 měsíci

      Yeah I saw the 3 days line and overlooked the 3 hours line

  • @ybbor_exe
    @ybbor_exe Před rokem +1

    C3 is another language u might want to take a look at.

  • @manueljenkin95
    @manueljenkin95 Před rokem +1

    Haskell has a couple of domain specific language embedded called atom and co pilot, which some big companies are known to use. I haven’t used it yet though (still learning haskell)

  • @Noble_Savage
    @Noble_Savage Před rokem +1

    BEEF!

  • @FilipLamparski
    @FilipLamparski Před rokem +2

    Yeah I was looking at C-level languages that aren't C for embedded programming myself - Rust is actually quite good for this especially if you factor in the ecosystem. There are several projects aiming to create environments for several common families of MCUs (mainly ARM cores but the RISC-V flavours of the esp32 are also supported).

  • @TheSlowGrowth
    @TheSlowGrowth Před rokem +4

    I'm really surprised that Rust is not one of your top choices here. The development experience is absolutely amazing and it can be as low level as you like. Don't think that it's a purely high level language.

    • @SaHaRaSquad
      @SaHaRaSquad Před rokem

      Agreed. It does have its drawbacks but whenever I use a different language I miss the great error messages from Rust and the fact I can just rely on the compiler to look for potential oversights after a refactor. And it's still obvious where allocations happen.
      I've heard a lot of complaints about compilation speed and while it's definitely not as fast as Zig, for me personally it's fine considering the value I get out of the checks.

    • @markblacket8900
      @markblacket8900 Před rokem

      Rust also has a beautiful macro system inspired by Scheme, it's one of my favorite features of the language
      Getting used to the borrow checker is the biggest hurdle, but it's really useful once you get over the (pretty steep) learning curve

    • @SaHaRaSquad
      @SaHaRaSquad Před rokem +2

      @@markblacket8900 Rust macros are the most annoying feature imho. They have so much potential but 90% of the cases I can't use an intended syntax because the macro parser is garbage and can't do lookaheads. It always ends up being a slightly more flexible function call.

  • @porky1118
    @porky1118 Před rokem +1

    2:08 I'm not sure if I agree about header files.
    At least header files are a specification, that can even be read and imported by some programming languages.
    At least some kind of header file, which just contains the public information of a program, would probably be a good idea. They could be auto generated.

    • @iaadsi
      @iaadsi Před rokem +1

      Exactly. If you have dynamically loaded libraries, you need header files to describe the interface. Zig, for example, can and does generate C headers for DLLs it compiles.

    • @porky1118
      @porky1118 Před rokem +1

      @@iaadsi That's probably the best way to do it. I don't think, there are other languages with native support of this.

    • @_slier
      @_slier Před rokem

      no.. just no

  • @webtube8628
    @webtube8628 Před rokem +5

    What about Nim?

    • @skyletoft
      @skyletoft Před rokem +1

      Isn't Nim GC'd?

    • @renghenkow
      @renghenkow Před rokem +1

      @@skyletoft like D, you can program without the gc. GC is optional in nim.

    • @androth1502
      @androth1502 Před rokem +5

      @@renghenkow any time a GC is default but can be disabled, you cut yourself out from probably most of the ecosystem and you have to take special measures to disable it.
      enabling GC should be optional, not the other way around.

  • @porky1118
    @porky1118 Před rokem +3

    1:25 I totally agree about the syntax choices.
    I would really like to see a language that's just C with better syntax (and also a better macro system).
    It should not have more features.
    But every language, that tries to be a C alternative adds more features to it.
    Maybe we could add some features like newer modern data types (for vectors and 128 bit integer types) to the core language, but nothing more complex like generics, inheritance, traits.

    • @androth1502
      @androth1502 Před rokem

      odin is pretty close to that, the fact it comes with so many vendor libraries makes it more appealing. there is another project called C3 which looks promising.

    • @porky1118
      @porky1118 Před rokem +1

      @@androth1502 I don't think, Odin is close to that. It's one of the languages, which "adds more features to it".
      C3 sounds interesting, I'll have a look, thanks.

  • @OCTAGRAM
    @OCTAGRAM Před 8 měsíci +1

    Ada

  • @brandonphilander661
    @brandonphilander661 Před 7 měsíci +1

    Odin.

  • @flaylaa3087
    @flaylaa3087 Před rokem +3

    I love C++, yes it takes time and patience to master and get comfortable with, but Enterprise want fast production and aspiring devs don't want to put the time and I don't blame them. The thing is when you master it, nothing and I mean nothing can stand in your way
    I usally find myself combining C/C++ with C# or Python because DLLs are so cool.

  • @solitary_crow
    @solitary_crow Před rokem

    Vale, nim, Tera

  • @danieleccleston7928
    @danieleccleston7928 Před rokem +2

    It's soo annoying that I have to write odin Lang just so I can get results related to the language

  • @Alibaba-id4dw
    @Alibaba-id4dw Před 21 dnem +1

    Languages that don't support goto aren't a good replacement for C.

    • @Lantertronics
      @Lantertronics  Před 21 dnem

      I suppose that’s true if you are using C as something of a portable assembler so the C itself is a target of compilation from some other language; you need something that translates directly to underlying assembly jump instructions. But I don’t think I’ve ever written a single goto in C or ever felt the urge to write one. I’d imagine gotos are not looked on fondly in most code reviews.

  • @_slier
    @_slier Před rokem +6

    jai and odin are the only one with better and sane syntax.. rust is the worse offender.. c3, jakt, hare language should be in the list too

  • @markramirez3920
    @markramirez3920 Před rokem

    Very cool & interesting video. I'm starting something on by own. I would add Digital Mars D. Please check my answer on the matching Reddit post ....

  • @UncleWalter1
    @UncleWalter1 Před rokem +14

    If you want to manually memory manage with Rust, it's very easy. Those pieces of code you wrap in the the unsafe block and then you can do whatever hooliganery inside those blocks and wrap it in a safe type. The borrow checker is only something that runs at compile time, so unlike language GC, it you're not going to take a performance hit. I've had good success with Rust for embedded systems. If something does go pear-shaped, the first place you look is in the unsafe blocks, which you keep as small as possible.

    • @morglod
      @morglod Před rokem +2

      Unsafe rust is unsafer than C++ so it's shit way

    • @marcs9451
      @marcs9451 Před 6 měsíci +1

      except you must respect rust's crazy aliasing rules otherwise you silently get undefined behavior and broken programs and you gotra run things through Miri. Rust is great until you have to do any memory "unsafe" operations, then it becomes much more volatile than C.

  • @coolalgorithms
    @coolalgorithms Před 8 měsíci +2

    Vlang is fun

  • @bradrum1
    @bradrum1 Před rokem +1

    * NOTE: THIS SPECIFICATION IS UNFINISHED AND VERY OUT OF DATE.
    Searches Odin Language. Clicks on „language specification“.

    • @Lantertronics
      @Lantertronics  Před rokem

      Sorry I'm not totally following you -- are you saying the specification isn't up to date with the actual behavior or the compiler?

    • @bradrum1
      @bradrum1 Před rokem +1

      @@Lantertronics I am saying that you are going to have a hard time finding documentation if the developers of the language can’t keep the specs linked on the homepage current.
      It is a big thing to consider with all of these newer languages…how good/how current is the documentation? I have seen it more than a few times even with some of the more mature languages than Odin. And then if the language changes, as less mature ones do, how quick are the about updating the docs? Odin is obviously not quick about that. I would expect that problem to crop up time and again.

    • @CianMcsweeney
      @CianMcsweeney Před rokem +2

      @@bradrum1 the reason for that discrepancy is that the language isn't at V1, yet. It's close, and when it hits that mark the documentation will also be(mostly) final

    • @bradrum1
      @bradrum1 Před rokem +1

      @@CianMcsweeney that is part of my point.
      Using languages that are not v1 yet is expensive for people that are going to write and maintain something. maintenance, debugging, development with others, or even changes in hardware you have to deal with major rewrites of code, many times working, stable, and fast code, that is broken by changes in the language.
      For this reason I don’t even look at languages that are not v1 yet for serious projects. If it just you doing hobby work and you can control everything about the code base and you don’t expect the code to compile in two years (without major rewrites) with a new compiler, or changed hardware, then fine, sure.

    • @CianMcsweeney
      @CianMcsweeney Před rokem +2

      @@bradrum1 i agree, and the creator of Odin has said the same many times. That said, it isn't completely stupid(still not advisable ofc) to start using Odin right now considering the spec is pretty much locked down and V1 should be out within a year or so. Also the fact it's being used in successful commercial products is a promising sign.

  • @porky1118
    @porky1118 Před rokem

    2:55 Game engine programming is also important to choose my language.
    But most importantly, I want to have a language, that's able to implement geometric algebra in an efficient, compile time generic way.

  • @zakariachahboun
    @zakariachahboun Před rokem +1

    Look at Vlang, it's a game changer too

  • @RamsesAldama
    @RamsesAldama Před rokem +2

    The V Programming Language

    • @Noble_Savage
      @Noble_Savage Před rokem +2

      The creators of Zig and Odin called V a scam, so I don't know if it's worth checking out.

    • @ybbor_exe
      @ybbor_exe Před rokem

      @@Noble_Savage did they say why they believe it’s a scam?

    • @Noble_Savage
      @Noble_Savage Před rokem +2

      @@ybbor_exe basically the creator of V promised a lot of features that weren't in the language yet, and had it closed sourced. He was also making a lot of dough from patreon. GingerBill and Andrew Kelley called him a scammer because of this. Andrew for instance said this about it on Hacker News: "This guy is a complete fraud. He's collecting $927/month on Patreon by deceiving generous and hopeful programmers. The claims on the web page are outright lies."

    • @pietraderdetective8953
      @pietraderdetective8953 Před 4 měsíci +1

      @@Noble_Savage I agree with this assessment...the C to V converter doesn't work even for a simple hello world program! in the demo they managed to convert DOOM but when I tried to convert my simple programs none of it ran well.
      Looking at speed/performance, nothing special with V.

  • @GaryChike
    @GaryChike Před 8 měsíci +3

    Surf and Turf - can't mention Beef 🐮without mentioning Lobster 🦞

    • @Lantertronics
      @Lantertronics  Před 8 měsíci +2

      Ah, I hadn't heard of Lobster! Thanks for the tip!

    • @GaryChike
      @GaryChike Před 8 měsíci +2

      @@Lantertronicsmy pleasure - from a fellow Atlantan 😎