"Linux is written in the version of the C programming language supported by GCC (which has introduced a number of extensions and changes to standard C), together with a number of short sections of code written in the assembly language (in GCC's "AT&T-style" syntax) of the target architecture. Because of the extensions to C it supports, GCC was for a long time the only compiler capable of correctly building Linux. Recently, Intel claims to have modified its C compiler so that it is also capable of correctly compiling it.
Many other languages are used in some way, primarily in connection with the kernel build process (the methods whereby the bootable image is created from the sources). These include Perl, Python, and various shell scripting languages. Some drivers may also be written in C++, Fortran, or other languages, but this is strongly discouraged. Linux's build system only officially supports GCC as a kernel and driver compiler."
The two most commonly used desktop environments are GNOME and KDE
"A number of language bindings are available allowing applications to be written in a variety of programming languages, such as C++ (gtkmm), Java (java-gnome), Ruby (ruby-gnome2), C# (Gtk#), Python (PyGTK), Perl (gtk2-perl) and many others. The only languages currently used in applications that are part of an official GNOME desktop release are C, C# and Python."
For KDE, http://developer.kde.org/language-bindings/
Here are links to all of the source code for the most recent stable version:
Note that it is now 22 CDs worth of source code.
I tried using the search feature for packages at
but it didn't seem to work
You can type "apropos tcp/ip" at the command line, and it will tell you a list of applications and commands related to it. Then you can type use either the "info (whatever)" or "man (whatever)" commands to find out more about that and the files it uses and the related files/apps. You could then consult the source CDs referenced above to examine the appropriate source code.
See also all the tcp related stuff on this page:
as far as text editors and debian: