Why is Curses not more common?

Discussion in 'Mac Programming' started by ArtOfWarfare, Feb 21, 2015.

  1. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #1
    I had always been under the impression curses was complicated and not worth learning.

    2 days ago I started learning and writing a Python program using Curses and holy hell, why don't all programs that don't need graphics use Curses? Why would you ever write a program that uses print and input (Python... If you're talking C then printf/scanf...). Or why would you build a UI that only programmers will ever use?

    And now I'm about done with a fairly capable Python debugging utility. It seems so polished and it was so easy to write that I just keep thinking, holy crap, I never want to write a single input or scanf line again, and further, I'm scrapping those functions from the programming language I'm developing. You'll learn and use Curses and you'll like it, if you want to make a command line program in my language.

    In fact, I feel a UI made in Curses would often be better than a GUI, even for non-savvy computer users.

    Am I missing something? Is there anyone here who has made an application using Curses and feels otherwise?
     
  2. Senor Cuete macrumors regular

    Joined:
    Nov 9, 2011
    #2
    Well, some of us say things like *****!, FUDGE!, CARP!, DOG SHEET!, and HELL! while programming.
     
  3. subsonix macrumors 68040

    Joined:
    Feb 2, 2008
    #3
    Curses is from a time when there was no GUI, while there are times when it can be appropriate, say example pagers, top, terminal based text editors etc. In most cases today, you are probably better of making a real GUI application.

    The reason command line programs are line based is the idea that a program is this small utility that does one thing. You then use pipes and redirects to make something larger by combining small tools. Data that is in turn line based can then also be fed into and out of these small utilities, also in a line based manner.
     

Share This Page