FACTOID # 139: Canada is immigrant-friendly. It confers the most new citizenships per capita and per $ GDP, and the second-most new citizenships overall.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Lazarus (software)
Lazarus

Lazarus IDE 0.9.25 Screen print (Linux, GTK1)
Developed by volunteers
Latest release 0.9.24 / November 8, 2007 (2007-11-08); 236 days ago
OS cross-platform
Genre Pascal SDK
License GNU General Public License, GNU Lesser General Public License, and others
Website http://www.lazarus.freepascal.org

Lazarus is a cross platform Visual Integrated development environment (IDE) which provides a Rapid Application Development (RAD) Delphi clone for Pascal and Object Pascal developers. It is developed for and supported by the Free Pascal compiler, and as of March 2008 available for several Linux distributions, FreeBSD, Mac OS X and Microsoft Windows[1]. Image File history File links No higher resolution available. ... This article is about operating systems that use the Linux kernel. ... For other uses, see Software developer (disambiguation). ... For other uses, see Volunteer (disambiguation). ... Code complete redirects here. ... is the 312th day of the year (313th in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) was a common year starting on Monday of the Gregorian calendar in the 21st century. ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... A cross-platform (or platform independent) programming language, software application or hardware device works on more than one system platform (e. ... A Software Development Kit, or SDK for short, is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, operating system or similar. ... A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ... GPL redirects here. ... The GNU Lesser General Public License (formerly the GNU Library General Public License) or LGPL is a free software license published by the Free Software Foundation. ... A website (alternatively, web site or Web site) is a collection of Web pages, images, videos or other digital assets that is hosted on one or more web servers, usually accessible via the Internet. ... Cross-platform is a term which can refer to computer programs, operating systems, computer languages, programming languages, or other computer software and their implementations which can be made to work on multiple computer platforms. ... Wikipedia does not have an article with this exact name. ... An integrated development environment (IDE), also known as integrated design environment and integrated debugging environment, is a programming environment that has been packaged as an application program,that assists computer programmers in developing software. ... Rapid application development (RAD), is a software development process developed initially by James Martin in the 1980s. ... Delphi is the primary programming language of Borland Delphi. ... The Jargon File has this definition for clone: An exact duplicate: Our product is a clone of their product. ... Pascal is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ... Object Pascal is an object oriented derivative of Pascal mostly known as the primary programming language of Borland Delphi. ... The FreePascal IDE for Linux. ... This article is about the computing term. ... This article is about operating systems that use the Linux kernel. ... FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4. ... Mac OS X (pronounced ) is a line of graphical operating systems developed, marketed, and sold by Apple Inc. ... Windows redirects here. ...


Distributed under a mix of licences,[1] all of which are free software licences, Lazarus is free software, just as Free Pascal is. Notably among those licences is a modified version of the GNU Lesser General Public License. The modification grants extra permissions to allow Lazarus to be used in proprietary software.[2] Free software is software which grants recipients the freedom to modify and redistribute the software. ... Free software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things. ... The GNU Lesser General Public License (formerly the GNU Library General Public License) or LGPL is a free software license published by the Free Software Foundation. ... Proprietary software is software with restrictions on copying and modifying as enforced by the proprietor. ...


Free Pascal is a compiler which runs on many operating systems. It is designed to use and compile Delphi source code, which is Object Oriented Pascal. Unlike Java which is intended to be write once, run anywhere, Lazarus and Free Pascal aim to be write once, compile anywhere. As the same compiler is available for all of the above operating systems, there is no need for recoding to produce identical products for different platforms, except when operating-system-dependent features are used. Cross-compiling is supported. An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ... Object Pascal is an object oriented derivative of Pascal mostly known as the primary programming language of Borland Delphi. ... The Java platform is the name for a bundle of related programs, or platform, from Sun Microsystems which allow for developing and running programs written in the Java programming language. ... Write once, run anywhere (WORA), or sometimes also Write once, run everywhere (WORE), is a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. ... Write once, compile anywhere (WOCA) means writing software that compiles and is thus useable on all platforms. ... Programming redirects here. ... Compiling a program takes place by running the compiler on the build platform. ...


Under Microsoft Windows Lazarus is less stable and less well-documented than Delphi, but has multi-platform capability and is more transparent, customizable and can run from a USB flash drive. Under Linux, Delphi source code can be compiled with Lazarus with a little adaptation. Lazarus source code can be adapted to compile under Delphi and Kylix (An abandoned version Delphi for Linux). Windows redirects here. ... JumpDrive redirects here. ... This article is about operating systems that use the Linux kernel. ... Kylix is a Linux version of the Borland Corporations Delphi and C++ Builder development environments for Microsoft Windows. ...

Contents

Lazarus and UI access

LCL

The Lazarus GUI subsystem, Lazarus Component Library (LCL), is basically a set of visual and non visual component classes over a Widget toolkit-dependent part. The LCL is based on the Delphi6 VCL, but has not been kept totally compatible to improve use with operating systems other than Microsoft Windows. In computer programming, widget toolkits (or GUI toolkits) are sets of basic building units for graphical user interfaces. ... VCL (Visual Component Library) is a visual component-based framework for developing Microsoft Windows applications, developed by Borland for use in its Delphi and C++ Builder software development environment. ... Windows redirects here. ...


Interfaces - Widget toolkit dependence

In Lazarus terminology, this part is called simply "the Interface". Actually it's more like one Interface per Widget toolkit.


The current status of Widget toolkit Interface is roughly like this:

  • Win32 GDI support (win32 native) is in mainstream use.
  • GTK+ 1.2.x is in mainstream use (Unix derivatives including Mac OS X)
  • GTK+ 2.6+ is fully working. Running the IDE with the Gtk 2 interface still presents minor problems, however.
  • Qt 4.2+ has headers translated, and the interface is partially implemented.
  • for wxWidgets (C++) there is no header translation yet.
  • for Cocoa (Mac OS X native toolkit, Objective C) No header translation yet.
  • for Carbon (Mac OS X native toolkit, C) is partially implemented.
  • wince (Windows CE native) has headers and the interface is working.
  • fpGUI (Free Pascal GUI toolkit) needs to wait until fpGUI stabilizes.

The Free Pascal GUI toolkit (fpGUI) is a cross-platform graphical user interface toolkit developed by Graeme Geldenhuys. ...

PDA Support

Currently there is no cross platform tool for PDAs or good RADs. Support for PDAs on Lazarus is being implemented and it may occupy this vacancy.


Platforms with LCL Interfaces being implemented:

Possible in the future: Windows CE (also known officially as Windows Embedded CE since version 6. ... Screenshot of Qtopia Pdas Launcher Qtopia is Trolltechs application platform for Embedded Linux-based PDAs, mobile phones, web pads, and other mobile computing devices. ...

Palm OS is an operating system made by PalmSource, Inc. ... Symbian OS is a proprietary operating system, designed for mobile devices, with associated libraries, user interface frameworks and reference implementations of common tools, produced by Symbian Ltd. ...

Development Process

The Lazarus project has a good community and a vigorous development process, with many contributors and development testers. The community solves the problems using a discussion board, and programmers submit fixes for issues raised on the board. Each night untested builds are generated for bèta testing.


Database support

Developers can install packages which allow Lazarus to support several databases. Programs can interact with databases through code or by components dropped on a form. The data-aware components represent fields and are connected by the correct setting of properties to a TDataSource, which represents a table, and to the database components, which may be TPSQLDatabase, TSQLiteDataSet, or equivalent.


The following databases are directly supported:

  • PostgreSQL, with the PSQL package
  • dBase and FoxPro can be supported without the need for an external server or library through the TDbf component
  • MySQL works
  • SQLite needs a single external library and the TSqliteDataset component
  • MSSQL is working with Zeoslib
  • InterBase / Firebird also work with the latest ZeosLib

Some helper data providers (CSV, SDF) are also provided. PostgreSQL is a free software object-relational database management system (ORDBMS), released under a BSD-style license. ... dBASE III The correct title of this article is dBASE. The initial letter is capitalized because of technical restrictions. ... Visual FoxPro is a data-centric object-oriented and procedural programming language by Microsoft. ... MySQL (pronounced (IPA) , my S-Q-L[1]) is a multithreaded, multi-user SQL database management system (DBMS)[2] which has, according to MySQL AB, more than 10 million installations. ... SQLite is a mostly ACID-compliant relational database management system contained in a relatively small (~500kb) C programming library. ... Microsoft SQL Server is a relational database management system produced by Microsoft. ... InterBase is a relational database management system (RDBMS) currently developed and marketed by CodeGear. ... Firebird (sometimes called FirebirdSQL) is a relational database management system offering many ANSI SQL-2003 features. ...


Cross-development

Free Pascal supports cross-compiling, and Lazarus applications can be cross-compiled from Windows to Linux and FreeBSD and vice versa. Compiling from Mac OS X to Windows, Linux and FreeBSD is possible. Cross-compiling to OS X has been done, but is not ready for use manageable by endusers. Compiling a program takes place by running the compiler on the build platform. ... Windows redirects here. ... This article is about operating systems that use the Linux kernel. ... FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4. ... Mac OS X (pronounced ) is a line of graphical operating systems developed, marketed, and sold by Apple Inc. ... Windows redirects here. ... This article is about operating systems that use the Linux kernel. ... FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4. ...


Lazarus is also used to build PDA applications, e.g. for Windows CE, on a machine running Linux or Windows. Windows CE (also known officially as Windows Embedded CE since version 6. ...


Limitations

While resembling the Delphi RAD in many ways, there are a few limitations regarding the performance and feature set:

  • Under Windows executable file size is somewhat larger than the Delphi equivalent because debug information is included within Lazarus executables, instead of as separate files like Delphi. Lazarus program file size can be significantly reduced by using Strip. See also FPC wiki: Size Matters
  • Components for Delphi can be installed in Lazarus, but they must be converted, which can be complex.
  • Missing important media libraries and widgets:
    • Microsoft Office connectivity
    • Datasnap (not a publicly documented system, Borland proprietary enterprise functionality)
  • Networking is mostly available, with a wealth of packages to choose from:
    • Indy.
      • Status: Linux/x86, win32: 100 percent working;
      • FreeBSD/x86: also 100 percent, but requires developer's versions;
      • Mac OS X/PowerPC: servers untested, various endianness problems in demoes;
      • Other platforms remain untested, though some client success on wince was claimed;
    • ICS A bit win32-centric, but quite well suited for Windows-specific customization if needed.
    • Synapse FPC support hugely improved the last year.
    • lNet is an FPC native non-blocking variant, with Linux/FreeBSD specific (KSE/EPoll) optimizations for mass connectivity
  • No support to directly call .NET libraries. On the other hand, it is possible to call Object Pascal code from .NET software. [2]
  • The COM support was missing from the 2.0.x series, but was initially working in 2.2.0, and has matured fast since.
  • No frames (*)
  • No visual form inheritance (*)
  • Missing dynamically loadable packages support.
  • Not 100 percent compatible with VCL. As mentioned previously this is by design, although the current LCL widget set should suffice for most applications. But this makes the deep repository of available VCL widgets inaccessible without conversion. The conversion effort mostly involves some editing, although there are a few fundamental differences. When porting, missing units in the libraries and COM support are a considerably bigger problem than incompatibilities between LCL and VCL.

(*) denotes features currently being worked on In Unix and Unix-like operating systems, the strip program removes all debugging and symbol information from an executable binary program, making it take up less disk space. ... In computing, endianness is the byte (and sometimes bit) ordering in memory used to represent some kind of data. ...


Licensing

Although Lazarus software is GPL licensed, software developed using it can be deployed on any license. The Lazarus Component Library (LCL) is statically linked into programs and is licensed using a modified version of LGPL specially designed to allow static linking to proprietary programs. (the "special" linking is an own wording of GNU's GPL-With-Linking-Exception. Meanwhile the wording has changed to more close match the GNU variant. It doesn't matter if the linking exception is applied to the GPL (as GNU does) or LGPL (as FPC/Lazarus did), since the exception is more liberal then the differences between both )


Note that installing a designtime package is equivalent to linking to the IDE. So distributing the Lazarus IDE with non-GPL compatible (e.g. MPL, the Jedi packages) designtime packages pre-installed would be a license violation. Despite that, you can build proprietary Lazarus packages, as long as you don't distribute a Lazarus pre-installed with them.


See also

The FreePascal IDE for Linux. ... The following tables list software packages that are nominal IDEs; standalone tools such as source code editors and GUI builders are not included. ...

References

  1. ^ "COPYING" file from the online source code repository.
  2. ^ "COPYING.modifiedLGPL" file from the online source code repository.

External links

VCL (Visual Component Library) is a visual component-based framework for developing Microsoft Windows applications, developed by Borland for use in its Delphi and C++ Builder software development environment. ... Component Library for Cross Platform (CLX), is a cross-platform visual component-based framework for developing Microsoft Windows and Linux applications. ... Delphi is the primary programming language of Borland Delphi. ...

  Results from FactBites:
 
Lazarus 0.9.22 download - Lazarus (168 words)
Lazarus - Libraries for Free Pascal that emulate Delphi.
Lazarus is the class libraries for Free Pascal that emulate Delphi.
Lazarus is the part of the missing puzzle that will allow you to develop Delphi like programs in all of the above platforms.
Lazarus: Definition and Much More from Answers.com (1567 words)
In the Gospel of Luke 16:19–31, Lazarus is the beggar at the rich man's table, who receives his reward in the Hereafter, in Abraham's bosom at the everlasting banquet, while the rich man craves a drop of water from Lazarus' finger.
Lazarus was rewarded, not because he was poor, but for his virtuous acceptance of poverty; the rich man was punished, not because he was rich, but for vicious neglect of the opportunities given him by his wealth" (Ibid).
Lazarus is also a man who lived in the town of Bethany ("Lazarus from Bethany, the village of Mary and her sister Martha", John 11:1).
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.