Perl Training Logo: Praying Mantis
List of fields, tools, terms and languages

List of some of the technologies we teach and related technologies that often come up in our conversations with clients.

Programming languages

  • Perl
  • Python
  • PHP
  • Tcl
  • Ruby
High level programming languages (people also call them scripting languages) In these languages both the definition and the implementations (interpreters) of languages are Open Source. Mostly freely available.

Perl

Is the main language we support currently. It is used in many fields:

  • Web development
  • System Administration
  • Database Access
  • Bioinformatics
  • Automation
  • Quality Assurance
  • Configuration Management
  • Integration
  • Engineering
  • Provisioning
While it is less "requested by people" than PHP it is used much more within middle-size and large companies.

PHP

Is mainly used in the web development field, It has a very positive image many young people are using it. Several companies want to develop their web site in it but mostly small companies employ people writing in PHP. There are many freelancers using it.

Python

Is used much less in Israel than Perl, but it is gaining popularity in the world and also in Israel. It can be used in similar tasks as Perl but Python has more "Windows background". It seems it is hardly used in lower level tasks (at least in Israel), the places that use it use it mostly for application development.

Tcl

There are many companies using Tcl in Israel though it is not very visible. In many cases there are hardware devices that are managed using this languages and this is the reason companies are using Tcl. We can provide a Perl interface to your existing Tcl infrastructure so if you decide to start using Perl you actually won't loose your code base in Tcl.

Ruby

Is a relatively new and unknown language, not widely used but it is also gaining popularity especially due to a web development framework called Ruby on Rails.

Java

A proprietary language of Sun most of its implementations (called Virtual Machines) are proprietary (e.g. Sun, IBM) but there are also Open Source implementations. Many tools, extensions and even applications are Open Source.
Our Regular Expressions for Java programmers course is for them.

C

Is a lower level language but it is the base of all the other languages. In some of its form it is used and advanced by Microsoft but it is also use in Open Source development It has several proprietary implementations (compilers), e.g. from Microsoft.
gcc is the most important open source implementation (compiler) of C

C++

Sort of an "extension" of C. Otherwise similar to C.

Visual Basic (also called VB)

A Microsoft Language.
We don't teach or support it.

C#

A Microsoft Language used in the .NET environment. (Should be the replacement of C++) There is also an Open Source implementation of it called Mono.
Our Regular Expressions for .NET programmers is especially good for C# programmers.
Otherwise we don't support this.

VB.NET

A Microsoft Language used in the .NET environment. (Should be the replacement of VB) Our Regular Expressions for .NET programmers is especially good for VB.NET programmers.
Otherwise we don't support this.

.NET

Is more like a framework (or a collection of languages) It was defined and belongs to Microsoft but there is an Open source implementation called Mono. See our Regular Expressions for .NET programmers.
Otherwise we don't support this.

ASP (Active Server Pages)

Originally a Microsoft framework to develop web applications. The main language used in this framework is VBScript and many people use the two terms interchangeably.
Actually in ASP one can also program in JavaScript and in Perl but this fact is little known.
There is also a Perl implementation of ASP where the language used is Perl. This implementation is called Apache::ASP and it can be used on Linux. On request we provide a course for the Apache::ASP framework.

JavaScript

It is used in web pages for client side programming.

VBScript

A Microsoft Language to program in the ASP framework.
We don't support this.

Cobol

Cobol is an old language that was used to build many of the large business systems (e.g. banks, insurance, etc). It is still widely used in those areas. There are several companies that enhance their existing application written in Cobol by adding Perl scripts.


Databases

MySQL

Most widely used Open Source Database.

PostgreSQL

The most feature-rich and stable Open Source Database It is considered to be more "serious" than MySQL (not to mean the MySQL isn't serious) but it is much less popular than MySQL

SQLite

Is a very small (in-process) database that can be much faster than either MySQL or PostgreSQL if it is mostly used by few clients and mostly for reading only.
"in-process" means it is built into the application and does not need separate installation or process.

Oracle

Microsoft SQL Server

DB2 (of IBM)

These are the big commercial databases. We don't teach them directly but the languages we teach (Perl, PHP, etc...) are capable to talk to these databases as well.

Operating Systems

Operating Systems (OS) are the programs that actually enable one to use the computer.

Microsoft Windows

DOS, Win95, NT, Win98, XP, Windows 2000, Windows 2003 These are all versions of MS Windows from different years. (Well, DOS was not windows yet) While we don't teach these we help people use Open Source tools and languages to work on MS Windows.

UNIX (Sun Solaris, HP-UX, IBM-AIX)

Proprietary system of the relevant companies. While we don't teach these we help people use Open Source tools and languages to work on any of these systems.

Linux also called GNU/Linux

Is the main Open Source operating system we support. It is actually a few thousand programs packaged by various groups of people or even commercial vendors. The packages are called "distributions" they have a name and a version number.
Distributions:

  • RedHat and Fedora are the most popular distributions from Red Hat Inc.
  • SUSE (or Novell Linux) is distributed by Novell
  • Debian is the biggest community based distribution
  • Ubuntu is actually based on Debian and looks very good....
  • Mandrake

BSD

Is another type of Open Source OS. There are 3 major distributions of BSDs:

  • FreeBSD
  • NetBSD
  • OpenBSD
While we don't teach these we help people use Open Source tools and languages to work on any of these systems.

Apple Macintosh (Classic or OSX)

In the last couple of years it has been using FreeBSD as its Operating system with several proprietary extensions. (Most notably the GUI). While we don't teach this we help people use Open Source tools and languages to work on any of these systems.

(Actually both Linux and BSD systems are based on the same technological ideas as the UNIX systems so sometimes the whole bunch is referred to as UNIX systems)

Version Control (Configuration Management, Change Management)

Subversion

Is actually a replacement of CVS. We provide training, installation, migration and support for Subversion

CVS

Is the historically most widely used Open Source version control system We can provide support and we might even teach it later but we are recommending to everyone to move to Subversion.

Both of the above systems work on any of the Operating Systems mentioned above.

Some of the proprietary system:

  • Clear-Case
  • Perforce
  • Star Team

Other terminologies

HTML (HyperText Markup Language)

This is a language to mark how to display text in web browsers. The pages one sees in the "web" are written in HTML.
(They might be hand written or generated by a program) It has open standards.

XML (eXtensible Markup Language)

Similar to HTML but more generalized and is used to mark types of information and is more used for machine-to-machine interaction or to save information on a computer in a structured way.

CGI (Common Gateway Interface)

This is a relatively old but still very much used definition on how to write web applications. While it is not connected to any language many people mix it with Perl as between 1995-2000 the main language to write such "CGI scripts" was Perl. Today there are other ways to write web applications. In Perl that might be mod_perl.

SQL

Is a simple language used to communicate with databases.

Eclipse

Eclipse is an Open Source development environment mainly for Java, though it has plugins to other languages as well. (e.g. Perl).

Apache

Apache is the leading Open Source web server.

Open Office

Open Office is an Open Source office suit including word processor, spreadsheet, presentation creator and more.