Batak Programming Language Design Perspective Programming language Extreme

  • Slides: 7
Download presentation
Batak Programming Language Design Perspective

Batak Programming Language Design Perspective

Programming language • Extreme opinions – Blind fanatism – DON’T CARE (they are just

Programming language • Extreme opinions – Blind fanatism – DON’T CARE (they are just the same) • Proportional ones – Language is very important • Communication is of utmost important • Language is a means of communication (bad language => bad communication) – No single language suits every needs – A set of languages can suit every needs

7 language [style] s to fill every needs ? • • General purpose programming-language

7 language [style] s to fill every needs ? • • General purpose programming-language Database-oriented programming-language Shell programming-language Application-level scripting language (XML? ) Assembly (style) programming-language Metalanguage (used in YACC) Binary-style (intermediate, machine)

May not be the category of language • String processing (Perl, AWK) • Internal

May not be the category of language • String processing (Perl, AWK) • Internal language of document (PDF; internal format of Excel, Word documents) • PCL (Printing Command Language) • Logic programming-language • Functional programming-language

Integration with relational database (1) • Oracle SQL (real world) CREATE TYPE student AS

Integration with relational database (1) • Oracle SQL (real world) CREATE TYPE student AS OBJECT ( id NUMERIC(8), name VARCHAR(30) ); CREATE TABLE IT_students OF student; CREATE TABLE mech_students OF student;

Integration with relational database (2) • Some SQL (? ) CREATE TYPE student :

Integration with relational database (2) • Some SQL (? ) CREATE TYPE student : = { numeric<9> id; char[20] name; }; CREATE TABLE <student> IT_students, mech_students ( PRIMARY KEY {id} );

Integration with relational database (3) • In Batak Program P; Type student : =

Integration with relational database (3) • In Batak Program P; Type student : = { numeric<9> id; char[20] name; }; Table<student> IT_students, mech_students ( PRIMARY KEY {id} ); integer main() { INSERT mech_students INTO IT_students; /* not INSERT INTO IT_students SELECT. . . */ }