Additionally, some controllers support other conventional computer science oriented programming languages and methods including C, BASIC, expert systems, flow charting, and others As such, these all represent, with the options described above, a language-based approach to expressing control functionality.