Write Once, Compile Anywhere
   HOME
*





Write Once, Compile Anywhere
Write once, compile anywhere (WOCA) is a philosophy taken by a compiler and its associated software libraries or by a software library/software framework which refers to a capability of writing a computer program that can be compiled on all platforms without the need to modify its source code. As opposed to Sun's ''write once, run anywhere'' slogan, cross-platform compatibility is implemented only at the source code level, rather than also at the compiled binary code level. Introduction There are many languages that follow the WOCA philosophy, such as C++, Pascal (see Free Pascal), Ada, Cobol, or C, on condition that they don't use functions beyond those provided by the standard library. Languages like Go go even further in as far that no system specific things are used, it should just work, and for system-specific elements a system of platform-specific files is used. A computer program may also use cross-platform libraries, which provide an abstraction layer hiding the differen ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Philosophy
Philosophy (from , ) is the systematized study of general and fundamental questions, such as those about existence, reason, knowledge, values, mind, and language. Such questions are often posed as problems to be studied or resolved. Some sources claim the term was coined by Pythagoras ( BCE), although this theory is disputed by some. Philosophical methods include questioning, critical discussion, rational argument, and systematic presentation. in . Historically, ''philosophy'' encompassed all bodies of knowledge and a practitioner was known as a ''philosopher''."The English word "philosophy" is first attested to , meaning "knowledge, body of knowledge." "natural philosophy," which began as a discipline in ancient India and Ancient Greece, encompasses astronomy, medicine, and physics. For example, Newton's 1687 ''Mathematical Principles of Natural Philosophy'' later became classified as a book of physics. In the 19th century, the growth of modern research universiti ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Abstraction Layer
In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics libraries, which allow the separation of concerns to facilitate interoperability and platform independence. Another example is Media Transfer Protocol, which allows shared access and requires no common file system support but restricts user control compared to mass storage with block-level access. In computer science, an abstraction layer is a generalization of a conceptual model or algorithm, away from any specific implementation. These generalizations arise from broad similarities that are best encapsulated by models that express similarities present in various specific implementations. The simplification provided by a good abstraction layer allows for easy reuse by distilling a useful concept or design pattern so that situations, where it m ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Assembly Language
In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Assembly language usually has one statement per machine instruction (1:1), but constants, comments, assembler directives, symbolic labels of, e.g., memory locations, registers, and macros are generally also supported. The first assembly code in which a language is used to represent machine code instructions is found in Kathleen and Andrew Donald Booth's 1947 work, ''Coding for A.R.C.''. Assembly code is converted into executable machine code by a utility program referred to as an ''assembler''. The term "assembler" is generally attributed to Wilkes, Wheeler and Gill in their 1951 book ''The Preparation of Programs for an Electronic Digital Com ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

End-user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ultimately use a product. The end user stands in contrast to users who support or maintain the product, such as sysops, system administrators, database administrators, Information technology (IT) experts, software professionals and computer technicians. End users typically do not possess the technical understanding or skill of the product designers, a fact easily overlooked and forgotten by designers: leading to features creating low customer satisfaction. In information technology, end users are not "customers" in the usual sense—they are typically employees of the customer. For example, if a large retail corporation buys a software package for its employees to use, even though the large retail corporation was the "customer" which purchased the software, the end users are the employees of the company, who will use the software at work. Certain American defense-related pr ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Purchase Order
A purchase order is a commercial document and first official offer issued by a buyer to a seller, indicating types, quantities, and agreed prices for products or services. It is used to control the purchasing of products and services from external suppliers. Purchase orders can be an essential part of enterprise resource planning system orders. An indent is a purchase order often placed through an agent (indent agent) under specified conditions of sale. The issue of a purchase order does not itself form a contract. If no prior contract exists, then it is the acceptance of the order by the seller that forms a contract between the buyer and seller. Overview Purchase orders allow buyers to clearly and openly communicate with the sellers to maintain transparency. They may also help a purchasing agent to manage incoming orders and pending orders. Sellers are also protected by the use of purchase orders, in case of a buyer's refusal to pay for goods or services. Purchase orders ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Invoice
An invoice, bill or tab is a commerce, commercial document issued by a sales, seller to a buyer relating to a sale transaction and indicating the product (business), products, quantities, and agreed-upon prices for products or Service (economics), services the seller had provided the buyer. Discounts and allowances, Payment terms are usually stated on the invoice. These may specify that the buyer has a maximum number of days to pay and is sometimes offered a discount if paid before the due date. The buyer could have already paid for the products or services listed on the invoice. To avoid confusion and consequent unnecessary communications from buyer to seller, some sellers clearly state in large and capital letters on an invoice whether it has already been paid. From a seller's point of view, an invoice is a ''sales invoice''. From a buyer's point of view, an invoice is a ''purchase invoice''. The document indicates the buyer and seller, but the term ''invoice'' indicates mone ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Spreadsheet
A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in cells of a table. Each cell may contain either numeric or text data, or the results of formulas that automatically calculate and display a value based on the contents of other cells. The term ''spreadsheet'' may also refer to one such electronic document. Spreadsheet users can adjust any stored value and observe the effects on calculated values. This makes the spreadsheet useful for "what-if" analysis since many cases can be rapidly investigated without manual recalculation. Modern spreadsheet software can have multiple interacting sheets and can display data either as text and numerals or in graphical form. Besides performing basic arithmetic and mathematical functions, modern spreadsheets provide built-in functions for common financial a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Database Management
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spans formal techniques and practical considerations, including data modeling, efficient data representation and storage, query languages, security and privacy of sensitive data, and distributed computing issues, including supporting concurrent access and fault tolerance. A database management system (DBMS) is the software that interacts with end users, applications, and the database itself to capture and analyze the data. The DBMS software additionally encompasses the core facilities provided to administer the database. The sum total of the database, the DBMS and the associated applications can be referred to as a database system. Often the term "database" is also used loosely to refer to any of the DBMS, the database system or an application ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Word Processing
A word is a basic element of language that carries an objective or practical meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consensus among linguists on its definition and numerous attempts to find specific criteria of the concept remain controversial. Different standards have been proposed, depending on the theoretical background and descriptive context; these do not converge on a single definition. Some specific definitions of the term "word" are employed to convey its different meanings at different levels of description, for example based on phonological, grammatical or orthographic basis. Others suggest that the concept is simply a convention used in everyday situations. The concept of "word" is distinguished from that of a morpheme, which is the smallest unit of language that has a meaning, even if it cannot stand on its own. Words are made out of at least on ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Widgetset
Widgetsets support platform-sensitive development with the Lazarus IDE system. They act as adapter libraries that provide an interface between a platform-inpedentent sourcecode written in Free Pascal and platform-specific system functions. Thus they allow for development of platform-native software without requiring to provide specific source code for different target platforms. Widgetsets act as basis for the Lazarus Component Library The Lazarus Component Library, abbreviated ''LCL'' is a visual software component library for the Lazarus IDE. Description The LCL consists of a collection of units that provide components and classes especially for visual tasks. It is based ... (LCL). Available widgetsets Currently (June 2020), the development status of widget toolkit interfaces is roughly as follows:Widgetset reference at the Free Pascal wiki/ref> References Further reading

* * * * {{Citation , publisher = Packt Publishing , isbn = 978-17821634 ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Lazarus Component Library
The Lazarus Component Library, abbreviated ''LCL'' is a visual software component library for the Lazarus IDE. Description The LCL consists of a collection of units that provide components and classes especially for visual tasks. It is based on the Free Pascal libraries RTL and FCL. By binding platform-specific widgetsets it supports platform-sensitive software development for several operating systems including Android, Desktop Linux, Mac OS X and Windows. Lazarus source code files is under a mix of licenses: GNU General Public License, version 2 (GPLv2), a modified LGPL, and the MPL. It was reported on the GitHub Lazarus repository on 26 August 2013 (latest information ) that the LCL supported Linux (gtk, gtk2 and qt4), all flavors of Windows including WinCE, Mac OS X (carbon, gtk, qt4), and FreeBSD (gtk, gtk2), with experimental support for Solaris and the native Pascal backend fpgui which runs on Windows, WinCE and Linux. See also * Widgetset Widgetsets support p ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Lazarus (IDE)
Lazarus is a free cross-platform visual integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler. Its goal is to provide an easy-to-use development environment for programmers developing with the Object Pascal language, which is as close as possible to Delphi. Software developers use Lazarus to create native-code console and graphical user interface (GUI) applications for the desktop, and also for mobile devices, web applications, web services, visual components and function libraries for a number of different platforms, including Mac, Linux and Windows. A project created by using Lazarus on one platform can be compiled on any other one which Free Pascal compiler supports. For desktop applications a single source can target macOS, Linux, and Windows, with little or no modification. An example is the Lazarus IDE itself, created from a single code base and available on all major platforms including the Raspberry Pi. Features ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]