Quines

A quine is a computer program that takes no inputs and its only output is its own source code. This program is like a quine except instead of outputting it's source code it prints "hello world" to the console, compiles it's source code, waits for input and then runs the resulting executable.

Below is the source code written in C#.

using System;
using System.IO;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
using System.Diagnostics;

namespace quine
{
    class Program
    {
        static void Main(string[] args)
        {
            string source = @"using System;
using System.IO;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
using System.Diagnostics;

namespace quine
{1}
    class Program
    {1}
        static void Main(string[] args)
        {1}
            string source =  @{3}{0}{3};
            Console.WriteLine({3}hello world{3});
            CSharpCodeProvider codeProvider = new CSharpCodeProvider();
            CompilerParameters comPara = new CompilerParameters();
            comPara.ReferencedAssemblies.Add({3}System.dll{3});
            comPara.ReferencedAssemblies.Add({3}System.IO.dll{3});
            comPara.ReferencedAssemblies.Add({3}Microsoft.CSharp.dll{3});
            comPara.GenerateExecutable = true;
            comPara.GenerateInMemory = false;
            comPara.OutputAssembly = Directory.GetCurrentDirectory() + @{3}\baby-{3} + Guid.NewGuid().ToString({3}N{3}) + {3}.exe{3};
            Console.ReadKey();
            CompilerResults cr = codeProvider.CompileAssemblyFromSource(comPara, String.Format(source, source, (char)123, (char)125, (char)34));
            Process.Start(comPara.OutputAssembly);
        {2}
    {2}
{2}
";
            Console.WriteLine("hello world");
            CSharpCodeProvider codeProvider = new CSharpCodeProvider();
            CompilerParameters comPara = new CompilerParameters();
            comPara.ReferencedAssemblies.Add("System.dll");
            comPara.ReferencedAssemblies.Add("System.IO.dll");
            comPara.ReferencedAssemblies.Add("Microsoft.CSharp.dll");
            comPara.GenerateExecutable = true;
            comPara.GenerateInMemory = false;
            comPara.OutputAssembly = Directory.GetCurrentDirectory() + @"\baby-" + Guid.NewGuid().ToString("N") + ".exe";
            Console.ReadKey();
            CompilerResults cr = codeProvider.CompileAssemblyFromSource(comPara, String.Format(source, source, (char)123, (char)125, (char)34));
            Process.Start(comPara.OutputAssembly);
        }
    }
}

Quines: Click Here