Even with modern IDE's, it's too easy for a student to get frustrated with things caused by the tool-chain and the environment.
An interpreter (BASIC or python for example) gives immediate feedback. When the student is learning fundamentals I think it's more important to let them try things and see the results quickly, than it is to force them to follow a narrow path of proper construction.
I learned a lot from writing little BASIC programs when I was starting out. A 'C' interpreter would be ideal. Very minimalist and 'bare metal', but enough language features to teach sound principles.
looks like a character mess (that it, in fact, is).
basic/python are really good examples, something that can be run in the console, providing some text output.
the usual first steps are string concatenations, inserting someone's name here and there, doing simple calculations, like your-age-in-days or something. school examples.
for those true first steps, a console interpreter is best point to start.
There was a thread recently regarding using BASIC to teach programming, as it removes the emphasis on visual and keeps it on solving the problem. Given the list in this survey, I chose C as the best for that -- and besides, once someone knows C, they can easily pick up most mainstream programming languages.
Actually, I think you need both. Obviously, problem solving is essential for development, but even the best problem solvers would require a set of tools (or people who have / use these tools) to actually solve the problem then.
The best University / bootcamp programs I know teach both. They have classes dedicated to tools / frameworks (languages being among them) and classes for theoretical constructs / problem solving.
If the knowledge of the subject about programming is [Null] => Small Basic from MIcrosoft is a very good way to start, because its simplicity, the IDE is nice and it is scalable using libraries.
For a person who wants to work seriously in developing software, C is a good departure (better if starts reading "The C Programming Language, D. Ritchie") for the knoledge he/she can have about the internal guts of the machine. After that, unless he/she wants to make IoT, C# is a very good one.