remove that obnoxious readme
parent
731bd69477
commit
0a821851a3
@ -1,98 +1,3 @@
|
||||
# clyde
|
||||
|
||||
A command-line shell. Initial development is for Windows because Windows has
|
||||
the worst starting point when it comes to CLI shells. Assuming nothing here
|
||||
works and it doesn't even compile.
|
||||
|
||||
## Background
|
||||
|
||||
The needs of this project reflect my professional experience working on
|
||||
multiplayer video games. Prior to working in the games industry, I worked in
|
||||
the web industry, primarily writing server software. The working practices of
|
||||
programmers in these industries differ substantially. The large differences in
|
||||
these working practices create a substantial and difficult social divide
|
||||
within studios that make multiplayer games. These social differences make an
|
||||
already-difficult category of software even more difficult to develop. The
|
||||
goal of this project is to reduce the tooling divide that exists between
|
||||
client and server developers at multiplayer game studios, with the expectation
|
||||
that shrinking this tooling gap can reduce the social divide that exists
|
||||
between game developers and server/infrastructure developers at game studios.
|
||||
|
||||
### Windows is a hard requirement
|
||||
|
||||
The first gap that appears within the greater software developer landscape is
|
||||
the question of using Windows at all. Let us dispense with this question
|
||||
immediately: Windows is a necesary tool within the game development industry.
|
||||
Supporting Windows is a hard requirement of this project.
|
||||
|
||||
Many necessary tools, such as tools provided by game console manufacturers and
|
||||
tools that integrate with the dominant game engines (Unity and Unreal) only
|
||||
support Windows. If your reaction to this is "don't use those tools" or "make
|
||||
your game in Godot", please just stop. This is a very common reaction from
|
||||
professional programmers who have never worked in gamedev, who don't
|
||||
understand the constraints that most game developers face. Unfortunately a
|
||||
large portion of programming discussion happens on Hacker News, Reddit, and
|
||||
Lobsters, each of which uses a democratic structure.
|
||||
|
||||
I will not attempt to convince you that Windows is broadly
|
||||
unavoidable in professional game development and that Windows is a necessary
|
||||
tool for game development studios, even studios that employ engineers for whom
|
||||
Windows is not necessary for their individual role. If you want to advocate
|
||||
for Linux superiority, please go bother Nintendo, Sony, Microsoft, etc, not
|
||||
individual game developers. If you really can't get over this and feel the
|
||||
need to yell at me, please walk a few hundred yards into a dense forest and
|
||||
scream your complaints into the wilderness to feel better.
|
||||
|
||||
The command-line environments built into Windows are incredibly primitive.
|
||||
These environments are so primitive that millions of professional programmers
|
||||
who work primarily on Windows are led to believe that command-line
|
||||
environments themselves are *inherently* primitive.
|
||||
|
||||
. The limitations of built-in
|
||||
command-line environments on Windows is so severe that there are entire
|
||||
categories of professional computer programmers who believe that they are "not
|
||||
terminal people", often without realizing that the terminal on Linux and MacOS
|
||||
is a vastly different experience and different tooling ecosystem than it is on
|
||||
Windows. Many professional Windows developers believe that CLI environments
|
||||
are inherently primitive, because their only exposure to CLI environments is
|
||||
through the built-in Windows shells.
|
||||
|
||||
Windows ships with two built-in
|
||||
shells. The first shell is the Command Prompt, which we'll refer to as
|
||||
[cmd.exe](https://en.wikipedia.org/wiki/Cmd.exe) as it is colloquially known,
|
||||
even when running inside of
|
||||
[terminal.exe](https://en.wikipedia.org/wiki/Windows_Terminal). The second
|
||||
shell is [PowerShell](https://en.wikipedia.org/wiki/PowerShell).
|
||||
|
||||
### Insufficiency of cmd.exe
|
||||
|
||||
The insufficiency of cmd.exe is widely understood to people with experience
|
||||
with Unix-like operating systems such as Linux and MacOS, which typically
|
||||
include either [bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) or
|
||||
[zsh](https://en.wikipedia.org/wiki/Z_shell). This insufficiency is severe
|
||||
enough that it drives people off of Windows entirely.
|
||||
|
||||
In some industries, such as games, Windows is a required development
|
||||
environment, because many tools are available only on Windows. Free software
|
||||
purists who want to insist that you can make video games on Linux, please feel
|
||||
free to leave now, this project is not for you.
|
||||
|
||||
## Terimology
|
||||
|
||||
- **executable**: a shell built-in or an executable file (i.e., an .exe file)
|
||||
|
||||
## examples
|
||||
|
||||
$> a
|
||||
|
||||
Find an executable named `a` somewhere on `PATH` and execute it in the
|
||||
foreground.
|
||||
|
||||
$> ./a
|
||||
|
||||
Use an executable named `a` within the current directory and execute it in the
|
||||
foreground. `a` must be a file in the current directory. If `a` would refer to
|
||||
both a shell built-in and a file in the current directory, use the file in the
|
||||
current directory.
|
||||
|
||||
$>
|
||||
A command-line shell for Windows.
|
||||
|
Loading…
Reference in New Issue