Programmable integrated circuits (PICs) were developed to allow integrated circuits to be reconfigured and reused for different tasks. PICs can be programmed using assembly or other languages to perform specific functions. As more complex electronic circuits were created, PICs evolved to include millions of logic gates and regular arrays of logic elements. Today, device programmers are used to transfer Boolean logic patterns into PICs to configure them for different applications.