Programing languages.ppt

advertisement
PROGRAMMING LANGUAGES
VB.NET XML JavaScript
Visual Basic.NET
• evolved from BASIC (Beginner’s ALL Purpose Symbolic
Instruction Code)
• developed in the mid-1960’s
• by Prof. John Kemeny and Thomas Kurtz
Visual Basic.NET
• event driven
• visual programming language
• an object-oriented programming language designed
by Microsoft
Visual Basic.NET
• Encapsulation
• Allows your program to treat objects as black boxes
• Polymorphism
• One object can have different forms depending on the
situation
• Reuse
• By using containment and delegation
READABILITY
• Simplicity and Orthogonality
AddHandler
Auto
CBool
AndAlso
ByVal
CDec
Double
End
Event
Implements
Integer
Like
Next
NotOverridable
Optional
RaiseEvent
RemoveHandler
Set
Then
AddressOf
Ansi
CByte
CDbl
CLng
Dim
GoTo
Each
Imports
Enum
Interface
MyClass
Not
Object
Property
ReadOnly
Resume
Structure
Throw
Alias
Case
CChar
Char
Declare
DirectCast
Else
READABILITY
• Control Structure
If/then
Do Loop/Until
If/Then/Else
Do Loop/While
Case
While
Do While/Loop
For/Next
Do Until/Loop
For Each/Next
READABILITY
• Data Types and Structure
Type
Boolean
Char
Byte
Date
Size in Bits
16
16
8
64
Decimal
Short
Integer
Long
Single
Double
Object
String
128
16
32
64
32
64
32
0-2000000000
READABILITY
• Syntax Design
• uses special words in forming compound statements
primarily in control constructs (such as If/Then/Else)
WRITABILITY
• Simplicity and Orthogonality
• Control Structure
Dim firstname = "Phil“
If firstname = "Bill" Then
MsgBox "firstname is Bill"
Else
MsgBox "firstname is not Bill“
End If
WRITABILITY
• Data Types and Structure
• Syntax Design
Dim value As Integer = Integer.Parse(Console.ReadLine())
Select Case value
Case 1
Console.WriteLine("You typed one")
MsgBox("You typed one")
Case 2
Console.WriteLine("You typed two")
MsgBox("You typed two")
Case 5
Console.WriteLine("You typed five")
MsgBox("You typed five")
Case Else
Console.WriteLine("You typed something else")
MsgBox("You typed somethinig else")
End Select
WRITABILITY
• Abstraction
Public MaximumSpeed as _
Integer
Public ModelName as String
Public Sub Accelerate()
'Some code to make the car go
End Sub
Public Sub Stop()
'Some code to make the car stop
End Sub
WRITABILITY
• Expressivity
RELIABILITY
• Type Checking
• Exception Handling
• Restricted Aliasing
COST
• Migrating from any other language to Visual Basic .NET
could cost companies on the order of $43,000 per
developer, research from the Gartner Group
PORTABILITY
• can only be compiled and run through the .NET
framework which only runs on windows
XML
eXtensible Markup Language
Markup: a text-based notation for describing data
A widely supported open technology for describing data
The standard format for data exchanged between
applications over the Internet.
• permits document authors to create markup for virtually
any type of information
•
•
•
•
XML
• NOT replace HTML
• Foundation for several next-generation Web
technologies
• XHTML, RSS (Blogs), Ajax, Web Services
• can be used to create entirely new markup
languages that describe specific types of data, including
mathematical formulas, chemical molecular structures,
music and recipes.
• describes data in a way that human beings can
understand and computers can process.
XML
• http://www.w3schools.com/xml/xml_validator.asp
XML Parser in the Browser
• When a user loads an XML document in a browser, a
parser parses the document, and the browser uses a style
sheet to format the data for display
XML Elements
• The root element of an XML document
encompasses all its other elements
• XML element names can be of any length and can
contain letters, digits, underscores, hyphens and periods
• XML element names must begin with either a letter or an
underscore, and they should not begin with “xml” in any
combination of uppercase and lowercase letters, as this is
reserved for use in the XML standards
DOCUMENT TYPE DEFINITIONS
• DTDs and schemas specify documents’ element types and
attributes, and their relationships to one another
• DTDs and schemas enable an XML parser to verify whether an
XML document is valid (i.e., its elements contain the proper
attributes and appear in the proper sequence)
• In a DTD, an ELEMENT element type declaration
defines the rules for an element. An ATTLIST
attribute-list declaration defines attributes for a
particular element
NAMESPACES
• XML namespaces provide a means for document authors to
prevent naming collisions
• Each namespace prefix is bound to a uniform
resource identifier (URI) that uniquely identifies the
namespace
• We declare a default namespace using keyword xmlns with a
URI (Uniform Resource Identifier) as its value
W3C XML SCHEMA DOCUMENTS
• which to define your XML document structure and limitations.
• XML schemas provide a set of basic types, such as integer,
byte, string and floating point numbers.
• XML schemas provide an Object Oriented approach.
• The author of an XML schema can use basic types, along with
various operators and modifiers, to create complex types of
their own.
XSL AND XSLT
• XSL is a style sheet language for XML documents.
• XSL is more than a style sheet language. XSL consists of two
parts:
• XSLT – a language for transforming XML documents
• XPath – a language for navigating in XML documents
• XSL style sheets can be connected directly to an XML
document by adding an xml:stylesheet processing instruction
to the XML document
READBILITY
• XML is the first language that makes documents both
human-readable and computer-manipulable
• It is the language of the intelligent document, a step
ahead of conventional methods of document
representation that rely on format rather than structure
WRITABILITY
XML declaration: identifies the version of XML used.
XML tags are case sensitive.
Each start tag must have a matching end tag.
Using a white space character in a XML element name is
an error.
• XML element names should be meaningful to
humans and should not use abbreviations.
•
•
•
•
WELL FORMED vs. VALID XML
• Well-formed XML documents
• Matching start tag and end tag
• Valid XML documents
• One that has been tested against a set of rules
• These rules are specified as either DTD or XML schema files
RELIABILITY
• XML provides a common syntax for messaging systems
for the exchange of information between applications.
• If everyone uses the same syntax it makes writing these
systems much faster and more reliable.
PORTABILITY
• XML is an open standard, there is a wide selection of
tools for implementing it
• XML can be used on a wide variety of platforms and
interpreted with a wide variety of tools.
COST
• enables a nonprogrammer to do things that would have
previously required extensive knowledge of scripting
languages or thousands of dollars worth of custom
software
• text-based, so anybody can create an XML document
with even the most primitive text processing tools.
JavaScript
• Scripting language which is used to enhance the
functionality and appearance of web pages.
• All major web browsers contain JavaScript
interpreters, which process the commands
written in JavaScript.
JavaScript
• JavaScript allows for interactivity
• Browser/page manipulation
• Reacting to user actions
• A type of programming language
• Easy to learn
• Developed by Netscape
• Standardized by European Computer Manufacturers
Association (ECMA)
• www.ecma-international.org/publications/
standards/ECMA-262.HTM
How JavaScript works
• Embedded within HTML page
• View source
• Executes on client
• Fast, no connection needed once loaded
• Simple programming statements combined with HTML
tags
• Interpreted (not compiled)
• No special tools required
JavaScript compared to Java
JavaScript
Java
Interpreted (not compiled) by client.
Compiled bytecodes downloaded from server,
executed on client.
Object-based. No distinction between
types of objects. Inheritance is through
the prototype mechanism and properties
and methods can be added to any object
dynamically.
Object-oriented. Objects are divided into
classes and instances with all inheritance
through the class hierarchy. Classes and
instances cannot have properties or methods
added dynamically.
Code integrated with, and embedded in,
HTML.
Applets distinct from HTML (accessed from
HTML pages).
Variable data types not declared (loose
typing).
Variable data types must be declared (strong
typing).
Dynamic binding. Object references
checked at runtime.
Static binding. Object references must exist at
compile-time.
JavaScript
• Often, JavaScripts appear in the <head> section of the
HTML document. The browser interprets the contents of
the <head> section first
• The <script> tag indicates to the browser that the text
that follows is part of a script. Attribute type specifies the
scripting language used in the script—such as
text/javascript
CONTROL STRUCTURES
• Sequential execution
• Statements execute in the order they are written
• Transfer of control
• Next statement to execute may not be the next one in sequence
• Three control structures
• Sequence structure
• Selection structure
• if
• if…else
• switch
• Repetition structure
•
•
•
•
while
do…while
for
for…in
JavaScript Keywords
break
case
catch
continue
default
delete
do
else
finally
for
function
if
in
instanceof
new
return
switch
this
throw
try
typeof
var
void
while
with
abstract
boolean
byte
char
class
const
debugger
double
enum
export
extends
final
float
goto
implements
import
int
interface
long
native
package
private
protected
public
short
static
super
synchronized
throws
transient
Keywords that are
reserved but not currently
used by JavaScript
volatile
JavaScript Statements
<html>
<head><title>My Page</title></head>
<body>
<script language="JavaScript">
document.write('This is my first 
JavaScript Page');
</script>
</body>
</html>
Note the symbol for
line continuation
JavaScript Statements
<html>
<head><title>My Page</title></head>
<body>
<script language="JavaScript">
document.write('<h1>This is my first 
JavaScript Page</h1>');
</script>
</body>
</html>
HTML written
inside JavaScript
JavaScript Statements
<html>
<head><title>My Page</title></head>
<body>
<p>
<br />
<a href="myfile.html"
onMouseover="window.alert('Hello');">
My Page</A>
</p>
</body>
JavaScript written
</html> An Event
inside HTML
CHARACTERISTICS
•
•
•
•
Dynamically typed
Standard operator precedence
Overloaded operators
Reserved words
CHARACTERISTICS
•
•
•
•
•
•
Strings are very common data types
Rich set of methods available
Arrays have dynamic length
Array elements have dynamic type
Arrays are passed by reference
Array elements are passed by value
EXAMPLES
•
•
•
•
•
•
Division with / is not integer division
Modulus (%) is not an integer operator
5 / 2 yields 2.5
5.1 / 2.1 yields 2.4285714285714284
5 % 2 yields 1
5.1 % 2.1 yields 0.8999999999999995
WRITABILITY
• Browser contains a complete set of objects that
allow script programmers to access and
manipulate every element of an HTML document
• Every statement should end with a semicolon (also
known as the statement terminator), although none is
required by JavaScript
• JavaScript is case sensitive
• Not using the proper uppercase and lowercase letters is a
syntax error
WRITABILITY
• A variable name can be any valid identifier
consisting of letters, digits, underscores ( _ ) and
dollar signs ($) that does not begin with a digit and
is not a reserved JavaScript keyword.
• JavaScript does not require variables to have a type
before they can be used in a script
• A variable in JavaScript can contain a value of any
data type, and in many situations, JavaScript
automatically converts between values of different
types for you
• JavaScript is referred to as a loosely typed language
WRITABILITY
• Comments in JavaScript
• <script>
// a single line comment
/* a
multiline
comment
*/
</script>
RELIABILITY
• From a core language standpoint, it is a reliable language
for small applications.
• From a browser implementation standpoint, it is not so
reliable because different browsers behave differently.
• Garbage Collection
• JavaScript knows when a program no longer needs a
variable or object
• Automatically cleans up the memory
PORTABILITY
• As long as there is support for it, Javascript will work on
all browsers and all Operating Systems
• window.navigator
• Has information about the current browser
• Properties include
•
•
•
•
•
•
appName (Netscape or Microsoft Internet Explorer)
appVersion
userAgent
appCodeName (not useful)
platform (operating system)
language (e.g., en or fr)
COST
• JavaScript is free and open-source
Download