✓ Accepted answer
workspace is just a normal variable that ROBLOX has provided to us, like they have provided game.
For whatever reason, this is the only service that they give us a variable to, probably because it's the only one that almost any script requires.
If you want to define your own, you can, of course
local lighting = game.Lighting
local players = game.Players
etc.
ROBLOX suggests that you use the lowercase version of the workspace variable, since it's a Lua variable and Lua variables are canonically lowercase.
If you really want this without naming them yourself, you could use something like this:
local env = getfenv(0);
for _, service in pairs(game:GetChildren()) do
local name = tostring(service);
name = name:gsub("%W", "");
env[name:sub(1,1):lower() .. name:sub(2)] = service
end
which will add all of the variables to be used, as in replicatedStorage or lighting.
Ideally you would wrap this into a module script / bindable function that would use a different number than 0 so that you just call that function in a single line and get all of the variables.
I would say this is a bad idea. ROBLOX's Script Analysis will warn that all of the service names were never defined.