I feel that the answer to the question would depend on the situation, but, I am hoping that someone can provide me (and others who may look at this question) a good explanation into efficient scripting.
Also, to clarify what I mean by "efficient", I mean it in many ways, but the primary standards being: -Hogging less resources -Runs faster with the least amount of function calls I mean, if I make stuff on the Explorer, it seems like I am putting in less lines of code, but because functions here are sometimes covered with syntactic sugar (and plus, I don't know how efficiently ROBLOX instantiates something already put into say, game.ReplicatedStorage), I really don't have a solid clue which one would be more efficient.
Here are two situations:
Would doing this in a Script...
local event = Instance.new("RemoteEvent", game.ReplicatedStorage)
...be more efficient than putting a RemoteEvent in ReplicatedStorage through the Explorer in Roblox Studio so that instead I can do...
local event = game.ReplicatedStorage.RemoteEvent
Or for instance, in a gun tool, would it be more efficient to instantiate a bullet in the script like...
local bullet= Instance.new('Part') do bullet.Name = 'Rocket' bullet.FormFactor = Enum.FormFactor.Custom bullet.Size = ROCKET_PART_SIZE bullet.CanCollide = false
...or put in a bullet in the tool (or some other location) through the Explorer in Roblox Studio and make the local variable bullet reference like...
local bullet= script.Parent.bullet
Making them using Explorer allows you to make them exactly as you wish without a lot of code. this is one this the wiki teaches you to do in the wrong way. take GUIs, it is allmost impossible to design one via script.
only use scripts when there are too many parts to create or there are too many possibilities that you would have to create 1 at a time.