IBM

Is this the Future of Programming Languages?

Is this the Future of Programming Languages?

#Future #Programming #Languages

“Tsoding Daily”

References:

– Tsoding Daily – Hare Programming Language –



-…

source

 

To see the full content, share this page by clicking one of the buttons below

Related Articles

24 Comments

  1. 44:30 "rekindle the enjoyment of programming and the believe what you are doing is important" (paraphrased for conciseness) – I changes vocation because the industry sucked the soul out of me and I didn't want to be part of that any longer. Personally I witnessed how software is used as a tool for legal extortion. There is only so much the consciousness can bear. As this is the prevalent usecase I didn't see where to fit in, so I quit. Worked in or for startups, academia, insurance and farms. Everywhere the extortion is somewhat similar and the last experience with the farmers and the state of repair was my final straw to at least not be part of the problem.

    A year or so ago got to HMH and with aoc to you as I needed to scratch an itch. Casey like you cutting through the BS really put things into perspective. But you are keeping it more approachable or understandable (hard to put in words). Your take on keeping it simple, not over-complicating or not over-abstracting and exploring ideas with it recreationally was what I needed to hear and see, as I couldn't put it into words myself. Any it got me back to code again without monetary incentive just as a real hobby. Thanks.

    Really like the explanations of why you like to do things. For example at 1:18:30 the Expr_Kind and Expr_As tagged union. Or your take and exploration with nob is just the right thing, like here to use nob for its very useful platform independent functions.

  2. 2:30:00 that in particular looks like a bug: on in stb_lexer.h line 565 it sets string_len to n (aka 0) before the loop looking at the characters, but then doesn't set it after the loop when it is done.

    moreover it reuses the string storage, so if you have 2 different identifiers it the string view of the previous one will get overwritten.

  3. Yes, another language. That's why I initially subscribed to Tsoding Daily: because of the language creation content. 🙂
    What about creating a minimalist yet useful language? Not another Porth, though.
    Maybe a language that includes just: if, elif, else, while, variables, and functions. That would essentially be Turing complete. Perhaps arrays could be added, but that’s about it.
    The goal would be to have as few keywords as possible.
    Or, implementing some sort of old-school BASIC could be fun. You know, the kind without proper loops, relying solely on 'goto' and 'gosub' for control flow.

  4. My couple of cents:
    1. Using "$" and "%" in IR is justifiable – as a language writer, you can define symbols without any keyword clash. Example: write a function named "$export" which compiles to a symbol named "export" – perfect valid as a C function, but it would be a mess if QBE IR had no symbol prefix.
    2. That "string_len" in the lexer probably makes only sense if you parse a literal string. I haven't checked the code, but I guess literals are pointer-copied to that "string" attribute – that would be a optimisation to avoid copying/strlen a string constant. That's why I favour writing my own libs when programming for fun. There is always some nasty surprise from an undocumented/unexpected behaviour that takes hours or more to troubleshoot.

  5. It looks like the trend is to either slap your wrist before you even start or try to read your mind before you code. Basically, it's getting to the point where you're almost scared to hit the keyboard, lol.

  6. Please don't create any more programming languages, reading the documentation about QBE I see that it seems to be a mix of C and Assembly. The programming languages of the future are natural languages.

  7. Zozin learned x86 calling conventions and called some raylib functions, now he is assembly programmer. He doesn't even read the main() function in stb_c_lexer.h that shows how to use it and already has a print_token function but he calls it a bad library. He used to be more humble about stuff he doesn't know instead of just talking shit.

  8. 51:35 Not only is raylib pretty easy to implement and work with, but it also has bindings for basically every language under the sun. It is pretty awesome lol. The fact that you can interface with it surprisingly easily from Assembly is icing on the cake. Name another framework that can do all of that! Lol

  9. around 1:51:20 . Absolutely true. The React sorry, the Rust developers got on a path where they thought it was a good Outlook(pun intended) to the future. But in many cases this looks like patronizing the Rust language user. And another disturbing point: That "thing" we are talking about here is actually called "clippy". You remember that annoying BS from the Windows/Office 97/98-2003 (internal name "Clippit", publicly used was "Clippy") that permanently wants to "fix" and harass the User with its demands and "well-intentioned advice" = YOU!? So, the question is: Are the Rust developers comedians, or are they outright evil? Hehehehe:)
    (Switching of that clippy BS, including warnings needs its own manual itself, LOL. And wow: Entries in the actual code. Like "#[allow(clippy::wrong_self_convention)]". What a joke!:)
    Or, examples:
    rustc -A dead_code / RUSTFLAGS="$RUSTFLAGS -A dead_code" cargo build

    look into "RUSTFLAGS=-Awarnings", when you are down on your knees:)

    Edit: I think this plague was introduced by languages like C# and their extensions/helper, like StyleCop, etc. C# a wonderful but also horrible language. A mish-mash and disaster that actually needs such documentation helpers and external styling tools, because of oversights of the language developers and what this abomination lacks of features. Also "Design Principles", all those fancy hard rules and all this great advice and guidelines that suffocate the programmer like a corset. Test Driven BS. And last but not least: effing AGILE Brainfart … Not only "should" … your "friends" will clearly suggest that to you! … the professional programmer follow all those rules and "ideas", but also the hobby programmer, because it is better to learn it the "right way", yeah … surely it is. Maybe you should question your friendship with those plonkers?!:)

    All what I addressed has its use and can hopefully be switched off. Nonetheless forms every single piece of this modern infrastructure together not only a great toolbox, that may help you and give you good advice, but it also is a tool that easily allows to suppress individuality, own thoughts and worse: critical thinking. It also may have negative effects on creativity, deep knowledge or deepening your knowledge (WhyTF shudd I leearn orthUgraphI, whenn I has audo-corect? LOL) and is always biased in favor of the mainstream opinion and established values (especially A.I. BS, which is by design an horror example on that matter). Oh and all of those nice anti-democratic, anti-freedom, anti-artist, anti-human features are ENABLED BY DEFAULT! (Ask your management if he can wipe his own a… *g* )

  10. around 1:49:00 . If you do not like LSPs (Language Server Protocol implementations, Immediate Error/Syntax Helpers), or syntax-highlighters, tags, clang-format and all of that fuzz … I have a REVOLUTIONARY NEW IDEA here for you: SWITCH THEM OFF! (Instead of moaning and whining around *g* )
    I know, I am the world famous inventor of off-switches(ROTFL) and such a concept lies in my nature. But I shared that idea with you all. Now you know!:)))))
    No offense, Tsoding! I'm just kidding you:P

  11. Odin uses LLVM indeed, but I think they're planning of getting rid of it. Ginger Bill has stated in interviews that LLVM is the bottleneck of Odin's compile times.

Leave a Reply