Rapid PHP Editor 2007 serial key or number
Rapid PHP Editor 2007 serial key or number
Delphi (software)
Delphi is a technology that uses the Object Pascal programming language and an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software,[3] currently developed and maintained by Embarcadero Technologies.
Delphi's compilers generate native code for Microsoft Windows, macOS, iOS, Android and Linux (x64).[4][5][6]
Delphi includes a code editor, a visual designer, an integrated debugger, a source code control component, and support for third-party plugins. The code editor features Code Insight (code completion), Error Insight (real-time error-checking), and refactoring. The visual forms designer has the option of using either the Visual Component Library (VCL) for pure Windows development or the FireMonkey (FMX) framework for cross-platform development. Database support is a key feature. Delphi is known for its fast compilation speed.
Delphi was originally developed by Borland as a rapid application development tool for Windows as the successor of Turbo Pascal. Delphi added full object-oriented programming to the existing language, and the language has grown to support generics, anonymous methods, closures, and native Component Object Model (COM) support.
Delphi and its C++ counterpart, C++Builder, are interoperable. They share many core components, notably the IDE, the VCL and FMX frameworks, and much of the runtime library. In addition, they can be used jointly in a project. For example, C++Builder 6 and later can combine source code from Delphi and C++ in one project, while packages compiled with C++Builder can be used from within Delphi. In , the products were released jointly as RAD Studio, a shared host for Delphi and C++Builder, which can be purchased with either or both.
Features[edit]
Delphi supports rapid application development (RAD). Prominent features are a visual designer and two application frameworks, VCL for Windows and FireMonkey (FMX) for cross-platform development.
Delphi uses the Pascal-based programming language Object Pascal introduced by Borland. It supports native cross-compilation.
To better support development for Microsoft Windows and interoperate with code developed with other software development tools, Delphi supports independent interfaces of Component Object Model (COM) with reference counted class implementations, and support for many third-party components. Interface implementations can be delegated to fields or properties of classes. Message handlers are implemented by tagging a method of a class with the integer constant of the message to handle.
Database connectivity is extensively supported through VCL database-aware and database access components.
Later versions have included upgraded and enhanced runtime library routines, some provided by the community group FastCode.
Characteristics[edit]
Delphi uses a strongly typedhigh-level programming language, intended to be easy to use and originally based on the earlier Object Pascal language. Pascal was originally developed as a general-purpose language "suitable for expressing the fundamental constructs known at the time in a concise and logical way", and "its implementation was to be efficient and competitive with existing FORTRAN compilers"[7] but without low-level programming facilities or access to hardware. Turbo Pascal and its descendants, including Delphi, support access to hardware and low-level programming, with the facility to incorporate code written in assembly language and other languages. Delphi's object orientation features only class- and interface-based polymorphism.[8] Metaclasses are first class objects. Objects are actually references to the objects (as in Java), which Delphi implicitly de-references, so there is usually no need to manually allocate memory for pointers to objects or use similar techniques that some other languages need. There are dedicated reference-counted string types, and also null-terminated strings.
Strings can be concatenated by using the '+' operator, rather than using functions. For dedicated string types Delphi handles memory management without programmer intervention. Since Borland Developer Studio there are functions to locate memory leaks.
Delphi includes an integrated IDE. The Delphi products all ship with a run-time library (RTL) and a Visual Component Library (VCL), including most of its source code. Third-party components (sometimes with full source code) and tools to enhance the IDE or for other Delphi related development tasks are available, some free of charge. The IDE includes a GUI for localization and translation of created programs that may be deployed to a translator; there are also third-party tools with more features for this purpose. The VCL framework maintains a high level of source compatibility between versions, which simplifies updating existing source code to a newer Delphi version. Third-party libraries typically need updates from the vendor but, if source code is supplied, recompilation with the newer version may be sufficient. The VCL was an early adopter of dependency injection or inversion of control; it uses a re-usable component model, extensible by the developer. With class helpers new functionality can be introduced to core RTL and VCL classes without changing the original source code of the RTL or VCL.
The compiler is optimizing and single pass. It can optionally compile to a single executable which does not require DLLs. Delphi can also generate standard DLLs, ActiveX DLLs, COM automation servers and Windows services.
The Delphi IDEs since Delphi increasingly support refactoring features such as method extraction and the possibility to create UML models from the source code or to modify the source through changes made in the model.
Delphi has communities on the web, where also its employees actively participate.
Backward compatibility[edit]
Although each new release of Delphi attempts to keep as much backwards compatibility as possible to allow existing code reuse, new features, new libraries, and improvements sometimes make newer releases less than % backwards compatible.
Since , there have been new releases of Delphi every six months, with new platforms being added approximately every second release.[9]
Frameworks[edit]
Delphi offers two frameworks for visual application development, VCL and FireMonkey (FMX):
- Visual Component Library (VCL) is the framework for developing pure Windows applications. VCL is a long-standing framework, included in the first release of Delphi and actively developed ever since then.
- FireMonkey (later abbreviated FMX), was released in , as part of Delphi XE2, together with an additional set of built-in compilers for non-Windows platforms. FireMonkey is a cross-platform framework for Windows, macOS, iOS, Android and Linux (x64). The GUI parts of FireMonkey are largely based on Direct3D and OpenGL. FireMonkey is not compatible with VCL; they are two separate frameworks. FireMonkey applications do, however, allow easy sharing of non-visual code units with VCL applications, enabling a lot of code to be ported or shared easily between the platforms.
Code examples[edit]
To show a message:
To give a label a caption using the VCL:
To give a label text using FireMonkey:
History[edit]
Delphi was originally one of many codenames of a pre-release development tool project at Borland. Borland developer Danny Thorpe suggested the Delphi codename in reference to the Oracle at Delphi. One of the design goals of the product was to provide database connectivity to programmers as a key feature and a popular database package at the time was Oracle database; hence, "If you want to talk to [the] Oracle, go to Delphi".
As development continued towards the first release, the Delphi codename gained popularity among the development team and beta testing group. However, the Borland marketing leadership preferred a functional product name over an iconic name and made preparations to release the product under the name "Borland AppBuilder".
Shortly before the release of the Borland product, Novell AppBuilder was released, leaving Borland in need of a new product name. After much debate and many market research surveys, the Delphi codename became the Delphi product name.[10]
The chief architect behind Delphi was Anders Hejlsberg, who had developed Turbo Pascal. He was persuaded to move to Microsoft in
On February 8, Borland announced that it was looking for a buyer for its IDE and database line of products, including Delphi, to concentrate on its ALM line. On November 14, , instead of selling it, Borland transferred the development tools group to an independent wholly owned subsidiary company named CodeGear. Borland subsequently sold CodeGear to Embarcadero Technologies in Embarcadero retained the CodeGear division created by Borland to identify its tool and database offerings, but identified its own database tools under the DatabaseGear name. In , Embarcadero was purchased by Idera Software, but the Embarcadero mark was retained for the developer tools division.
Early Borland years (–)[edit]
- Borland Delphi
Delphi (later known as Delphi 1) was released in for the bit Windows , and was an early example of what became known as Rapid Application Development (RAD) tools. Delphi evolved from Borland's "Turbo Pascal for Windows", itself an evolution with Windows support from Borland's Turbo Pascal and Borland Pascal with Objects, very fast bit native-code MS-DOS compilers with their own sophisticated integrated development environment (IDE) and textual user interface toolkit for DOS (Turbo Vision). Early Turbo Pascal (for MS-DOS) was written in a dialect of the Pascal programming language; in later versions support for objects was added, and it was named Object Pascal. Delphi has always used Object Pascal, which continued to be developed, as its underlying object-oriented language.
- Borland Delphi 2
Delphi 2, released in , supported bit Windows environments. Delphi 1 was bundled with it for creation of bit Windows applications. New Quickreport components replacing Borland ReportSmith.
- Borland Delphi 3
Delphi 3, released in , added new VCL components encapsulating the version of Windows Common Controls (such as Rebar and Toolbar), TDataset architecture separated from BDE, DLL debugging, the code insight technology, component packages, component templates, DecisionCube and Teechart components for statistical graphing, WebBroker, ActiveForms, MIDAS three tier architecture, component packages and integration with COM through interfaces.
- Inprise Delphi 4
Inprise Delphi 4 was released in IDE came with a completely overhauled editor and became dockable. VCL added support for ActionLists anchors and constraints. Additional improvements were method overloading, dynamic arrays, Windows 98 support, Java interoperability, high performance database drivers, CORBA development, and Microsoft BackOffice support. It was the last version shipped with Delphi 1 for 16 bit programming.
- Borland Delphi 5
Borland Delphi 5 was released in Added concept of frames, parallel development, translation capabilities, enhanced integrated debugger, XML support, ADO database support and reference countinginterfaces
- Borland Delphi 6
Attempts to support both Linux and Windows for cross-platform development were made, and a cross-platform alternative to the VCL known as CLX shipped in with the release of Delphi 6. This was the second product in Borland's series of Linux-compatible native developer tools, establishing code-compatible IDEs for both Linux (see Kylix above) and Windows (Delphi 6) using the shared CLX component framework for both. Later efforts would include CLX in C++Builder 6 and add C++ code-compatibility to the RAD tools line. Delphi 6 included the same CLX version (CLX 1) as the first version of Kylix. CLX 1 had been created before Delphi 6; its feature set was based on VCL 5 and lacked some features added to the VCL 6 shipped with Delphi 6.[11]
- Borland Delphi 7
Delphi 7, released in August , became the standard version used by more Delphi developers than any other single version. It is one of the most successful IDEs created by Borland because of its stability, speed and low hardware requirements, and remains in active use as of Delphi 7 added support for Windows XP Themes, and added more support for building Web applications. It was the last version of Delphi that did not require mandatory software activation.
Later Borland years (–)[edit]
- Borland Delphi 8
Delphi 8 (Borland Developer Studio ), released December , was a .NET-only release that compiled Delphi Object Pascal code into .NET CIL; the IDE was rewritten for this purpose. The IDE changed to a docked interface (called Galileo) similar to Microsoft's Visual steel-group.eu Delphi 8 was highly criticized[by whom?] for its low quality and its inability to create native applications (Win32 API/x86 code). The inability to generate native applications is only applicable to this release; the capability would be restored in the next release.
- Borland Delphi
The next version, Delphi (Delphi 9, also Borland Developer Studio ), included the Win32 and .NET development in a single IDE, reiterating Borland's commitment to Win32 developers. Delphi includes design-time manipulation of live data from a database. It also includes an improved IDE and added a for in statement (like C#'s foreach) to the language. However, it was widely criticized[12] for its bugs; both Delphi 8 and Delphi had stability problems when shipped, which were only partially resolved in service packs. The ability to compile native windows applications (*.exe) was added back into Delphi after being removed in Delphi 8. CLX support was dropped for new applications from this release onwards.
- Borland Delphi
In late Delphi (Delphi 10, also Borland Developer Studio ) was released combining development of C# and steel-group.eu, Delphi Win32 and C++ (Preview when it was shipped but stabilized in Update 1) into a single IDE. It was much more stable than Delphi 8 or Delphi when shipped, and improved further with the release of two updates and several hotfixes.
- Turbo Delphi and Turbo Delphi for .NET
On September 6, The Developer Tools Group (the working name of the not yet spun off company) of Borland Software Corporation released single-language editions of Borland Developer Studio , bringing back the Turbo name. The Turbo product set included Turbo Delphi for Win32, Turbo Delphi for .NET, Turbo C++, and Turbo C#. There were two variants of each edition: Explorer, a free downloadable flavor, and a Professional flavor, priced at US$ for new users and US$ for upgrades, which opened access to thousands of third-party components. Unlike earlier Personal editions of Delphi, Explorer editions could be used for commercial development.
- Codegear Delphi
Delphi (Delphi 11), the first version by CodeGear, was released on March 16, The Win32 personality was released first, before the .NET personality of Delphi based on .NET Framework was released as part of the CodeGear RAD Studio product. New features included support for MSBuild and enhancements to the VCL for Windows Vista, but the C#Builder feature was dropped in this release as sales were not as high as expected due to Visual Studio also offering C#. The Windows Form designer for Delphi .NET was also dropped in because it is based on part of the .NET framework API, which Microsoft had changed so drastically in .NET that updating the IDE would have been a major undertaking. Delphi also introduced DBX4 as the next version of dbExpress. For the first time Delphi could be downloaded from the Internet and activated with a license key. Internationalized versions of Delphi shipped simultaneously in English, French, German and Japanese. RAD Studio (code named Highlander), which includes .NET and C++Builder development, was released on September 5,
- Delphi for PHP
In CodeGear era emerged an IDE targeting PHP development despite the word "Delphi" in its name. That one is Delphi for PHP whose highlight is a VCL-like PHP framework which enables for PHP the same Rapid Application Development methodology as in steel-group.eu Web Form. Version and were released in March and April respectively. The IDE would later evolve into RadPHP after CodeGear's acquisition by Embarcadero.
Embarcadero years (–)[edit]
- Codegear Delphi
Delphi (Delphi 12, code named Tiburón), added many new features such as completely reworking the VCL and RTL for full Unicode support, and added generics and anonymous methods for Win32 native development. Support for .NET development was dropped from the mainstream Delphi IDE starting with this version, and was catered for by the new Delphi Prism (Version ).[13]
Delphi Prism was developed by RemObjects Software and distributed by Embarcadero from to replace steel-group.eu It is a combination of RemObjects's mostly Delphi-compatible .NET compiler (without RTL or VCL), a version of the Microsoft Visual Studio Shell without C# or VB support, and some Embarcadero technologies such as dbExpress. Prism is cross-platform capable insofar as it supports the Mono .NET libraries.
- Codegear Delphi
Delphi (code-named Weaver, aka Delphi 14; there was no version 13), was released on August 25, and is the second Unicode release of Delphi. It includes a new compiler run-time type information (RTTI) system, support for Windows 7 Direct2D, touch screen and gestures, a source code formatter, debugger visualizers and the option to also have the old style component palette in the IDE. The new RTTI system makes larger executables than previous versions. Delphi Prism (Version ) which is the last Visual Studio only based one was also released in August
- Embarcadero Delphi XE
Delphi XE (aka Delphi ,[14] code named Fulcrum), was released on August 30, with Delphi support for Amazon EC2, Microsoft Azure were bundled. Delphi Prism XE (Version ) which is the first Visual Studio based one (However, it can also integrated into Visual Studio ) was also released in August It is essentially a rebranded Delphi Prism (also Version ) which was released three months earlier. RadPHP had been incorporated in to RAD Studio since RadPHP XE (Version ) that was evolved from the formal Delphi for PHP product developed by CodeGear in its Borland days.
- Delphi Starter Edition
On January 27, Embarcadero announced the availability of a new Starter Edition that gives independent developers, students and micro businesses a slightly reduced feature set[15] for a price less than a quarter of that of the next-cheapest version. This Starter edition is based upon Delphi XE with update 1.
- Embarcadero Delphi XE2
On September 1, Embarcadero released RAD Studio XE2 (code-named Pulsar,) which included Delphi XE2, C++Builder, Embarcadero Prism XE2 (Version later upgraded to XE Version ) which was rebranded from Delphi Prism and RadPHP XE2 (Version ). Delphi XE2 natively supports bit Windows (except the starter edition), in addition to the long-supported bit versions, with some backwards compatibility. Applications for bit platforms can be compiled, but not tested or run, on the bit platform. The XE2 IDE cannot debug bit programs on Windows 8 and above. Delphi XE2 is supplied with both the VCL, and an alternative library called FireMonkey that supports Windows, Mac OS X and the Apple iPhone, iPod Touch and iPad portable devices. FireMonkey and VCL are not compatible; one or the other must be used, and older VCL applications cannot use Firemonkey unless user interfaces are recreated with FireMonkey forms and controls. Third parties have published information on how to use Firemonkey forms in VCL software, to facilitate gradual migration, but even then VCL and Firemonkey controls cannot be used on the same form.[16] Embarcadero says that Linuxoperating system support "is being considered for the roadmap", as is Android, and that they are "committed to FireMonkey. expect regular and frequent updates to FireMonkey". Pre versions only supported iOS platform development with Xcode and lower, OS X version and lower, and iOS SDK and earlier.
- Embarcadero Delphi XE3
On September 4, Embarcadero released RAD Studio XE3, which included Delphi XE3, C++Builder, Embarcadero Prism XE3 (Version ) and HTML5 Builder XE3 (Version ) which was upgraded and rebranded from RadPHP. Delphi XE3 natively supports both bit and bit editions of Windows (including Windows 8), and provides support for Mac OS X with the Firemonkey 2/FM² framework. iOS support was dropped with XE3 release initially (with intent to add support back in with a separate product – Mobile Studio), but applications can continue to be targeted to that platform by developing with Delphi XE2.
- Embarcadero Delphi XE4
On April 22, Embarcadero released RAD Studio XE4, which included Delphi XE4, and C++Builder. There has been no major upgrade for either Embarcadero Prism or HTML5 Builder thence. Delphi XE4 is the first release of the FireMonkey mobile platform, featuring cross-platform mobile application development for the iOS Simulator and iOS Devices. In this version Embarcadero introduces two new compilers for Delphi mobile applications, the Delphi Cross Compiler for the iOS Simulator and the Delphi Cross Compiler for the iOS Devices. These compilers significantly differ from the Win64 desktop compiler as they do not support COM, inline assembly of CPU instructions, and six older string types such as PChar. The new mobile compilers advance the notion of eliminating pointers. The new compilers require an explicit style of marshalling data to and from external APIs and libraries. Delphi XE4 Run-Time Library (RTL) is optimized for 0-based, read-only (immutable) Unicode strings, that cannot be indexed for the purpose of changing their individual characters. The RTL also adds status-bit based exception routines for ARM CPUs that do not generate exception interrupts.
- Embarcadero Delphi XE5
On September 12, Embarcadero released RAD Studio XE5, which includes Delphi XE5 and C++Builder. It adds support for Android (specifically: ARM v7 devices running Gingerbread (–), Ice Cream Sandwich (–) and Jelly Bean (x, x, x)) and iOS 7.
- Embarcadero Delphi XE6
On April 15, Embarcadero released RAD Studio XE6, which included Delphi XE6 and C++Builder. It allows developers to create natively compiled apps for all platforms for, desktop, mobile, and wearable devices like Google Glass, with a single C++ or Object Pascal (Delphi) codebase. RAD Studio XE6 adds support for Android KitKat. It also became possible to create FireMonkey mobile apps for Android.
- Embarcadero Delphi XE7
On September 2, Embarcadero released RAD Studio XE7, which included Delphi XE7 and C++Builder. It enables Delphi/Object Pascal and C++ developers to extend existing Windows applications and build apps that connect desktop and mobile devices with gadgets, cloud services, and enterprise data and APIs. Also, it enables developers to extend Windows applications using WiFi and Bluetooth App Tethering, and create shared user interface code across multiple device form factors, etc.
- Embarcadero Delphi XE8
On April 7, Embarcadero released RAD Studio XE8, which included Delphi XE8 and C++Builder.
- Embarcadero Delphi 10 Seattle
On August 31, Embarcadero released RAD Studio 10 Seattle, which included Delphi and C++Builder.
Idera years (–present), under the Embarcadero mark[edit]
- Embarcadero Delphi Berlin
On April 20, Embarcadero released RAD Studio Berlin, which included Delphi and C++Builder, both generating native code for the and bit Windows platforms, OSX, iOS and Android (ARM, MIPS and X86 processors). Delphi Berlin Update 2 introduced the ability to create Windows 10 Store applications from the Delphi IDE using Desktop Bridge.
- Embarcadero Delphi Tokyo
On March 22, Embarcadero released RAD Studio Tokyo, adding bit Linux support, limited to console and non-visual applications. In addition this release features RTL and IDE improvements, multi-tenancy support in RAD server and improved database capabilities.
- Embarcadero Delphi Tokyo (Community Edition)
On July 18, Embarcadero released Community Edition for free download. You are not allowed to earn more than $5, Library source code and VCL/FMX components are more limited compared to Professional.
- Embarcadero Delphi Rio
On November 21, Embarcadero released RAD Studio Rio. This release had a lot of improvements, new components for High DPI / 4K screens on the VCL and an entirely new look for the IDE. Two new features were added to the language: inline block-local variable declarations and type inference. Versions , , and (November 21, ) were also released.
- Embarcadero Delphi Sydney
On May 26, Embarcadero released RAD Studio Sydney.
- Windows Enhancements. High DPI UI elements on 4k monitors with styling support for visual controls. Integrate modern web technologies through Microsoft’s new WebView2 based on Chromium. Enhanced title bars.
- Productivity. Faster and more reliable code completion in the IDE. Unified memory management on all platforms. Enhanced Visual LiveBindings
- Other. Over 1, improvements. Custom managed records. Enhanced parallel tasks on multicore CPU. Metal API support on OS X and IOS. See full list of changes
Roadmaps[edit]
Embarcadero publishes "roadmaps" describing their future development plans. The most recent one was published in May ,[17] which was amended in August [18]
Related software[edit]
- Borland Enterprise Studio, a precursor to RAD Studio, is a software development suite that includes support for multiple languages. Borland Enterprise Studio for Windows supports Delphi.[19]
- Borland Kylix: Similar to Delphi, but for Linux, released in This was the first attempt to add Linux support in the Delphi product family.[20] Kylix used the new CLX cross-platform framework, instead of Delphi's VCL. Kylix was discontinued after version 3.
- RAD Studio: a development of tool suite by Borland Software Corporation (later Embarcadero), consists of Delphi, C++Builder, Embarcadero Prism, and HTML5 Builder. Like Delphi, there are different editions of RAD Studio: Professional edition, Enterprise edition, Ultimate edition and Architect edition.
- InterBase integrates natively to Delphi and C++Builder for client/server or embedded development and can be accessed by all major languages and platforms in the market with database connection protocols like ODBC, ADO, steel-group.eu and even with Java by JDBC/ODBC Bridge or Java type 4 connectors.
- JBuilder is a tool for Java development based on Eclipse since version JBuilder
- RadPHP (now superseded by HTML5 Builder) was an IDE for PHP that provides true RAD functionality. It has a form designer similar to that of Delphi or Visual Basic, and an integrated debugger based on the Apache web server. It also includes a VCL library ported to PHP. Unlike other IDEs it supports Web features such as AJAX. Delphi for PHP was announced on March 20, , renamed on October to RadPHP, and is based on Qadram Q studio. Embarcadero acquired Qadram in January
- Delphi Prism (later known as Embarcadero Prism) derived from the Oxygene programming language (previously known as Chrome) from RemObjects. It ran in the Microsoft Visual Studio IDE rather than RAD Studio. It was licensed and re-branded by Embarcadero to replace steel-group.eu when that product was discontinued. Although RemObjects Oxygene was further developed and incorporated support for native Java, Android, iOS and OS X development, the version licensed by Embarcadero was limited to only supporting .NET. It was eventually discontinued by Embarcadero with the release of Delphi XE4, leaving the Delphi product line with no support for .NET development. The Oxygene product it was based on continues to be developed by RemObjects as part of their Elements product line.
- Free Pascal is an open-source Pascal cross-platformcross-compiler that supports most of Delphi's Object Pascal code. Free Pascal also has its own language extensions, multiple compiler [language syntax] modes, and supports 18+ operating systems and 9+ processor architectures.[21]Lazarus is a cross-platform RAD IDE that uses the Free Pascal compiler. Lazarus and Free Pascal – free software independent of Embarcadero – are largely compatible with code written for Delphi.
Notable third-party libraries[edit]
- FastCode – Enhanced runtime libraries and memory manager.
- OpenWire (library) – Data flow, events, and state synchronization component library.
- Project Jedi (Joint Endeavor of Delphi Innovators) – A collaborative open-source effort by the Delphi developer community to provide translations of Windows API interfaces, additional components and controls, and algorithms and data structures.
- Teechart – Charting library.
- Devexpress VCL Enhanced component library
References[edit]
Further reading[edit]
External links[edit]
BIOLOGICAL SCIENCES
The central role of RNA in the genetic programming of complex organisms
John S. Mattick
Institute for Molecular Bioscience, University of Queensland, Brisbane , Australia
Correspondence
ABSTRACT
Notwithstanding lineage-specific variations, the number and type of protein-coding genes remain relatively static across the animal kingdom. By contrast there has been a massive expansion in the extent of genomic non-proteincoding sequences with increasing developmental complexity. These non-coding sequences are, in fact, transcribed in a regulated manner to produce large numbers of large and small non-protein-coding RNAs that control gene expression at many levels including chromatin architecture, post-transcriptional processing and translation. Moreover, many RNAs are edited, especially in the nervous system, which may be the basis of epigenome-environment interactions and the function of the brain.
Key words: development, noncoding RNA, epigenome, gene regulation, RNA editing, brain.
RESUMO
Apesar das variações linhagem-específicas, o número e tipo de genes codificadores de proteínas permanecem relativamente estáticos no reino animal. Em contraste, houve uma expansão maciça da quantidade de sequências genômicas não-codificadoras de proteínas com o aumento da complexidade do desenvolvimento. Essas sequências não codificadoras são, de fato, transcritas de maneira regulada para produzirem numerosos RNAs grandes e pequenos não-codificadores de proteínas que controlam a expressão de genes em vários níveis, incluindo a arquitetura da cromatina, o processamento pós-transcricional e a tradução. Além disso, muitos RNAs são editados, especialmente no sistema nervoso, o que pode ser a base de interações epigenoma-ambiente e a função do cérebro.
Palavras-chave: desenvolvimento, RNA não-codificador, epi-genoma, regulação gênica, edição de RNA, cérebro.
INTRODUCTION
It appears that the genetic programming of complex organisms has been misunderstood for the past 50 years, because of the assumption - largely true for the unicellular prokaryotes, but apparently not for multicellular eukaryotes - that most genetic information is transacted by proteins. This assumption is based upon the central dogma which holds that 'DNA makes RNA makes protein', implying that RNA functions primarily as an intermediate between a gene and its encoded protein, which in turn are responsible for the core functions of the cell, including regulatory functions. Reciprocally it has been assumed that the vast tracts of non-protein-coding sequences that are present in animal and plant genomes are largely non-functional. However, this assumption may be incorrect (Mattick ), and the emerging evidence suggests that these non-coding sequences actually specify a vast and hitherto hidden layer of regulatory information that is transacted by RNAs, in conjunction with generic protein complexes that interact with them (Mattick , , , , Mattick and Gagen ).
INFORMATION SCALING IN COMPLEX ORGANISMS
The human genome specifies an anatomically complex and cognitively advanced organism comprised of ~ 1014 cells, with exquisitely precise architecture of its different muscles, bones, many organs and the brain, which itself contains ~ 1010 neurons each with an estimated 1014 synaptic connections in the neocortex alone (Andersen et al. ). Surprisingly the human genome contains only ~20, conventional protein-coding genes (Good-stadt and Ponting , Clamp et al. ), which are similar in number and largely share orthologous functions with those in nematodes that have only ~ 1, somatic cells. Indeed, not withstanding clade-specific variations and innovations (such as RNA editing proteins, see below), the core proteome and extent of protein-coding sequences has not changed greatly since the origin ofthe metazoa, despite enormous increases in their developmental and cognitive complexity (Taft et al. ).
On the other hand, the extent of non-protein-coding DNA in the genome increases with increasing complexity, reaching % in humans (Taft et al. ), suggesting that much of the information required to program our development resides in these sequences, and is presumably regulatory in nature. Indeed theoretical considerations suggest that regulatory information scales quadrat-ically with organizational complexity in all functionally integrated systems (Mattick and Gagen ), which is supported by empirical data showing that the number of regulatory genes increases as a square function of the number of total genes in bacteria (Croft et al. ), contrary to the expectations of combinatoric control. Thus regulatory architecture increasingly dominates genomic information content as organismal complexity increases.
GLOBAL TRANSCRIPTION OF THE GENOME
Moreover, irrespective of the extent of non-protein-coding sequences, it is now evident that the majority of all genomes is transcribed, mainly into non-protein-coding RNAs (ncRNAs), of which there are tens if not hundreds of thousands in mammals (Carninci et al. , Katayama et al. ), arranged in complex interlacing and overlapping patterns (for reviews see Frith et al. , Mattick and Makunin , Kapranov et al. ). These ncRNAs generally fall into two size classes: (i) small RNAs that are less than nt, including infrastructural RNAs like tRNAs, rRNAs and small nuclear / spliceosomal RNAs (snRNAs), as well as various types of regulatory RNAs, including micro-RNAs (miRNAs), small interfering RNAs (siRNAs), piwi-interacting RNAs (piRNAs) and small nucleolar RNAs (snoRNAs) (Mattick and Makunin ); and (ii) long noncoding RNAs (lncRNAs) that can range from a few hundred bases up to well over kilobases in length (Furuno et al. , Pang et al. , Mercer et al. ).
REGULATED EXPRESSION OF NONCODING RNA
These lncRNAs show tissue-specific and physiologically-responsive expression (Ravasi et al. ), as well as dynamic expression profiles in differentiating embryonal stem cells (Dinger et al. b), neuronal cells (Mercer et al. ), T-cells (Pang et al. ), muscle cells (Sunwoo et al. ), and other developmental contexts in animals and plants (Amaral and Mattick , Ben Amor et al. , Dinger et al. ). They also show many other signatures of functionality, with increasing numbers of validated examples, as ell as altered expression in cancer and other diseases (for reviews see (Mattick b, Mercer et al. , Taft et al. a).
Approximately half of all lncRNAs show highly specific expression patterns in different regions of the brain, and many are trafficked to specific sub-cellular locations (Mercer et al. ). Moreover particular ncRNAs are associated with known and novel sub-nuclear domains (Sone et al. , Sunwoo et al. ), suggesting a key role for lncRNAs in cell biology that has yet to be explored. While ncRNAs exhibit a wide range of conservation (Pang et al. ), this is to be expected given that their sequences are subject to different structure-function constraints (i.e., may be more plastic) than proteins, and that regulatory innovation underpins much if not most of phenotypic variation (Pheasant and Mattick ). There is also an underexplored subterranean strata of differentially expressed repeat-derived RNAs (Lunyak et al. , Faulkner et al. ), which may also play an important role in developmental regulation (Faulkner and Carninci , Mattick et al. ).
RNA REGULATION OF EPIGENETIC PROCESSES
A major function of ncRNAs appears to be the regulation of the epigenetic processes that underpin differentiation and development (Amaral and Mattick ), by guiding relatively generic chromatin-modifying complexes to their sites of action (Mattick et al. ). Many chromatin-modifying proteins contain RNA binding domains, as indeed do major classes of transcription factors (Shi and Berg , Mattick , , Bernstein and Allis ). An increasing number of lncRNAs have been shown to be associated with chromatinmodifying complexes and different forms of modified histones (Rinn et al. , Dinger et al. b, Nagano et al. , Pandey et al. , Terranova et al. , Zhao et al. , Khalil et al. , Swiezewski et al. ). Indeed, ncRNA-directed regulatory circuits underpin most, if not all, complex epigenetic phenomena in eukaryotes, including RNA interference-related processes such as transcriptional and post-transcriptional gene silencing, position effect variegation, hybrid dysgenesis, chromosome dosage compensation, parental imprinting and allelic exclusion, parautation (see belo ), and possibly transvection and transinduction (see Mattick and Gagen , Mattick b). In addition exons are preferentially associated with nucleosomes in somatic and sperm cells in vertebrates (Nahkuri et al. ), indicating that epigenetic regulation acts not just the level of the gene, but at the level of individual exons, which potentially explains the basis of the long-standing mystery of how alternative splicing is regulated, a prediction that has recently gained experimental support (Luco et al. ).
MULTIPLE CLASSES OF SMALL RNA
Small RNAs of the miRNA, piRNA and siRNA families play important roles in a wide range of developmental and physiological processes in animals and plants (Bar-tel , Jones-Rhoades et al. , Stefani and Slack , Ghildiyal and Zamore ), and many are dysregulated in diseases such as cancer (Esquela-Kerscher and Slack , Medina and Slack ). Recently, we have discovered a number of new classes of small RNAs, including tiny RNAs associated with transcription initiation sites (tiRNAs) (Taft et al. c) that appear to be related to nucleosome positioning (Taft et al. a), similarly-sized RNAs associated with splice junctions (spliRNAs) (Taft et al. b), and a range of small RNAs derived from snoRNAs (sdRNAs) (Taft et al. b), some of which appear to function as miRNAs (Ender et al. ), indicating an interplay between the snoRNA- and miRNA-mediated regulatory systems (Politz et al. , Taft et al. b).
RNA COMMUNICATION AND PLASTICITY
Finally, it appears that RNA is trafficked between cells (Dinger et al. a). It also appears to be the substrate for the transmission of environmental information into endogenous epigenetic networks, via RNA editing (Mattick ). RNA editing occurs via two classes of enzymes, the ADARs (one of which, ADAR3, is brain-specific) that catalyze adenosine deamination to inosine (Bass , Valente and Nishikura ) and the APO-BECs (two of which, APOBEC1 and APOBEC3 are specific to mammals, with the latter having expanded under positive selection in the primate lineage) that act variously on RNA or DNA to catalyze cytosine or 5-methylcytosine deamination to uracil or thymine (Morgan et al. , Sawyer et al. , Zhang and Webb , Mikl et al. , Navaratnam and Sarwar ). RNA editing occurs in most if not all tissues, appears to play an important role in development (Bhutani et al. , Sato et al. ), and is particularly active in the brain (Bass , Valente and Nishikura ). Intriguingly, there is ~30 times more RNA editing observed in human than in mouse, the vast majority of which occurs in Alu primate-specific elements (Athanasiadis et al. , Blow et al. , Kim et al. , Levanon et al. ). The amount of editing has also increased during primate evolution associated with new human-specific Alu insertions in genes of neuronal function (Paz-Yaacov et al. ). Alu sequences also appear to have been subject to positive selection (Lander et al. ), possibly associated with the evolution of advanced brain function, which also involves processes that are similar to those in the immune system (Mattick and Mehler , Mattick ). Finally it appears that RNA is the mediator of transgenerational epigenetic inheritance, referred to as 'paramutation' (Chandler ), a process that is also influenced by editing (Nadeau ).
CONCLUSION
The emerging evidence suggests that, rather than oases of protein-coding sequences in a desert of junk, the genomes of humans and other complex organisms should be viewed as islands of protein-coding sequences in a sea of regulation (Mattick , Ovcharenko et al. ), most of which is transacted by RNA (Amaral et al. , Mattick ). Moreover it appears that RNA, rather than simply being an ephemeral intermediate between gene and protein, actually comprises the computational engine of the cell (Mattick , Mattick and Gagen ) and the substrate for epigenome-environment interactions (Mattick ). It is a remarkably versatile molecule (Leontis and Westhof , Lescoute and Westhof , Cruz and Westhof ), with capacity to form sophisticated structures, possess catalytic functions and engage in sequence-specific interactions, which may be allosterically controlled and interact with various sorts of effector proteins, thereby coupling analog and digital functions (Mattick , St Laurent and Wahlestedt ). What was dismissed as junk because it was not understood may hold the key to understanding human evolution, development and cognition, as well as our individual differences and susceptibilities to complex diseases (Mattick a).
ACKNOWLEDGMENTS
This article is an extended summary of plenary lectures presented at the IRT (XIX International Round Table on Nucleosides, Nucleotides and Nucleic Acids), Lyon, France, and at the 56th Brazilian Congress of Genetics, Guarujá, Brazil. The author gratefully acknowledges the support of Australian Research Council Federation Fellowship FF
REFERENCES
AMARAL PP AND MATTICK JS. Noncoding RNA in development. Mamm Genome [Links]
AMARAL PP, DINGER ME, MERCER TR AND MATTICK JS. The eukaryotic genome as an RNA machine. Science [Links]
ANDERSEN BB, GUNDERSEN HJ AND PAKKENBERG B. Aging of the human cerebellum: a stereological study. J Comp Neurol [Links]
ATHANASIADIS A, RICH A AND MAAS S. Widespread A-to-I RNA editing of Alu-containing mRNAs in the human transcriptome. PLoS Biol 2: e [Links]
BARTEL DP. MicroRNAs: genomics, biogenesis, mechanism, and function. Cell [Links]
BASS BL. RNA editing by adenosine deaminases that act on RNA. Annu Rev Biochem Ben Amor B et al. Novel long non-protein coding RNAs involved in rabidopsis differentiation and stress responses. Genome Res [Links]
BERNSTEIN E AND ALLIS CD. RNA meets chromatin. Genes Dev [Links]
BHUTANI N, BRADY JJ, DAMIAN M, SACCO A, CORBEL SY AND BLAU HM. Reprogramming towards pluripotency requires AID-dependent DNA demethylation. Nature [Links]
BLOW M, FUTREAL PA, WOOSTER R AND STRATTON MR. A survey of RNA editing in human brain. Genome Res [Links]
CARNINCI P et al. The transcriptional landscape of the mammalian genome. Science [Links]
CHANDLER VL. Parautation: from maize to mice. Cell [Links]
CLAMP M, FRY B, KAMAL M, XIE X, CUFF J, LIN MF, KELLIS M, LINDBLAD-TOH K AND LANDER ES. Distinguishing protein-coding and noncoding genes in the human genome. Proc Natl Acad Sci USA [Links]
CROFT LJ, LERCHER MJ, GAGEN MJ AND MATTICK JS. Is prokaryotic complexity limited by accelerated growth in regulatory overhead? Genome Biology Preprint Depository steel-group.eu [Links]
CRUZ JA AND WESTHOF E. The dynamic landscapes of RNA architecture. Cell [Links]
DINGER ME, MERCER TR AND MATTICK JS. a. RNAs as extracellular signaling molecules. J mol endocrinol [Links]
DINGER ME et al. b. Long noncoding RNAs in mouse embryonic stem cell pluripotency and differentiation. Genome Res [Links]
DINGER ME, PANG KC, MERCER TR, CROWE ML, GRIM-MOND SM AND MATTICK JS. NRED: a database of long noncoding RNA expression. Nucleic Acids Res D [Links]
ENDER C, KREK A, FRIEDLANDER MR, BEITZINGER M, WEINMANN L, CHEN W, PFEFFER S, RAJEWSKY N AND MEISTER G. A human snoRNA with micro-RNA-like functions. Mol Cell [Links]
ESQUELA-KERSCHER A AND SLACK FJ. Oncomirs - microRNAs with a role in cancer. Nat Rev Cancer 6: [Links]
FAULKNER GJ AND CARNINCI P. Altruistic functions for selfish DNA. Cell Cycle 8: [Links]
FAULKNER GJ et al. The regulated retrotransposon transcriptome of mammalian cells. Nat Genet [Links]
FRITH MC, PHEASANT M AND MATTICK JS. The amazing complexity of the human transcriptome. Eur J Hum Genet [Links]
FURUNO M et al. Clusters of internally primed transcripts reveal novel long noncoding RNAs. PLoS Genet 2: e [Links]
GHILDIYAL M and ZAMORE PD. Small silencing RNAs: an expanding universe. Nat Rev Genet [Links]
GOODSTADT L and PONTING CP. Phylogenetic reconstruction of orthology, paralogy, and conserved synteny for dog and human. PLoS Comput Biol 2: e [Links]
JONES-RHOADES MW, BARTEL DP AND BARTEL B. MicroRNAs and their regulatory roles in plants. Annu Rev Plant Biol [Links]
KAPRANOV P, WILLINGHAM AT AND GINGERAS TR. Genome-wide transcription and the implications for genomic organization. Nat Rev Genet 8: [Links]
KATAYAMA S et al. Antisense transcription in the mammalian transcriptome. Science [Links]
KHALIL AM et al. Many human large intergenic non-coding RNAs associate with chromatin-modifying complexes and affect gene expression. Proc Natl Acad Sci USA [Links]
KIM DD, KIM TT, WALSH T, KOBAYASHI Y, MATISE TC, BUYSKE S AND GABRIEL A. Widespread RNA editing of embedded alu elements in the human transcrip- tome. Genome Res [Links]
LANDER ES et al. Initial sequencing and analysis of the human genome. Nature [Links]
LEONTIS NB AND WESTHOF E. Analysis of RNA motifs. Curr Opin Struct Biol [Links]
LESCOUTE A AND WESTHOF E. The interaction networks of structured RNAs. Nucleic Acids Res [Links]
LEVANON EY ET AL. Systematic identification of abundant A-to-I editing sites in the human transcriptome. NatBiotechnol [Links]
LUCO RF, PAN Q, TOMINAGA K, BLENCOWE BJ, PE-REIRA-SMITH OM AND MISTELI T. Regulation of alternative splicing by histone modifications. Science [Links]
LUNYAK VV ET AL. Developmentally regulated activation of a SINE B2 repeat as a domain boundary in organogenesis. Science [Links]
MATTICK JS. Introns: evolution and function. Curr Opin Genet Dev 4: [Links]
MATTICK JS. Non-coding RNAs: the architects of eukaryotic complexity. EMBO Reports 2: [Links]
MATTICK JS. Challenging the dogma: the hidden layer of non-protein-coding RNAs in complex organisms. Bioessays [Links]
MATTICK JS. RNA regulation: a new genetics? Nat Rev Genet 5: [Links]
MATTICK JS. A new paradigm for developmental biology. J Exp Biol [Links]
MATTICK JS. a. Deconstructing the dogma: a new view of the evolution and genetic programming of complex organisms. Ann NY Acad Sci [Links]
MATTICK JS. b. The genetic signatures of noncoding RNAs. PLoS Genet 5: e [Links]
MATTICK JS. RNA as the substrate for epigenomeenvironment interactions: rNA guidance of epigenetic processes and the expansion of RNA editing in animals underpins development, phenotypic plasticity, learning, and cognition. Bioessays [Links]
MATTICK JS AND GAGEN MJ. The evolution of controlled multitasked gene networks: the role ofintrons and other noncoding RNAs in the development of complex organisms. Mol Biol Evol [Links]
MATTICK JS AND GAGEN MJ. Accelerating networks. Science [Links]
MATTICK JS AND MAKUNIN IV. Small regulatory RNAs in mammals. Hum Mol Genet RR [Links]
MATTICK JS AND MAKUNIN IV. Non-coding RNA. Hum Mol Genet R [Links]
MATTICK JS AND MEHLER MF. RNA editing, DNA recoding and the evolution of human cognition. Trends in neurosciences [Links]
MATTICK JS, AMARAL PP, DINGER ME, MERCER TR AND MEHLER MF. RNA regulation of epigenetic processes. Bioessays [Links]
MATTICK JS, TAFT RJ AND FAULKNER GJ. A global view of genomic information-moving beyond the gene and the master regulator. Trends Genet [Links]
MEDINA PP AND SLACK FJ. MicroRNAs and cancer: an overview. Cell Cycle 7: Mercer TR, Dinger ME, Sunkin SM, Mehler MF and Mattick JS. Specific expression of long noncoding RNAs in the mouse brain. Proc Natl Acad Sci USA [Links]
MERCER TR, DINGER ME AND MATTICK JS. Long non-coding RNAs: insights into functions. Nat Rev Genet [Links]
MERCER TR, QURESHI IA, GOKHAN S, DINGER ME, LI G, MATTICK JS AND MEHLER MF. Long non-coding RNAs in neuronal-glial fate specification and oligodendrocyte lineage maturation. BMC Neurosci [Links]
MIKL MC, WATT IN, LU M, REIK W, DAVIES SL, NEU-BERGER MS AND RADA C. Mice deficient in APOBEC2 and APOBEC3. Mol Cell Biol [Links]
MORGAN HD, DEAN W, COKER HA, REIK W AND PETERSEN-MAHRT SK. Activation-induced cytidine deaminase deaminates 5-methylcytosine in DNA and is expressed in pluripotent tissues: iplications for epigenetic reprogramming. J Biol Chem [Links]
NADEAU JH. Transgenerational genetic effects on phe-notypic variation and disease risk. Hum Mol Genet R [Links]
NAGANO T, MITCHELL JA, SANZ LA, PAULER FM, FERGUSON-SMITH AC, FEIL R AND FRASER P. The Air noncoding RNA epigenetically silences transcription by targeting G9a to chromatin. Science [Links]
NAHKURI S, TAFT RJ AND MATTICK JS. Nucleosomes are preferentially positioned at exons in somatic and sperm cells. Cell Cycle 8: [Links]
NAVARATNAM N AND SARWAR R. An overview of cytidine deaminases. Int J Hematol [Links]
OVCHARENKO I, LOOTS GG, NOBREGA MA, HARDI-SON RC, MILLER W AND STUBBS L. Evolution and functional classification of vertebrate gene deserts. Genome Res [Links]
PANDEY RR, MONDAL T, MOHAMMAD F, ENROTH S, REDRUP L, KOMOROWSKI J, NAGANO T, MANCINI-DINARDO D AND KANDURI C. Kcnq1ot1 anti-sense noncoding RNA mediates lineage-specific trans-criptional silencing through chromatin-level regulation. Mol Cell [Links]
PANG KC, FRITH MC AND MATTICK JS. Rapid evolution of noncoding RNAs: lack of conservation does not mean lack of function. Trends Genet [Links]
PANG KC, STEPHEN S, DINGER ME, ENGSTROM PG, LENHARD B AND MATTICK JS. RNAdb an expanded database of mammalian non-coding RNAs. Nucleic Acids Res D [Links]
PANG KC, DINGER ME, MERCER TR, MALQUORI L, GRIMMOND SM, CHEN W AND MATTICK JS. Genome-wide identification of long noncoding RNAs in CD8+ T cells. J Immunol [Links]
PAZ-YAACOV N, LEVANON EY, NEVO E, KINAR Y, HAR-MELIN A, JACOB-HIRSCH J, AMARIGLIO N, EISEN-BERG E AND RECHAVI G. Adenosine-to-inosine RNA editing shapes transcriptome diversity in primates. P Nat Acad Sci USA [Links]
PHEASANT M AND MATTICK JS. Raising the estimate of functional human sequences. Genome Res [Links]
POLITZ JC, HOGAN EM AND PEDERSON T. Micro-RNAs with a nucleolar location. RNA [Links]
RAVASI T et al. Experimental validation of the regulated expression of large numbers of non-coding RNAs from the mouse genome. Genome Res [Links]
RINN JL et al. Functional demarcation of active and silent chromatin domains in human HOX loci by noncoding RNAs. Cell [Links]
SATO Y, PROBST HC, TATSUMI R, IKEUCHI Y, NEUBERGER MS AND RADA C. Deficiency in APOBEC2 leads to a shift in muscle fiber type, diminished body mass, and myopathy. J Biol Chem [Links]
SAWYER SL, EMERMAN M AND MALIK HS. Ancient adaptive evolution of the primate antiviral DNA-editing enzyme APOBEC3G. PLoS Biol 2: E [Links]
SHI Y AND BERG JM. Specific DNA-RNA hybrid binding by zinc finger proteins. Science [Links]
SONE M, HAYASHI T, TARUI H, AGATA K, TAKEICHI M AND NAKAGAWA S. The mRNA-like noncoding RNA Gomafuconstitutes a novel nuclear domain in a sub-set of neurons. Journal of cell science [Links]
ST LAURENT G 3RD AND WAHLESTEDT C. Noncoding RNAs: couplers of analog and digital information in nervous system function? Trends neurosci [Links]
STEFANI G AND SLACK FJ. Small non-coding RNAs in animal developent. Nat Rev Mol Cell Biol 9: [Links]
SUNWOO H, DINGER ME, WILUSZ JE, AMARAL PP, MATTICK JS AND SPECTOR DL. MEN epsilon/ beta nuclear-retained non-coding RNAs are up-regulated upon muscle differentiation and are essential components of paraspeckles. Genome Res [Links]
SWIEZEWSKI S, LIU F, MAGUSIN A AND DEAN C. Cold-induced silencing by long antisense transcripts of an Arabidopsis Polycomb target. Nature [Links]
TAFT RJ, PHEASANT M AND MATTICK JS. The relationship between non-protein-coding DNA and eukaryotic complexity. Bioessays [Links]
TAFT RJ, KAPLAN CD, SIMONS C AND MATTICK JS. a. Evolution, biogenesis and function of promoter- associated RNAs. Cell Cycle 8: Taft RJ, Glazov EA, Lassmann T, Hayashizaki Y, Carninci P and Mattick JS. b. Small RNAs derived from snoRNAs. RNA [Links]
TAFT RJ et al. c. Tiny RNAs associated with transcription start sites in animals. Nat Genet [Links]
TAFT RJ, PANG KC, MERCER TR, Dinger M and Mattick JS. a. Non-coding RNAs: regulators of disease. J Pathol [Links]
Taft RJ et al. b. Nuclear-localized tiny RNAs are associated with transcription initiation and splice sites in metazoans. Nat Struct Mol Biol [Links]
TERRANOVA R, YOKOBAYASHI S, STADLER MB, OTTE AP, VAN LOHUIZEN M, ORKIN SH AND PETERS AH. Polycomb group proteins Ezh2 and Rnf2 direct genomic contraction and imprinted repression in early mouse embryos. DevCell [Links]
VALENTE L AND NISHIKURA K. ADAR gene family and A-to-I RNA editing: diverse roles in posttranscriptional gene regulation. Prog Nucleic Acid Res Mol Biol [Links]
ZHANG J AND WEBB DM. Rapid evolution of primate antiviral enzyme APOBEC3G. Hum Mol Genet [Links]
ZHAO J, SUN BK, ERWIN JA, SONG JJ AND LEE JT. Polycomb proteins targeted by a short repeat RNA to the mouse X chromosome. Science [Links]
Correspondence:
E-mail: steel-group.euk@steel-group.eu
Manuscript received on September 17, ; accepted for publication on October 15,
Rapid PHP is one of a suite of four editors from Blumentals Software in Latvia. The four editors are actually variations of one editor (WeBuilder) from which features are stripped to create the other products. The family dates back to
At the bottom of the heap Is Rapid CSS at $50, capable of editing CSS and HTML. At $60 is HTMLPad, which adds JavaScript to the mix. $70 gets you Rapid PHP, supporting PHP and associated technologies such as SQL and Apache. At the top of the pyramid is the main product, WeBuilder, costing $90 and adding support for Ruby, ASP/.NET and Python. Upgrade prices are less; Rapid PHP's upgrade price is $ Blumentals offers lower-cost Academic and personal licenses as well as volume pricing for multiple seats.
A special "team" license is available for some of the products. For Rapid PHP, a license for four (4) users is $ with an upgrade price of $
When comparing pricing, the initial buy-in is one thing but the more important consideration is the long-term upgrade cost. Blumentals has been updating this suite about every two years, so an upgrade cost of $50 is $25 per year, a bargain in anybody's book.
| The Rapid PHP IDE in its default livery, the "Flat Blue" Interface Style. |
This article focuses entirely on Rapid PHP and its capabilities. Because I have no need for Ruby, ASP/.NET or Python at the moment, I can't comment on WeBuilder's support for them. However, those interested in Rapid CSS or HTMLPad can be reasonably sure that comments here about how Rapid PHP handles CSS and HTML will apply to those lesser products.
Here are my overall conclusions.
Last year I bought Rapid PHP and upgraded this year to Rapid PHP I use it daily as my primary PHP editor. It has dramatically improved my PHP coding productivity and enhanced my CSS and JavaScript editing. For those reasons alone, I consider it an excellent product, more than worth its bargain price.
Despite the small size of the company, Blumentals has been responsive regarding support and feature suggestions. After the release, several quick updates to address problems were posted. You don't see that often.
I know that Rapid PHP is not the pinnacle of PHP tools. Nonetheless, I have absolutely no hesitation in recommending it.
And now, let's drill down a bit.
Notable New Features
There is a comprehensive list of new and improved features at Blumentals' Web site. Regrettably, most of it is fluff and a large number of the listed improvements are vaguely stated, without specifics. It is thus extremely hard to determine what has changed without long experience.
Here is my list of the most notable improvements.
Dark Visual Theme
I qualify as a senior citizen and my eyes are showing their age. I'm finding my preferred black on white displays much brighter than in the past, which is a combination of better displays and my age. Dark themes are in vogue, which I don't care about. However, I find that they are easier for me to work with.
Therefore, I appreciate having the dark themes and consider it an important improvement.
Rapid PHP's display is controlled in two ways, one called the "Interface Style," which cannot be controlled by the user other than by selecting a packaged style, and the other "color schemes," which the user can manage. These two are not integrated, something for possible improvement in the future.
High DPI Support
The changes in this category are designed to improve the visuals on larger displays with more dots per inch. This is primarily evident in the new set of icons. I don't have a high DPI display and I found the new icons low-contrast and "fuzzy," but the intent is good.
Automatic PHP Installation
With previous editions of Rapid PHP, installing an executable version of PHP was a separate task. It wasn't hard, but it was separate. Rapid PHP automatically installs PHP and configures Rapid accordingly, a very nice touch.
Unfortunately, the automatic install is for PHP The world is PHP 7 or moving rapidly towards it. I therefore installed PHP manually and configured Rapid myself.
Having the executable available is necessary to enable PHP syntax checking, so this is no small thing. Kudos to Blumentals for the automation but a slight ding for not moving to 7 and another small ding for not allowing the developer to choose.
Live PHP Syntax Checking
Rapid's previous strategy for live syntax checking was to check every time a line of code was added or deleted. This meant that if a line was edited and the file's line count did not change, no syntax check was invoked. It was awkward.
Now Rapid checks syntax when the cursor is moved away from a line that has changed (which incorporates line deletions and additions) and also when a file is saved. Checking on save handles the case where a line has been changed and the file is saved before the cursor moves off the line.
This very small change dramatically improves syntax checking for PHP and is an enormous improvement. I consider it the biggest improvement in Rapid PHP and worth the price of the upgrade by itself.
Syntax checking is not without its quirks. None are deal-breakers but the one that bothers me the most is that no changes were made to accommodate the dark interface styles, which means that the message about the syntax error is extremely difficult to see.
Bootstrap 3 & 4 Supported
Rapid PHP already provided support for a wide range of frameworks. Adding Bootstrap is important given the rabid interest in responsive Web sites. It's a plus.
The IDE
It isn't very hard to find competent PHP editors. An integrated development environment (IDE) is a different story. Microsoft's Visual Studio Code is garnering a lot of attention; while it is an excellent PHP editor, it lacks most of the project management features provided by products with a full IDE.
Rapid PHP is also missing some features, almost all of which force the developer to use another program to handle some publishing chores. I use Expression Web (because that's where I've come from) but if I didn't I would use FileZilla or some other third-party FTP program.
| The Rapid PHP IDE: File Explorer on the left and Code Explorer on the right (my preference, not the default), with the editor window in the middle. "Flat Dark" interface style shown. Click to enlarge. |
Code Explorer
Rapid's greatest strength is the Code Explorer, a panel that alphabetically lists the names of everything in the current module. That, combined with search and a few other handy features for locating items of interest, results in excellent navigation through even large projects. The Code Explorer is probably the second most important contributor to my happiness after PHP syntax checking, especially when dealing with larger modules.
When switching modules, Code Explorer populates almost instantly. A common action is to use the Find Declaration tool to load the module containing the desired declaration, whereupon Code Explorer instantly shows the full context of that module. I find it a very effective way to move around in code. And it is very fast.
File Explorer
Rapid PHP's File Explorer is familiar, presenting the project (i.e., a file folder) as an expandable list of sub-folders. A such, it is hard to criticize.
However, it falls a bit short of the features needed by an IDE. I would not even mention such shortcomings except for the presence of a very huge problem, the absence of the ability to publish groups of files at one time. You may infer, correctly, that one file can be selected and published. But that's it.
When I say "publish," I mean uploading via FTP. I use the term publish because I am deeply imbued of the concept from FrontPage/Expression Web, where FTP is not the only available publishing target. For example, one can publish to another location on the local PC, a handy way to make backups.
What's missing? Here is what cannot be published:
- A folder.
- More than one file.
- A collection of files and folders.
- A collection of files/folders found as the result of a search.
I am very spoiled by the inclusion of these publishing options in past Microsoft products and I am frustrated by their absence in Rapid, especially because I think them all (except for search) relatively easy to implement.
Another missing feature is the ability to create new files via the context menu on files and folders. The "New" feature on the context menu for files does not bring up the same dialog presented when choosing File | New (Ctrl+N) from the main menu.
If a file is open in Rapid and is changed in an outside program, Rapid provides a warning and asks if you want to update the open file. No such facility is present in the File Explorer; if the folder structure changes externally, File Explorer must be updated manually (F5).
I don't think it will take much work to dramatically improve File Explorer and I look forward to a more robust component in the next release.
Searching
I was chided in a post at the Blumentals forums for suggesting search as a way to accomplish a particular task. Search might not be sexy but it is powerful, flexible, and rapid.
A minor gripe about search is that it is split in two - Search and Find in Files. It's a very minor gripe fueled by years of using FrontPage and Expression Web, where search is integrated into a single, comprehensive dialog (admittedly missing one feature). One is not easier or quicker to use than the other; this is purely a matter of personal preference. One improvement I made was to assign a keyboard shortcut, co-opting Shift+Ctrl+F from Font (that's a relic of the past) to Find in Files.
| Rapid's Find in Files dialog. |
| Rapid's Find dialog. |
Speaking to its long history, Rapid PHP still supports the F3 key as a way to jump to the next item found. I'm old enough to find that helpful.
Where search falls down is in the presentation and handling of search results.
First, location, location, location. Search results include the line and character number of each found item. If you subsequently edit the file, those results go stale. Rapid knows it because if you double-click a result to navigate to it after the file is changed, a bell is rung. I'm spoiled by editors that constantly update results when the module is edited.
Second, I am used to being able to take file actions using the search results list. For example, consider a global search and replace that results in changes to 50 files. An obvious next step is publishing those files, but there is no way to select them. I continue to use Expression Web for these kinds of searches.
I remain convinced that a unified search dialog is preferable to having two. At least that way Ctrl+F would get you everything.
"RapidSense"
AutoComplete and Code Intelligence (the latter being Blumentals' name for what most of us usually call IntelliSense and I have dubbed "RapidSense") is a valuable feature in any IDE. It is very good in Rapid PHP and it is a key reason why my productivity with PHP is so much higher in Rapid than it was in the past. It's another single feature worth the purchase price.
It does have a quirk in that it combines knowledge about your code (all of PHP and what it can learn about your code) with usage information. This is a bit tricky to explain; let me try with an example.
I have a class called "db_writer" that does what you would probably guess. I have a habit of naming an instance of the class $dbw. As expected, when I type
Rapid responds by showing me the methods and properties of db_writer. But if I just type
Rapid also shows me db_writer's properties and methods even though it has no context to know that $dbw refers to db_writer. There is only one explanation for this, which is that Rapid remembers usage. Sure enough, when Rapid displays its suggestions in this case it marks them as usage rather than as properties, methods, or constants.
The quirk is that it only shows usage. This can be confusing at first. When I first struggled with this I thought I was referencing the wrong thing because I did not see the methods I was expecting. Now that I finally understand it, I realize it helps me to know that I haven't provided the proper context.
Help
Why did I explain that RapidSense quirk above? Because Rapid's Help system is terrible.
Help is not included with the product as a Windows help file but rather links to Blumentals' Web site. That would be okay with me if the help site was any good. It's not nearly up to date and it is missing huge swaths of useful information, such as something that would explain RapidSense clearly. It appears that Blumentals has not updated the help system for a long time.
I suspect that this help system is rarely used, leading Blumentals to put its resources on more productive work. I can understand that; I'm not new to IDEs and perhaps the same can be said for most Rapid PHP users, so I don't need my hand held.
However, something like the RapidSense example above is a nuance. That is where help can be most valuable. Rapid's help is lowest common denominator stuff, not nuances.
Project Management
Rapid PHP has the rudiments of project management but it is not enough for me. Again, I'm spoiled by Microsoft tools and, in particular, Expression Web. It has been frustrating because I wanted to try to use Rapid as much as possible but I can't just yet. Rapid offers no improvements in this area.
A significant problem with Rapid is that it cannot launch multiple instances. Two projects (or more) can't be open at the same time.
On a good note, a devoted Blumentals fan and prolific extension author, Peter Klein (pmk65) came to the rescue with a brilliant new plug-in named Project Workspace. Peter was able to write the plug-in because of new features in Rapid that enable more complicated extensions, so indirect credit goes to Blumentals.
Functionally, the plugin is simple. When switching between projects, Project Workspace remembers the state of the IDE workspace before making the switch. When loading a previously-saved project, it restores that project's previous state. It thrashes a little bit; while disconcerting at first, the behavior is easily overlooked given the dramatic improvement the plug-in brings.
While not a complete solution to the missing project management features in Rapid, Project Workspace is a must-have. Don't use Rapid without it!
Side note: I've been writing about software since This is the first time I have recommended a third-party component as required to fill in gaps in the parent product.
Conclusions
The big problem with Rapid PHP is that it is not quite a comprehensive IDE. It is insufficient on its own for project work, at least for what I need. In my mind it will not take much to get the product to the next level but it remains short for now.
And it is important that Blumentals pushes to this next level. For whatever reason, PHP has not been a huge priority for the team behind Visual Studio Code (VSC); Microsoft seems more interested in Python. However, the distance between VSC and my holy grail of a PHP IDE is about the same as the distance Rapid PHP must travel. The danger, of course, is that VSC is free.
Rapid PHP has been an enormous boon to my PHP productivity and quality. I use it every day and would miss it if it was suddenly taken away. Combine that with its irresistible price and there is no question that Blumentals Rapid PHP is a winner. I have no reservations about recommending it.
Tags: PHP, Programming, Rapid PHP
Related Articles
Visual Studio Code - First Look
September 11, (coding, development, Expression Web, Programming, Visual Studio Code)
Will I Keep Using Rapid PHP ?
August 18, (PHP, PhpStorm, Programming, Rapid PHP, Visual Studio Code)
Expression Web: The Final Denouement
August 10, (Expression Web, Programming, Rapid PHP, Visual Studio Code, Web)
Expression Web 4 vs. Rapid PHP
March 30, (Expression Web, PHP, Programming, Rapid PHP, Web)
Blumentals' Rapid PHP
September 25, (Expression Web, PHP, Programming, Rapid PHP, Web)
A total of 13 related articles were found. See them all
Источник: [steel-group.eu]
What’s New in the Rapid PHP Editor 2007 serial key or number?
Screen Shot

System Requirements for Rapid PHP Editor 2007 serial key or number
- First, download the Rapid PHP Editor 2007 serial key or number
-
You can download its setup from given links: