From 0a821851a3d87929c9aa0f4ff385e68c5d0f875e Mon Sep 17 00:00:00 2001 From: Jordan Orelli Date: Sat, 17 Feb 2024 13:46:35 -0600 Subject: [PATCH] remove that obnoxious readme --- README.md | 97 +------------------------------------------------------ 1 file changed, 1 insertion(+), 96 deletions(-) diff --git a/README.md b/README.md index 79ced73..2978732 100644 --- a/README.md +++ b/README.md @@ -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.