Batak Programming Language Design Perspective
Programming language Extreme opinions Proportional ones 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 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 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 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 := { 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 := { 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 ... */ }