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