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
570
0
Share
Overview of Programming Languages
Presented at Hackbright Academy
Philip I. Thomas
November 03, 2014
More Decks by Philip I. Thomas
See All by Philip I. Thomas
Staffjoy Seed Round Pitch Deck
philipithomas
1
9.5k
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.7k
Predictive Analysis using JuMP
philipithomas
0
430
Optimization in Julia
philipithomas
0
1.9k
Other Decks in Programming
See All in Programming
tRPCの概要と少しだけパフォーマンス
misoton665
2
270
Back to the roots of date
jinroq
0
760
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
350
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.1k
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
340
From Formal Specification to Property Based Test
ohbarye
0
2.4k
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.9k
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.2k
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
340
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
150
Firefoxにコントリビューションして得られた学び
ken7253
2
160
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
480
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Prompt Engineering for Job Search
mfonobong
0
300
Documentation Writing (for coders)
carmenintech
77
5.3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
Side Projects
sachag
455
43k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
170
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