Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Overview of Programming Languages

Overview of Programming Languages

Presented at Hackbright Academy

Philip I. Thomas

November 03, 2014
Tweet

More Decks by Philip I. Thomas

Other Decks in Programming

Transcript

  1. About OpenDNS • Recursive DNS (50 billion queries a day)

    • Security Research and enforcement • 200 employees 208.67.220.220 208.67.222.222
  2. Agenda 1. What’s a Programming Language 2. Language Tour a.

    Ruby b. PHP c. Java d. C 3. Next Steps
  3. Programming Languages • Formal way to communicate instructions to a

    machine • Standard is “Turing Completeness” • Each language has its own strengths, weaknesses, and idiosyncrasies
  4. 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?
  5. Section Languages: • Ruby • PHP • Java • C

    Covering: • Basics • Where it’s used • Culture
  6. Ruby (1995) • Interpreted • Object-Oriented • Strong-typed, Dynamic •

    Everything is a class! • Emphasizes humans over computers http://learnxinyminutes.com/docs/ruby/
  7. PHP (1995) • Interpreted • General Purpose / Object- Oriented

    • Weak-Typed and Dynamic • There’s a function for everything http://learnxinyminutes.com/docs/php/
  8. 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/
  9. C (1972) • Compiled • Strong-Typed and Static • Procedural

    (low-level) • Manual memory management • Second most-used language http://learnxinyminutes.com/docs/c/
  10. Programming Advice • Learn to Learn • Ask Questions •

    Build projects • Don’t be intimidated
  11. 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
  12. Agenda 1. What’s a Programming Language 2. Language Tour a.

    Ruby b. PHP c. Java d. C 3. Next Steps
  13. OpenLate Meetup • Tech Talks and Evening Hack Lounge •

    Every other Tuesday, 7PM-Midnight • Meetup.com/OpenLate