IFT

Peter

Peter

  • CCCA

Take Easy

IFT

I fly then

Information Trend

Information Trend

CHANGES

Cool

Hurray

Apple

New

Google

Exciting

Challenging

Hard

Anxiety

Nervous

Gossip

Envious

What Can We Do ?

CRY

CRY

The End?

C

R

Y

Curiosity

R

Y

Curiosity

Read

Y

Curiosity

Read

YOLO

YOLO

YOLO

You Only Live Once

YOLO

You Only Live Once

YOLO
O

L

O

YOLO
Observe
L

O

YOLO
Observe
Learn

O

YOLO
Observe
Learn

Origin

Young
Observe
Learn

Origin

END?

Essence
Nature
Doubt

How many PL are the in the world?

At least 256

https://www.quora.com/How-many-programming-languages-are-there-in-the-world

list on wiki

https://en.wikipedia.org/wiki/List_of_programming_languages

But Hey

There are old languages

Why do we care?

The First Three PL

  • 1
  • 2
  • 3

The First Three PL

  • FORTRAN(1954)
  • 2
  • 3

The First Three PL

  • FORTRAN(1954)
  • COBOL(1959)
  • 3

The First Three PL

  • FORTRAN(1954)
  • COBOL(1959)
  • LISP(1958)

They still exist

More than you think

  • over 70% HPC still run FORTRAN
  • you might get higher pay with COBOL
  • LISP is everywhere

We also have lots of new languages

Golang

Julialang

Rust

Clojure

......

 

You Can't Learn Them All

Can you?

"They are just program"

They look the same

"They are just program"

They look the same

Have you heard...

Imperative

v.s.

Functional

https://stackoverflow.com/questions/17826380/what-is-difference-between-functional-and-imperative-programming-languages

Imperative programming

Imperative programming

  • Turing Machine
  • by Alan Turing
  • Think like machine

Functional programming

Functional programming

  • Lambda Calculus
  • by Alonzo Church
  • Think like human

Hey Dude,

What the FuXX

What are these for?

Algorithm?

What is algorithm?

How can we prove they exist?

Definition of algorithm

a procedure for solving a mathematical problem in a finite number of steps that frequently involves repetition of an operation

Imperative v.s. Functional

They are just different ways of thinking

Imperative lang

C, C++, Python, java, ruby, C#,  ...

Functional lang

LISP, Haskell, F#, ...

What are PLs?

Ways to communicate with computers

What are computers?

Machines that help us do some task

PL help us to express our logic

mid-QA

The M.F.A. Question

What PL should I start with?

Ask Yourself

What do you want to do?

Q: Why PL & Functional

One of Buzzwords

Lots of Buzzwords

(Kind of)

You might heard ...

  • BIG DATA (& map reduce)
  • AI (& Deeplearning)
  • IOT
  • BlockChain (& bitcoin)
  • DevOps
  • Agile (& software engineer)
  • ......

Courses that you might learn from major in CS 

  • Operating System
  • Computer Architecture
  • Computation Theory (Formal lang)
  • computer networking
  • Compiler
  • ......

Every Buzzword comes with reasons

Try to doubt

Observe the nature

Find the essence

Conclusion

Focus on the truth

Don't be afraid of learning

Don't be limited by the society

Open Source is your friend

That's All

The End?

The END

Q&A?

IFT

By Peter Cheng

IFT

  • 843