79

What is the meaning of *nix, and what is its relation with Ruby?

Just saw that in an interview question... I think there is something to do with UNIX distros, but I am not sure.

Could not find it here or in the Wikipedia, so I am asking.

What is the meaning ?

And what is its relation with Ruby ? because the question was about Ruby.

Community
  • 1
  • 1
Cristiano Fontes
  • 4,920
  • 6
  • 43
  • 76

7 Answers7

104

*nix just means operating systems that are like the old workhorse Unix. Some examples include Linux, FreeBSD, and Mac OS X (its kernel, Darwin, is based on BSD).

The main relation between *nix and Ruby is just a pragmatic one; most Ruby developers seem to prefer to work on Unix-like OSes (typically Linux or Mac OS X). There's no official relationship, and it's quite possible to work with Ruby on non-*nix OSes like Windows.

DSimon
  • 3,280
  • 2
  • 21
  • 24
  • 1
    Just to note; if you prefer Windows over *nix systems to make development in Ruby, get ready to struggle with a lot of OS related issues. if you are unable to afford a Mac, just install Ubuntu to your PC or laptop. If you do so, one day you're gonna thank me. Also see: http://programmers.stackexchange.com/questions/32526/is-windows-suitable-for-ruby-development – scaryguy May 30 '15 at 13:35
  • 24
    It's funny how the meta character `*` in `*nix` never matches `Linux`. It should have been `*x` which eagerly matches `Unix`, `Linux` and `OS X` too. – John Strood Aug 13 '16 at 14:02
  • 16
    `*n.x` would match them all :-D – kidpixo Aug 22 '18 at 09:09
  • John Strood right if this was where it came from, I would've said that's the answer, like a loosely interpreted rejex. But one example above says FreeBSD which is confusing. Maybe it should've been simply "unix-like" coz I still don't get the asterisk. If there was a list of distributions matching *nix under which FreeBSD falls, that would make sense. – Daniel Katz Feb 28 '22 at 13:27
27

*nix means UNIX-like; it is an operating system that behaves in a manner similar to that of a UNIX operating system without necessarily conforming to the Single UNIX Specification.

Wikipedia:*nix actually redirects to Wikipedia:Unix-like.

As for Ruby's connection to *nix, Ruby was developed mostly on GNU/Linux by the open-source community, so it may be something to do with Ruby running better on *nix systems or Ruby developers preferring to work on *nix systems.

Zaz
  • 46,476
  • 14
  • 84
  • 101
12

It's an abbreviation for UNIX-like operating systems, including LINUX.

See also the UNIX-like Wikipedia page.

Andy Thomas
  • 84,978
  • 11
  • 107
  • 151
9

*nix is a general term to refer to the whole family of Unices, to the operating systems that follow the POSIX1 standard.

Ruby is a programming language, there's no general relationship between the two.


1: Portable Operating System Interface [for Unix]

peoro
  • 25,562
  • 20
  • 98
  • 150
5

It means the unix-like family of OSes. No relation to Ruby.

Satya
  • 4,458
  • 21
  • 29
5

"*nix" refers to the Unix family of operating systems and its FOSS variants (Linux, FreeBSD, etc.). They have a different API than Windows, so any programming or scripting language that runs on them will have slightly different behavior and capabilities than on Windows.

Ignacio Vazquez-Abrams
  • 776,304
  • 153
  • 1,341
  • 1,358
3

A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-like application is one that behaves like the corresponding Unix command or shell. There is no standard for defining the term, and some difference of opinion is possible as to the degree to which a given operating system or application is "Unix-like".

Manjeet Brar
  • 914
  • 1
  • 9
  • 27