Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Overview of Programming Languages
Search
Philip I. Thomas
November 03, 2014
Programming
0
540
Overview of Programming Languages
Presented at Hackbright Academy
Philip I. Thomas
November 03, 2014
Tweet
Share
More Decks by Philip I. Thomas
See All by Philip I. Thomas
Staffjoy Seed Round Pitch Deck
philipithomas
1
9.4k
Decision Algorithms In Production.
philipithomas
0
300
Staffjoy Dec 2015 Angel Round Pitch Deck
philipithomas
1
9.4k
Staffjoy Y Combinator Fellowship Demo Day Pitch Deck
philipithomas
1
8.6k
Predictive Analysis using JuMP
philipithomas
0
420
Optimization in Julia
philipithomas
0
1.8k
Other Decks in Programming
See All in Programming
AI時代の認知負荷との向き合い方
optfit
0
160
CSC307 Lecture 05
javiergs
PRO
0
500
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
690
Architectural Extensions
denyspoltorak
0
280
Fragmented Architectures
denyspoltorak
0
150
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
960
AI巻き込み型コードレビューのススメ
nealle
1
190
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
160
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
CSC307 Lecture 07
javiergs
PRO
0
550
Featured
See All Featured
Music & Morning Musume
bryan
47
7.1k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
A Tale of Four Properties
chriscoyier
162
24k
Leo the Paperboy
mayatellez
4
1.4k
Tell your own story through comics
letsgokoyo
1
810
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
49k
Ruling the World: When Life Gets Gamed
codingconduct
0
140
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Fireside Chat
paigeccino
41
3.8k
Code Review Best Practice
trishagee
74
20k
Believing is Seeing
oripsolob
1
54
Transcript
Overview of Programming Languages Philip I. Thomas Engineer, OpenDNS www.philipithomas.com
@philipithomas
Me • Philip I. Thomas • Engineer, OpenDNS • www.philipithomas.com
•
[email protected]
• @philipithomas
About OpenDNS • Recursive DNS (50 billion queries a day)
• Security Research and enforcement • 200 employees 208.67.220.220 208.67.222.222
Goal Expose new programmers to different programming languages
Agenda 1. What’s a Programming Language 2. Language Tour a.
Ruby b. PHP c. Java d. C 3. Next Steps
What’s a Programming Language
Programming Languages • Formal way to communicate instructions to a
machine • Standard is “Turing Completeness” • Each language has its own strengths, weaknesses, and idiosyncrasies
Turing Completeness Complete: • Ruby • Javascript Incomplete: • HTML
• CSS
Some Differences • Syntax • Interpreted vs. Compiled • Typing
• Paradigms
Syntax Source: LearnXinYminutes.com
Interpreted vs. Compiled
Typing Strong vs. Weak 10 + “10” • Ruby: Error
• Javascript: “1010” • PHP: 20 Dynamic vs. Static i = “hello” Do we have to explicitly specify that “i” is a string?
Paradigms • Machine Code • Procedural • Object-Oriented “Higher Level”
Language Tour
Section Languages: • Ruby • PHP • Java • C
Covering: • Basics • Where it’s used • Culture
Ruby (1995) • Interpreted • Object-Oriented • Strong-typed, Dynamic •
Everything is a class! • Emphasizes humans over computers http://learnxinyminutes.com/docs/ruby/
Who Uses Ruby
Ruby Culture
PHP (1995) • Interpreted • General Purpose / Object- Oriented
• Weak-Typed and Dynamic • There’s a function for everything http://learnxinyminutes.com/docs/php/
Who Uses PHP
PHP Culture
Java (1995) • Compiled • Strong-Typed and Static • “Write
Once, Run Anywhere” • Robust, Secure, Concurrent • Most-used language in the world http://learnxinyminutes.com/docs/java/
Who Uses Java
Java Culture
C (1972) • Compiled • Strong-Typed and Static • Procedural
(low-level) • Manual memory management • Second most-used language http://learnxinyminutes.com/docs/c/
Who Uses C
C Culture
Next Steps
Programming Advice • Learn to Learn • Ask Questions •
Build projects • Don’t be intimidated
A word on imposter syndrome • There’s a lot you
can know • You only need a subset to build something that people love • It helps to understand what’s out there - curiosity is good; being intimidated is bad
Further Reading • LearnXInYMinutes.com • 7 Languages in 7 Weeks
• Stack Overflow
Conclusion
Goal Expose new programmers to different programming languages
Agenda 1. What’s a Programming Language 2. Language Tour a.
Ruby b. PHP c. Java d. C 3. Next Steps
OpenLate Meetup • Tech Talks and Evening Hack Lounge •
Every other Tuesday, 7PM-Midnight • Meetup.com/OpenLate
Overview of Programming Languages Philip I. Thomas Engineer, OpenDNS www.philipithomas.com
@philipithomas