software development, consultancy and web site design services

Software languages and development platforms

Computer technologies and their functionality are an important aspect of any Information Systems and Technology project due to the potential performance and functional gains that it provides. This section will compare the available technologies and whether they are executable and will specify the drains on the resources. The licensing issues, hardware requirements and feasibility will be considered.
Background information on hardware and software
Enterprise level Operating systems such as, RedHat Enterprise 4.0 and Windows Server System require reasonable high-specification computer systems to run on due to the inherent drag on resources as the systems are used by remote clients and local administrators to serve websites, active directories and synchronise Windows and NIS authentication systems.
The average server systems these days comprise of:

  • Intel (or equivalent) CPU ~ 2.1Ghz
  • 1Ghz RAM
  • NFS/Samba Share or 80GB HDD
  • Peripherals
    o CD-ROM/DVD-ROM
    o Back-up Tape Drives
    o NIC Interface (10/100/1000 Mbps)

Average server software installations include:

  • Enterprise Server
  • Windows Server System
  • Windows 2000/NT
  • Windows Server 2003
  • Enterprise Linux
  • RedHat Enterprise 4.0
  • CentOS
  • Debian Sarge
  • Ubuntu Enterprise
    NetBSD/FreeBSD
    o WebServer
    o Shared Resources
    o Shared I/O

Enterprise-class products are those that have specific functionalities embedded in the core aspects of the software to allow administrators to control the use of the network and the available resources. There are free (as in free to use and free to share) distributions as well as paid-for products which often include support contracts and priority security updates delivered directly to the system using advanced transparent delivery mechanisms.

There are several points that must be considered:

  • Price
  • Availability
  • Scalability
  • Features
  • Frequency of updates
  • License Type
    o OpenSource GNU licences
    o Closed-source proprietary licenses


.NET framework

Mono .NET framework provides developers with the programming power and flexibility to engineer applications for Windows and Linux while maintaining cross-platform capabilities that have previously only been thought to exist with Java and the Sun JVM. One of the great advantages of Mono is that it allows developers and engineers to cross-compile and thus, develop applications which can theoretically function properly on both Windows and Linux.

Cross-Language Interface Layer

It is aim to utilise some advanced features available in several semantically different languages. This can only be achieved by creating a Cross-Language Interface Layer, which will allow the various languages to function together properly. This will require the usage of messaging systems and pointer passing to allow the transfer of data from one programming language to the other.

PHP and Perl both allow the dynamic loading of Linux Shared libraries directly at run-time which will allows the creation of entry points for those specific languages. ASP.NET will require either the creation of COM classes which are installed as system-wide libraries or the usage of Dynamic Linked libraries (DLLs) which can be loaded at run-time.

Reasons for the application of multiple languages and their benefits:

  • PHP:
    PHP is extremely simple and has advanced features.
  • PHP has excellent text processing features, from the POSIX Extended or Perl regular expressions to parsing XML documents.
  • For parsing and accessing XML documents, PHP 4 supports SAX and DOM standards. The XSLT extension can also be used to transform XML documents. PHP 5 standardizes all the XML extensions on the solid base of libxml2 and extends the feature set by adding the SimpleXML and XMLReader support.
  • Integrated MAIL function.

Perl:

  • Perl is structurally similar to C-like languages
  • Excellent regular expression handling and pattern matching functions
  • Excellent extensibility
  • Easily embeddable into command shell
  • Common language semantics

TCL:

  • Fast access to shell and system commands
  • Rapid Development platform
  • Extensible
  • A large database of OpenSource Libraries

.NET:

  • Core Microsoft Languages allowing Intercommunication
  • A large array of Database connectivity functions
  • Compiled instead of interpreted
  • Access to Microsoft foundation classes
  • Provides some interoperability with Java

The Cross-Language Interface Layer will aim to provide interface functionality for all these languages either through XML interpretation of scripts or via core changes made to specific Open Source distribution.

 

 


PDF Document: Software languages and development platforms
Printer friendly PDF

2008 © DOTNUTSHELL TECHNOLOGIES Ltd.

Home | Privacy Policy | Site Map | Links | Company | Contact Us | Arena

We provide cutting edge software development, consultancy and web design services.

Valid XHTML 1.0 Transitional Valid CSS!