I'm new to C # (but not for programming), and I was wondering: do I need C # programs when .NET is required, or are there ways to avoid dependencies and make the application independent?
Yes C # always requires the .NET runtime.
If you are concerned about other platforms, Mono , which will allow .NET applications to run on platforms other than Windows (such as Linux) using Mono runtime.
C # code compiled into CIL code, which is a platform-independent set of commands, I quote from Wikipedia :
.NET- , CIL, . CIL - CPU- , , .NET runtime Windows Mono.
A CLI /, .NET,
Linux CLI, MONO.
# , . - (, # CLI) .Net framework, Just In Time.Net framework.
, #. , .NET Framework ( Windows).
, , # .NET, Mono, Windows .NET.
-, .NET , , . MonoTouch.
. # - , : , : .NET. , MONO (# ) .
, .NET, .NET : , .
Any other way to use C # without .NET or MONO would be a learning experience rather than a practical solution. As for what makes sense in education: if you have the time, I definitely recommend trying something like this when you have a little more experience.
Just as C programs typically require a C runtime, C # programs require a common runtime.