What's New with Languages in Rnext - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

What's New with Languages in Rnext

Description:

http://java.sun.com/j2se/sdk/1.3/docs/ relnotes/features.html ... Server pages translate into Java Servlets. Summary. Continuous improvements to all languages. ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 29
Provided by: lotusdev
Category:
Tags: com | java | languages | new | pages | rnext | white

less

Transcript and Presenter's Notes

Title: What's New with Languages in Rnext


1
What's New with Languages in Rnext
  • Gary Devendorf
  • Product Manager
  • Lotus Development Corp.

2
Agenda
  • Programming Languages in Notes/Domino
  • What's new in
  • Formula Language
  • LotusScript
  • JavaScript
  • Java

3
Introduction
  • Notes provides a rich application development
    environment.
  • It includes 4 different programming languages
  • Formula language (aka _at_functions)
  • LotusScript
  • JavaScript
  • Java
  • COM, CORBA, OLE are technologies

4
Formula Language
  • The oldest language for Notes and part of the
    Notes core
  • A lot of operations cannot be done without it.
  • Frequently, the simplest and fastest way to
    accomplish things

5
Quiz What's wrong with this formula snippet?
  • x _at_TextToNumber( y1 )
  • x x x
  • _at_If( x x
  • FIELD errMessage The value of y
    must not be "0" or "1"
  • continue _at_True)

6
Answer
  • In Rnext,
  • absolutely nothing !!!

7
Assignments
  • Assignments can be nested inside other
    expressions, and multiple assignments to same
    variable are allowed.
  • _at_If( condition
  • FIELD x "foo"
  • y "bar")
  • FIELD x x " hello"
  • y y x

8
New string delimiter -
  • Strings can be delimited with curly brackets,
    making inserting quotes inside of strings much
    easier. This also makes commenting-out code
    (REM) much easier.
  • s She said "Formulas are a dream!"

9
Array syntax
  • No more multiple _at_Subsets to get the nth element
    in a list!
  • Before
  • x _at_Subset( _at_Subset( y 5) -1)
  • fileName _at_Subset(_at_DbName -1)
  • Now
  • x y5
  • fileName _at_DbName2

10
Looping!
  • _at_While(conditional ...body...)
  • _at_DoWhile(...body... conditional)
  • _at_For( init conditional increment...body...)
  • up 0
  • down 100
  • _at_For(i1 i ! 100 ii1
  • up up i
  • down down (100 - i))

11
The result
  • A new engine which is 2 - 4X faster.
  • faster view updates and builds
  • faster form loading and freshes
  • Internal 64K limit is removed.
  • Many new _at_functions and features.

12
Some of the new _at_functions
  • _at_BusinessDays
  • _at_Compare
  • _at_FloatEq
  • _at_GetField
  • _at_IfError
  • _at_ReplicaID
  • _at_Sort
  • _at_StatusBar
  • _at_ThisName
  • _at_ThisValue
  • _at_Transform
  • _at_WebDbName

13
Enhancements to existing ones
  • _at_DbLookup
  • FailSilent
  • ReturnDocumentUniqueID
  • PartialMatch
  • _at_Max/_at_Min takes single arg
  • _at_Text(richtext)
  • _at_Now - ServerTime

14
LotusScript
  • It is the 2nd major language
  • Introduced in Notes 4.0
  • It follows the Microsoft desktop paradigm
  • compatible with VB/VBA
  • OLE/COM objects
  • but also cross platform

15
New Data Types
  • Two new basic data types
  • Byte
  • 8 bit, unsigned two-complement integers
  • untranslated bit information
  • Dim bdata as Byte
  • Boolean
  • used to be a variant datatype
  • true (-1) or false (0)
  • Dim flag as Boolean

16
JavaConnect
  • Allows LotusScript to bind to Java Classes
  • create an instance of a Java object
  • adapt an existing instance of Java object
  • hold the reference in a variant
  • Dim j as new JavaSession
  • Dim myFavorite as JavaClass
  • Set myFavorite j.GetClass("myFavorite")
  • Set myFavoriteObj myFavorite.CreateObject

17
Mapping between LotusScript and Java Data
  • Primitive types
  • BYTE - byte
  • INTEGER - short
  • LONG - int
  • BOOLEAN - boolean
  • FLOAT - float
  • DOUBLE - double
  • STRING - java/lang/String, char array

18
Limitations
  • Only support single dimension arrays
  • Pass only simple data types or JavaObject
    references to Java only
  • No equivalent concepts of threads in LotusScript

19
New built in functions
  • Split
  • Join
  • StrToken
  • Replace
  • ArrayUnique

20
Remote Agent Debugging
  • Currently, you debug LotusScript programs using
    the Notes designer in the Notes client.
  • limit only to client environment
  • limit only to Win32/MAC
  • In Rnext, the Notes Designer can be used to
    directly debug agents running in Domino.
  • exact environment
  • cross platform

21
JavaScript 1.4
  • Details about the JS1.4 release can be found in
    the Netscape developer central site
  • Exception handling
  • You can throw and catch exceptions using the
    throw and try...catch statements
  • New operators in and instanceof
  • The in operator returns true if the specified
    properties is in the specified object.
  • The instanceof operator returns true if the
    specified object is of the specified object type.

22
JavaScript library
  • Support for JavaScript Library
  • different from LotusScript and Java Libraries
  • create via the IDE
  • create the linkage directly in the JavaScript code

23
Java
  • Java is the language from Sun
  • General purpose, concurrent, class-based,
    object-oriented, cross platform
  • Java is in Notes since 4.5
  • 4.5 - Java Applets (JDK 1.0.2)
  • 4.6 - Java Agents, Servlets (JRE 1.1.2)
  • 5.0 - Java Libraries (JRE 1.1.8)

24
In Rnext
  • JRE 1.3
  • http//java.sun.com/j2se/sdk/1.3/docs/
  • relnotes/features.html
  • A lot of extensions to existing pkgs
  • security API enhancements
  • reflection enhancements
  • object serialization enhancements
  • ...

25
JVM is internal to Notes
  • A complete JRE is embedded within Notes
  • Stored in the jvm directory in Notes
  • It is not intended to be user upgradeable
  • No modification to CLASSPATH required

26
New Programming Model
  • JSP
  • Server pages translate into Java Servlets

27
Summary
  • Continuous improvements to all languages.
  • Only saw the major additions
  • A lot of minor changes also happen
  • Always looking for new technologies in the
    future...

28
Q A Resources
  • www.lotus.com
  • www.notes.net
  • www.dominopro.com/garyspage
  • www.searchDomino.com
Write a Comment
User Comments (0)
About PowerShow.com