BBEdit
Encyclopedia
BBEdit is a proprietary
text editor
made by Bare Bones Software
. It was originally developed for Macintosh System Software 6 and is now available for Mac OS X
.
BBEdit is marketed under the trademark slogan, "It doesn't suck."
" to replace the TextEdit
control used in Mac OS
at the time, which could not read files larger than 32K. Taking advantage of its then-unusual plugin support, third party developers started writing plug-ins to insert HTML
code in 1994 to make composing web pages easier. In fact, the developers at Bare Bones Software first learned of the existence of HTML through users inquiring about these plug-ins and later bought the rights to the code from their author and included them as part of the standard BBEdit package. The tools were included as an optional palette
in version 4, and were progressively more integrated, gaining their own menu in version 5.0.
BBEdit was available at no charge upon its initial release in 1991, but was commercialized in May 1993 with the release of version 2.5.http://www.mactech.com/articles/mactech/Vol.09/09.07/Jul93Newsbits/index.html
At the same time, Bare Bones Software also made a less-featured version of BBEdit 2.5 called BBEdit Lite
available at no cost. Bare Bones Software discontinued BBEdit Lite at version 6.1 and replaced it with TextWrangler
, which was available for a fee, although significantly less than BBEdit. Several years later it too was released for free.
BBEdit's creator code
s and web designers. It has native support for many programming languages and custom modules can be created by users to support any language. BBEdit is not a word processor
, meaning it does not have text formatting or page layout features.
The application contains powerful multi-file text searching capabilities including strong support for Perl
-compatible regular expression
s. BBEdit allows easy previewing and built-in debugging of HTML
and provides built-in prototypes for most HTML constructs. It also includes FTP
and SFTP
tools and integrates with code management systems
. BBEdit shows differences between file versions and allows for the merging of changes. Support for version control, including CVS
, Perforce
, and Subversion is built in.
Some applications and integrated development environment
s (IDEs), including Apple's Xcode
provide direct support for using BBEdit as a third-party source code editor
.
BBEdit supports the Open Scripting Architecture and can be scripted using AppleScript
and other languages, as well as having the ability to execute AppleScripts itself.
for a wide variety of popular computer languages. As of version 8.7, these include: ANSI C
, C++
, CSS
, Fortran
(through Fortran 95), HTML
, Java
, JavaScript
, JSP
, Object Pascal
, Objective-C
, Objective-C++, Perl
, PHP
, Python
, Rez
, Ruby
, Setext
, SQL
(including Transact-SQL
, PL/SQL
, MySQL
, and PostgreSQL
), Tcl
, TeX
, UNIX shell scripts, XML
, and YAML
. BBEdit's SDK allows users to develop additional language modules.
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
made by Bare Bones Software
Bare Bones Software
Bare Bones Software is a Bedford, Massachusetts, USA software company developing software tools for the Apple Macintosh platform. The company is best known for its BBEdit text editor, marketed under the registered trademark "It doesn't suck," and has been mentioned as a "Top-Tier Mac developer" by...
. It was originally developed for Macintosh System Software 6 and is now available for Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
.
BBEdit is marketed under the trademark slogan, "It doesn't suck."
History
The first version of BBEdit was created as a "bare bones" text editor to serve as a host application for a "proof of conceptProof of concept
A proof of concept or a proof of principle is a realization of a certain method or idea to demonstrate its feasibility, or a demonstration in principle, whose purpose is to verify that some concept or theory that has the potential of being used...
" to replace the TextEdit
TextEdit (API)
TextEdit was the name of a collection of application programming interfaces in the classic Mac OS for performing text editing.These APIs were originally designed to provide a common text handling system to support text entry fields in dialog boxes and other simple text editing within the Macintosh...
control used in Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
at the time, which could not read files larger than 32K. Taking advantage of its then-unusual plugin support, third party developers started writing plug-ins to insert HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
code in 1994 to make composing web pages easier. In fact, the developers at Bare Bones Software first learned of the existence of HTML through users inquiring about these plug-ins and later bought the rights to the code from their author and included them as part of the standard BBEdit package. The tools were included as an optional palette
Palette (computing)
In computer graphics, a palette is either a given, finite set of colors for the management of digital images , or a small on-screen graphical element for choosing from a limited set of choices, not necessarily colors .Depending on the context In computer graphics, a palette is either a given,...
in version 4, and were progressively more integrated, gaining their own menu in version 5.0.
BBEdit was available at no charge upon its initial release in 1991, but was commercialized in May 1993 with the release of version 2.5.http://www.mactech.com/articles/mactech/Vol.09/09.07/Jul93Newsbits/index.html
At the same time, Bare Bones Software also made a less-featured version of BBEdit 2.5 called BBEdit Lite
BBEdit Lite
BBEdit Lite is a freeware text editor by Bare Bones Software, created as a low-cost, stripped-down or "lightweight" version of their flagship product BBEdit. BBEdit Lite had many of the same features as BBEdit such as regular expressions, a plug-in architecture and the same text editing engine...
available at no cost. Bare Bones Software discontinued BBEdit Lite at version 6.1 and replaced it with TextWrangler
TextWrangler
TextWrangler is a text editor for Mac OS X from Bare Bones Software. It was originally a commercial product, but has become the freeware alternative to their flagship editor, BBEdit, and the successor to their previous freeware editor, BBEdit Lite.Like BBEdit, TextWrangler is not a word processor...
, which was available for a fee, although significantly less than BBEdit. Several years later it too was released for free.
BBEdit's creator code
Creator code
A creator code is a mechanism introduced in pre-Mac OS X versions of the Macintosh operating system to link a data file to the application program which created it, in a manner similar to file extensions in other operating systems. Codes are four-byte OSTypes. For example, the creator code of the...
R*ch
refers to Rich Siegel, Bare Bones Software's founder.Features
BBEdit is designed for use by software developerSoftware developer
A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...
s and web designers. It has native support for many programming languages and custom modules can be created by users to support any language. BBEdit is not a word processor
Word processor
A word processor is a computer application used for the production of any sort of printable material....
, meaning it does not have text formatting or page layout features.
The application contains powerful multi-file text searching capabilities including strong support for Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
-compatible regular expression
Regular expression
In computing, a regular expression provides a concise and flexible means for "matching" strings of text, such as particular characters, words, or patterns of characters. Abbreviations for "regular expression" include "regex" and "regexp"...
s. BBEdit allows easy previewing and built-in debugging of HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
and provides built-in prototypes for most HTML constructs. It also includes FTP
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...
and SFTP
SSH file transfer protocol
In computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...
tools and integrates with code management systems
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...
. BBEdit shows differences between file versions and allows for the merging of changes. Support for version control, including CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
, Perforce
Perforce
Perforce is a commercial, proprietary, centralized revision control system developed by Perforce Software, Inc.-Architecture:Perforce is a client/server system.The server manages a central database and a master repository of file versions....
, and Subversion is built in.
Some applications and integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
s (IDEs), including Apple's Xcode
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...
provide direct support for using BBEdit as a third-party source code editor
Source code editor
A source code editor is a text editor program designed specifically for editing source code of computer programs by programmers. It may be a standalone application or it may be built into an integrated development environment ....
.
BBEdit supports the Open Scripting Architecture and can be scripted using AppleScript
AppleScript
AppleScript is a scripting language created by Apple Inc. and built into Macintosh operating systems since System 7. The term "AppleScript" may refer to the scripting system itself, or to particular scripts that are written in the AppleScript language....
and other languages, as well as having the ability to execute AppleScripts itself.
Language support
BBEdit supports syntax highlightingSyntax highlighting
Syntax highlighting is a feature of some text editors that display text—especially source code—in different colors and fonts according to the category of terms. This feature eases writing in a structured language such as a programming language or a markup language as both structures and...
for a wide variety of popular computer languages. As of version 8.7, these include: ANSI C
ANSI C
ANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...
, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...
, Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
(through Fortran 95), HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
, Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
, JSP
JavaServer Pages
JavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...
, Object Pascal
Object Pascal
Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Embarcadero Delphi.-Early history at Apple:...
, Objective-C
Objective-C
Objective-C is a reflective, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.Today, it is used primarily on Apple's Mac OS X and iOS: two environments derived from the OpenStep standard, though not compliant with it...
, Objective-C++, Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
, PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
, Rez
Rez
Rez, developed under the codename K-Project, Project Eden, and Vibes, is a rail shooter video game released by Sega in Japan in 2001 for the Dreamcast and PlayStation 2, with a European Dreamcast release and United States PlayStation 2 release in 2002...
, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
, Setext
Setext
Setext is a lightweight markup language used to format plain text documents such as e-newsletters, Usenet postings, and e-mails. In contrast to some other markup languages , the text is easily readable without any parsing or special software....
, SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
(including Transact-SQL
Transact-SQL
Transact-SQL is Microsoft's and Sybase's proprietary extension to SQL. SQL, often expanded to Structured Query Language, is a standardized computer language that was originally developed by IBM for querying, altering and defining relational databases, using declarative statements...
, PL/SQL
PL/SQL
PL/SQL is Oracle Corporation's procedural extension language for SQL and the Oracle relational database...
, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
, and PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...
), Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
, TeX
TeX
TeX is a typesetting system designed and mostly written by Donald Knuth and released in 1978. Within the typesetting system, its name is formatted as ....
, UNIX shell scripts, XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
, and YAML
YAML
YAML is a human-readable data serialization format that takes concepts from programming languages such as C, Perl, and Python, and ideas from XML and the data format of electronic mail . YAML was first proposed by Clark Evans in 2001, who designed it together with Ingy döt Net and Oren Ben-Kiki...
. BBEdit's SDK allows users to develop additional language modules.