Principal Engineer for Accumulate

  • 0 Posts
  • 23 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle
  • Scripting languages being languages that are traditionally source distributed.

    • Source distributed means you can read the source if it hasn’t been obfuscated. OTOH, it is trivial to decompile Java and C# so this isn’t a real difference for those languages (which happen to be compiled languages). So it’s only relevant for languages specifically compiled to machine code.
    • Source distributed means the recipient needs to install something. OTOH, Java and C#, again.

    So the only ways that the distribution mechanism matter are really a difference between How does the distribution mechanism matter beyond that? And even those points are

    They tend to be much easier to write

    I’m assuming you are not saying “real” languages should be hard to write…

    run slower

    Objective-C and Go run slower than C and they’re all compiled languages. Sure, an interpreter will be slower than a compiled language but modern languages aren’t simply interpreted (i.e. JIT, etc).

    often but not always dynamically typed, and operate at a higher level

    There are dynamically typed compiled languages, and high level compiled languages.

    It’s not a demeaning separation, just a useful categorization IMO.

    Calling one class of languages “real” and another class something else is inherently demeaning. I wouldn’t have cared enough to type this if you used “compiled vs scripting” instead of “real vs scripting”. Though I disagree with using “scripting” at all to describe a language since that’s an assertion of how you use the language, not of the language itself. “Interpreted” on the other hand is a descriptor of the language itself.

    As someone who loves C there are lots of languages that seem too limiting and high level, doesn’t mean they aren’t useful tho.

    I personally can’t stand Java because the language designers decided to remove ‘dangerous’ features like pointers and unsigned integers because apparently programmers are children who are incapable of handling the risk. On the other hand I love Go. It’s high level enough to be enjoyable and easy to write, but if you want to get into the weeds you can.


  • That line is blurring to the point where it barely exists any more. Compiled languages are becoming increasingly dynamic (e.g. JIT compilation, code generation at runtime) and interpreted languages are getting compiled. JavaScript is a great example: V8 uses LLVM (a traditional compiler) to optimize and compile hot functions into machine code.

    IMO the only definition of “real” programming language that makes any sense is a (Turing complete) language you can realistically build production systems with. Anything else is pointlessly pedantic or gatekeeping.



  • I have to strongly disagree with you. I’ve used WSL 2 with VSCode, and I experienced waaaaaaaay more weird broken shit than I ever have running Linux. And even if it weren’t for that, it’s still not at all worth it IMO because using WSL 2 means every interaction I have with my development environment has to go through a Linux-to-Windows translation layer. I will never use Windows again for anything beyond testing unless I’m forced to.




  • it’s not inconceivable it could happen in the next two generations.

    I am certain that it will happen eventually. And I am not arguing that something has to be human-level intelligent to be considered intelligent. See dogs, pigs, dolphins, etc. But IMO there is a huge qualitative difference between how an LLM operates and how animal intelligence operates. I am certain we will eventually create intelligent systems but there is a massive gulf between what LLMs are capable of and abstract reasoning. And it seems extremely unlikely to me that linear algebraic models will ever achieve that type of intelligence.

    Intelligence is just responding to stimuli

    Bacteria respond to stimuli. Would you call them intelligent?







  • Ethan@programming.devtoProgrammer Humor@programming.dev<br>
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    5 months ago

    if you work in a shared codebase then PLEASE just follow whatever convention they have decided on, for the sake of everyone’s sanity.

    That goes without saying; I’m not a barbarian.

    “readability” is subjective. much like how there is no objective definition of “clean code”.

    Did you not see the part where I said it’s less readable “in my opinion”?

    i am insisting that people use a common standard regardless of your opinion on it.

    I can read this one of two ways: either you’re making an assertion about what people are currently doing, or you’re telling me/others what to do. In the first case, you’re wrong. I’ve seen many examples of self-closed <br> tags in the open source projects I’ve contributed to and/or read through. In the second case, IDGAF about your opinion. When I contribute to an existing project I’ll do what they do, but if I’m the lead engineer starting a new project I’ll do what I think is the most readable unless the team overwhelmingly opposes me, ‘standards’ be damned, your opinion be damned.

    The spec says self-closing is “unnecessary and has no effect of any kind” and “should be used only with caution”. That does not constitute a specification nor a standard - it’s a recommendation. And I don’t find that compelling. I’m not going to be a prima donna. I’m not going to force my opinions on a project I’m contributing to or a team I’m working with, but if I’m the one setting the standards for a project, I’m going to choose the ones that make the most sense to me.