• FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    31
    ·
    edit-2
    2 days ago

    TL;DR: Intellisense works best if you write bottom-up (true) and it means you have to remember less stuff (also true), therefore it makes you write worse code (very doubtful).

    So I don’t think IntelliSense is helping us become better programmers. The real objective is for us to become faster programmers, which also means that it’s cheapening our labor.

    This doesn’t make any sense though.

    1. People don’t have unlimited time. Writing high quality code takes time and wasting it remembering or typing stuff that Intellisense can take care of means I have less time for refactoring etc. Also one of the really useful things about Intellisense is that it enables better refactoring tools!

    2. It doesn’t make you dumber to use tool assistance. It just means you get less practice in doing the thing that the tool helps you with. Does that matter? Of course not! Does it matter that I can’t remember how to do long division because I always use a calculator? Absolutely not. Similarly it doesn’t matter that I can’t remember off the top of my head which languages use starts_with, HasPrefix, startswith, etc. doesn’t matter at all if Intellisense can easily tell me.

    3. You don’t have to use the Intellisense suggestions. Just press escape. It’s very easy.

    4. It’s very well known that making something easier to do increases demand for it.

    • calcopiritus@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      9 hours ago

      I don’t think it’s true that it works best by doing bottom-up. I develop top-down all the time.

      Whenever you need a new function/method/struct field/enum variant, just write its name where you are going to use it. Then intellisense will complain that it doesn’t exist. Press Ctrl+. (Or whatever you have keybinded to “apply suggestion”) And now it suddenly exists and intelligence works perfectly fine. It will just place a todo!() or raise UnimplementedException or whatever so you don’t forget to implement it later.