Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Programming Languages

No description
by

Genevieve Lou

on 21 November 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Programming Languages

AGENDA - Programming Languages Definition
- The Market for Programmers
- Static and Dynamic Typing
- System Languages
- High Level Languages
- Scripting Languages
- Web Scripting Languages Programming Languages Aabid Allibhai
Laurence Lefebvre
Genevieve Lou
Victoria Grandury What is a programming Language? "Any various languages for expressing a set of detailed instructions for a digital computer"

- Encyclopaedia Britannica http://www.britannica.com/EBchecked/topic/130670/computer-programming-language Type checking during compile-time
Allows errors to be caught early during development
A static type checker can detect type errors in rarely used code paths
Program execution is more efficient
Loopholes Static Languages Type checking is performed during run-time
More efficient compilation
Values have types but variable do not
Executes programs that would be declared invalid in type Static.
May result in runtime error
Often require unit testing Dynamic Typing Types of Languages System languages

High level programming languages

Scripting languages

Web Scripting languages Higher abstraction from machine language

Operates with arrays, objects, variables, loops, threads, boolean expressions etc.

Focus on usability

Maybe be less efficient than low-level languages but they are easier to use and learn.

C++, C#, Java High Level Languages For a software environment that automate execution of tasks
Used in software applications and operating systems
Easy to use
Interpreted from source code
Relatively loose structure
Python, Visual Basic Scripting Languages C Powerful general purpose programming language
Developed by Dennis Ritchie between 1969 and 1973 at Bell Labs
Origin closely tied to the development of the Unix operating system
Very few computer architectures for which a C compiler doesn’t exist
Static typing
Not object-oriented
Garbage collection implementation available
Many later languages like C#, Java, and JavaScript have borrowed indirectly or directly from C syntax Encourages cross-platform programming
Portable
Fast
Many libraries available for additional functionality
Provides low-level access to memory
Requires minimal run-time support
Can be used in C++ applications Has low level capabilities
Weakly enforced static typing BENEFITS LIMITATIONS #include <stdio.h>

int main()
{
printf("Hello world\n");
return 0;
} "Hello World" in C C++ BENEFITS LIMITATIONS "Hello World" in C++ # include <iostream>

int main()
{
std::cout << "Hello, world!\n";
} JAVA Founded in 1995
By James Gosling from Sun Microsystems
Derived from C++
Several changes since JDK 1.0
Static typing
Object-oriented
Automatic garbage collection
By JVM(Java Virtual Machine) BENEFITS LIMITATIONS Very large and standard class library
Good portability
Explicit interface
Safe Large memory footprint make it slower
More restrictive
Memory pointers not allowed "Hello World" in Java public class HelloWorld {

public static void main(String[] args) {
System.out.println("Hello, World");
}

} C# Invented by Ander Hejlsberg
Derived from Java
Most recent version C#5.0
Object-oriented
Static typing
Automatic garbage collection
By CLR(Common Language Runtime) BENEFITS LIMITATIONS Safer than C++ since pointer types not permitted
Fully integrated with .NET library, providing access to a great repository of functionality and support Easier to make an error
Slower than C++
Loses any cross-platform capabilities because of the integration with .NET "Hello World" in C# using System;
namespace HelloWorld
{
class Hello
{
static void Main()
{
Console.WriteLine("Hello World!");

Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
} Ada "Hello World" in Ada Visual Basic Python Javascript PHP Other Languages Thank you!
Questions ??? APPLICATION Relatively easy to learn
Used in wide variety of platforms
Embedded services
Mobile phones (especially Android)
Enterprise servers
Supercomputers
Average salary: $90,000
Availability of programmers: High APPLICATIONS Easier than Java and C++ to learn
Used to :
Build durable system components
Web-based applications
GUI applications
Average salary: $84,000
Availability of programmers: High First release in 1991
From Microsoft
Derived from BASIC
Object-based and event-driven
Automatic garbage collection
Static typing BENEFITS LIMITATIONS Optimized to support RAD (Rapid Application Design)
Friendly interface
Fully integrated with .NET platform Not of industrial strength
No inheritance
Lack of well developed class library
Lousy error-handling APPLICATION Easy to learn (often referred as a toy language)
Used to:
GUIs applications
Access databases
Create ActiveX controls
Average Salary: $74,000
Availability of programmers: High Module Hello

Sub Main()

MsgBox("Hello, World!") ' Display message on computer screen.

End Sub

End Module Created in 1989
By Guido Van Rossum
More a 1,000 lines language compare to Java that is more a 100,000 lines language
Object-oriented
Dynamic typing
Automatic garbage collection BENEFITS LIMITATIONS Quicker to prototype
Large standard library
Good portability Slower than C++
Few options for GUIs APPLICATION Very simple syntax
Easy to learn (referred as beginner's language)
General purpose language
Used to:
Prototype
Web applications
Average salary: $89,000
Availability of programmers: High print "Hello World!" "Hello World!" in Python "Hello, World!" in Visual Basic Objective-C
Perl
Tcl
Shell
Ruby
Lisp
COBOL
FORTRAN Same characteristics as scripting languages
Operates on a web platform, within a web browser
Used to write websites and web applications
PHP, JavaScript Web Scripting Languages Developed in 1994 by Rasmus Ledorf
Set of Perl Scripts called Personal Home Page Tools
1st purpose was to allow development of dynamic web pages
Installed on 20 million web sites and 1 million web servers
Used in Web Development
Embedded into HTML source document
Automatic garbage collection
Dynamic typing
Object-Oriented BENEFITS LIMITATIONS Large number of libraries available
Portable advisory file locking available
Easy to use
Speed
Portable Security
Not suitable for large apps
Can be ambiguous APPLICATION Easy to learn
Used in:
Websites(user-facing portion)Facebook, Wikipedia, Digg
Availability of programmers: High
Average salary: $75,000 <?php
Print "Hello, World!";
?>

<?php
Echo "Hello, World!";
?> "Hello World!" in PHP Developed at Netscape
First released in 1994
Goal was to appeal to non-professional programmers
Object-oriented language
Dynamic typing
Automatic garbage collection Easy to use
Extended functionality
Fast to the end user
Executed on the client side
Large library availability
Portable BENEFITS LIMITATIONS Security Issues
Rendering variations APPLICATION Easy to learn
Used to create web applications in:
E-commerce(online shopping)
Advertisement
PDFs
Site specific browsers
Average salary: $83,000
Availability of programmers: High "Hello World!" in JavaScript 1: <script type="text/javascript">
2: <!-- to hide script contents from old browsers
3: document.write("Hello World!")
4: // end hiding contents from old browsers -->
5: </script> Which languages should you learn to get best positioned to get a job?The five programming languages with the top growth in the past three months were:

HTML5 (45.2%)
SAP Sybase PowerBuilder (26.0%)
Ruby (15.8%)
Python (15.8%)
Silverlight (12.6%) Which languages should you learn? The top languages, by total number of jobs, were:

Java (16,152 jobs)
HTML (9,736 jobs)
XML (9,651)
JavaScript (9,618)
C# (7,940) Popularity of Languages More cryptic than other languages so harder to learn
Most widely used programming language of all times
Provides language constructs that map efficiently to machine instructions
Average salary: $94,000
Availability of programmers: High APPLICATION Intermediate-level, general-purpose programming language
Developed by Bjarn Stroustrups starting in 1979 at Bell Labs
Static typing
Hybrid language: Object-oriented/procedural
Garbage collection implementation available
Has greatly influenced languages like C# and Java Adds object-oriented features (classes) to C
Efficient compiler to native code: can be one of the fastest languages in the world, if optimized
Cross-platform
Portable
Many libraries available Doesn’t provide strong type-checking: code easily prone to errors APPLICATION Hard to fully master
Used to:
System components
Applications
Embedded services
Entertainment software (video games)
Average salary: $88,000
Availability of programmers: High Designed by a team under contract to the United States Department of Defense from 1977 to 1983 to supersede the hundreds of programming languages then used by the DoD
Result of the most extensive and most expensive language design effort ever undertaken
Extended from Pascal
Static typing
Object-oriented language
No garbage collection Easier to learn than C++ and Java
Used in safety-critical / high-security domains:
Commercial
Military aircraft avionics
Air traffic control
Railroad systems
Medical devices
Established and low-risk COTS technology
Average salary: $61,000
Availability of programmers: Medium APPLICATION BENEFITS LIMITATIONS Simple syntax
Helps design safe and reliable code
Reduces certification costs for safety-critical software
Strong type checking
Supports run-time checks
Libraries available Both compile-time and run-time performance tend to be slow and the tools primitive
Not as portable as presented with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, world!");
end Hello;
Full transcript