ebook: programming tools (english)

61
Programming Tools 01 Python 02 Html5 03 Java 04 Javascript 05 PHP 06 Perl

Upload: centro-de-innovacion-bbva

Post on 23-Jul-2016

228 views

Category:

Documents


4 download

DESCRIPTION

All of the tools which you need to rely on to develop in any programming language are compiled in this ebook: from HTML to Java, PHP to Python... among others. BBVA Open4U is releasing a series of ebooks to compile information of interest for entrepreneurial developers. The second issue of the series focuses on programming tools, touring the reader around six of the main languages that any developer must control and understand. If you are a developer and want to make the most of the different available programming tools, this ebook contains a deep analysis of six programming languages: Python, HTML5, Java, Javascript, PHP and Pearl. This ebook contains all of the necessary elements for a developer to handle in order to become a full-stack developer.

TRANSCRIPT

Page 2: Ebook: Programming tools (English)

PythonOne of the latest focuses in the market, being deployed to a

great extent among the community of American developers, is

the Python programming language, which allows projects to be

carried out swiftly and in a versatile way.

Page 4: Ebook: Programming tools (English)

The tools in that box of services are:

CRICKETThis is a graphical tool for

running unit tests. The tool does

not offer many details of the

execution while the suite is

underway and it is not possible

to start looking for faults until

execution is complete. This

results in Cricket not being a

great tool for identifying patterns

of faults in these unit tests or for

rerunning failed tests. Cricket

supports Django, a framework of

open source code that is written

in Python and used to develop

web applications faster.

BUGJARThis is a tool for debugging

code errors. The old debuggers

were good for their integrated

development environments and

being able to debug errors

visually during execution. The

Python debugging model

contains appealing debugging

methods. It also has a graphical

interface that lets you navigate

the code to correct errors.

DUVET This is a graphical interface that

helps developers visualize the

results of coverage of tests

returned by coverage.py, a tool

that works to measure coverage

of program code in Python.

Such actions serve to measure

the effectiveness of tests,

separately showing which parts

of the code are worked by

testing and which are not.

01. PYTHON / BEEWARE

Page 5: Ebook: Programming tools (English)

BeeWare also has a number of libraries for projects in Python:

TOGAA package of native tools for

each system, made in Python

that can be used for desktops

and mobiles.

iOS TEMPLATEA template that allows us to

develop applications in Python

but implement them in iOS.

ANDROID TEMPLATE A template to implement

Python code in Android.

RUBICONThis is a collection of tools to

establish relationships between

the Python programming

environment and others.

CASSOWARYPure implementation in Python of the

algorithm of solutions of limitations of

Cassowary (algorithm that has been

used within Mac OS and iOS since 2011.

01. PYTHON / BEEWARE

Page 7: Ebook: Programming tools (English)

The user interface consists of a set of separate tools used to create and debug applications

developed with Python:

PALETA This tool allows developers to access objects

such as buttons, text boxes, frames and create

packages and modules for our applications.

This is the first step to generating a new

development for Python.

INSPECTOR Objects can be accessed through

this tool

EDITOR this is the part of BOA Constructor where

developers can access the source code of the

application they are creating. You can correct

errors and run the application to identify them in

the editor.

There is an interesting tutorial on the web which

can serve as a guideline for beginners.

EXPLORER This allows you to browse and

review data items.

01. PYTHON / BOA CONSTRUCTOR

Page 9: Ebook: Programming tools (English)

PYDEV FOR ECLIPSE PyDev is a Python package for Eclipse, an extremely versatile IDE, which is able to support not only the

Python language, but many others. It has particularly interesting features if you want to program applications:

• Integration with Django, a framework for web

development of open source written in Python.

Django allows developers to create complex

web projects through rapid development using

the Don’t Repeat Yourself computing principle,

which seeks to remove duplication in

development processes.

• Code completion.

• Syntax highlighting.

• Code analysis.

• Debugger and remote debugger.

• Interactive browser.

• Refactoring.

• Unit Testing Integration.

• Source code coverage

01. PYTHON / INTEGRATED DEVELOPMENT

Page 10: Ebook: Programming tools (English)

PYCHARM T is an IDE created by JetBrains. It has an incredible reputation within the Python developer community.

Some even describe it as the best IDE for Python. This is an integrated development environment with

hundreds of functions, which can turn the tool into a tedious environment, but it is certainly a great choice

for programming.

Some of its key features are:

• Integration with frameworks such as Django,

Flask, Pyramid or Web2Py.

• Auto-completion.

• Syntax highlighter.

• Analysis tool.

• Refactoring.

• Advanced Python and JavaScript debugger.

• Compatibility with programming tools and

languages for developers in Python such as

SQLAlchemy (ORM), Google App Engine or

Cython.

• Version control system such as Git, CVS and

Mercurial.Sistema de control de versiones como

Git, CVS y Mercurial.

For example, in this video one of the developers of

JetBrains designs a clone of the Pinterest social

network with tools from the PyCharm integrated

development environment.

01. PYTHON / INTEGRATED DEVELOPMENT

Page 12: Ebook: Programming tools (English)

Html5Any developer designing the front-end of a project must be very familiar

with the design trilogy: HTML, CSS and JavaScript. This is a brief list of what

we think are some of the best HTML tools for programmers, helping you to

find the resources you need for your projects.

Page 14: Ebook: Programming tools (English)

SUBLIME TEXT This code editor is not free - with a license costing 70 dollars - but you can download a free trial version.

This is a very popular solution among developers, providing a carefully developed user experience. Sublime

is used by many developers, who rate it as the best code editor out there.

• Available for Windows, Mac OS X and Linux.

• Supports many programming languages: HTML,

C, C++, Groovy, Java, JavaScript, Lisp, Perl,

PHP, Python, Ruby, SQL, etc.

• Shortcuts for searches.

• Distraction free mode for writing code.

• Auto-complete function.

• Highly customizable editor.

• Supports macros.

• Extend functionality using plugins.

Some of its key features include:

02. HTML5 / HTML EDITORS

Page 15: Ebook: Programming tools (English)

ATOMA free, open-source editor that is highly customizable. Launched by GitHub, the collaborative project

development platform. This tool is creating quite a buzz in the developer community. The strength of this

editor is that many programmers are helping to improve it through GitHub.

• Available for Windows, Mac OS X and Linux.

• Fully customizable: its creators boast that developers

can change the editor in any way they like, including

its core.

• Node.js integration: allowing any user to use

hundreds of Node.js packages and libraries.

• File browsing system.

• Search and replace in work files.

• Multiple panels, cursors and selectors.

• Simple and clean user interface.

• Customizable modular design: the editor allows users

to design their own modules, incorporating new

functionality.

Interesting features of Atom:

02. HTML5 / HTML EDITORS

Page 16: Ebook: Programming tools (English)

NOTEPAD++Perhaps one of the best known code editors on the market. This tool is governed by a GPL

license (General Public License). It could be described as Notepad on steroids. It offers

developers and programmers a number of interesting features:

• Code coloring to facilitate programming, not just

for HTML, but for all the languages Notepad++

supports: Python, Ruby, PHP and JavaScript.

• Code auto-complete. You don't need to type all

the HTML tags. Customizable keyboard

commands.

• Ability to work on several documents at the

same time.

• Multi-view. Visualize the code in a number of

ways.

• Regular expressions to automate actions.

• Automatic document status detection. This is a

useful feature when a team is working on the

same document.

• Record and copy macros.

• Zoom in.

• Support for several languages.

02. HTML5 / HTML EDITORS

Page 17: Ebook: Programming tools (English)

EDITRAA multi-platform text editor. Its developers highlight its easy-to-use interface and features that aid code

development. Editra is totally free under a LGPL license. It supports over 60 programming languages,

including Python, PHP, Perl, Java, Lisp, SQL, Visual Basic and Pascal.

• Allows you to work with tabs and on several

documents at once.

• Includes a search engine.

• Features an editor and syntax highlighter.

• Auto complete function.

• Keyword help.

• Enhance functionality with plugins.

02. HTML5 / HTML EDITORS

Page 18: Ebook: Programming tools (English)

TEXTWRANGLERA text editor developed by Bare Bones Software. It boasts a simple and intelligent interface with

functionality for high performance code programming. Some of its features include:

• Support for various programming languages,

including HTML, C, C++, Fortran, Java, Object

Pascal, Objective-C, Perl, Python, Ruby, etc.

• Syntax colors to facilitate code programming.

• Search and replace across multiple files.

• Language configuration for the working

document.

• Can be used as an external editor integrated

with Xcode, Apple's integrated development

environment.

• Integrated support for FTP access using

Interarchy.

• Keys configurable by the developer.

• List of floating windows.

02. HTML5 / HTML EDITORS

Page 20: Ebook: Programming tools (English)

BOOTSTRAPIs the Twitter framework for responsive and adaptive website design and development in HTML, CSS and

JavaScript. Bootstrap is a widely-used framework among today's front-end developers.

• This framework is backed by Twitter, so it is

unlikely to become obsolete.

• Although it only has limited support for HTML5

and CSS3, are compatible with current browsers.

• It is open source and shared on GitHub. This

makes it special as it is used and continuously

improved by many developers.

• It makes working with JavaScript much easier:

the developer doesn't need to get programming:

many components are available allowing

implementation of special resources with no

need for coding. And that is a major advantage!

• All of these components are based on jQuery.

Enables us to add new functionality to the user

interface: from a carousel effect in the site

header to the creation of groups of buttons and

alerts. And its enormous popularity means that

more and more third-party plugins are becoming

available to automate much of this functionality.

• Bootstrap uses the LESS dynamic stylesheet.

• It also offers comprehensive documentation: if

you have a project or a doubt, or need to solve a

difficult situation, documentation and tutorials are

available to help.

02. HTML5 / FRAMEWORKS FOR HTML5

Page 21: Ebook: Programming tools (English)

HTML5 BOILERPLATE:This is the other major HTML5 framework. Its key features include:

• Support for old browsers. HTML5 Boilerplate

offers a feature detection library known as

Modernizr. This can determine whether the

user's browser supports HTML5 and CSS3. If it

doesn't, an additional function is loaded enabling

old browsers to load all site elements.

• Improved load times. With the increasing

consumption of information on mobile devices,

website load times are becoming an essential

competitive tool. In HTML5 Boilerplate, all

scripts elements are at the end of the page,

meaning that display of the site's key elements is

not delayed by slow loading. This affects almost

all elements, including the usual Google

Analytics tracking code.

• Server-side optimization: HTML5 Boilerplate's

.htaccess folder enables a more efficient cache

and allows us to send our websites compressed

as GZIP, together with images and JavaScript

elements, optimizing site performance and

reducing load times.

02. HTML5 / FRAMEWORKS FOR HTML5

Page 23: Ebook: Programming tools (English)

JavaJava is a general-purpose object-oriented language

widely used within the developer community. This is

a list of the basic tools for developing projects using

this programming language.

Page 25: Ebook: Programming tools (English)

NETBEANS

For creating desktop, mobile or web Java applications. It also enables applications to be developed in

HTML5 (HTML, JavaScript and CSS) and has tools for PHP, C and C++ programmers. NetBeans is an open

source IDE developed in Java. Any application developer can download it free of charge.

• NetBeans is more than a text editor: It enables

simple code refactoring, provides templates and

code generators, and offers programming tips.

In addition to Java, it supports C, C++, XML,

HTML, Javadoc, JavaScript and JSP.

• Organized project management: NetBeans

enables you to organize all your applications in a

folder service. This makes collaborative work

with other developers much easier. Version

control is essential in that management, and this

is why NetBeans includes tools such as

Mercurial, Subversion and Git.

• Fast user interface development: NetBeans has

its own graphical user interface (GUI) for Java,

HTML5, PHP or C/C++. This interface has easy-

to-use drag and drop tools for designing apps.

• Error debugger: Has tools for optimizing the

applications in terms of speed and memory

usage. This enables the development of

applications that fulfill an essential condition:

scalability.

03. JAVA / IDE

Page 27: Ebook: Programming tools (English)

INTELLIJ IDEA

An IDE developed in Java by Jet Brains under two types of licenses: open source and commercial. It is one

of the most widely used development environments within the Java community and some consider it the

best IDE on the market if you develop projects using this programming language.

The tools it offers include:

• Advanced code refactoring system.

• A system for completing code while

programming.

• Code error analysis in real time.

• Version control system.

• UML (Unified Modeling Language) designer.

• It enables development with Java frameworks

such as Spring MVC, GWT, Vaadin, Play, Grails,

Web Services, JavaServer Faces, Apache Struts

and Flex.

• It includes assistance for programming in code in

HTML5, CSS3, JavaScript, Node.js, ActionScript

and several other languages.

03. JAVA / IDE

Page 29: Ebook: Programming tools (English)

Some features of the tool:

• Multiplatform tool: gvNIX works under several

operating systems (Windows, Mac OSX and

Linux). It can also be integrated with any IDE,

such as Eclipse and STS. All that is needed to

install it is the Java SDK (version 6 or later) and

Apache Maven 3.

• Command interpreter: gvNIX is designed as an

interactive command interpreter. It offers

command autocomplete and context-sensitive

help.

• JEE standard projects: The projects created

with this tool are compliant with the JEE

standard, the platform for developing and

running application software in the Java

programming language.

• Without dependencies on the execution

environment: The applications developed with

gvNIX only depend on the frameworks used by

the developer, without this causing a

dependency on the execution environment.

Another rapid application development (RAD) tool

is Spring Roo.

03. JAVA / GVNIX

Page 30: Ebook: Programming tools (English)

Apache Maven is a tool for managing and

designing projects in Java. This framework was

created in 2002 by Jason Van Zyl, from

Sonatype. Maven uses a Project Object Model

(POM), an XML file that is the basic work unit in

Maven. This file contains information on the

project and details of the configuration used by

the framework: from the list and configuration of

the plugins used, to the dependencies.

Framework: Apache Maven

03. JAVA / MAVEN03. JAVA / APACHE MAVEN

Page 33: Ebook: Programming tools (English)

JavascriptJavaScript is an essential language for developing web

projects and applications. Its use has extended to the entire

development stack. This is a list of JavaScript frameworks

and libraries for developers.

Page 34: Ebook: Programming tools (English)

JavaScript is one of the international

benchmarks in project programming. It is

used for web page and application

development, server and database

management… A professional who masters

JavaScript can become a full-stack

developer, i.e. one capable of taking charge

of the entire web development stack. A ‘jack

of all trades’ profile within the sector.

As proof of its power, in the latest TIOBE

report on the most widely used

programming languages for developers,

JavaScript ranks once again among the 10

top choices for professionals, behind

general-purpose languages like Java, C,

C++, Objective-C and PHP; easy-to-learn

languages such as Python; and .NET app

programming languages like Visual Basic.

04. JAVASCRIPT

Page 35: Ebook: Programming tools (English)

A server-side framework that enables

programmers to create web applications with

Node.js. It is a highly flexible and agile

development framework with a community of

programmers who improve the product and help

use it, with a great deal of additional

documentation on platforms like GitHub. It is also a

solid, stable and easy to use framework. It is

inspired in Sinatra, the development framework for

Ruby

EXPRESS:JS Some of its main features include:

• It enables APIs to be created in an accessible

way.

• It offers a URL router

• It uses Jade as a base framework, but

JavaScript libraries such as jQuery and

Backbone.js can be incorporated to add new

functionality to the development framework.

04. JAVASCRIPT / FRAMEWORKS

Page 36: Ebook: Programming tools (English)

Angular.js is an open-source and completely free

JavaScript framework that enables the

development of client-side web applications and

uses a Model-View-View Model development

pattern. Google is behind its launch and

maintenance, thus becoming a stable and solid

option, with constant documentation, for the

developer community. Angular.js is used for

developing single-page web applications (SPAs).

ANGULAR:JS Its key features are:

• Bidirectional data-binding system. The Model

and the View are always updated in sync

with any change in the data.

• It has a Dependency Injection pattern.

• Any application developed in AngularJS is

compatible with several browsers.

JavaScript adapts to each one.

04. JAVASCRIPT / FRAMEWORKS

Page 37: Ebook: Programming tools (English)

Ember.js is a JavaScript framework that enables

any developer to create client-side, single-page

web applications. It is open-source and uses a

Model-View-Controller (MVC) pattern. Some of the

key features of this development framework are:

EMBER:JS Its key features are:

• Automatic modification between the

JavaScript objects and the DOM: this

relationship between data that expedites the

development of applications is due to the

integration of the Handlebars.js library.

• Classes and procedures for easy rendering

of apps.

• It has a system of templates for

programming the application's HTML. This

system is called HTMLbars and would be the

variation of the Handlebars library's DOM

04. JAVASCRIPT / FRAMEWORKS

Page 38: Ebook: Programming tools (English)

Knockout.js is a development framework based on

a Model-View-View Model (MVVM) pattern. It is

open-source, under an MIT license. Any developer

wishing to start using it for developing a user

interface has tutorials and documentation on the

framework's own website.

KNOCKOUT.JS Some of its key features are:

• It facilitates the development of declarative

bindings.

• Dependency monitoring: it enables updating

of the changes in the View and the Model-

View for all independent objects and

elements

• System of templates.

• Automatic user interface updating based on

the changes made by the developer in the

Model-View.

04. JAVASCRIPT / FRAMEWORKS

Page 39: Ebook: Programming tools (English)

This is the most widely used JavaScript library

among developers. It enables simple interaction

with the HTML and the DOM, as well as doing all

kinds of animations, entering AJAX features in the

project… JQuery enables developers to provide

added value with a few lines of code. It is an open-

source library under MIT and GNU v.2. license.

JQUERY Some of its key features include:

• It enables modification of the DOM tree.

• Support for CSS3.

• Complete manipulation of CSS style sheets.

• Event creation.

• Development of complex animations.

• It supports extensions.

• Compatible with all browsers.

04. JAVASCRIPT / LIBRERIES

Page 40: Ebook: Programming tools (English)

Backbone.js is a JavaScript library that enables

client-side programming. It is used for single-page

application development, where the use of

JavaScript and AJAX is essential for providing user

functionality to the apps. It uses a Model-View-

Controller pattern.

BACKBONE.JS Its main features are:

• It facilitates data-intensive work. Event

creation.

• Link to the server-side technology: PHP,

Node.js…

• Use of API for adding features.

• Simplified use of views.

04. JAVASCRIPT / LIBRARIES

Page 41: Ebook: Programming tools (English)

Kendo UI is a library, or rather a package of

libraries, that provides all the elements needed by

developers to create client-side web applications,

with a dynamic user interface based on JQuery. In

the end, Kendo UI is usually used for developing

an intuitive, simple and innovative user interface

through different types of widgets that are

assembled like a Meccano. These predefined

elements include dynamic menus, extras, file

upload systems…

Features:

• It works with most browsers and operating

systems.

• It enables data visualization.

• Data-binding.

KENDO UI

04. JAVASCRIPT / LIBRARIES

Page 43: Ebook: Programming tools (English)

PHPThe programming language PHP is one of the most popular

options with developers for creating dynamic web projects

and applications. Scripts are executed on the server, it's

secure, and it has a short learning curve.

Page 44: Ebook: Programming tools (English)

PHP is one of the most widely used programming languages for developing web projects,

mainly because of its enormous penetration in both web servers and operating systems. It's

a robust solution and completely free of charge. Some of the greatest players on the

Internet, like Wikipedia and Yahoo, use PHP for their sites, as do leading content editors like

Wordpress and Drupal. And PHP is also used, for example, by the well-known Apache

servers.

There are several reasons why PHP is so popular:

05. PHP

• It's a language for developing dynamic web

applications from the data stored in a database.

• The learning curve is very short because PHP

developers have simplified its structure.

• PHP scripts are executed on the server, so no

one can access them from a browser. That

means greater security.

• It works seamlessly with open-source relational

databases like MySQL, another solution widely

used by developers.

• It supports object oriented programming.

Its enormous popularity has led to a vast array of useful tools for PHP developers, ranging

from frameworks to libraries.

Page 46: Ebook: Programming tools (English)

05. PHP / FRAMEWORKS

LARAVEL

A large community with extensive documentation

is usually one of the things that developers look for

when choosing a tool because it means they have

several options if they make a mistake or reach a

dead end. That's why Laravel is such a popular

framework with PHP developers.

Released in 2011 as an open source framework

for developing PHP web projects, it was created by

Taylor Otwell. The latest version is 5.1. Like most

frameworks, Laravel has the usual basics: routes,

models, templates, views and controllers. It also

has its own template engine, called Blade.

These are the main features:

• It supports RESTful.

• It requires the installation of Composer, the tool

for administering dependencies in PHP. This is

useful because once the libraries for the project

being developed have been declared, no further

action is required from the developer.

• It follows the MVC (Model-View-Controller)

pattern, which has two important advantages:

greater security, and complete separation of the

application logic from the user interface.

• It supports caching.

Page 47: Ebook: Programming tools (English)

05. PHP / FRAMEWORKS

CODEIGNITER

Like Laravel, CodeIgniter has a great community

behind it feeding it with ample documentation.

It's a simple but high performance development

framework with some interesting features:

• It works with most environments and servers.

• It follows the MVC pattern.

• Separation between the framework core and

the project script.

• Flexible development framework: developers

can follow its coding rules or use their own.

This means that there is no need to learn the

framework structure because it can be

changed. It supports the use of external

templates.

Page 48: Ebook: Programming tools (English)

05. PHP / FRAMEWORKS

SYMFONY

Symfony is a framework for developing web

applications using the Model-View-Controller pattern.

It was created by the company SensioLabs in 2005

and is distributed under the MIT open source license.

Completely developed in PHP, it can run on UNIX and

Windows platforms and is compatible with most of

the common database management systems:

MySQL, Microsoft SQL Server, etc.

Its main features are as follows:

• The database management system can be

changed at any time during

development, which is a major advantage.

• It uses object oriented programming.

• It follows Model-View-Controller patterns.

• It's a development framework that greatly

facilitates interoperability.

• It has its own user-friendly template

engine (Twig).

• It has a cache system based on HTTP

which enhances the performance of

applications developed with Symfony.

Page 50: Ebook: Programming tools (English)

PHP-CPPA C++ library for developing

native extensions. It can be

used by PHP developers and

also by developers who

program in C++, a language

with a syntax very similar. There

is ample documentation

for its projects and the source

code is full of explanations.

Developers who know how to

program in PHP will find the

PHP-CPP library very easy to

use with variables, functions,

objects and exceptions. And

they can also use all the added

advantages provided by C++,

such as arguments and

asynchronous programming.

HOAA modular, scalable and

structured PHP library. There

is a training manual

(containing several chapters

with technical information) to

get you started as well as

documentation to use it.

Hoa provides users with the

ability to create their own

libraries, which means that

the script can be reutilized

and shared. The idea is that

any programmer can take a

library developed by another

user and adapt it to the needs

of his or her own application

with its features and tools.

MINKMink is a very popular library

with PHP developers because it

lets them test how their web

applications interact with the

browser to check that they

work properly. Mink supports

the following frameworks:

PHPUnit, Behat and Symfony2.

05. PHP / LIBRARIES

Page 51: Ebook: Programming tools (English)

Pattern Lab is a framework for developing

the front end of web projects and

applications. It allows developers and

designers to make decisions about

templates and shows different alternatives

during the development process. Designs

can also be tested in browsers.

The tool facilitates front end design testing

in small elements like buttons and labels for

forms or complete templates with all their

design components (logo, navigation, etc.).

Guzzle is a special framework comprising all

the necessary tools for creating a client for

REST services like Twitter or GitHub, a

service for defining API inputs and outputs,

high performance batch processing for

sending large numbers of requests, etc.

It also eliminates redundancy in the creation

of web service clients, and has caching

mechanisms for the parallel execution of

responses and queries.

OTHER PHP TOOLS

05. PHP / TOOLS

Page 52: Ebook: Programming tools (English)

PerlPerl is a general-purpose easy-to-use programming language

that allows developers to write code rapidly. It also has

numerous libraries and modules that considerably extend its

functionality for developing web projects.

Page 53: Ebook: Programming tools (English)

Systems administration, online programming, development of web or CGI

(Common Gateway Interface) projects, and much more. Perl is a general-purpose language

currently enjoying a resurgence and increasingly being used in project development. This

language is attractive today as it is a pseudo-compiled syntax that is distributed free and can

be run on any platform with an interpreter for Perl.

The basic features of this programming language are:

06. PERL

• It is easy to use and allows rapid programming.

• It has a steep learning curve.

• It has libraries and modules, which increases its

functionality.

• It supports structured, object-oriented and

functional programming.

• It has a text processing system.

• It can be used in several environments:

Windows, Mac OS X and Linux.

Page 54: Ebook: Programming tools (English)

This Integrated Development Environment by

ActiveState not only allows programming in Perl,

but also in other programming languages such as

Python, PHP, Go, HTML and Node.js. The idea

behind Komodo IDE is to make it easy for

programmers to develop interfaces in Perl thanks

to features such as its version control, graphical

debugger, unit testing system, online help and

much more.

KOMODO IDE The latest advances in Komodo IDE make this a

much more convenient and functional tool:

• Has a panel that significantly reduces

interruptions and time wasting in

programming work.

• Has an intelligent collaboration system that

alerts each member of the team as to which

of their development co-workers are editing

code within the IDE at the same time.

• Rapid and automatic correction of syntax.

• The new package installer enables users to

incorporate new functionalities to the IDE

based on the features of each project.

• It introduces the focus mode, which enables

elements within the IDE to be hidden.

• Enhanced user interface. Integrated package

manager. Creation of customized settings for

everyday work. New notification system. A

variety of color combinations and themes.

Revision of its API: new SDK for developers.

06. PERL / IDE

Page 55: Ebook: Programming tools (English)

EPIC is an open-code Integrated Development

Environment with its own editor and debugger,

based on the Eclipse platform and compatible with

several systems: Windows, Linux and Mac OS X. It

is a fairly routine IDE for developing projects, with

CGI command sequences and whose integration

with Eclipse's Graphical User Interface offers an

interesting added value.

EPIC (Perl Editor and IDE for Eclipse) Its main features are:

• Configurable coloring of syntax elements.

• Automatic detection of syntax errors during

programming and when saving files.

• Autocompletion of variables.

• Execution control system.

• HTML export function.

06. PERL / IDE

Page 56: Ebook: Programming tools (English)

Emacs is an extensible, customizable self-

documented real-time text editor for the Linux

environment. It was written in 1975 by Richard

Stallman and Guy Steele, two key names in free

software. There are currently two versions of this

text editor: GNU Emacs, developed by Stallman

in 1984 and maintained since then by the

Emacs GNU project; and XEmacs, another

version of the editor based on the work of the

first, launched in 1991.

EMACS Some of its key features are:

• Simple text editing system: commands for

handling words and paragraphs, highlighting

of syntax to make the code easier to read,

and the option of running keyboard macros

through customized commands.

• The text editor can be modified to suit

developers' needs by incorporating

fragments of the Emacs Lisp code (code

libraries, packages or plugins) with new

functionalities:

• Calc: the editor incorporates a

calculator.

• Emacs/W3: a web browser.

• ERC: an IRC client.

• MULE: enables the editing of text

written in several languages.

06. PERL / TEXT EDITORS

Page 57: Ebook: Programming tools (English)

UltraEdit is an advanced text editor for Perl, PHP,

Java and JavaScript. This editor allows code

programmers to handle files of over 4 GB. This is a

pay tool, but it has a free trial period.

Some of its key features include:

• Configurable highlighting of syntax.

• Complete FTP support.

• Multipanel FTP browser.

• Smart templates.

• Code folding function to allow to hide the

parts of the code they have no need to see.

• Complete list of functions.

• CSS style editor.

• Incorporated search engine.

• Add comments in a line or a block in the

selected text.

• Editable macros.

• Integration of scripting language to automate

tasks.

• Design of customizable editor themes.

• Backup copy and automatic storage system.

ULTRAEDIT

06. PERL / TEXT EDITORS

Page 58: Ebook: Programming tools (English)

TextMate is a text editor with Graphical User

Interface (GUI) for the Mac OS X operating system.

It was developed by Allan Odgaard. It has a large

community that launches public contributions to

customize the editor according to the needs of

each project. This editor is constantly being

improved.

Some of its key features:

• Text search-and-replace function in a project.

• Search and replace text with regular

expressions.

• Dynamic format for working with several files.

• Blocks of folding code.

• Clipboard history.

• Recording of macros without the need for

programming.

• Browsing between files by using tabs.

• Customizable editor through a range of

themes.

TEXTMATE

06. PERL / TEXT EDITORS

Page 59: Ebook: Programming tools (English)

MOJOLICIOUSMojolicious is a real-time web framework for

developers in Perl. It was created by Sebastian

Riedel. This development framework uses the

standard Model-View-Controller (MVC) pattern and

supports CGI, FastCGI and PSGI. The framework

also supports RESTful routes, plugins, signed

cookies, unit testing, static file servers, templates,

JSON format and more. The website for this

framework also has very useful documentation for

beginners.

CATALYSTCatalyst is an open-code web framework that

uses a Model-View-Controller pattern. It is

multiplatform and has ample documentation

thanks to a large community of developers who

ensure constant and ongoing enhancements

for this software development brand. It is

inspired by Ruby on Rails.

06. PERL / FRAMEWORKS

Page 60: Ebook: Programming tools (English)

share

THIS MIGHT INTEREST YOU

Innovation Edge: APIs:

The business benefits of APIs

Ebook: Wearables, mobile revolution Apple's new services and APIs for

applications developers in iOS 9

Infographic: how to develop

an app for WatchKit

Ebook: Data visualization

tools for users

Page 61: Ebook: Programming tools (English)

www.bbvaopen4u.com

Interact with us on:

BBVA no BBVA is not resposible for the opinions expressed here in

Sign upTo keep up to date with the latest trends