C# and Other Languages
|
|
|
- Sheena Hubbard
- 9 years ago
- Views:
Transcription
1 C# and Other Languages Rob Miles Department of Computer Science
2 Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List Processing... Different priorities Fast, small, portable, bomb proof... Marketing Get developers onto your platform by supporting a good language
3 Programming Languages C# is a general purpose programming language It lets you express an algorithm you have designed in a form a computer can be made to execute It is not the only programming language You will learn lots of different ones if you become a programmer I think you should have a working knowledge of at least these C# Java JavaScript C and C++ Python
4 HEALTH WARNING The content here is a bit subjective, as it is impossible to talk about this kind of thing without letting your preferences show through If you ask other people about these issues you will get slightly different answers from the ones that I m going to give However, of course, everyone else is wrong.
5 Java Origins Invented by Sun Microsystems (who have been bought by Oracle) Originally intended for use in Set Top Boxes Needed a language that was portable across a wide range of devices Also needed a way to ensure that programs did not crash the hardware Uses a Virtual Machine to execute code
6 Computer Hardware Programs are executed by hardware This provides storage, input/output and a processor (cpu) The processor will have a particular design (Pentium, ARM, etc) A certain arrangement of internal registers A certain set of physical instructions A particular compiled binary program will work on a particular processor
7 Virtual Machine Rather than target a specific platform (Pentium, ARM, PowerPC) you design a Virtual Machine This has an arrangement of registers and memory, like a real processor, but it is implemented in software Any platform that has a program that implements the Virtual Machine can run programs written for it
8 Conventional Compiler Model Source code is compiled to produce an executable file which contains machine code instructions for the target hardware The hardware then obeys these instructions to execute the program Source Code Compiler Compiled Machine Code Hardware
9 Compiled Code
10 Virtual Machine Model Source Code Source code is compiled to an intermediate code for a virtual machine When the program runs this is either interpreted or compiled again by a Just In Time compiler The code runs in a Managed environment Interpreter Compiler Compiled Intermediate Code/bytecode Virtual Machine Just in Time Compiler Interpreter
11 Interpreting a Program An interpreter decodes each step of a intermediate code, performs the requested action and then moves on to the next step The steps of the program are never converted into machine code, they are just executed by the interpreter program The interpreter itself is not tied to the underling hardware Languages that run this way are sometimes called scripting languages Python runs in this way
12 Interpreters Good because: Easy to write Very easy to move from one platform to another Very safe, the program never gets control of the hardware Bad because: Slow Can t take advantage of hardware features
13 Just in Time Compilation The other way to make a Virtual Machine run programs is to compile the intermediate code into machine code just before it executed This is called Just In Time compilation When you run your program it is compiled into machine code just before it is run This is performed a method at a time Methods that are never called are never compiled
14 Just in Time Compilation Good Because Should get the same performance as a properly compiled program Can make a compiler for each platform Bad Because Slows down your program starting up as it has to compile your program before it can do anything
15 Managed Code One of the other reasons for creating a virtual machine is that it allows you to run a managed code environment Programs that run directly on the hardware can contain instructions that may break the underlying system Managed code provides a wrapper around the program that stops it doing bad things Both C# and Java run programs in a managed environment
16 Java and the Internet The set top box development never really took off But the Internet did Turns out that Java was a very good way to run programs that are loaded via the internet Any device with a Java Runtime Machine (JVM) could receive and run Java programs The programs could not damage the host
17 Java in the Browser - Applets When java was at its height a lot of browsers contained Java Virtual Machines so that they could run applets which were embedded in the browser The browser would download the bytecode program from the website and execute it This became a popular way to make web pages come alive Nowadays this is achieved using Javascript or plug-ins like Adobe Flash
18 Java In the Browser - Javascript Designers at Netscape stole the Java name for their browser scripting language, although JavaScript has little in common with the Java language really The Javascript program source is embedded in the web page HTML and interpreted by the browser While the program constructions are very similar to Java (and C#) the way that the language works is actually quite different Javascript is a very useful language to know well
19 Java Code /** * The HelloWorldApp class implements an application * that prints "Hello World!" to standard output. */ class HelloWorldApp { public static void main(string[] args) { // Display the string. System.out.println("Hello World!"); } } Java looks incredibly like C# This is because both languages are based on the syntax of C++ There are some differences when using class hierarchies, but the principles are the same
20 Java and C# Differences Java has primitive data types as well as objects Primitive types are a way of speeding up program execution C# is just one of several languages that run on top of the same Virtual Machine This is all part of the.net Framework C# programs cannot run as applets
21 The Java primitive type A Java primitive type is not an object It cannot expose methods It is managed by value If you want primitive types which can do something these are provided in the form of wrapper classes which are object based implementations of the primitive types There are both int and Integer types in Java
22 C# and Primitive Types The C# language does not make a distinction between primitive and reference in the same way as Java The behaviour of primitive/value types in C# is managed to work in a more intuitive way "Value" types are converted into object by a process called "boxing when a C# program runs This happens transparently as far as the C# programmer is concerned
23 From Java to C# C# was developed by Microsoft as the native language of their new.net Framework The idea behind.net is to provide a common platform to run multiple languages.net languages all compile to the same Intermediate Language which is run by a Virtual Machine that is part of.net.net also provides a unified set of resources that can be used by any language
24 Microsoft.NET.NET provides a Common Language Infrastructure (CLI) to run multiple languages C++, C# and Visual Basic There are lots of other languages that are compiled down to Microsoft Intermediate Language (MSIL) This makes it possible for code from different languages to work together in the same solution
25 Common Language Infrastructure (CLI) This is the system which underpins the execution of the Intermediate Language code It is designed to be language agnostic and provide a platform capable of executing compiled code from a range of source languages It should also allow these components to interact in a useful manner
26 CLI Features The CLI must work as an operating system Loads and executes components Provides Memory Management and IO The CLI must work as a compiler/linker/loader Place objects in memory Compile code Resolve references
27 CLI Concepts: Unified Types The CLI must provide a set of types which are used by compiled programs Types contain fields and properties which contain the data for that type The structure of a type is presented as metadata The CLI will load types as they are needed
28 Unified Types: int32 in C# public static int WorkOutFact ( int invalue ) { int result = 1; method public static int32 WorkOutFact(int32 invalue) cil managed { // Code size 24 (0x18).maxstack 2.locals ([0] int32 i, [1] int32 result) IL_0000: ldc.i4.1 IL_0001: stloc
29 Unified Types: int32 in VB Public Shared Function WorkOutFact (ByVal invalue As Integer) As Integer Dim result As Integer Dim i As Integer result = 1.method public static int32 WorkOutFact(int32 invalue) cil managed { // Code size 28 (0x1c).maxstack 2.locals init ([0] int32 i, [1] int32 result, [2] int32 WorkOutFact, [3] int32 _Vb_t_i4_0) IL_0000: nop IL_0001: ldc.i4.1 IL_0002: stloc
30 Unified Types Each language implementation agrees on the size and orientation of the types within the program This makes it possible for the languages to interoperate in a useful way Types constructed in a given language are also described in meta-data which makes it possible for them to be linked with types from others The CLI should be unaware of the language origins of a program component
31 Common Conventions In the case of.net all the available languages must be forced to use the same convention, that of the CLI Note that this does not mean that the programs will necessarily execute this way in some implementations the top few positions on the stack can be mapped onto processor registers This may impact on portability, but is only really an issue with un-managed code
32 Interacting with Native Code Native code is the machine code of the host processor The types used in the CLI are designed to be easily mapped onto "native" code This is reflected in the range of built in types supported in the CLI C# has this ability built in You can write C# programs that interact directly with the hardware These must be flagged as unsafe
33 Java and C# Summary Both execute on Virtual Machines in a Managed Enviroment Both are based on C/C++ syntax Both are strongly typed Both are object oriented and provide inheritance and interfaces Both provide a managed code environment (although C# lets you turn this off) Both have a large support library
34 Dynamic Languages In a C# program the compiler will ensure that all types are used in a manner that is appropriate to that type If the program breaks any rules of this kind it will not run This is called static typing in that we know before the program runs whether or not it will do anything stupid in this respect A dynamic language is one where the types and their members can change as the program executes This brings lots of flexibility, along with the ability to do really stupid and dangerous things
35 Dynamics and Danger Note that the danger in a dynamically typed language is not that the program might crash Although it probably will do The danger is that the program will not do what you, or the user, expect The C# compiler will not let you combine things without saying clearly what will happen when you do In dynamic languages you have the flexibility to make the program up as you go along, but this means that it is harder to prevent the wrong thing from happening
36 JavaScript JavaScript is a very popular dynamic language The language of the web This is because it is often embedded in web pages to make them more interactive The web browser contains an interpreter which reads the JavaScript and runs it It is called JavaScript because it was launched when Java was popular It has very little in common with the Java language
37 Scary JavaScript JavaScript works with objects, although it is much more relaxed about how you can create and use them The C# compiler frets a lot about whether your program makes sense, and whether what the program does with things is valid The program must always make sense JavaScript works on a different principle The program must always do something This makes it easy to write (and run) broken code
38 JavaScript and the Future Because of the rise of HTML5 and web applications JavaScript is going to be with us for a long time There are some very useful frameworks that work well with it for example JQuery You therefore need to be familiar with it I recommend the book JavaScript: The Good Parts by Douglas Crockford And the website codeacademy.com
39 Python Python is a scripting language that is a bit like Java, JavaScript, C and C# It is becoming popular as one of the primary languages for the Raspberry Pi It is interesting because it also provides a Python Shell where you can write language statements which are obeyed immediately A bit like the old versions of Basic It is also a very powerful and flexible language If a bit scary
40 C The C programming language was developed by Brian Kernighan and Dennis Ritchie of Bell Labs They used it to create an operating system they were developing..called UNIX C has the same language syntax as C#, Java and JavaScript which is not that surprising, as they are based on it C is great for low level stuff, but it is very easy to write a C program that causes your process (and maybe even the computer) to crash
41 C and C++ C and C++ are closely related C is the original, C++ adds support for objects C is a great language for writing operating systems And a rather dangerous language for writing pretty much anything else C++ is a very powerful general purpose language which combines the danger of C with support for Objects But has no garbage collection
42 The Future and C++ C++ is important because it runs really fast on the target hardware C++ is used to create Video Games There are high performance C++ compilers for just about any platform You will be learning C++ next year
43 Final Important Point Just because there are all these languages out there you don t need to start from scratch each time you have to learn a new one They all have statements, variables, assignments, tests, loops, arrays and methods You get started in a new language by learning how these controls are used in it A bit like changing from one car to another All procedural languages work in essentially the same way when they run
44 Review C# is not the only language you will ever use Although it is one of the best As a programmer you will have to learn many languages through your career and this is not a problem They will all have their good parts and their bad parts You can write horrible code in any language You can write great code in any language
1. Overview of the Java Language
1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1
The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose
Course MS10975A Introduction to Programming. Length: 5 Days
3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: [email protected] Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014
CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections
Evolution of the Major Programming Languages
142 Evolution of the Major Programming Languages Object Oriented Programming: Smalltalk Object-Oriented: It s fundamental characteristics are: Data abstraction, Inheritance and Dynamic Binding. The essence
Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design
Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
Programming in Python. Basic information. Teaching. Administration Organisation Contents of the Course. Jarkko Toivonen. Overview of Python
Programming in Python Jarkko Toivonen Department of Computer Science University of Helsinki September 18, 2009 Administration Organisation Contents of the Course Overview of Python Jarkko Toivonen (CS
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
Rich Internet Applications
Rich Internet Applications Prepared by: Husen Umer Supervisor: Kjell Osborn IT Department Uppsala University 8 Feb 2010 Agenda What is RIA? RIA vs traditional Internet applications. Why to use RIAs? Running
9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?
What is Programming? CSCI 209: Software Development Sara Sprenkle [email protected] "If you don't think carefully, you might think that programming is just typing statements in a programming language."
Bypassing Browser Memory Protections in Windows Vista
Bypassing Browser Memory Protections in Windows Vista Mark Dowd & Alexander Sotirov [email protected] [email protected] Setting back browser security by 10 years Part I: Introduction Thesis Introduction
Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices
232 Computer Science Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface
CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution
CSE 452: Programming Languages Java and its Evolution Acknowledgements Rajkumar Buyya 2 Contents Java Introduction Java Features How Java Differs from other OO languages Java and the World Wide Web Java
The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. [email protected] Oct 2003 Presented to Gordon College CS 311
The Java Virtual Machine and Mobile Devices John Buford, Ph.D. [email protected] Oct 2003 Presented to Gordon College CS 311 Objectives Review virtual machine concept Introduce stack machine architecture
Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT,
J A V A T U T O R I A L S : Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT, JRE and JDK This section clearly explains the Java s revolutionary features in the programming world. Java basic
Installing Java. Table of contents
Table of contents 1 Jargon...3 2 Introduction...4 3 How to install the JDK...4 3.1 Microsoft Windows 95... 4 3.1.1 Installing the JDK... 4 3.1.2 Setting the Path Variable...5 3.2 Microsoft Windows 98...
Web Pages. Static Web Pages SHTML
1 Web Pages Htm and Html pages are static Static Web Pages 2 Pages tagged with "shtml" reveal that "Server Side Includes" are being used on the server With SSI a page can contain tags that indicate that
Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.
Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java
Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage
Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running
Crash Course in Java
Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is
What Perl Programmers Should Know About Java
Beth Linker, [email protected] Abstract The Java platform is by no means a replacement for Perl, but it can be a useful complement. Even if you do not need to or want to use Java, you should know a bit
Java applets. SwIG Jing He
Java applets SwIG Jing He Outline What is Java? Java Applications Java Applets Java Applets Securities Summary What is Java? Java was conceived by James Gosling at Sun Microsystems Inc. in 1991 Java is
CSC 551: Web Programming. Spring 2004
CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro
Contents. Java - An Introduction. Java Milestones. Java and its Evolution
Contents Java and its Evolution Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering The University of Melbourne http:// www.buyya.com Java Introduction
Java Programming. Binnur Kurt [email protected]. Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0.
Java Programming Binnur Kurt [email protected] Istanbul Technical University Computer Engineering Department Java Programming 1 Version 0.0.4 About the Lecturer BSc İTÜ, Computer Engineering Department,
The Design of the Inferno Virtual Machine. Introduction
The Design of the Inferno Virtual Machine Phil Winterbottom Rob Pike Bell Labs, Lucent Technologies {philw, rob}@plan9.bell-labs.com http://www.lucent.com/inferno Introduction Virtual Machine are topical
Introducing the.net Framework 4.0
01_0672331004_ch01.qxp 5/3/10 5:40 PM Page 1 CHAPTER 1 Introducing the.net Framework 4.0 As a Visual Basic 2010 developer, you need to understand the concepts and technology that empower your applications:
Chapter 12 Programming Concepts and Languages
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
CSC230 Getting Starting in C. Tyler Bletsch
CSC230 Getting Starting in C Tyler Bletsch What is C? The language of UNIX Procedural language (no classes) Low-level access to memory Easy to map to machine language Not much run-time stuff needed Surprisingly
Bypassing Memory Protections: The Future of Exploitation
Bypassing Memory Protections: The Future of Exploitation Alexander Sotirov [email protected] About me Exploit development since 1999 Research into reliable exploitation techniques: Heap Feng Shui in JavaScript
Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World
Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify
Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development
h(p://home.hit.no/~hansha/?page=sodware_development Programming O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com Languages & Frameworks Hans- Pe(er Halvorsen, M.Sc. 1 ImplementaVon Planning
Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
A Comparison of Programming Languages for Graphical User Interface Programming
University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming
The programming language C. sws1 1
The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan
Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes
Computer Science 207 Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface
General Introduction
Managed Runtime Technology: General Introduction Xiao-Feng Li ([email protected]) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime
2 Introduction to Java. Introduction to Programming 1 1
2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage
Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software
What is an Operating System? An operating system (OS) is a collection of software that acts as an intermediary between users and the computer hardware One can view an OS as a manager of system resources
Building Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
02 B The Java Virtual Machine
02 B The Java Virtual Machine CS1102S: Data Structures and Algorithms Martin Henz January 22, 2010 Generated on Friday 22 nd January, 2010, 09:46 CS1102S: Data Structures and Algorithms 02 B The Java Virtual
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
Course Descriptions. CS 101 Intro to Computer Science
Course Descriptions CS 101 Intro to Computer Science An introduction to computer science concepts and the role of computers in society. Topics include the history of computing, computer hardware, operating
Effective Java Programming. efficient software development
Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of
.NET Overview. Andreas Schabus Academic Relations Microsoft Österreich GmbH [email protected] http://blogs.msdn.
Based on Slides by Prof. Dr. H. Mössenböck University of Linz, Institute for System Software, 2004 published under the Microsoft Curriculum License.NET Overview Andreas Schabus Academic Relations Microsoft
Visual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
Ch. 10 Software Development. (Computer Programming)
Ch. 10 Software Development (Computer Programming) 1 Definitions Software or Program Instructions that tell the computer what to do Programmer Someone who writes computer programs 2 Instruction Set A vocabulary
RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science
I. Basic Course Information RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE CISY 105 Foundations of Computer Science A. Course Number and Title: CISY-105, Foundations of Computer Science B. New
1001ICT Introduction To Programming Lecture Notes
1001ICT Introduction To Programming Lecture Notes School of Information and Communication Technology Griffith University Semester 2, 2015 1 3 A First MaSH Program In this section we will describe a very
Habanero Extreme Scale Software Research Project
Habanero Extreme Scale Software Research Project Comp215: Java Method Dispatch Zoran Budimlić (Rice University) Always remember that you are absolutely unique. Just like everyone else. - Margaret Mead
language 1 (source) compiler language 2 (target) Figure 1: Compiling a program
CS 2112 Lecture 27 Interpreters, compilers, and the Java Virtual Machine 1 May 2012 Lecturer: Andrew Myers 1 Interpreters vs. compilers There are two strategies for obtaining runnable code from a program
Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development.
Chapter 3.2 C++, Java, and Scripting Languages The major programming languages used in game development. C++ C used to be the most popular language for games Today, C++ is the language of choice for game
1/20/2016 INTRODUCTION
INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We
Cross-platform IL code manipulation library for runtime instrumentation of.net applications
Cross-platform IL code manipulation library for runtime instrumentation of.net applications master thesis subject for Markus Gaisbauer (0256634) in cooperation with dynatrace software GmbH July 5, 2007
Introduction to programming
Unit 1 Introduction to programming Summary Architecture of a computer Programming languages Program = objects + operations First Java program Writing, compiling, and executing a program Program errors
An Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
Introduction to Java
Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high
Cloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents
Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq
qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq Introduction to Programming using Java wertyuiopasdfghjklzxcvbnmqwertyui
Risks with web programming technologies. Steve Branigan Lucent Technologies
Risks with web programming technologies Steve Branigan Lucent Technologies Risks with web programming technologies Abstract Java applets and their kind are bringing new life to the World Wide Web. Through
Java vs. Java Script
Java vs. Java Script Java and Java Script share two very similar names, but they are completely different languages that possess few commonalties. They differ both in their purpose and the applications
GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
Objectif. Participant. Prérequis. Remarque. Programme. C# 3.0 Programming in the.net Framework. 1. Introduction to the.
Objectif This six-day instructor-led course provides students with the knowledge and skills to develop applications in the.net 3.5 using the C# 3.0 programming language. C# is one of the most popular programming
Programming in C# with Microsoft Visual Studio 2010
Course 10266A: Programming in C# with Microsoft Visual Studio 2010 Course Details Course Outline Module 1: Introducing C# and the.net Framework This module explains the.net Framework, and using C# and
University of Hull Department of Computer Science. Wrestling with Python Week 01 Playing with Python
Introduction Welcome to our Python sessions. University of Hull Department of Computer Science Wrestling with Python Week 01 Playing with Python Vsn. 1.0 Rob Miles 2013 Please follow the instructions carefully.
Apache Jakarta Tomcat
Apache Jakarta Tomcat 20041058 Suh, Junho Road Map 1 Tomcat Overview What we need to make more dynamic web documents? Server that supports JSP, ASP, database etc We concentrates on Something that support
Input/Output Subsystem in Singularity Operating System
University of Warsaw Faculty of Mathematics, Computer Science and Mechanics Marek Dzikiewicz Student no. 234040 Input/Output Subsystem in Singularity Operating System Master s Thesis in COMPUTER SCIENCE
INTRODUCTION TO JAVA PROGRAMMING LANGUAGE
INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,
Web Programming Languages Overview
Web Programming Languages Overview Thomas Powell [email protected] Web Programming in Context Web Programming Toolbox ActiveX Controls Java Applets Client Side Helper Applications Netscape Plug-ins Scripting
WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER
WEB, HYBRID, NATIVE EXPLAINED June 2013 CRAIG ISAKSON MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER 701.235.5525 888.sundog fax: 701.235.8941 2000 44th St. S Floor 6 Fargo, ND 58103 www.sundoginteractive.com
How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For
Projet Java Responsables: Ocan Sankur, Guillaume Scerri (LSV, ENS Cachan) Objectives - Apprendre à programmer en Java - Travailler à plusieurs sur un gros projet qui a plusieurs aspects: graphisme, interface
Chapter 1. Dr. Chris Irwin Davis Email: [email protected] Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages
Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: [email protected] Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
White Paper. Java Security. What You Need to Know, and How to Protect Yourself. 800.266.7798 www.inductiveautomation.com
White Paper Java Security What You Need to Know, and How to Protect Yourself Java Security: What You Need to Know, and How to Protect Yourself Ignition HMI, SCADA and MES software by Inductive Automation
Course Descriptions. preparation.
Course Descriptions CS 101 Intro to Computer Science An introduction to computer science concepts and the role of computers in society. Topics include the history of computing, computer hardware, operating
Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server
Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server Hardware Windows Windows NT 4.0 Linux Server Software and
Java Coding Practices for Improved Application Performance
1 Java Coding Practices for Improved Application Performance Lloyd Hagemo Senior Director Application Infrastructure Management Group Candle Corporation In the beginning, Java became the language of the
Web Design Specialist
UKWDA Training: CIW Web Design Series Web Design Specialist Course Description CIW Web Design Specialist is for those who want to develop the skills to specialise in website design and builds upon existing
WEB SITE DEVELOPMENT WORKSHEET
WEB SITE DEVELOPMENT WORKSHEET Thank you for considering Xymmetrix for your web development needs. The following materials will help us evaluate the size and scope of your project. We appreciate you taking
CPSC 226 Lab Nine Fall 2015
CPSC 226 Lab Nine Fall 2015 Directions. Our overall lab goal is to learn how to use BBB/Debian as a typical Linux/ARM embedded environment, program in a traditional Linux C programming environment, and
Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages
ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs
Java Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
Programming and Software Development CTAG Alignments
Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical
An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000
An Oracle Technical White Paper INTRODUCTION This paper is designed to provide you with an overview of some of the key points of the Oracle Forms Server architecture and the processes involved when forms
MEAP Edition Manning Early Access Program Nim in Action Version 1
MEAP Edition Manning Early Access Program Nim in Action Version 1 Copyright 2016 Manning Publications For more information on this and other Manning titles go to www.manning.com Welcome Thank you for purchasing
Chapter 1 Java Program Design and Development
presentation slides for JAVA, JAVA, JAVA Object-Oriented Problem Solving Third Edition Ralph Morelli Ralph Walde Trinity College Hartford, CT published by Prentice Hall Java, Java, Java Object Oriented
C Compiler Targeting the Java Virtual Machine
C Compiler Targeting the Java Virtual Machine Jack Pien Senior Honors Thesis (Advisor: Javed A. Aslam) Dartmouth College Computer Science Technical Report PCS-TR98-334 May 30, 1998 Abstract One of the
What is a programming language?
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there
Java CPD (I) Frans Coenen Department of Computer Science
Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials
Restraining Execution Environments
Restraining Execution Environments Segurança em Sistemas Informáticos André Gonçalves Contents Overview Java Virtual Machine: Overview The Basic Parts Security Sandbox Mechanisms Sandbox Memory Native
BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME
BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME System Analysis and Design S.Mohammad Taheri S.Hamed Moghimi Fall 92 1 CHOOSE A PROGRAMMING LANGUAGE FOR THE PROJECT 2 CHOOSE A PROGRAMMING LANGUAGE
Windows Presentation Foundation (WPF) User Interfaces
Windows Presentation Foundation (WPF) User Interfaces Rob Miles Department of Computer Science 29c 08120 Programming 2 Design Style and programming As programmers we probably start of just worrying about
The Java Virtual Machine (JVM) Pat Morin COMP 3002
The Java Virtual Machine (JVM) Pat Morin COMP 3002 Outline Topic 1 Topic 2 Subtopic 2.1 Subtopic 2.2 Topic 3 2 What is the JVM? The JVM is a specification of a computing machine Instruction set Primitive
