Click me

The History of Programming Languages

THE HISTORY OF PROGRAMMING LANGUAGES INTRODUCTION TO PROGRAMMING LANGUAGES PROGRAMMING LANGUAGES ENABLE USERS TO WRITE PROGRAMS FOR SPECIFIC COMPUTATIONS/ALGORITHMS 1883: THERE ARE 1.2M+ COMPUTER PROGRAMMERS AND SOFTWARE DEVELOPERS IN THE US Ada Lovelace credited with first computer programming language; wrote an algorithm for the Analytical Engine (early mechanical computer) AAAAAAAARARARARRDA AAAAAAAAA2222222A222D AAAAAAAA4222222DAARR -12,500 THE TIOBE INDEX: ANINDICATOR OF THE POPULARITY OF VARIOUS LANGUAGES, BASED UPON GLOBAL NUMBERS OF ENGINEERS, COURSES, AND THIRD-PARTY VENDORS POSITION MARCH 2013 POSITION MARCH 2012 DELTA IN POSITION PROGRAMMING LANGUAGE RATINGS MARCH 2013 DELTA MARCH 2012 Java 18.156% +1.05% 17.141% +0.05% Objective-C 10.230% +2.49% 4 4 C++ 9.115% +1.07% C# 6.597% -1.65% 6. 6. PHP 4.809% -0.75% (Visual)Basic 4.607% +0.24% 9. Python 4.388% +1.10% 9. 13 111 Ruby 2.150% +0.74% 10 10 Perl 1.959% -0.74% How will Java's recent security vulnerabilities affect its popularity? COMPARISON OF PROGRAMMING LANGUAGES FORTRAN (FORMULA TRANSLATION), LISP (LIST PROCESSOR), AND COBOL (COMMON BUSINESS-ORIENTED LANGUAGE) PRIMARY USES USED BY FUN FACT Supercomputing applications, AI development, business NASA, credit cards, ATMS Action movie The Terminator used samples of Cobol source code for NASA Considered the oldest languages that are still used today. High-level languages created for scientific, mathematical, and business computing. software the text shown in the Terminator's vision display. PASCAL (AFTER FRENCH MATHEMATICIAN/PHYSICIST BLAISE PASCAL) CREATOR PRIMARY USES USED BY Teaching programming Apple Lisa (1983), Skype NIKLAUS WIRTH High-level. For teaching structured programming and data structuring. Commercial versions widely used throughout the '80s. Object Pascal, a derivative, is commonly used for Windows application development skype C(BASED ON AN EARLIER LANGUAGE CALLED "B") CREATOR PRIMARY USES USED BY Cross-platform programming, system programming, Unix programming, computer game development Unix (rewritten in C in 1973), early wWW servers and clients DENNIS RITCHIE Bell Labs General-purpose, low-level. Created for Unix systems. Second most popular language (behind Java). Many leading languages are derivatives, including C#, Java, JavaScript, Perl, PHP, and Python. UNIX® C++ (FORMERLY "C WITH CLASSES"; IS THE INCREMENT OPERATOR IN “C") CREATOR PRIMARY USES USED BY BJARNE STROUSTRUP Commercial application development, embedded Adobe, Google Chrome, Mozilla Firefox, Intermediate-level, object-oriented. An extension of C, with enhancements such as classes, virtual functions, and templates. Bell Labs Microsoft software, server/client applications, video games Internet Explorer TA Adobe O OBJECTIVE-C (OBJECT-ORIENTED EXTENSION OF "C") CREATOR PRIMARY USES USED BY BRAD COX AND TOM LOVE Apple programming Apple's os X and ios operating systems General-purpose, high-level. Expanded on c, adding message-passing functionality based on Smalltalk language. Stepstone PERL ("PEARL" WAS ALREADY TAKEN) CREATOR PRIMARY USES USED BY General-purpose, high-level. Created for report processing on Unix systems. Today it's known for high power and versatility. LARRY WALL CGI, database applications, system administration, IMDB, Amazon, Priceline, Ticketmaster Unisys network programming, graphics programming IMDB amazon PYTHON (FOR BRITISH COMEDY TROUPE MONTY PYTHON) CREATOR PRIMARY USES USED BY Web applications, Google, Yahoo, Spotify GUIDO VAN ROSSUM software CWI development, information security General-purpose, high-level. Created to support a variety of programming styles and be fun to use. Tutorials, sample code, and instructions often contain Monty Python references. Google YAHOO! RUBY (THE BIRTHSTONE OF ONE OF THE CREATOR'S COLLABORATORS) CREATOR PRIMARY USES USED BY YUKIHIRO MATSUMOTO Web application development, Ruby on Rails Twitter, Hulu, Groupon General-purpose, high-level. A teaching language influenced by Perl, Ada, Lisp, Smalltalk, etc. Designed for productive and enjoyable programming. hulu GROUPON JAVA (FOR THE AMOUNT OF COFFEE CONSUMED WHILE DEVELOPING THE LANGUAGE) CREATOR PRIMARY USES USED BY Network Android OS/apps JAMES GOSLING Sun Microsystems programming, web application development, General-purpose, high-level. Made for an interactive TV project. Cross-platform functionality. Currently the world's most popular programming language. software development, Graphical User Interface development PHP (FORMERLY “PERSONAL HOME PAGE," NOW IT STANDS FOR “HYPERTEXT PREPROCESSOR") CREATOR PRIMARY USES USED BY Building/ maintaining dynamic web pages, server-side development RASMUS LERDORF Facebook, Wikipedia, Digg, WordPress, Open-source, general-purpose. For building dynamic web pages. Most widely used open-source software by enterprises. Joomla facebook W digg JAVASCRIPT (FINAL CHOICE AFTER "MOCHA" AND "LIVESCRIPT") CREATOR PRIMARY USES USED BY Dynamic web development, PDF documents, web browsers, desktop widgets Gmail, Adobe Photoshop, Mozilla Firefox BRENDAN EICH Netscape High-level. Created to extend web page functionality. Used by dynamic web pages for form submission/validation, interactivity, animations, user activity tracking, etc. GMail THE SECURITY OF PROGRAMMING LANGUAGES VULNERABILITY DISTRIBUTION BY LANGUAGE JAVA NET C/C++ Code Quality Code Quality Error Handling 82% 73% | 78% CRLF Injection Cryptographic Issues Buffer Management Errors 68% 62% 53% Information Leakage Cross-site Scripting ( XSS) Buffer Overflow 58% 61% 48% Cross-site Scripting ( XSS) Information Leakage Cryptographic Issues 57% 60% 46% Cryptographic Issues 55% Directory Traversal Numeric Errors 56% 44% Directory Traversal Insufficient Input Validation Directory Traversal 49% 420% 40% Insufficient Input Validation CRLF Injection Time and State 44% 40% 32% SQL Injection 30% Encapsulation Dangerous Functions 38% 30% API Abuse Time and State Code Quality 37% 22% 28% Credentials Management Credentials Management os Command Injection 34% 15% 26% Time and State Untrusted Search Path Untrusted Search Path 34% 11% 19% SQL Injection 31% os Command Injection 11% Race Conditions 16% Session Fixation Error Handling Format String 29% 5% 15% Race Conditions Potential Backdoor API Abuse 18% 3% I os Command Injection Information Leakage Buffer Overflow 1% | WHILE CERTAIN VULNERABILITIES ARE MORE PREVALENT IN SOME LANGUAGES, PRODUCING SECURE CODE ULTIMATELY DEPENDS ON SECURE DEVELOPMENT PROCESSES RATHER THAN WHICH LANGUAGE IS USED. WHEN VULNERABILITIES ARE FOUND, WHAT ARE COMPANIES FIXING? JAVA NET C/C++ * fixed CRLF Injection: SQL Injection Buffer Management Errors: 45% 25% 74% SQL Injection 16% Insufficient Input Validation: Buffer Overflow: 23% 34% What enterprises choose to fix first depends on the severity of the flaws, the likelihood of the flaw being exploited, and the ease with which flaws can be fixed. TIPS FOR SECURE PROGRAMMING Write code that is capable of X handling exceptions (errors) securely Always check for OWASP Top Ten vulnerabilities Ensure that sensitive data is Write code that is free of </> hardcoded credentials or cryptographic keys properly encoded and encrypted Use access control and permissions to protect resources and limit application/user capabilities Use passwords and session management practices to verify users Validate all input and output Implement comprehensive yet realistic security policies Store data securely Learn more about the vulnerabilities found in vendor programs. SOURCES VERACODE 1995 1995 1995 1993 1991 1987 1983 1983 1972 1970 1957-1959

The History of Programming Languages

shared by Neostrategos on Apr 17
In a world of increasing inter-connectivity, programming languages form the foundation. Did you know that the first programming language is over 100 years old and was written by a woman, Ada Lovelace?...




Did you work on this visual? Claim credit!

Get a Quote

Embed Code

For hosted site:

Click the code to copy


Click the code to copy
Customize size