N Curses

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Ncurses

ncurses

www.gnu.org/software/ncurses/ncurses.html

menuconfig de Linux

Información general

Desarrollador(es) Proyecto GNU

Última versión estable 6.1 (info)


27 de enero de 2018 (3 meses y 26 días)

Género Widget toolkit

Programado en C

Sistema operativo POSIX

Licencia MIT

[editar datos en Wikidata]

Ncurses es una biblioteca de programación que provee una APIque permite al


programador escribir interfaces basadas en texto, TUIs. También optimiza el refresco de la
pantalla, lo que permite reducir la latencia experimentada cuando se usan intérpretes de
comandos remotos.
Ncurses significa «new curses», ya que es un reemplazo del descontinuado curses clásico
de 4.4BSD.
El proyecto provee APIs oficiales en C, C++ y Ada, aunque también hay bindings para
otros lenguajes, como Perl, Python oVala.
Forma parte del proyecto GNU. Es uno de los pocos programas de GNU que no se
distribuye bajo la GPL ni bajo la LGPL, sino bajo la licencia MIT.

Índice
[ocultar]

 1Historia
o 1.1Curses
o 1.2Pcurses
o 1.3Ncurses
 2Base de datos de la Terminal
 3Licencia
 4Programas que utilizan ncurses
 5Enlaces externos

Historia[editar]
La ‘N’ en ncurses es una abreviación de la palabra new (en inglés: "nuevo"). Esto es
porque ncurses es un software de emulación gratuito del ‘System V Release 4.0 (SVr4)’
Curses, el cual fue una mejora sobre el clásico discontinuado ‘4.4 BSD Curses’.
Curses[editar]
La primera biblioteca curses fue desarrollada en la Universidad de California, Berkeley,
para un sistema operativo BSD, a mediados de 1980 para soportar un juego orientado a
pantalla. Originalmente fue usada la biblioteca ‘termcap’, la cual es usada en otros
programas como el editor ‘vi’. El éxito de la biblioteca curses paraBSD promovió a los
laboratorios Bell a efectuar un lanzamiento de una versión mejorada de biblioteca curses
en sus ‘System III’ y ‘System V Release 1’ (sobre Unix). Esta biblioteca era más poderosa
y a diferencia de usar ‘termcap’, utilizaba ‘terminfo’. De todas manera, debido a una política
de AT&T sobre la distribución del código fuente, la mejorada biblioteca curses no tuvo
demasiada aceptación en la comunidad BSD.
Pcurses[editar]
A mediados de 1982, Pavel Curtis empezó a trabajar en un clon gratuito basado en la
biblioteca curses de Bell Labs, el cual fue nombrado ‘pcurses’, el mismo fue mantenido por
varios programadores hasta el año 1986.
Ncurses[editar]
La biblioteca ncurses fue mejorada aún más cuando Zeyd Ben-Halim se hizo cargo del
desarrollo a finales de 1991. La nueva biblioteca fue publicada como ‘ncurses’ en
noviembre de 1993, con la versión 1.8.1 como su primer lanzamiento importante. En
trabajos posteriores, durante la versión 1.8.8 (año 1995), fue impulsada por Eric S.
Raymond, el cual adiciono las bibliotecas de menús y formularios escritas por Juergen
Pfeiffer. Desde 1996, ha sido actualizada por Thomas E. Dickey. La mayoría de llamadas
de ncurses pueden ser fácilmente adaptadas a las antiguas curses. Implementaciones de
System V curses pueden soportar programas BSD curses con solo una recompilación. De
todas maneras unas pocas áreas son problemáticas, tal como el manejo del tamaño de la
terminal, ya que no existe contraparte en las curses antiguas.

Base de datos de la Terminal[editar]


Ncurses puede usar ambas, ‘terminfo’ o ‘termcap’. Otras implementaciones de curses
generalmente usan terminfo; una minoría usa termcap. En menor orden existen pocas que
usan ambas.
Licencia[editar]
Ncurses es una parte del proyecto GNU. Es uno de los pocos archivos GNU que no es
distribuido bajo GNU GPL o LGPL; es distribuido bajo una licencia permisiva de software
libre, similar a la licencia MIT. Esto es debido a un acuerdo hecho con la Free Software
Foundation al momento en que los desarrolladores asignaron sus derechos de copia.
Cuando el acuerdo se realizó, para pasar los derechos de la FSF, se incluyó la siguiente
cláusula:
«La fundación promete que toda distribución del paquete, o de cualquier trabajo “basado en el
paquete”, que tome lugar bajo el control de la Fundación o sus agentes o asignados, deberá ser en
los términos que explícitamente y perpetuamente permiten a cualquiera poseer una copia del trabajo
en los cuales se apliquen los términos, y poseer notificación exacta de los mismos, para redistribuir
copias del trabajo a cualquiera en los mismos términos».

De acuerdo con el actualizador Thomas E. Dickey, esto excluye el relicenciamiento a la


GPL en cualquier versión, ya que impondría restricciones en los programas que serían
capaces de enlazar las bibliotecas.

Programas que utilizan ncurses[editar]


Existen cientos de programas los cuales usan ncurses. Algunos, tal como el ‘GNU Screen’
y ‘w3m’, usan solo la interfaz ‘termcap’, realizando el manejo de pantalla dentro de la
aplicación. Otros, como el ‘GNU Midnight Commander’ y ‘YaST’ usan la interfaz de
programa ‘curses’.

You might also like