Pengumuman Akademis

Kenapa compiler (teknik kompilator) penting dan menarik?

 
Picture of Heru Suhartanto
Kenapa compiler (teknik kompilator) penting dan menarik?
by Heru Suhartanto - Thursday, 10 August 2023, 2:14 PM
 

dear mhs

tahun lalu sy sangat bergembira, lebih dari 20 mhs mengambi MK Teknik Kompilator, namun semester ini baru sedikit yang daftar,  berikut saya sampaikan alasan, kenapa kompilator itu penting/menarik, terutama bagi yang ingin tahun indah nya theory automata dan bahasa berlanjut--

 

Why study compilers?

 

It is useful for a computer scientist to study compiler design for several reasons.

 

Anyone who does any software development needs to use a compiler. It is a good idea to understand what is going on inside the tools that you use.

 

Compilers are sophisticated text processors. Most programs need to do some text processing, even if only to read in the contents of a configuration file.

 

A useful software design technique for large projects is to develop a special-purpose language that makes the project easy to implement.

 

It can take less time and effort, and lead to a higher quality product, to spend the time to develop and implement a small special purpose language and to write the software in that language than to write the software in a general purpose language.

 

One example is the language Erlang, which was designed for writing software to control data switches. Erikson created a data switch all of whose software was written in Erlang. They claim downtime due to software bugs per switch in the range of milliseconds per year.

 

There has been growth in the development of domain-specific languages. Studying compilers enables you to design and implement your own domain-specific language.

 

Compilers benefit tremendously from careful analysis of a problem, and from tools for performing that analysis. A study of compiler design gives a good feeling for how a large problem can be broken down and solved in a manner that is not ad-hoc.

 

Compiler design makes use of formal methods that are rarely seen elsewhere except when quite difficult formal methods are used for general purpose software design. The study of compilers provides a gentle introduction to formal methods.

 

A course in compilers offers a good opportunity to get experience with development of a larger piece of software.

 

http://www.cs.ecu.edu/karl/5220/spr16/Notes/Intro/compiler.html