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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
560
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
230
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.5k
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
ぼくの開発環境2026
yuzneri
0
210
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
560
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
106
230k
Evolving SEO for Evolving Search Engines
ryanjones
0
120
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Exploring anti-patterns in Rails
aemeredith
2
250
Building the Perfect Custom Keyboard
takai
2
680
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
The SEO identity crisis: Don't let AI make you average
varn
0
240
Site-Speed That Sticks
csswizardry
13
1.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
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