>>5738378>JS>terrible object model and dynamic typeless syntaxif you wanna make someone suicidal by all means.
C is a very simple language and using it teaches valuable low level techniques such as memory manipulation and management.
Object model languages like C# teach bad practices and design patterns if you don't know how to avoid that, which people won't if they're new to programming.
Teaching someone C first gives them skills and knowledge they can transfer to other languages and, thanks to it's ubiquity, many languages (like C# or JS) have C like syntaxes so people familiar with C can pick them up easily, while already having learned the basics of programming in a more simple and efficient language. Not to mention almost every high level language has bindings for libc.
Just because something is `easy' doesn't make it better.
As for assembly; assembly is architecture specific, learning what your architecture does, even if you don't use the assembly itself for anything, helps with optimisations and improving efficiency in higher level languages, because you can make assumptions about instructions generated.
Alternatively if you wanna go full theory read SICP and learn a Lisp instead.