stringtranslate.com

maldiciones

ncurses (new curses ) es una biblioteca de programación que proporciona una interfaz de programación de aplicaciones (API) que permite escribir interfaces de usuario basadas en texto (TUI) de manera independiente de la terminal de computadora . Es un conjunto de herramientas para desarrollar software de aplicación similar a una interfaz gráfica de usuario (GUI) que se ejecuta en un emulador de terminal . También optimiza los cambios de pantalla para reducir la latencia experimentada al utilizar shells remotos .

ncurses es una emulación de software gratuita y de código abierto de los curses de System V Release 4.0 (SVr4) .

Hay enlaces para ncurses en una variedad de lenguajes de programación, incluidos Ada , [4] Python , [5] Gambas , [6] Ruby , [7] PHP , [8] JavaScript , [9] Perl , [10] y Object. REXX (ooRexx). [11]

Historia

Como nueva versión, ncurses es una emulación de software gratuita y de código abierto de los curses System V Release 4.0 (SVr4) , que fue una mejora con respecto a los curses 4.4 BSD descontinuados. [12] El estándar XSI Curses emitido por X/Open está modelado explícita y estrechamente en UNIX System V.

maldiciones

La primera biblioteca de curses se desarrolló en la Universidad de California en Berkeley, para un sistema operativo BSD , alrededor de 1980 para soportar Rogue , un juego de aventuras basado en texto. Originalmente usaba la biblioteca termcap , que se usaba en otros programas, como el editor vi . [12]

El éxito de la biblioteca de curses de BSD llevó a Bell Labs a lanzar una biblioteca de curses mejorada en sus sistemas Unix System V Release 2 . Esta biblioteca era más poderosa y en lugar de usar termcap, usaba terminfo . Sin embargo, debido a la política de AT&T con respecto a la distribución del código fuente, esta biblioteca de curses mejorada no tuvo mucha aceptación en la comunidad BSD. [12]

maldiciones

Alrededor de 1982, Pavel Curtis comenzó a trabajar en un clon gratuito de los curses de Bell Labs, llamado pcurses , que fue mantenido por varias personas hasta 1986. [13]

maldiciones

La biblioteca pcurses se mejoró aún más cuando Zeyd Ben-Halim se hizo cargo del desarrollo a finales de 1991. [12] [13] [14] La nueva biblioteca se lanzó como ncurses en noviembre de 1993, con la versión 1.8.1 como la primera versión importante. . El trabajo posterior, hasta la versión 1.8.8 (M1995), fue impulsado por Eric S. Raymond , quien agregó las bibliotecas de formularios y menús escritas por Juergen Pfeifer. [1] Desde 1996, lo mantiene Thomas E. Dickey. [13]

La mayoría de las llamadas de ncurses se pueden transferir fácilmente a los antiguos curses. Las implementaciones de curses de System V pueden soportar programas de curses BSD con sólo una recompilación . [15] Sin embargo, algunas áreas son problemáticas, como el manejo del cambio de tamaño de la terminal, ya que no existe ninguna contraparte en las antiguas maldiciones.

Base de datos terminal

ncurses puede usar terminfo (con datos extensibles) o termcap . Otras implementaciones de maldiciones generalmente usan terminfo ; una minoría utiliza termcap . Pocos (mytinfo fue una excepción anterior [16] ) usan ambos.

Licencia

ncurses es parte del Proyecto GNU , pero no se distribuye bajo la Licencia Pública General GNU (GPL) o la Licencia Pública General Reducida GNU (LGPL). En cambio, se distribuye bajo una licencia de software libre permisiva , es decir, la Licencia MIT . [17] Esto se debe al acuerdo realizado con la Free Software Foundation en el momento en que los desarrolladores cedieron sus derechos de autor.

Cuando se llegó al acuerdo para traspasar los derechos a la FSF, había una cláusula que decía: [17]

La Fundación promete que toda distribución del Paquete, o de cualquier trabajo "basado en el Paquete", que tenga lugar bajo el control de la Fundación o sus agentes o cesionarios, se realizará en términos que permitan explícita y perpetuamente a cualquiera que posea una copia del la obra a la que se aplican los términos, y en posesión de una notificación precisa de estos términos, para redistribuir copias de la obra a cualquier persona en los mismos términos.

Según el mantenedor Thomas E. Dickey, esto impide volver a obtener la licencia GPL en cualquier versión, ya que impondría restricciones a los programas que podrán vincularse a las bibliotecas. [17]

Programas que utilizan ncurses

Cientos de programas utilizan ncurses. [18] [19] Algunos, como GNU Screen y w3m , usan solo la interfaz termcap y realizan la administración de la pantalla ellos mismos. Otros, como GNU Midnight Commander y otra herramienta de configuración ( YaST ), utilizan la interfaz de programación de curses.

Ver también

Referencias

  1. ^ ab "NCURSES - Preguntas frecuentes (FAQ): ¿Quién escribió NCURSES?".
  2. ^ ab "NCURSES - Licencias" . Consultado el 9 de julio de 2013 .
  3. ^ "nmaldiciones 6,5" . Consultado el 27 de abril de 2024 .
  4. ^ "Enlace Ada95 para ncurses".
  5. ^ "Programación de maldiciones con Python: documentación de Python".
  6. ^ "gb.ncurses - Wiki Gambas".
  7. ^ "nmaldice Ruby - RubyGems.org".
  8. ^ "Funciones de Ncurses - Manual de PHP". Archivado desde el original el 28 de marzo de 2021 . Consultado el 4 de febrero de 2020 .
  9. ^ "complemento nc: enlaces ncurses para SpiderApe".
  10. ^ "Curses :: UI: un marco de interfaz de usuario OO basado en curses".
  11. ^ Documentación de ooRexx 5.0.0: Referencia de la biblioteca de clases nCurses (PDF) . Asociación de Idiomas Rexx. 2022.
  12. ^ abcd Raymond, Eric S. (septiembre de 1995). "ncurses: manejo de pantalla portátil para Linux". Diario de Linux .
  13. ^ abc Dickey, Thomas E. (diciembre de 1996). "NCURSES - Nuevas maldiciones".
  14. ^ El archivo README en ncurses 1.8.1 indica "v0.1 31 de julio de 1992" y "v1.8.1 5 de noviembre de 1993", lo que concuerda con el archivo NEWS (registro de cambios)
  15. ^ "Una guía para hackers sobre los aspectos internos de Ncurses".
  16. ^ Weinstein, Sydney S. (abril de 1993). "En las Redes". Diario de usuarios de C/C++. Archivado desde el original el 11 de agosto de 2014 . Consultado el 15 de septiembre de 2017 .
  17. ^ abc "NCURSES - Preguntas frecuentes (FAQ): ¿Tiene GPL?".
  18. ^ "Resultados de la búsqueda: + ncurses en Freshmeat.net". Archivado desde el original el 18 de febrero de 2012 . Consultado el 10 de mayo de 2013 .
  19. ^ "Proyectos etiquetados 'ncurses'". ohloh.

Enlaces externos