What do you dislike about your favorite language?
Meghan (she/her)

Meghan (she/her) @nektro

About: 24. Local trans witch who prefers to do magic with a keyboard. she/her. Currently hacking away at making the Web less centralized.

Location:
Massachusetts, USA
Joined:
Mar 13, 2017

What do you dislike about your favorite language?

Publish Date: Jun 2 '18
21 26

To truly appreciate our languages, we must know their faults. So what's your pet peeves and biggest pains in you side about your favorite language you use everyday?

Comments 26 total

  • Frederik 👨‍💻➡️🌐 Creemers
    Frederik 👨‍💻➡️🌐 CreemersJun 2, 2018

    In Python, if you write multiple strings adjacent to each other, Python concatenates them. For me, this often leads to annoying bugs like

    l = [
        "A",
        "B"
        "C",
        "D"
    ]
    
    print l
    # prints ["A", "BC", "D"]
    
    • Meghan (she/her)
      Meghan (she/her)Jun 2, 2018

      Ouch! Haha yeah I can see how that hide it self well!

    • Valentin Baca
      Valentin BacaJun 4, 2018

      You can thank ISO C for that one:

      Not that python directly inherits the behavior, but they probably decided to go with that behavior based on how C does it.

  • Martin Becker
    Martin BeckerJun 3, 2018

    For me I would say in ruby how easy it is for nil to passed around which then causes can't do #x for nil and then you're like, "why is it nil?" it's even worse when you get nil in weird strange places.

  • Doshirae
    DoshiraeJun 3, 2018

    In Ruby, the fact that the normally-named filter function is named select or find_all is really annoying

    And oh gosh way too many methods for the objects that is insane. You can easilly cut it down to 2 times less because there is a lot of aliases too

  • Pert Soomann
    Pert SoomannJun 3, 2018

    When you see that one article saying that "this language X is so dead!" and it makes you doubt your life choices.

  • Antonin J. (they/them)
    Antonin J. (they/them)Jun 3, 2018

    Golang is one of my favorite languages and the thing I find the most frustrating is the lack of architecture standards.

    Up until recently, it's been a wild west as far as package management and project setup. Where do you put your code? How do you structure your folders? What web frameworks are actually worth investing into?

    Basically same issues Node had early on. It's getting MUCH better but I feel like it's still a problem.

    • Ben W
      Ben WJun 4, 2018

      I feel like you just dont need a framework in Go, also hasn't the location of where the code should go been in the documentation since release?

  • Alejandro Ñáñez Ortiz
    Alejandro Ñáñez OrtizJun 4, 2018

    number.toFixed(x) will return a STRING in Javascript. Omg that’s nuts!

    • Massimo Artizzu
      Massimo ArtizzuJun 4, 2018

      ?!
      Granted that its goal is to provide a representation with a fixed amount of decimals, what would you use instead of a string?

  • Ian Spence
    Ian SpenceJun 4, 2018

    Golangs lack of enum support is easily the most annoying thing about the language for me.

    Currently I have a ruby script that has an enum schema and it prints out golang code for each enum it has all of the constants, an array of all the values, and a function to test if a given object is one of the enum values.

  • JustinTervala
    JustinTervalaJun 4, 2018

    If Python is going to use whitespace as syntax (good idea) they should only allow either tabs or spaces. You can't mix them, so you get invisible syntax errors.

  • Clay Stewart
    Clay StewartJun 4, 2018

    It’s not really the language itself, but the JavaScript Front end framework ecosystem changed A LOT in the past decade, and it was jarring to switch frameworks every two years.

  • Laxman
    LaxmanJun 4, 2018

    The only thing that can be bad is your favorite programming language becoming so (too) popular that it eventually looks like shit!

  • Massimo Artizzu
    Massimo ArtizzuJun 4, 2018

    That's easy: there are no types in JavaScript (and it will be like that for a long while).

  • Bryan Baldwin
    Bryan BaldwinJun 4, 2018

    Diphthongs!

  • Massimo Artizzu
    Massimo ArtizzuJun 4, 2018

    FYI: there are indeed types existing in JavaScript.

    I know that very well. I was hoping that was clear enough... It wasn't the case, apparently 😕

    strong types are extremely overrated.

    "Extremely", really?
    Look, I really like JavaScript and I generally don't mind the lack of typed variables, but a tool for static analysis is indeed quite handy.
    Not to mention that with strong types the code can be more easily optimized by the engine, saving a lot of euristic work by the compilers.

    A gentle introduction to typed variables as it's done in TypeScript would be great in that sense.

  • Tomer
    TomerJun 4, 2018

    Pythons import system. Once I have dirs I just can't do it

  • Casey Brooks
    Casey BrooksJun 4, 2018

    In Java and Kotlin, I usually create literal arrays with each item on a new line and all columns lined up nicely. To add a new item, I can then just copy any line and change what I need. To edit all items at once I just add a carat at the beginning of each line and off I go.

    EXCEPT FOR THE LAST LINE WHICH DOESN'T HAVE A COMMA.

    val items = arrayOf(
        Item(1, "One",   1.1),
        Item(2, "Two",   2.2),
        Item(3, "Three", 3.3),
        Item(4, "Four",  4.4),
        Item(5, "Five",  5.5) // <-- I want to put a comma here so badly!
    )
    
  • Alex Miasoiedov
    Alex MiasoiedovJun 4, 2018

    Performance penalty of abstraction in Python/Ruby

  • Jason Steinhauser
    Jason SteinhauserJun 4, 2018

    Strong typing can help minimize or eliminate whole hosts of errors at compile time, as opposed to type-based errors rearing their ugly heads only during testing and production. Things like clojure.spec and TypeScript are a good segue between strong/weak typing. As someone who is functionally inclined, I would imagine you've read some of the reasons that Idris and Haskell were created.

  • Jason Steinhauser
    Jason SteinhauserJun 4, 2018

    F# is usually my go-to language, but I was once asked to write something in OCaml. F# is an OCaml derivative, so how hard could it be? It turns out several of the idiosyncrasies made it take longer for me to develop a simple tool. So basically, I dislike the small, yet significant, differences between F#, OCaml, and ReasonML.

  • maple
    mapleJun 5, 2018

    javascript "weak typing", not dynamic typing.

Add comment