Event Driven Programming: A Detailed Report
Task: Provide a detailed report on event driven programming?
Event driven programming is now the common programming paradigm in the aspect of modern computer science and software engineering. It is the activities (events)such as the clicks registered by the users, voice commands,submitting information, etc., in the system that determines the flow of execution in this type of programming paradigm.The events are considered to be the basic foundation for developing the software in the case of event driven programming.It is the event callbacks and the event handlers that would manage the events (Dabek et al., 2002). By using the feature of the "effective callback function", the application would trace out the events easily.
If described theoretically, every programming language follows the event driven programming method. It is the dissimilarity in applying this approach that would create contrast among different methods. The use of event driven programming is highly relevant in the cases where the language provides for high-level abstraction. When a specific event takes place, a specific set of commands and programs are triggered in a tailored fashion.By including the function of "the main loop," the software could easily identify the events, and thus the respective call function would be triggered by the application at the decided instances (Desai et al., 2013).
The reason behind the popularity of event driven programming
To ensure that the users regularly operate the published app, the users should be made to engagewith it. The same feature makes it a preferable tool in the area of business development. Hence most of the software for business development follows the concept of event driven programming. More accurate responses could be generated quickly by using event driven programming technology (Dunkels et al., 2006). The study of the responses would help organizations evaluate the user experience and thus gain more business profit.
Major features of event driven programming
A particular event is triggered using the ‘Event Handlers’ in the program when a specific action is registered (Van Cutsem et al., 2007). For example, a message would be displayed on the screen when the user makes a click, and the same message will disappear when the user clicks again in the software. This process is made possible by using event handlers.
Being service-oriented is one of the key features of event driven programming. The programs with event driven programming are majorly compiled for service purposes and consume very little space while being operated on a computer (Fischer et al., 2007). The use of such programs would not slow down the computer. These programs often operate in the background of the operating system and consume very little processing power from the computer.
Any action that is required to trigger a particular program or command to be executed (like a mouse click, keyboard inputs, user interface, etc.) could be termed as an “event”. Only when there is an interaction between the object in the program and the user could it be said that an “event has occurred” (Samek, 2008). As mentioned earlier,the activities likekeyboard input, mouse click, or other actions could be classified as the interactions between the user and the program.
Being time-driven is one of the key parameters of event driven programming. The code compiled in it operates at a specific time. The frequency could be any time period (it may be an hour, a day, a week, etc. This time period would be previously determined in the software before carrying out the task (Ghosal et al., 2004). Let us take the example of an operating system: - windows. The update option present in it is an example of time-driven action. The user could decide the period when to check for the update and download it.
When a specific event happens in a program, the trigger functions get activated in the event driven programming that would eventually decide the type of code to be run. The respective codes in the software would determine what specific handler to be used for the particular event.
The comparison of the Object-Oriented Programming with the Event Driven Programming
The open–oriented programming and event driven programming are also different in their respective classes (Milicevic et al., 2013). Whereas the event driven programming demands the user to use the defined classes, the classes are created automatically in OOP.
The program would only be initiated in the event driven programming when a particular event is created. It could be anything, like displaying a message when the user clicks on an option. A higher level of focus is given to the classes and data in the case of object-orientedprogramming.
Bruce, K. B., Danyluk, A. P.,& Murtagh, T. P. (2001). Event driven programming is simple enough for CS1. ACM SIGCSE Bulletin, 33(3), 1-4.
Dabek, F., Zeldovich, N., Kaashoek, F., Mazieres, D., & Morris, R. (2002, July). Event-driven programming for robust software. In Proceedings of the 10th workshop on RPFSIGOPS European workshop (pp. 186-189).
Desai, A., Gupta, V., Jackson, E., Qadeer, S., Rajamani, S., & Zufferey, D. (2013). P: safe asynchronous event-driven programming. ACM SIGPLAN Notices, 48(6), 321-332.
Dunkels, A., Schmidt, O., Voigt, T., & Ali, M. (2006, October). Protothreads: Simplifying event-driven programming of memory-constrained embedded systems. In Proceedings of the 6th international conference on Embedded networked sensor systems (pp. 29-42).
Fischer, J., Majumdar, R., & Millstein, T. (2007, January). Tasks: language support for event-driven programming. In Proceedings of the 2007 RPF SIGPLAN symposium on Partial evaluation and semantics-based program manipulation (pp. 134-143).
Ghosal, A., Henzinger, T. A., Kirsch, C. M., & Sanvido, M. A. (2004, March). Event-driven programming with logical execution times. In International Workshop on Hybrid Systems: Computation and Control (pp. 357-371). Springer, Berlin, Heidelberg.
Milicevic, A., Jackson, D., Gligoric, M., & Marinov, D. (2013, October). Model-based, event-driven programming paradigm for interactive web applications. In Proceedings of the 2013 RPFinternational symposium on New ideas, new paradigms, and reflections on programming & software (pp. 17-36).
Samek, M. (2008). Practical UML statecharts in C/C++: event driven programming for embedded systems. CRC Press. Van Cutsem, T., Mostinckx, S., Boix, E. G., Dedecker, J., & De Meuter, W. (2007, November). Ambienttalk: object-oriented event-driven programming in mobile ad hoc networks. In XXVI International Conference of the Chilean Society of Computer Science (SCCC'07) (pp. 3-12). IEEE.