# AnyLang Programming Language Comparison/Anylang Common Concepts
## AnyLang Common Concepts

The following is the central list of AnyLang Common Concepts. These are programming concepts that are common enough to be compared and applied across multiple mainstream programming languages.
| code blocks | code blocks |
| block.case_if | conditional case statement |
| block.catch | catch block |
| block.die | how to terminate a process with error message |
| block.else | else statement |
| block.else_if | elseif statement |
| block.finally | finally block |
| block.if | if statement |
| block.pause | how to pause the process |
| block.qmark_if | ternary qmark question mark conditional if statement |
| block.quit | how to terminate a process |
| block.switch | switch statement |
| block.try | try block |
| block.try_catch | a simple try-catch block |
| code comments | code comments |
| codecmmt.beginend | a generic begin-end multiline comment region |
| codecmmt.docgen | docgen tag |
| codecmmt.multi | multi-line cmmt |
| codecmmt.single | single-line cmmt |
| codecmmt.xregion | my_generic_region tag |
| debugging operatinos | debugging operatinos |
| codedebug.log | logging errors and program info to a log file |
| codedebug.test | if statement used for debugging or example |
| basic structural elements of code | basic structural elements of code |
| codeelem.block | bare code block |
| codeelem.end_code | end code |
| codeelem.init_code | init code |
| codeelem.init_lib | init library |
| codeelem.init_vars | init vars |
| codeelem.line_contin | line continuation for putting a newline in the middle of a statement (language dependent) |
| codeelem.line_termin | line termination character (e.g. semicolon) for languages that require it |
| codeelem.named_block | named code block |
| codeelem.new_doc | a new document |
| codeelem.new_footer | a new footer within a document page |
| codeelem.new_header | a new header within a document page |
| codeelem.new_lib | a new document as a library module (arbitrary defn of what constitutes a module) |
| codeelem.new_page | a new page within a document (arbitrary defn of what constitutes a page) |
| codeelem.new_rec | a new record entry |
| looping structures | looping structures |
| codeloop.arr | loop over an array |
| codeloop.dic | enumerate or iterate over a the keys and values in a dictt |
| codeloop.dir | loop over items in a directory |
| codeloop.foreach | for bar in foo |
| codeloop.whilevar | while loop with a variable |
| codeloop.forvar | old c-style loop( for icc=0; icc ~ foo.length; icc++ ) |
| codeloop.last | loop control final iteration |
| codeloop.modify_in_place | loop over an array (or iterable) and modify the elements in place |
| codeloop.next | loop control, skip to the next iteration |
| codeloop.rows | loop over rows in a SimpleTable |
| codeloop.while | while statement |
| metadata | metadata |
| codemeta.args | command line arguments passed into current script |
| codemeta.current_os | get the current operating system that we are running under |
| codemeta.docs_class | self-documenting class |
| codemeta.docs_func | self-documenting functions |
| codemeta.docs_funcparam | self-documenting function parameters |
| codemeta.docs_meth | self-documenting methods |
| codemeta.docs_methname | return the name of the currently running method |
| codemeta.docs_methparam | self-documenting method parameters |
| codemeta.nameismain | determine if source file is the current 'main' namespace [websearch://"python main trick"] |
| codemeta.newdoc | a starting template for a new file in this language |
| codemeta.quick_docs | help facility for language constructs |
| codemeta.source_line | the current line in the current source file |
| codemeta.source_path | the full path of the current source file currently running script path |
| codemeta.source_pdir | the parent directory of the current source file. use path of the source file itself, and NOT the path of the file that calls it via *include* or *require* |
| codemeta.version | the language version of the current script or language interpreter |
| source code regions | source code regions |
| coderegion.details | worksheet of an xregion metadata island |
| coderegion.file_info | file info metadata island |
| coderegion.generator | worksheet of an xregion metadata island |
| coderegion.main | worksheet of an xregion metadata island |
| coderegion.see_also | worksheet of an xregion metadata island |
| console operations | console operations |
| console.print | print to console |
| console.printf | formatted print to console |
| console.println | print to console with newline |
| data definitions and schemas | data definitions and schemas |
| datadef.aoh | just like perldsc AoH |
| datadef.1yamlrec | small yaml syntax |
| datadef.2yamlrec | med yaml syntax |
| datadef.3yamlrec | big yaml syntax |
| datadef.newtable | a new ReallySimpleData table |
| datadef.newwkbk | a new ReallySimpleData wkbk |
| datadef.newwksheet | a new ReallySimpleData wksheet |
| datadef.nvp | SimpleNameValuePair |
| datadef.simplerec | SimpleRecord |
| datadef.simpletable | create a SimpleTable structure similar to perl AoH |
| datadef.simpletable_iv | create a SimpleTable structure similar to perl AoA (IV = IndexedValues) |
| datadef.yamlrec | SimpleRecord yaml syntax |
| data processing operations | data processing operations |
| datamunge.json_munge | dump a variable out to json and load it back in from json |
| datamunge.dec_base_64 | decode base64 format |
| datamunge.dec_htmlent | decode HTMLEnt format |
| datamunge.dec_jscript | decode jscript_url_style escaping |
| datamunge.dec_rot_13 | decode rot13 format |
| datamunge.enc_base_64 | encode base64 format |
| datamunge.enc_htmlent | encode HTMLEnt format |
| datamunge.enc_jscript | encode jscript_url_style escaping |
| datamunge.enc_rot_13 | encode rot13 format |
| date and time operations | date and time operations |
| datetime.2date_fmt | specify a string like "Fri Sep 9 13.46.58 2005" (perl localtime in scalar context) |
| datetime.date | current system Date of the Month |
| datetime.datem | specify a string like Fri 2005-08-26 13.23.03 (preferred) |
| datetime.day_of_week | current system Day of the week |
| datetime.month | current system Month |
| datetime.now | current system time and date |
| datetime.time_millisec | return the current time with millisecond accuracy (for timestamps) |
| datetime.year | current system Year |
| error trapping and exceptions | error trapping and exceptions |
| error.arr_bounds | array index out of range |
| error.dict_keyex | dictionary key does not exist |
| error.warnings | enable or disable warnings |
| filesystem operations | filesystem operations |
| filesys.basename | get file basename from path |
| filesys.copy | Copy a file or directory |
| filesys.delete | Delete a file or directory |
| filesys.deltree | delete a directory tree |
| filesys.dir_exists | true if a directory exists |
| filesys.exten | get file extension from full path |
| filesys.file_exists | true if a file exists |
| filesys.file_size | return file size as an integer (usu in bytes) |
| filesys.loop_dir | loop over files within a directory |
| filesys.loop_tree | recursively iterate files within a directory tree |
| filesys.mkpath | create directory even if there is more than one missing pathstep |
| filesys.move | Move a file or directory |
| filesys.parent_dir | get file parent dir from a full path |
| filesys.rename | Rename a file or directory |
| function arguments | function arguments |
| funcarg.arg_array | specify an array that holds multiple args |
| funcarg.arr | array declare a function argument |
| funcarg.boo | boolean declare a function argument |
| funcarg.defval | specify function parameters argument default value |
| funcarg.int | integer declare a function argument |
| funcarg.obj | object declare a function argument |
| funcarg.opt_arg | specify an optional parameter |
| funcarg.passfunc | pass a function as an argument |
| funcarg.passobj | pass an object or dictionary that holds multiple args |
| funcarg.req_arg | specify a required parameter |
| funcarg.str | string declare a function argument |
| function definitions | function definitions |
| funcdef.1func | sml syntax declare a function |
| funcdef.1meth | sml syntax declare a oop_method |
| funcdef.2func | med syntax declare a function |
| funcdef.2meth | med syntax declare a oop_method |
| funcdef.3func | big syntax declare a function |
| funcdef.3meth | big syntax declare a oop_method |
| funcdef.closure | function as full-fledged closure |
| funcdef.funcdef | psu funcdef template |
| funcdef.funcdsp | function DspTemplate |
| funcdef.funcmeta | attach arbitrary metadata to a function |
| funcdef.lambda | function as python-lambda-style expression |
| basic GUI display | basic GUI display |
| guidsp.alert | GuiAlert(sPrompt) alert box with ok button |
| guidsp.button | generic pushbutton control |
| guidsp.checkbox | generic checkbox control same as html//inputCheckbox |
| guidsp.combo_box | same as html//Select execept user can also supply a value |
| guidsp.date_time | A box that looks like a single-line edit control but instead accepts a date and/or time. A drop-down calendar is also provided |
| guidsp.edit | same as html//textarea |
| guidsp.grid | grid and list control |
| guidsp.group_box | A rectangular border/frame |
| guidsp.hotkey | A box that looks like a single-line edit control but instead accepts a keyboard combination pressed by the user |
| guidsp.input_box | strVal = GuiInput(sPrompt |
| guidsp.month_cal | A relatively tall control that displays all the days of the month in calendar format |
| guidsp.pass | simple input box for password same as html//inputPassword |
| guidsp.picture | an area containing a picture |
| guidsp.progress | progress bar |
| guidsp.radio | generic radio button same as html//inputRadio |
| guidsp.range | up-down arrows to toggle through a range of integers |
| guidsp.rich_edit | rich edit textbox with formatting |
| guidsp.select | same as html//Select |
| guidsp.select_multi | same as html//Select with multiple='true' |
| guidsp.slider | A sliding bar that the user can move along a vertical or horizontal track |
| guidsp.tab | control containing multiple pages |
| guidsp.text | simple input box for text same as html//inputText |
| GUI windows | GUI windows |
| guiwin.center | center a window relative to the desktop (or parent window) |
| guiwin.coords | specify the position of a window relative to the desktop (or parent window) |
| interoperability | interoperability |
| interop.alt_interop | different alternatives for interop |
| interop.com_object | how to instantiante a msft OLE COM object |
| interop.shell_run | run an external program e.g. ShellRun('notepad.exe') as a separate process |
| interop.shell_runwait | run external program and wait for it to finish |
| code libraries and addons | code libraries and addons |
| lib.include_lib | include a library file |
| lib.include_once | include a library file once |
| OOP classes | OOP classes |
| oopclass.class_constructor | constructor method of a class |
| oopclass.new_class | a new OOP class |
| oopclass.reflect_classname | get the name of a class from within the class itself |
| OOP methods | OOP methods |
| oopmeth.alias | create an alias name for an oop method |
| oopmeth.filter | iterate through the names of all selected methods of a class based on any criteria |
| oopmeth.instance | declare an instance method in a class |
| oopmeth.invokeoperator | the symbol used as the method invocation operator |
| oopmeth.multilevel | declare and use a nested method (e.g., mymap.delaware.dover.getpopulation ) |
| oopmeth.reflect | iterate through the names of all methods of a class |
| oopmeth.static | declare a static method in a class |
| oopmeth.symbolic | call an oop method using a scalar for the methodname |
| OOP objects | OOP objects |
| oopobj.new_instance | A new OOP plain object. Create an object (aka instance of a class). |
| OOP references | OOP references |
| oopref.symbolic | instantiate an object from an oop class using a scalar for the classname (without using string eval) |
| regular expressions and related concepts | regular expressions and related concepts |
| regex.22_notation | specify notation for individual characters char |
| regex.backref | RegEx memorizing capture register inside match-region or substitute-region |
| regex.basic_syntax | RegEx basic syntax basic_ops |
| regex.capture | specify a capturing match register |
| regex.match | RegEx match operation |
| regex.noncapture | specify a non-capturing grouping match register |
| regex.replace | RegEx replace operation |
| SQL and related concepts | SQL and related concepts |
| sqldata.bulk_insert | populate a sql table using a text file as the raw data |
| formatting and using strings in source code | formatting and using strings in source code |
| strdsp.esc_bs1 | note regex22 is better |
| strdsp.esc_bs2 | note regex22 is better |
| strdsp.esc_qq1 | note regex22 is better |
| strdsp.esc_qq2 | note regex22 is better |
| strdsp.here_doc | specify multi-line string inside code like a perl heredoc |
| strdsp.here_func | heredoc function |
| strdsp.here_str | string in variable |
| strdsp.here_var | interpolated variable inside string |
| strdsp.heredoc_indent | heredoc indented along with the rest of the code |
| strdsp.interpo | specify a string variable with possible interpolation |
| strdsp.number_format | pretty-format a number for locale or data display |
| strdsp.printf | specify a string variable with special formatting options |
| strdsp.skeleton_fill | fill in the content of a SimpleTemplate |
| strdsp.verbatim | specify a string variable with NO interpolation |
| reserved for later use | reserved for later use |
| system.timeout | throw an exception or terminate process if it is taking too long |
| templating | templating |
| template.delim | specify the syntax for template delimiter |
| template.valueof | value output for template style programming |
| data validation | data validation |
| valid.file_exist | true if a file exists in the filesystem |
| valid.file_not_exist | true if a file does not exist in the filesystem |
| valid.is_numeric | expression evaluates to a number |
| valid.is_string | expression evaluates to a string |
| valid.is_true | expression evaluates to truth value |
| variable declaration | variable declaration |
| vardec.myarr | quickly declare array |
| vardec.myboo | quickly declare boolean |
| vardec.mydic | quickly declare dictionary |
| vardec.myint | quickly declare integer |
| vardec.myobj | quickly declare object |
| vardec.mystr | quickly declare string |
| vardec.null | represent a null value in source |
| working with variables | working with variables |
| varops.array_assign | assign a value to Array |
| varops.array_decl | declare Array |
| varops.array_init | initialize Array |
| varops.composite_defn | define a composite variable (e.g., like with perl data structure cookbook) |
| varops.composite_manip | manipulate a composite variable (e.g. sort, search filter view add edit delete) |
| varops.dumper | dump variable contents like with perl DataDumper |
| varops.object_assign | assign a value to Object |
| varops.object_decl | declare Object |
| varops.object_dupe_byref | shallow copy and duplicate an object or nested variable by reference |
| varops.object_dupe_byval | copy and duplicate an object or nested variable by value |
| varops.object_init | initialize Object |
| varops.scalar_assign | assign a value to a scalar |
| varops.scalar_decl | declare a scalar |
| varops.scalar_init | initialize a scalar |
| varops.typecast | convert the native type of a variable into another type |
| varops.vartype | get the native type of a variable |
| web and http | web and http |
| webhttp.htinclude | transclusion include one page or page fragment into another |
| webhttp.cflocation | redirect to a new page like coldfusion cflocation |
| webhttp.cgi_referrer | client referrer url |
| webhttp.cgi_remoteaddr | client IP address |
| webhttp.server_get | grab a web page from another site using serverside code |