Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
On building systems that will fail
Communications of the ACM - Special issue on LISP
Principles of programming languages (3rd ed.): design, evaluation, and implementation
Principles of programming languages (3rd ed.): design, evaluation, and implementation
Abstract data types and the development of data structures
Communications of the ACM
A technique for software module specification with examples
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Protection in programming languages
Communications of the ACM
Program development by stepwise refinement
Communications of the ACM
Letters to the editor: go to statement considered harmful
Communications of the ACM
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Art of Computer Programming Volumes 1-3 Boxed Set
The Art of Computer Programming Volumes 1-3 Boxed Set
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Procedural encapsulation: A linguistic protection technique
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
Specification techniques for data abstractions
Proceedings of the international conference on Reliable software
Global variable considered harmful
ACM SIGPLAN Notices
LISP 1.5 Programmer's Manual
Ajax in Action
JavaScript: The Definitive Guide
JavaScript: The Definitive Guide
Ruby on Rails: Up and Running
Dynamic HTML: The Definitive Reference (Dynamic Html)
Dynamic HTML: The Definitive Reference (Dynamic Html)
Structured programming
Programming: Sorcery or Science?
IEEE Software
On the Design and Development of Program Families
IEEE Transactions on Software Engineering
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
Partitioning web applications between the server and the client
Journal of Web Engineering
Extending XForms with server-side functionality
Proceedings of the 27th Annual ACM Symposium on Applied Computing
A multi-tier semantics for Hop
Higher-Order and Symbolic Computation
XFormsDB: a declarative web application framework
ICWE'12 Proceedings of the 12th international conference on Web Engineering
XFormsDB: an extensible web application framework built upon declarative W3C standards
ACM SIGAPP Applied Computing Review
An evaluation of reactive programming and promises for structuring collaborative web applications
Proceedings of the 7th Workshop on Dynamic Languages and Applications
Performance Evaluation of a Modern Web Architecture
International Journal of Information Technology and Web Engineering
Hi-index | 0.00 |
The software industry is currently in the middle of a paradigm shift. Applications are increasingly written for the World Wide Web rather than for any specific type of an operating system, computer or device. Unfortunately, the technologies used for web application development today violate well-known software engineering principles. Furthermore, they have reintroduced problems that had already been eliminated years ago in the aftermath of the "spaghetti code wars" of the 1970s. In this paper, we investigate web application development from the viewpoint of established software engineering principles. We argue that current web technologies are inadequate in supporting many of these principles. However, we also argue that there is no fundamental reason for web applications to be any worse than conventional applications in any of these areas. Rather, the current inadequacies are just an accidental consequence of the poor conceptual and technological foundation of the web development technologies today.