It isn’t correct to compare Java to PHP. Since PHP is a server-side scripting language whereas Java is a general-purpose language. In other words, PHP is only used as a server-side language where Java is both for server-side and desktop programming language. Moreover, Java is compiled and strongly-typed language. On other hand, PHP is a dynamic typed language. Hence, only for server-side programming, the comparison between Java and PHP makes sense.
Read the rest of this entry »
Control abstraction is the process by which programmers de ne new control constructs, specifying a statement ordering separately from an implementation of that ordering. We argue that control abstraction can and should play a central role in parallel programming. Control abstraction can be used to build new control constructs for the expression of parallelism. A control construct can have several implementations, representing the varying degrees of parallelism to be exploited on different architectures. Control abstraction also reduces the need for explicit synchronization, since it admits a precise specification of control ow. Using several examples, we illustrate these benefits of control abstraction. We also show that we can efficiently implement a parallel programming language based on control abstraction. We conclude that the enormous benefits and reasonable costs of control abstraction argue for its inclusion in explicitly parallel programming languages.
Read the rest of this entry »
This book is concerned with concepts in programming languages, issues in their implementation, and how language design affects program development. It is aimed at upper-level undergraduate students and beginning graduate students with some experience in procedural and OO programming. Functional programming experience is claimed to be helpful but non-essential. As a teaching text, it competes with a similarly-named book by Sebesta, a book by (Wilson and) Clark, and others.
Read the rest of this entry »
Decision making is one of people’s usual activities since situations that require making decisions constantly arise in their everyday life. Very often, however, the dimensionality and complexity of decision problems reach far beyond human’s capabilities while the cost of a poor decision may be rather high. Therefore, there is a need in software support to the decision making process, and, in response, a wide variety of software tools, from tools for building graphs and charts to expert systems and intelligent agents, are offered as decision support systems. The reason for this variety is the compound, multi-faceted nature of the decision making process.
Read the rest of this entry »
Most modern programming languages rely on exceptions for dealing with abnormal situations. Although exception handling was a significant improvement over other mechanisms like checking return codes, it is far from perfect. In fact, it can be argued that this mechanism is seriously limited, if not, flawed. This paper aims to contribute to the discussion by providing quantitative measures on how programmers are currently using exception handling. We examined 32 different applications, both for Java and .NET. The major conclusion for this work is that exceptions are not being correctly used as an error recovery mechanism. Exception handlers are not specialized enough for allowing recovery and, typically, programmers just do one of the following actions: logging, user notification and application termination. To our knowledge, this is the most comprehensive study done on exception handling to date, providing a quantitative measure useful for guiding the development of new error handling mechanisms.
Read the rest of this entry »
Borland Delphi is known to be a great environment for the development of stand-alone and client-server applications on the Microsoft Windows platform. Its virtues range from full OOP support to visual development, in a unique combination of power and ease. However, the new frontier of development is now Internet programming. What has Delphi got to offer in this new context? Which are the features you can rely upon to build great Internet applications with Delphi? That’s what this paper intends to reveal. We’ll see that Delphi can be used:
• For direct socket and TCP/IP programming;
• In conjunction with third-party components that implement the most common Internet protocols, on the client or the server side;
• To produce HTML pages on the server side, with the WebBroker and Internet Express architectures;
• As well as to work with Microsoft’s core technologies, including MTS, COM, ASP, and ActiveX.
Read the rest of this entry »
In the late 1990’s many ERP companies caught the web browser wave, undertaking projects to leverage the Internet and browser technology and even to convert their software to “lite-client” or web “portal” architectures. Unfortunately for some, .NET came on the scene too soon after this major overhaul. When .NET appeared, some were too technically exhausted, or inflexible, or still basking in the glow of their new “Internet-based architectures” to recognize and embrace .NET. Other ERP software companies were and continue to be simply too busy struggling to stay solvent during the devastating one-two-three punch of Y2K, the recession of 2000, and 9/11. They lack the resources to consider the complete restructuring of their products that .NET warrants.
Read the rest of this entry »
In this paper we present experiences with the .NET Framework and Visual Studio.NET which we won in two big projects. Thereby we give hints for the practical use in .NET projects.
We designed and implemented two systems:
• A database maintenance system for the internet risk assessor “MIRA” for the Munich Re. Up to 10 developers were included and the project had a size of 8 man years.
• The core application of the real estate investment company Real I.S. of the Bayerische Landesbank Group. The system was build by a team of up to 14 developers in 20 man years.
Read the rest of this entry »