top 50 comments

sorted by: hot top controversial new old
[–] 125 points 9 months ago (40 children)

Programming languages, much like the jackass in the middle, are tools. Different tools are for different things. The right tool for the job can make your day. The wrong tool can make you question your entire career.

  • source
  • hideshow 40 child comments
  • [–] 38 points 9 months ago (8 children)

    Funny how tools are useful. But a person who is a tool is not.

  • source
  • parent
  • hideshow 8 child comments
  • load more comments (1 reply)
  • [–] 20 points 9 months ago (10 children)

    Exactly. And what is the best tool? The best tool for the job

  • source
  • parent
  • hideshow 10 child comments
  • [–] 13 points 9 months ago (4 children)

    That's just not terribly meaningful, though. Was JavaScript the "best tool" for client-side logic from the death of Flash until the advent of TypeScript? No, it was the only tool.

  • source
  • parent
  • hideshow 4 child comments
  • load more comments (2 replies)
  • load more comments (3 replies)
  • load more comments (15 replies)
    [–] 43 points 9 months ago (7 children)

    The language is as important as architecture and stuff.

    Pick the right language for the right task.

    Performance? Don't use python.

    Everything else? Use python because everyone does.

    /s

  • source
  • hideshow 7 child comments
  • [–] 34 points 9 months ago (5 children)
  • load more comments (1 reply)
  • load more comments (1 reply)
    [–] 41 points 9 months ago*

    The programming language promotes a thinking model and the ecosystem defines a modus operandi.
    Of course they matter.

  • source
  • [–] 34 points 9 months ago (3 children)

    That's why we use JavaScript on the front end, JavaScript on the back end, and you can streamline it even more by using JavaScript for the db layer too. After all, if you have too much data to be reasonably parsed in a single .json file, you are probably just architecting wrong.

  • source
  • hideshow 3 child comments
  • load more comments (3 replies)
    [–] 25 points 9 months ago (135 children)

    Almost any language is OK, but Rust is just so, so fucking ugly

  • source
  • hideshow 135 child comments
  • [–] 22 points 9 months ago (24 children)

    FORTRAN isn't a beauty either.
    And Python is strange as hell with its mandatory tabs.

  • source
  • parent
  • hideshow 24 child comments
  • [–] 22 points 9 months ago (12 children)
  • [–] 23 points 9 months ago (8 children)

    Two, three or four spaces? If you answer wrong I'll never forgive you

  • source
  • parent
  • hideshow 8 child comments
  • [–] 16 points 9 months ago

    Whatever your place defines as a standard. I’ve seen ugly code in C, JavaScript, Java, etc., that uses them all over the place because they’re not mandatory.

    If you don’t have consistent indenting, your code looks like copy/paste from several sources; but if you do have consistent indenting, then the indenting of Python is a non-issue.

  • source
  • parent
  • load more comments (6 replies)
  • load more comments (7 replies)
  • [–] 20 points 9 months ago (6 children)

    I can actually see where this is coming from, as I found Rust hard to read when I started out. I do really like Rust for reference, but I do agree Rust is hard to read for someone that has not learned it.

    For example:

    return statements that are implicit just because the semicolon isn't there. Even better if they occur inside a if block or something like that. Very hard to understanding when you don't know the syntax rules.

    Lambda functions, especially when using move semantics too. They are quite simple, but if you don't know the meaning, it's more arcane characters. Especially when this is used inside lots of chained methods, and maybe a multi-line function in the lambda.

    A lot for the if let x =... type of stataments are tough the first time around. Same for match statements.

    Defining types for use with function::() and such.

    Lifetimes, especially when they are all named a, b, c etc. It quickly gets messy, especially when combined with generics or explicitly defined types.

    Macros, though not entry level rust to begin with, they are really cumbersome to decode.

    None of these are sins of Rust, but for new people they are a hill to climb, and often hard to just "get" based on previous programming experience and reading the code. Rust can be really hard to approach because of these things. This happens in other languages too, but I do feel Rust has a particularly large amount of new concepts or ways to do something. And this is on top of learning lifetimes and borrow semantics.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 13 points 9 months ago

    This is the most sober take in this thread. I was bothered by all these things you mentioned for the first two weeks of using the language. I begrudgingly accepted them for the following two months because I felt the benefits of the language were worth it. Now all of these things feel natural and I don't give them a second thought.

  • source
  • parent
  • load more comments (5 replies)
  • [–] 11 points 9 months ago (10 children)

    Go look at that Lisp kojumbo then tell me Rust is ugly.

    (defmethod wake ((object magic-packet) address port)
      (let* ((payload (encode-payload object))
             (size (length payload))
             (socket (usocket:socket-connect nil nil :protocol :datagram :element-type '(unsigned-byte 8))))
        (setf (usocket:socket-option socket :broadcast) t)
        (usocket:socket-send socket payload size :host address :port port)
        (usocket:socket-close socket)))
    

    Actually unreadable.

  • source
  • parent
  • hideshow 10 child comments
  • load more comments (10 replies)
  • load more comments (7 replies)
    [–] 16 points 9 months ago (10 children)

    I like using python just cuz I can quickly get it working. I wish I had the time to undust C and try getting that to do what I want but my work cares more about iteration and speed to implement than speed of the program itself.

  • source
  • hideshow 10 child comments
  • load more comments (10 replies)
    [–] 15 points 9 months ago (2 children)

    This is pretty smart for the left guy. He's usually down at the level of "HTML is a programming language" or "What's a programming language?".

    That said, the first one of those isn't mutually exclusive with what he says in the meme.

  • source
  • hideshow 2 child comments
  • [–] [S] 13 points 9 months ago (1 child)

    It mostly reflects my own story. From a beginner enthusiast of multiple "cool" languages (Scala was all the rage back then), through considering myself more "mature" and thinking about business priorities, ending at understanding that using a good programing language is a business priority.

    If the team works with a language they enjoy, they will be happier (and more productive). Doesn't even matter if the code is written by humans or machines.

  • source
  • parent
  • hideshow 1 child comment
  • load more comments (1 reply)
  • [–] 12 points 9 months ago (6 children)

    But, Haskell..., it's so well thought out, so evolved, the best of all functional programming in one, the ability to handle infinite lists, the lazy evaluation, the strict type checking, the compiler that catches whole classes of bugs, the curt syntax, the ability to breathe it like pure thought, the clarity like maths...

    Okay, sorry, I better leave the room too.

  • source
  • hideshow 6 child comments
  • load more comments (6 replies)
    load more comments
    view more: next ›