290 likes | 619 Views
Lecture 2: An Introduction to J# and .NET. Objectives.
E N D
Objectives “Microsoft .NET is based on the .NET Framework, which consists of two major components: a run-time execution engine and an extensive software library. The Framework supports a wide range of programming languages, including J# which brings Java to .NET... ” • Modern program execution • J# • Visual Studio .NET
Program execution in the 21st century • Idea: • modern software executes using a run-time environment • why? portable and safe execution… Your Application Run-time Environment Operating System Hardware
Program execution in .NET • Based on Common Language Runtime (CLR) + .NET Framework Class Library (FxCL) • run-time environment + large software library Your Application .NET FrameworkClass Library (FxCL) Common Language Runtime (CLR) Operating System Hardware
So what is .NET? • A technology for developing & executing software… • platform independent (XP, Pocket PC, Linux (Mono), BSD ) • language independent (28 languages listed at http://www.gotdotnet.com/team/lang//) J# C# C++ VB … Your Application .NET FrameworkClass Library (FxCL) Common Language Runtime (CLR) Operating System Hardware
What exactly is J#? • "J-Sharp" is Java on the .NET platform • J# allows you to program using the Java language yet take advantage of the Microsoft .NET platform • What is Java? • Java language syntax + Java class library • What is J#? • Java language syntax (Java 1.4) + Java class library + .NET class library • current Java language (i.e. v1.5, a.k.a. Java 5) • partial support for Java class library (most of v1.1, some of v1.2) • Additional library for Swing
Example in J# • The infamous "hello world!" program • written in pure Java… public class HelloApp { public static void main(String[] args) { System.out.println("Hello world!"); } }
How to edit, compile, run? • Visual Studio .NET • Visual Studio is Microsoft's IDE • "Integrated Development Environment" • One environment for all .NET programming: • editing • compiling • running • debugging
Step 2. Create project… • Select application language, then template
Step 3. Implement… • Code the program in coding window • use "Solution Explorer" window for navigating program files solution explorer coding window
Step 4. Run! • Just press F5 and off we go! • or use Debug menu, Start… • or click VCR-like "Play" button on the toolbar… • Go ahead and try it — what happens?
The "console" flash • By default, Visual Studio does the following: • opens console window • runs program • closes window • so all you see is a flash!
Solution • Keep console window open until user is done… package HelloApp; public class HelloApp { public static void main(String[] args) throws Exception { System.out.println("Hello world!"); // keep console window open... System.out.println(); System.out.print("Press ENTER to exit..."); System.in.read(); }//main }//class
Very helpful IDE features… • IntelliSense • Overloading • Tight integration of editor & compiler • to name just a few…
IntelliSense! • IntelliSense is a fantastic advance • context-sensitive programming aid • reduces programming errors • encourages experimentation and exploration // keep console window open… System.o
Overloading • J# allows multiple methods with the same name • We know this as overloading • methods must differ in their parameter lists • VS depicts as a scrollable list… // keep console window open… System.out.println(
Editor & compiler integration • Errors are highlighted in the code like spelling mistakes:
Working with Visual Studio • Modes of programming: • "design": coding • "run": program is actively running • "break": program is paused (more on this later) • How to know which mode you're in?
Visual Studio files • Visual Studio produces lots of files • bin folder contains .EXE, program input files • obj folder contains temporary files • solution (.sln) is main file for working with VS • project (.vjsproj) tracks source files, settings • Visual J# (.jsl) denotes source code files
Re-opening a project • To re-open a project and continue working… • double-click on the SOLUTION (.sln) file or • startup Visual Studio and open .sln file
Summary • Modern program execution: • based on virtual machines and large class libraries • in Java, known as JVM and JCL • in .NET, known as CLR and FxCL • J# is Java on the .NET platform • VS is a modern, sophisticated, powerful IDE