Project

General

Profile

Feature #13221

[PATCH] gems/bundled_gems: add "curses" RubyGem

Added by normalperson (Eric Wong) almost 3 years ago. Updated about 2 years ago.

Status:
Assigned
Priority:
Normal
Target version:
-
[ruby-core:79561]

Description

This was part of the standard library in Ruby 2.0 and earlier;
and some users may still expect it to be in the standard
install.


Files

History

Updated by shevegen (Robert A. Heiler) over 2 years ago

Here is the link to when curses was removed:

https://bugs.ruby-lang.org/issues/8584

I guess this is where two different mindsets collide - to make a very
small core distribution but then provide various add-ons when the
user wants to do so; or to provide a "batteries included" with
more add-ons integrated; or any step in between these two. All variants
have pros and cons.

I think that matz has once said that one reason for keeping the core
ruby (in regards to the add-ons) rather few, is the workload for maintainers.
I think he once said that during RubyConf too, e. g. old ruby hackers who may
no longer be active.

By the way I am in no way saying that I am in favour or against this - I
have no preference either way.

Perhaps in the long run, there could be some more objective measurement
as to when something is removed. Something such as "library xyz currently
has no maintainer. If there can not be any new maintainer within a year,
it may be removed." Something like that perhaps.

Updated by stomar (Marcus Stollsteimer) over 2 years ago

I'm concerned about the increasing tendency to unbundle core functionality (curses, tcl/tk, ...; and possibly soon also date).

I fear that Ruby will loose some of its usability and attractiveness as an all-purpose language, especially for simple, easy to distribute, single-file scripts for e.g. administrative tasks, text processing, or data analysis. I'd hate to see Ruby go from (almost all) "batteries included" to "web only".

Granted, for a typical web app that uses bundler and is deployed on a Linux server it's no problem to add one more entry in the Gemfile. But please keep in mind that installing gems is not always that easy, for instance without root access or on non-Unix-like operating systems -- even more so for native gems.

And especially beginners are stuck with these kind of environments.

(I admit I just had some bad experiences installing native gems on W*****s, which regrettably I have to use in high-school level CS classes.)

Updated by stomar (Marcus Stollsteimer) over 2 years ago

PS. A quote from a recent post (not by me) in ruby-talk:

I do not use Ruby anymore when I develop GUI applications; the community is so focused on web (Rails) stuff that anything else is starving. I happily use it for some simple (server) script tasks, thanks to the good standard library, but if that one is destructed piece by piece -- I was crying when curses was removed -- then I can't continue using it there anyway.

Updated by subtileos (Daniel Ferreira) over 2 years ago

I'm concerned about the increasing tendency to unbundle core functionality (curses, tcl/tk, ...; and possibly soon also date).

I also share this concern.

This is one discussion I've been keen to start with the creation of
feature requests but maybe we can make the discussion first without
the feature requests.

Besides the unbundle of core functionality I also believe there are a
set of tools that should be part of every ruby release.

One of them is the debugger. (There are more).
IMHO ruby core should specify a clear API for the ruby debugger and
make it a key functionality of the language.
Any change in the API of the ruby debugger should be dealt as a ruby API change.

Thanks,

Daniel

Updated by hsbt (Hiroshi SHIBATA) over 2 years ago

  • Assignee set to naruse (Yui NARUSE)

I have no opinion this.

nalsh, shugo

How do you think this?

Updated by shugo (Shugo Maeda) over 2 years ago

Hiroshi SHIBATA wrote:

I have no opinion this.

nalsh, shugo

How do you think this?

I'm neutral, but note that PDCurses is bundled with binary gems for Windows.

#7

Updated by shyouhei (Shyouhei Urabe) over 2 years ago

  • Status changed from Open to Assigned

Updated by naruse (Yui NARUSE) about 2 years ago

As far as I understand, curses has still no active maintainer.

Ruby intends to keep wide portability; it's tough work especially for curses, the tty thing.
CRuby project gave up to maintain curses under such circumstances.
Separate repo and bundle doesn't solve it.

Updated by normalperson (Eric Wong) about 2 years ago

naruse@airemix.jp wrote:

As far as I understand, curses has still no active maintainer.

I am willing to maintain curses on Free Software platforms using
only Free Software, with no GUIs (because curses and Ruby
itself has no GUI dependency, either).

Ruby intends to keep wide portability; it's tough work especially for curses, the tty thing.
CRuby project gave up to maintain curses under such circumstances.
Separate repo and bundle doesn't solve it.

I think curses is mainly interesting to *nix users. Of course
Ruby itself has support for non-portable APIs like fork.

Also available in: Atom PDF