SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Programming Skills:
    A look back to peer into the future.


Pete Massiello
iTech Solutions
pmassiello@itechsol.com
Twitter: PeteM59

                                           1
Prehistory
•   The first Programming languages predate the computer.
•   Languages were codes
•   1890 Herman Hollerith – Census data
Early programming
When do we start?
•   The Analytical Engine, an important step in the history of
    computers, is a design for a mechanical general-purpose
    computer first described by English mathematician Charles
    Babbage in 1837. It was the successor to Babbage's difference
    engine, a design for a mechanical calculator. The Analytical
    Engine incorporated an arithmetical unit, control flow in the form
    of conditional branching and loops, and integrated memory,
    making it the first Turing-complete design for a general-purpose
    computer.
•   Programming supposed to be by punch cards.
Analytical Engine: Built 63 years later
ENIAC
•   Designed in 1942 General-purpose Electronic computer
•   Electronic Numerical Integrator and Computer (ENIAC).
•   Enormous speed advantage by using digital electronics with no
    moving parts.
•   Called Project-PX as its code name.
•   Started in 1943, completed in 1946 costing $500,000 ( $6,000,000
    in 2010 dollars).
•   Designed to calculate artillery firing tables for the Army.
•   First project was computations for the hydrogen bomb.
•   Decimal based.
Programming the ENIAC
Operating ENIACs main control panel
EDVAC
•   Electronic Discrete Variable Automatic Computer
•   Binary serial computer with automatic addition, subtraction,
    multiplication, programmed division and automatic checking with
    an ultrasonic serial memory.
•   Capacity of 1,000 44-bit words, later set to 1,024 words: 5.5KB
•   6,000 vacuum tubes, 12,000 diodes, consumed 56kW of power,
    and covered 490 Sq. Ft. Weighed 17,300 pounds.
•   Designed 1946 built and operational 1949.
•   Magnetic tape (Wire recorder).
EDVAC
What is a Programming Language
•   A programming language is an artificial language designed to
    communicate instructions to a machine, particularly a computer.
    Programming languages can be used to create programs that
    control the behavior of a machine and/or to express algorithms
    precisely.

•   The earliest programming languages predate the invention of the
    computer, and were used to direct the behavior of machines such
    as Jacquard looms and player pianos. Thousands of different
    programming languages have been created, mainly in the
    computer field, with many more being created every year. Most
    programming languages describe computation in an imperative
    style, i.e., as a sequence of commands, although some languages,
    such as those that support functional programming or logic
    programming, use alternative forms of description.
Early Languages
•   1837 - Analytical Engine Order Code – Charles Babbage
•   1943 to 1946 - ENIAC coding System
•   1943 – Plankalkul (designed) – First High Level
•   1947 - ARC Assembly
•   1948 – Curry notation system
•   1948 - CPC Coding scheme
•   1949 - C10
Languages of the 1950s
•   1951 - Superplan
•   1951 – ALGAE
•   1952 – Autocode / AUTOCODER
•   1954 – Fortran (Concept)
•   1954 - IPL
•   1955 – PACT I
•   1956 – LISP (Concept)
•   1957 – Fortran
•   1957 – UNICODE
•   1958 – ALGOL 58
•   1959 – COBOL (Concept)
Languages of the 1960s
•   1960 – ALGOL 60
•   1960 - COBOL 61
•   1962 – Fortran IV
•   1962 - SNOBOL
•   1963 – CPL
•   1964 – BASIC
•   1964 – IBM RPG
•   1966 – Fortran 66
•   1967 – APL
•   1968 – DIBOL-8
•   1969 – PL/I
The great debate starts
•   Programming:
     Structured Programming

     GOTO

•   Machines:
Languages of the 1970s



•   1970 - Pascal
•   1972 – Smalltalk
•   1972 – C
•   1972 – Prolog
•   1972 – SQL
•   1975 - Modula
•   1977 – Bourne Shell (sh)
•   1977 – Commodore BASIC
•   1977 – Green, Red, Blue, Yellow for Dept. of Defense
•   1978 - VisiCalc
My college Final Project
Languages of 1980
•   1980 – Ada
•   1980 - C with classes
•   1982 – PostScript
•   1983 – C++
•   1984 – Korn Shell (ksh)
•   1984 – GOM (Good Old Mad)
•   1985 – PARADOX
•   1987 – Perl
•   1987 – HyperTalk
•   1987 – Turbo Basic
•   1988 – SPARK
•   1989 – FL (Backus)
Languages of 1990s
•   1990 – AMPL
•   1991 – GNU E
•   1991 – Python
•   1991 – Visual Basic
•   1992 – Borland Pascal
•   1992 – Dylan
•   1993 – Self
•   1993 – Applescript
•   1995 – Borland Delphi
•   1995 – ColdFusion
•   1995 – Java
•   1995 – PHP
Languages of 1990s (cont.)
•   1995 – Ruby
•   1996 – JavaScript
•   1996 – Perl Data Language (PDL)
•   1997 - Rebol
•   1998 – Standard C++
•   1998 – Pikt
•   1999 – Game Maker Language (GML)
Languages of 2000s
•   2000 – D
•   2000 – C#
•   2001 – Visual Basic .NET
•   2003 – Scala
•   2003 – Squirrel
•   2004 – Groovy
•   2005 – F#
•   2006 – Cobra
•   2008 – Pure
•   2009 – Go
•   2009 – CoffeeScript
•   2010 - Fancy
Generations
•   1GL – UNIVAC 1 & IBM 701 – Machine language programs
•   2GL – Machine specific but mnemonic
     Assembler

•   3GL – More abstract & portable
     FORTRAN, LISP, RPG, & COBOL

     Continued growth & still in use

•   4GL – domain specific, as SQL
     Code generators
Evolution of Computer Programming languages
Programmers
Occupation or a personality
Words to describe a programmer
•   Practical
•   Introvert
•   Alone
•   Socially Inept
•   Geek
•   Nerd
•   Logical Thinker
•   Analytical
April 1967 – Women are natural Programmers
Perhaps a little more Coffee
Amazing what a few Billion will do




                         Start young…….
COMMON Europe President at an Early Age
How to successfully prepare your students for college?
A recent Dot Net Rocks show…….Teach them early
Remember back 10 to 15 years ago

•   Learn Java or Flip Hamburgers
•   No need for programmers after Y2K
•   Everything will be packages
•   COBOL/RPG are dead
•   Offshore programmers
•   The AS/400 is going away
Jobs
•   Ability to Change
•   Competing against students
•   Ability to Change
•   Outside or off-shore programmers
•   Ability to Change
•   More company knowledge than programming knowledge
•   Ability to Change
•   It’s worked fine for 15 years, why change
•   Ability to Change
•   What’s wrong with “the Cycle”
•   Ability to Change
•   We don’t use ILE in this shop
•   Under the Radar
Change

•   Break from your Comfort Zone
•   Coder, Designer, Business Analyst
•   Engineer                or            Artist
•   Learn a new Skill
•   See what co-workers are doing
•   See what other companies are doing
•   What if I pick the wrong new Skill?
•   Don’t be Afraid
What Shape are you?




M
a
s
t
e
r
y




    ----------------------------- Skills ------------------------------------
Top 10 reasons you might be a has-been programmer?
•   Every program you write use the RPG Cycle
•   You can write that program more efficiently in Assembler
•   You know what COBOL stands for
•   You boast that you know the IBM SE’s home phone number
•   You have the 15 floppy diskettes for Windows 3.1.1 on your shelf.
•   You have the yellow trifold EBCIDIC/ASCII Hex sheets
•   Your home internet is a dial-up modem
•   When you think DDS you think *PF & *LF, not Dentist
•   You think RPG stands for Report Program Generator
•   You wonder why there are no System/36 jobs on Monster.
Current RPG Programmer needs:
•   Get your shop up to IBM i 7.1
•   Learn and use ILE & RPG-IV
•   Learn and use SQL
•   Learn and use RDp (WDSc, RDi)
•   Learn HTML5 & XML
•   Create a webpage
•   Integrate an RPG program with the web
•   Learn and use PHP
•   Learn mySQL
•   Learn .Net
•   Learn and use DB2/Webquery
•   Learn Java
Other skills
•   LINUX
•   Windows
•   Business skills
•   Understand TCP/IP, firewalls, routing
•   Understand Virtualization
•   Distributed Processing
•   Refacing/modernization of the Interface (Open Access)
•   Open Source
•   Ruby on Rails
•   Cell Phone applications
•   Games
•   Explore, investigate, & play
How will we get those skills

•   User Groups
•   Night Classes
•   Networking
•   On-Line courses
•   On-line discussion forums: Midrange-l, RPG400-L
•   Books, Podcasts, Blogs
Exact Skills of the Future
Skills are important but the future …….
•   Attitude
•   Work-Ethic
•   Dress for success
•   Understanding the business & creating value
•   Coder, Designer, Business Analyst
•   Computer-Savvy Kids
•   Facebook, Twitter, LinkedIn, …….
•   Ability to Change
Who will be the successful programmer of the future?

•   Integrator
     Understands different Technology

     Knows the benefits of each

     Knows how to unite them
Investment
•   Invest in yourself
•   Your compensation package should include:
     1 Week of Education per year (COMMON)

     Reimbursement to attend monthly user group meeting

•   Company purchased training programs
•   Don’t make yourself unemployable
Your Career
Your Turn!




                   How to contact me:
                     Pete Massiello
             Email: pmassiello@itechsol.com
                    Twitter: petem59

Más contenido relacionado

La actualidad más candente

Android Beat the-quiz application
Android Beat the-quiz applicationAndroid Beat the-quiz application
Android Beat the-quiz applicationAyush Singh
 
Presentation on modern smart watch
Presentation on modern smart watchPresentation on modern smart watch
Presentation on modern smart watchgaurav_tayal
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systemsVikas Dongre
 
디지털 신호의 인코딩 형식
디지털 신호의 인코딩 형식디지털 신호의 인코딩 형식
디지털 신호의 인코딩 형식rupert kim
 
JARVIS - The Digital Life Assistant
JARVIS - The Digital Life AssistantJARVIS - The Digital Life Assistant
JARVIS - The Digital Life Assistantpavan kumar
 
Tutorial on Wireless Communications and Networking with Drones and Unmanned A...
Tutorial on Wireless Communications and Networking with Drones and Unmanned A...Tutorial on Wireless Communications and Networking with Drones and Unmanned A...
Tutorial on Wireless Communications and Networking with Drones and Unmanned A...saadwalid
 
Intelligent mobile Robotics & Perception SystemsIntelligent mobile Robotics ...
Intelligent mobile Robotics  & Perception SystemsIntelligent mobile Robotics ...Intelligent mobile Robotics  & Perception SystemsIntelligent mobile Robotics ...
Intelligent mobile Robotics & Perception SystemsIntelligent mobile Robotics ...Gouasmia Zakaria
 
Sensitive skin
Sensitive skinSensitive skin
Sensitive skinVivek Jha
 
Evolution of-mobile-phone
Evolution of-mobile-phoneEvolution of-mobile-phone
Evolution of-mobile-phoneShipat Bhuiya
 
halfadder & halfsubtractor using 4:1 MUX
halfadder & halfsubtractor using 4:1 MUXhalfadder & halfsubtractor using 4:1 MUX
halfadder & halfsubtractor using 4:1 MUXU Reshmi
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating SystemsBhargav Radia
 

La actualidad más candente (20)

Android Beat the-quiz application
Android Beat the-quiz applicationAndroid Beat the-quiz application
Android Beat the-quiz application
 
Presentation on modern smart watch
Presentation on modern smart watchPresentation on modern smart watch
Presentation on modern smart watch
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systems
 
디지털 신호의 인코딩 형식
디지털 신호의 인코딩 형식디지털 신호의 인코딩 형식
디지털 신호의 인코딩 형식
 
Touchscreen PPT
Touchscreen PPTTouchscreen PPT
Touchscreen PPT
 
JARVIS - The Digital Life Assistant
JARVIS - The Digital Life AssistantJARVIS - The Digital Life Assistant
JARVIS - The Digital Life Assistant
 
Tutorial on Wireless Communications and Networking with Drones and Unmanned A...
Tutorial on Wireless Communications and Networking with Drones and Unmanned A...Tutorial on Wireless Communications and Networking with Drones and Unmanned A...
Tutorial on Wireless Communications and Networking with Drones and Unmanned A...
 
Embedded System Presentation
Embedded System PresentationEmbedded System Presentation
Embedded System Presentation
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Android
AndroidAndroid
Android
 
Satellite Internet
Satellite InternetSatellite Internet
Satellite Internet
 
Intelligent mobile Robotics & Perception SystemsIntelligent mobile Robotics ...
Intelligent mobile Robotics  & Perception SystemsIntelligent mobile Robotics ...Intelligent mobile Robotics  & Perception SystemsIntelligent mobile Robotics ...
Intelligent mobile Robotics & Perception SystemsIntelligent mobile Robotics ...
 
Sensitive skin
Sensitive skinSensitive skin
Sensitive skin
 
Properties of dft
Properties of dftProperties of dft
Properties of dft
 
Evolution of-mobile-phone
Evolution of-mobile-phoneEvolution of-mobile-phone
Evolution of-mobile-phone
 
halfadder & halfsubtractor using 4:1 MUX
halfadder & halfsubtractor using 4:1 MUXhalfadder & halfsubtractor using 4:1 MUX
halfadder & halfsubtractor using 4:1 MUX
 
Smartwatch ppt
Smartwatch pptSmartwatch ppt
Smartwatch ppt
 
Google glass ppt
Google glass pptGoogle glass ppt
Google glass ppt
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating Systems
 
Introduction to robotics
Introduction to roboticsIntroduction to robotics
Introduction to robotics
 

Destacado

10 fun projects to improve your coding skills
10 fun projects to improve your coding skills10 fun projects to improve your coding skills
10 fun projects to improve your coding skillsjan_mindmatters
 
Programming skills for test automation
Programming skills for test automationProgramming skills for test automation
Programming skills for test automationRomania Testing
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programmingHüseyin Ergin
 
Cracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Cracking the Interview Skills (Coding, Soft Skills, Product Management) HandoutsCracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Cracking the Interview Skills (Coding, Soft Skills, Product Management) HandoutsGayle McDowell
 
用十分鐘 瞭解《圖靈獎得主》的學術貢獻
用十分鐘  瞭解《圖靈獎得主》的學術貢獻用十分鐘  瞭解《圖靈獎得主》的學術貢獻
用十分鐘 瞭解《圖靈獎得主》的學術貢獻鍾誠 陳鍾誠
 
Globalisation and its links to the five dimensions of poverty
Globalisation and its links to the five dimensions of povertyGlobalisation and its links to the five dimensions of poverty
Globalisation and its links to the five dimensions of povertyNoel J Harrison
 
用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》鍾誠 陳鍾誠
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental PrinciplesIntro C# Book
 
Coding Best Practices
Coding Best PracticesCoding Best Practices
Coding Best Practicesmh_azad
 
Presentation & communication skills
Presentation & communication skills Presentation & communication skills
Presentation & communication skills gihan aboueleish
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Conceptsthinkphp
 
The Little Book of IDEO: Values
The Little Book of IDEO: ValuesThe Little Book of IDEO: Values
The Little Book of IDEO: ValuesTim Brown
 
Culture Code: Creating A Lovable Company
Culture Code: Creating A Lovable CompanyCulture Code: Creating A Lovable Company
Culture Code: Creating A Lovable CompanyHubSpot
 

Destacado (16)

10 fun projects to improve your coding skills
10 fun projects to improve your coding skills10 fun projects to improve your coding skills
10 fun projects to improve your coding skills
 
Programming skills for test automation
Programming skills for test automationProgramming skills for test automation
Programming skills for test automation
 
Chapter8.coding
Chapter8.codingChapter8.coding
Chapter8.coding
 
Coding Your Results
Coding Your ResultsCoding Your Results
Coding Your Results
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Object-Oriented Programming Using C++
Object-Oriented Programming Using C++Object-Oriented Programming Using C++
Object-Oriented Programming Using C++
 
Cracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Cracking the Interview Skills (Coding, Soft Skills, Product Management) HandoutsCracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
Cracking the Interview Skills (Coding, Soft Skills, Product Management) Handouts
 
用十分鐘 瞭解《圖靈獎得主》的學術貢獻
用十分鐘  瞭解《圖靈獎得主》的學術貢獻用十分鐘  瞭解《圖靈獎得主》的學術貢獻
用十分鐘 瞭解《圖靈獎得主》的學術貢獻
 
Globalisation and its links to the five dimensions of poverty
Globalisation and its links to the five dimensions of povertyGlobalisation and its links to the five dimensions of poverty
Globalisation and its links to the five dimensions of poverty
 
用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
 
Coding Best Practices
Coding Best PracticesCoding Best Practices
Coding Best Practices
 
Presentation & communication skills
Presentation & communication skills Presentation & communication skills
Presentation & communication skills
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
The Little Book of IDEO: Values
The Little Book of IDEO: ValuesThe Little Book of IDEO: Values
The Little Book of IDEO: Values
 
Culture Code: Creating A Lovable Company
Culture Code: Creating A Lovable CompanyCulture Code: Creating A Lovable Company
Culture Code: Creating A Lovable Company
 

Similar a Programming skills

2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdfHILALJAMIRUDDINABDUL
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekingeProf. Wim Van Criekinge
 
Introduction to computers
Introduction to computersIntroduction to computers
Introduction to computersLearn By Watch
 
PYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptxPYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptxshalini s
 
CSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersCSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersDhiviya Rose
 
Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...InfinIT - Innovationsnetværket for it
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinalProf. Wim Van Criekinge
 

Similar a Programming skills (20)

2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf2. Evolution of the Major Programming Languages.pdf
2. Evolution of the Major Programming Languages.pdf
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge
 
P1 2017 python
P1 2017 pythonP1 2017 python
P1 2017 python
 
P1 2018 python
P1 2018 pythonP1 2018 python
P1 2018 python
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdfEvolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdfEvolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
 
Rustbridge
RustbridgeRustbridge
Rustbridge
 
Introduction to computers
Introduction to computersIntroduction to computers
Introduction to computers
 
Evalution about programming language part 2
Evalution about programming language part 2Evalution about programming language part 2
Evalution about programming language part 2
 
Evolution of Computer
Evolution of ComputerEvolution of Computer
Evolution of Computer
 
PYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptxPYTHON FUNDAMENTALS OF COMP.pptx
PYTHON FUNDAMENTALS OF COMP.pptx
 
CSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersCSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to Computers
 
Paradigms
ParadigmsParadigms
Paradigms
 
Computer history krishna
Computer history krishnaComputer history krishna
Computer history krishna
 
2. pl domain
2. pl domain2. pl domain
2. pl domain
 
Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...
 
Compilers.pptx
Compilers.pptxCompilers.pptx
Compilers.pptx
 
Introduction to Coding
Introduction to CodingIntroduction to Coding
Introduction to Coding
 
Plc part 1
Plc part 1Plc part 1
Plc part 1
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
 

Más de COMMON Europe

What's New in WebSphere Application Server
What's New in WebSphere Application ServerWhat's New in WebSphere Application Server
What's New in WebSphere Application ServerCOMMON Europe
 
Compiling the Compiler
Compiling the CompilerCompiling the Compiler
Compiling the CompilerCOMMON Europe
 
Workload Groups overview updates
Workload Groups overview updatesWorkload Groups overview updates
Workload Groups overview updatesCOMMON Europe
 
Why i - Common Europe 2012
Why i - Common Europe 2012Why i - Common Europe 2012
Why i - Common Europe 2012COMMON Europe
 
The Ruby OpenSSL extension
The Ruby OpenSSL extensionThe Ruby OpenSSL extension
The Ruby OpenSSL extensionCOMMON Europe
 
Using Ruby on IBM i (i5/OS)
Using Ruby on IBM i (i5/OS)Using Ruby on IBM i (i5/OS)
Using Ruby on IBM i (i5/OS)COMMON Europe
 
IBM Systems Director Navigator for i
IBM Systems Director Navigator for iIBM Systems Director Navigator for i
IBM Systems Director Navigator for iCOMMON Europe
 
IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012COMMON Europe
 
IBM i Technology Refreshes Overview 2012 06-04
IBM i Technology Refreshes Overview 2012 06-04IBM i Technology Refreshes Overview 2012 06-04
IBM i Technology Refreshes Overview 2012 06-04COMMON Europe
 
IBM i 7.1 & TRs CEC 2012
IBM i 7.1 & TRs CEC 2012IBM i 7.1 & TRs CEC 2012
IBM i 7.1 & TRs CEC 2012COMMON Europe
 
DB2 Web Query whats new
DB2 Web Query whats newDB2 Web Query whats new
DB2 Web Query whats newCOMMON Europe
 
Access client solutions overview
Access client solutions overviewAccess client solutions overview
Access client solutions overviewCOMMON Europe
 
What's new with Zend server
What's new with Zend serverWhat's new with Zend server
What's new with Zend serverCOMMON Europe
 
Php arrays for RPG programmers
Php arrays for RPG programmersPhp arrays for RPG programmers
Php arrays for RPG programmersCOMMON Europe
 
Open source report writing tools for IBM i Vienna 2012
Open source report writing tools for IBM i  Vienna 2012Open source report writing tools for IBM i  Vienna 2012
Open source report writing tools for IBM i Vienna 2012COMMON Europe
 
Moving 5.4 to 7.1 AB
Moving 5.4 to 7.1 ABMoving 5.4 to 7.1 AB
Moving 5.4 to 7.1 ABCOMMON Europe
 
Introduction to My SQL
Introduction to My SQLIntroduction to My SQL
Introduction to My SQLCOMMON Europe
 
IBM CEC 2012 Storage june 11, 2012
IBM CEC 2012 Storage june 11, 2012IBM CEC 2012 Storage june 11, 2012
IBM CEC 2012 Storage june 11, 2012COMMON Europe
 
Getting started with PHP on IBM i
Getting started with PHP on IBM iGetting started with PHP on IBM i
Getting started with PHP on IBM iCOMMON Europe
 

Más de COMMON Europe (20)

What's New in WebSphere Application Server
What's New in WebSphere Application ServerWhat's New in WebSphere Application Server
What's New in WebSphere Application Server
 
Compiling the Compiler
Compiling the CompilerCompiling the Compiler
Compiling the Compiler
 
Workload Groups overview updates
Workload Groups overview updatesWorkload Groups overview updates
Workload Groups overview updates
 
Why i - Common Europe 2012
Why i - Common Europe 2012Why i - Common Europe 2012
Why i - Common Europe 2012
 
The Ruby OpenSSL extension
The Ruby OpenSSL extensionThe Ruby OpenSSL extension
The Ruby OpenSSL extension
 
Using Ruby on IBM i (i5/OS)
Using Ruby on IBM i (i5/OS)Using Ruby on IBM i (i5/OS)
Using Ruby on IBM i (i5/OS)
 
IBM Systems Director Navigator for i
IBM Systems Director Navigator for iIBM Systems Director Navigator for i
IBM Systems Director Navigator for i
 
IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012IBM i Trends & Directions Common Europe 2012
IBM i Trends & Directions Common Europe 2012
 
IBM i Technology Refreshes Overview 2012 06-04
IBM i Technology Refreshes Overview 2012 06-04IBM i Technology Refreshes Overview 2012 06-04
IBM i Technology Refreshes Overview 2012 06-04
 
IBM i 7.1 & TRs CEC 2012
IBM i 7.1 & TRs CEC 2012IBM i 7.1 & TRs CEC 2012
IBM i 7.1 & TRs CEC 2012
 
DB2 Web Query whats new
DB2 Web Query whats newDB2 Web Query whats new
DB2 Web Query whats new
 
Access client solutions overview
Access client solutions overviewAccess client solutions overview
Access client solutions overview
 
What's new with Zend server
What's new with Zend serverWhat's new with Zend server
What's new with Zend server
 
RPG investment
RPG investmentRPG investment
RPG investment
 
Php arrays for RPG programmers
Php arrays for RPG programmersPhp arrays for RPG programmers
Php arrays for RPG programmers
 
Open source report writing tools for IBM i Vienna 2012
Open source report writing tools for IBM i  Vienna 2012Open source report writing tools for IBM i  Vienna 2012
Open source report writing tools for IBM i Vienna 2012
 
Moving 5.4 to 7.1 AB
Moving 5.4 to 7.1 ABMoving 5.4 to 7.1 AB
Moving 5.4 to 7.1 AB
 
Introduction to My SQL
Introduction to My SQLIntroduction to My SQL
Introduction to My SQL
 
IBM CEC 2012 Storage june 11, 2012
IBM CEC 2012 Storage june 11, 2012IBM CEC 2012 Storage june 11, 2012
IBM CEC 2012 Storage june 11, 2012
 
Getting started with PHP on IBM i
Getting started with PHP on IBM iGetting started with PHP on IBM i
Getting started with PHP on IBM i
 

Último

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Último (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Programming skills

  • 1. Programming Skills: A look back to peer into the future. Pete Massiello iTech Solutions pmassiello@itechsol.com Twitter: PeteM59 1
  • 2. Prehistory • The first Programming languages predate the computer. • Languages were codes • 1890 Herman Hollerith – Census data
  • 4. When do we start? • The Analytical Engine, an important step in the history of computers, is a design for a mechanical general-purpose computer first described by English mathematician Charles Babbage in 1837. It was the successor to Babbage's difference engine, a design for a mechanical calculator. The Analytical Engine incorporated an arithmetical unit, control flow in the form of conditional branching and loops, and integrated memory, making it the first Turing-complete design for a general-purpose computer. • Programming supposed to be by punch cards.
  • 5. Analytical Engine: Built 63 years later
  • 6. ENIAC • Designed in 1942 General-purpose Electronic computer • Electronic Numerical Integrator and Computer (ENIAC). • Enormous speed advantage by using digital electronics with no moving parts. • Called Project-PX as its code name. • Started in 1943, completed in 1946 costing $500,000 ( $6,000,000 in 2010 dollars). • Designed to calculate artillery firing tables for the Army. • First project was computations for the hydrogen bomb. • Decimal based.
  • 8. Operating ENIACs main control panel
  • 9. EDVAC • Electronic Discrete Variable Automatic Computer • Binary serial computer with automatic addition, subtraction, multiplication, programmed division and automatic checking with an ultrasonic serial memory. • Capacity of 1,000 44-bit words, later set to 1,024 words: 5.5KB • 6,000 vacuum tubes, 12,000 diodes, consumed 56kW of power, and covered 490 Sq. Ft. Weighed 17,300 pounds. • Designed 1946 built and operational 1949. • Magnetic tape (Wire recorder).
  • 10. EDVAC
  • 11. What is a Programming Language • A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely. • The earliest programming languages predate the invention of the computer, and were used to direct the behavior of machines such as Jacquard looms and player pianos. Thousands of different programming languages have been created, mainly in the computer field, with many more being created every year. Most programming languages describe computation in an imperative style, i.e., as a sequence of commands, although some languages, such as those that support functional programming or logic programming, use alternative forms of description.
  • 12. Early Languages • 1837 - Analytical Engine Order Code – Charles Babbage • 1943 to 1946 - ENIAC coding System • 1943 – Plankalkul (designed) – First High Level • 1947 - ARC Assembly • 1948 – Curry notation system • 1948 - CPC Coding scheme • 1949 - C10
  • 13. Languages of the 1950s • 1951 - Superplan • 1951 – ALGAE • 1952 – Autocode / AUTOCODER • 1954 – Fortran (Concept) • 1954 - IPL • 1955 – PACT I • 1956 – LISP (Concept) • 1957 – Fortran • 1957 – UNICODE • 1958 – ALGOL 58 • 1959 – COBOL (Concept)
  • 14. Languages of the 1960s • 1960 – ALGOL 60 • 1960 - COBOL 61 • 1962 – Fortran IV • 1962 - SNOBOL • 1963 – CPL • 1964 – BASIC • 1964 – IBM RPG • 1966 – Fortran 66 • 1967 – APL • 1968 – DIBOL-8 • 1969 – PL/I
  • 15. The great debate starts • Programming:  Structured Programming  GOTO • Machines:
  • 16. Languages of the 1970s • 1970 - Pascal • 1972 – Smalltalk • 1972 – C • 1972 – Prolog • 1972 – SQL • 1975 - Modula • 1977 – Bourne Shell (sh) • 1977 – Commodore BASIC • 1977 – Green, Red, Blue, Yellow for Dept. of Defense • 1978 - VisiCalc
  • 17. My college Final Project
  • 18. Languages of 1980 • 1980 – Ada • 1980 - C with classes • 1982 – PostScript • 1983 – C++ • 1984 – Korn Shell (ksh) • 1984 – GOM (Good Old Mad) • 1985 – PARADOX • 1987 – Perl • 1987 – HyperTalk • 1987 – Turbo Basic • 1988 – SPARK • 1989 – FL (Backus)
  • 19. Languages of 1990s • 1990 – AMPL • 1991 – GNU E • 1991 – Python • 1991 – Visual Basic • 1992 – Borland Pascal • 1992 – Dylan • 1993 – Self • 1993 – Applescript • 1995 – Borland Delphi • 1995 – ColdFusion • 1995 – Java • 1995 – PHP
  • 20. Languages of 1990s (cont.) • 1995 – Ruby • 1996 – JavaScript • 1996 – Perl Data Language (PDL) • 1997 - Rebol • 1998 – Standard C++ • 1998 – Pikt • 1999 – Game Maker Language (GML)
  • 21. Languages of 2000s • 2000 – D • 2000 – C# • 2001 – Visual Basic .NET • 2003 – Scala • 2003 – Squirrel • 2004 – Groovy • 2005 – F# • 2006 – Cobra • 2008 – Pure • 2009 – Go • 2009 – CoffeeScript • 2010 - Fancy
  • 22. Generations • 1GL – UNIVAC 1 & IBM 701 – Machine language programs • 2GL – Machine specific but mnemonic  Assembler • 3GL – More abstract & portable  FORTRAN, LISP, RPG, & COBOL  Continued growth & still in use • 4GL – domain specific, as SQL  Code generators
  • 23. Evolution of Computer Programming languages
  • 25. Occupation or a personality
  • 26. Words to describe a programmer • Practical • Introvert • Alone • Socially Inept • Geek • Nerd • Logical Thinker • Analytical
  • 27. April 1967 – Women are natural Programmers
  • 28. Perhaps a little more Coffee
  • 29. Amazing what a few Billion will do Start young…….
  • 30. COMMON Europe President at an Early Age
  • 31. How to successfully prepare your students for college?
  • 32. A recent Dot Net Rocks show…….Teach them early
  • 33. Remember back 10 to 15 years ago • Learn Java or Flip Hamburgers • No need for programmers after Y2K • Everything will be packages • COBOL/RPG are dead • Offshore programmers • The AS/400 is going away
  • 34. Jobs • Ability to Change • Competing against students • Ability to Change • Outside or off-shore programmers • Ability to Change • More company knowledge than programming knowledge • Ability to Change • It’s worked fine for 15 years, why change • Ability to Change • What’s wrong with “the Cycle” • Ability to Change • We don’t use ILE in this shop • Under the Radar
  • 35. Change • Break from your Comfort Zone • Coder, Designer, Business Analyst • Engineer or Artist • Learn a new Skill • See what co-workers are doing • See what other companies are doing • What if I pick the wrong new Skill? • Don’t be Afraid
  • 36. What Shape are you? M a s t e r y ----------------------------- Skills ------------------------------------
  • 37. Top 10 reasons you might be a has-been programmer? • Every program you write use the RPG Cycle • You can write that program more efficiently in Assembler • You know what COBOL stands for • You boast that you know the IBM SE’s home phone number • You have the 15 floppy diskettes for Windows 3.1.1 on your shelf. • You have the yellow trifold EBCIDIC/ASCII Hex sheets • Your home internet is a dial-up modem • When you think DDS you think *PF & *LF, not Dentist • You think RPG stands for Report Program Generator • You wonder why there are no System/36 jobs on Monster.
  • 38. Current RPG Programmer needs: • Get your shop up to IBM i 7.1 • Learn and use ILE & RPG-IV • Learn and use SQL • Learn and use RDp (WDSc, RDi) • Learn HTML5 & XML • Create a webpage • Integrate an RPG program with the web • Learn and use PHP • Learn mySQL • Learn .Net • Learn and use DB2/Webquery • Learn Java
  • 39. Other skills • LINUX • Windows • Business skills • Understand TCP/IP, firewalls, routing • Understand Virtualization • Distributed Processing • Refacing/modernization of the Interface (Open Access) • Open Source • Ruby on Rails • Cell Phone applications • Games • Explore, investigate, & play
  • 40. How will we get those skills • User Groups • Night Classes • Networking • On-Line courses • On-line discussion forums: Midrange-l, RPG400-L • Books, Podcasts, Blogs
  • 41. Exact Skills of the Future
  • 42. Skills are important but the future ……. • Attitude • Work-Ethic • Dress for success • Understanding the business & creating value • Coder, Designer, Business Analyst • Computer-Savvy Kids • Facebook, Twitter, LinkedIn, ……. • Ability to Change
  • 43. Who will be the successful programmer of the future? • Integrator  Understands different Technology  Knows the benefits of each  Knows how to unite them
  • 44. Investment • Invest in yourself • Your compensation package should include:  1 Week of Education per year (COMMON)  Reimbursement to attend monthly user group meeting • Company purchased training programs • Don’t make yourself unemployable
  • 46. Your Turn! How to contact me: Pete Massiello Email: pmassiello@itechsol.com Twitter: petem59