The current incarnation of AbapLanguage, the language that most of the SAP R/3 system is written in (not the very core though), and which is used to write programs for SAP R/3.
Below is an example. Disclaimer: I never wrote production ABAP code, the example below is assembled from example code I was given when I had to learn ABAP at the university. The following code was never compiled, because I don't have access to an SAP R/3 system. Plus, in newer releases, they did something to the call syntax so that you can now optionally use a less cumbersome variant. That being said, the following should be good enough to demonstrate the flavor of ABAP...
REPORT yexample.
* Class that wraps a "boolean" value, assigning it in
* the constructor and providing a getter. Plus, a "main"
* program that uses the class.
* In other words, a pointless syntax example ;)
TYPES: ty_boolean(1) TYPE c.
CONSTANTS:
co_true VALUE 'X',
co_false VALUE SPACE.
CLASS bool_wrapper DEFINITION.
PUBLIC SECTION.
TYPES: ty_boolean(1) TYPE c.
METHODS:
constructor
IMPORTING
VALUE(im_bool) TYPE ty_boolean,
get_bool
RETURNING
VALUE(re_bool) TYPE ty_boolean.
PRIVATE SECTION.
DATA: bool TYPE ty_boolean.
ENDCLASS.
CLASS bool_wrapper IMPLEMENTATION.
METHOD constructor.
bool = im_bool.
ENDMETHOD.
METHOD get_bool.
re_bool = bool.
ENDMETHOD.
ENDCLASS.
* "Main" program:
DATA:
a_wrapper TYPE REF TO bool_wrapper,
bool TYPE ty_boolean.
START-OF-SELECTION.
CREATE OBJECT a_wrapper
EXPORTING im_value = co_true.
CALL METHOD a_wrapper->get_bool
RECEIVING re_value = value.
* "assigns" the value of "re_value" to "value" - from left to right
IF ( value = co_true ).
WRITE: / 'Got value true'.
ELSE.
WRITE: / 'Got value false'.
ENDIF.
This, to my best knowledge, the equivalent to the following Java program:
public class BooleanWrapper {
private boolean value;
public BooleanWrapper( boolean value ) {
this.value = value;
},
public boolean getValue() {
return value;
},
public static void main( String[] args ) {
BooleanWrapper aWrapper = new BooleanWrapper( true );
System.out.println( "Got value " + aWrapper.getValue() );
},
},
And some people think Java is too wordy...
...had to learn ABAP at the university...
You poor, poor soul; you HadToUseCobol.