SlideShare uma empresa Scribd logo
1 de 15
Bridging Ousterhout's Dichotomy to hone your prog-fu Andy Grover [email_address] [email_address]
John Ousterhout ,[object Object]
Creator of Tcl/Tk
Wrote “Scripting: Higher Level Programming for the 21st Century”
The Dichotomy Two kingdoms of languages: ,[object Object]
Compiled into machine code
Statically typed
Complex data structures & algorithms ,[object Object]
Interpreted
Dynamically typed
No complex structures
Runtimes, VM, byte-compiled
I say: Learn One of Each  ,[object Object]
Java if you must ,[object Object]
"I am a big proponent of temporarily changing programming scope every once in a while to reset some assumptions and habits." –  John Carmack

Mais conteúdo relacionado

Mais procurados

Arduino + rcs620sで遊ぼう
Arduino + rcs620sで遊ぼうArduino + rcs620sで遊ぼう
Arduino + rcs620sで遊ぼうtreby
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料直久 住川
 
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜Daisuke Matsubara
 
Intellectual property in vlsi
Intellectual property in vlsiIntellectual property in vlsi
Intellectual property in vlsiSaransh Choudhary
 
射頻電子 - [實驗第四章] 微波濾波器與射頻多工器設計
射頻電子 - [實驗第四章] 微波濾波器與射頻多工器設計射頻電子 - [實驗第四章] 微波濾波器與射頻多工器設計
射頻電子 - [實驗第四章] 微波濾波器與射頻多工器設計Simen Li
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドMasanori Itoh
 
最新型SX1302ベース LoRaWAN HAT for Rasberry Pi PG1302-JP日本語マニュアル
最新型SX1302ベース LoRaWAN HAT for Rasberry Pi  PG1302-JP日本語マニュアル最新型SX1302ベース LoRaWAN HAT for Rasberry Pi  PG1302-JP日本語マニュアル
最新型SX1302ベース LoRaWAN HAT for Rasberry Pi PG1302-JP日本語マニュアルCRI Japan, Inc.
 
Joug(Oktaユーザーグループ)登壇資料
Joug(Oktaユーザーグループ)登壇資料Joug(Oktaユーザーグループ)登壇資料
Joug(Oktaユーザーグループ)登壇資料ssuserdf544a
 
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)marsee101
 
動的計画法の基礎と応用 ~色々使える大局的最適化法
動的計画法の基礎と応用 ~色々使える大局的最適化法動的計画法の基礎と応用 ~色々使える大局的最適化法
動的計画法の基礎と応用 ~色々使える大局的最適化法Seiichi Uchida
 
Vivado hls勉強会4(axi4 master)
Vivado hls勉強会4(axi4 master)Vivado hls勉強会4(axi4 master)
Vivado hls勉強会4(axi4 master)marsee101
 
如何設定通訊埠轉發
如何設定通訊埠轉發如何設定通訊埠轉發
如何設定通訊埠轉發臺灣塔米歐
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
SCR based On-chip ESD protection for LNA
SCR based On-chip ESD protection for LNASCR based On-chip ESD protection for LNA
SCR based On-chip ESD protection for LNASofics
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehtaUsha Mehta
 

Mais procurados (20)

Clock Gating
Clock GatingClock Gating
Clock Gating
 
Arduino + rcs620sで遊ぼう
Arduino + rcs620sで遊ぼうArduino + rcs620sで遊ぼう
Arduino + rcs620sで遊ぼう
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
 
Intellectual property in vlsi
Intellectual property in vlsiIntellectual property in vlsi
Intellectual property in vlsi
 
射頻電子 - [實驗第四章] 微波濾波器與射頻多工器設計
射頻電子 - [實驗第四章] 微波濾波器與射頻多工器設計射頻電子 - [實驗第四章] 微波濾波器與射頻多工器設計
射頻電子 - [實驗第四章] 微波濾波器與射頻多工器設計
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
最新型SX1302ベース LoRaWAN HAT for Rasberry Pi PG1302-JP日本語マニュアル
最新型SX1302ベース LoRaWAN HAT for Rasberry Pi  PG1302-JP日本語マニュアル最新型SX1302ベース LoRaWAN HAT for Rasberry Pi  PG1302-JP日本語マニュアル
最新型SX1302ベース LoRaWAN HAT for Rasberry Pi PG1302-JP日本語マニュアル
 
ZERO WIRE LOAD MODEL.pptx
ZERO WIRE LOAD MODEL.pptxZERO WIRE LOAD MODEL.pptx
ZERO WIRE LOAD MODEL.pptx
 
Joug(Oktaユーザーグループ)登壇資料
Joug(Oktaユーザーグループ)登壇資料Joug(Oktaユーザーグループ)登壇資料
Joug(Oktaユーザーグループ)登壇資料
 
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
 
Crosstalk.pdf
Crosstalk.pdfCrosstalk.pdf
Crosstalk.pdf
 
動的計画法の基礎と応用 ~色々使える大局的最適化法
動的計画法の基礎と応用 ~色々使える大局的最適化法動的計画法の基礎と応用 ~色々使える大局的最適化法
動的計画法の基礎と応用 ~色々使える大局的最適化法
 
Vivado hls勉強会4(axi4 master)
Vivado hls勉強会4(axi4 master)Vivado hls勉強会4(axi4 master)
Vivado hls勉強会4(axi4 master)
 
如何設定通訊埠轉發
如何設定通訊埠轉發如何設定通訊埠轉發
如何設定通訊埠轉發
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
Major project iii 3
Major project  iii  3Major project  iii  3
Major project iii 3
 
Timing analysis
Timing analysisTiming analysis
Timing analysis
 
SCR based On-chip ESD protection for LNA
SCR based On-chip ESD protection for LNASCR based On-chip ESD protection for LNA
SCR based On-chip ESD protection for LNA
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehta
 

Destaque

Manteia non confidential-presentation 2003-09
Manteia non confidential-presentation 2003-09Manteia non confidential-presentation 2003-09
Manteia non confidential-presentation 2003-09Pascal Mayer
 
DNA colony massively parrallel sequencing ams98 presentation
DNA colony massively parrallel sequencing ams98 presentationDNA colony massively parrallel sequencing ams98 presentation
DNA colony massively parrallel sequencing ams98 presentationPascal Mayer
 
5G for the Networked Society beyond 2020
5G for the Networked Society beyond 20205G for the Networked Society beyond 2020
5G for the Networked Society beyond 2020Ericsson Labs
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation Jiann-Fuh Liaw
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...Brian Solis
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source CreativitySara Cannon
 

Destaque (7)

Manteia non confidential-presentation 2003-09
Manteia non confidential-presentation 2003-09Manteia non confidential-presentation 2003-09
Manteia non confidential-presentation 2003-09
 
DNA colony massively parrallel sequencing ams98 presentation
DNA colony massively parrallel sequencing ams98 presentationDNA colony massively parrallel sequencing ams98 presentation
DNA colony massively parrallel sequencing ams98 presentation
 
5G for the Networked Society beyond 2020
5G for the Networked Society beyond 20205G for the Networked Society beyond 2020
5G for the Networked Society beyond 2020
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation
 
Silicon beach d01
Silicon beach d01Silicon beach d01
Silicon beach d01
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source Creativity
 

Semelhante a Bridging Ousterhout's Dichotomy

Python Intro For Managers
Python Intro For ManagersPython Intro For Managers
Python Intro For ManagersAtul Shridhar
 
Number of Computer Languages = 3
Number of Computer Languages = 3Number of Computer Languages = 3
Number of Computer Languages = 3Ram Sekhar
 
The Art of Evolutionary Algorithms Programming
The Art of Evolutionary Algorithms ProgrammingThe Art of Evolutionary Algorithms Programming
The Art of Evolutionary Algorithms ProgrammingJuan J. Merelo
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinalProf. Wim Van Criekinge
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekingeProf. Wim Van Criekinge
 
difference between c c++ c#
difference between c c++ c#difference between c c++ c#
difference between c c++ c#Sireesh K
 
Programming Languages #devcon2013
Programming Languages #devcon2013Programming Languages #devcon2013
Programming Languages #devcon2013Iván Montes
 
Ruby is dying. What languages are cool now?
Ruby is dying. What languages are cool now?Ruby is dying. What languages are cool now?
Ruby is dying. What languages are cool now?Michał Konarski
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE Pavan Kalyan
 
Codebits Handivi
Codebits HandiviCodebits Handivi
Codebits Handivicfpinto
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSkills Matter
 
Peyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_futurePeyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_futureTakayuki Muranushi
 
Go language presentation
Go language presentationGo language presentation
Go language presentationparamisoft
 
Harmonic Stack for Speed
Harmonic Stack for SpeedHarmonic Stack for Speed
Harmonic Stack for SpeedYung-Yu Chen
 
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLinaro
 
Merged Automation Talk - Pete Carapetyan - Feb 2016
Merged Automation Talk - Pete Carapetyan - Feb 2016 Merged Automation Talk - Pete Carapetyan - Feb 2016
Merged Automation Talk - Pete Carapetyan - Feb 2016 petecarapetyan
 

Semelhante a Bridging Ousterhout's Dichotomy (20)

Python Intro For Managers
Python Intro For ManagersPython Intro For Managers
Python Intro For Managers
 
Number of Computer Languages = 3
Number of Computer Languages = 3Number of Computer Languages = 3
Number of Computer Languages = 3
 
P1 2017 python
P1 2017 pythonP1 2017 python
P1 2017 python
 
The Art of Evolutionary Algorithms Programming
The Art of Evolutionary Algorithms ProgrammingThe Art of Evolutionary Algorithms Programming
The Art of Evolutionary Algorithms Programming
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge
 
P1 2018 python
P1 2018 pythonP1 2018 python
P1 2018 python
 
difference between c c++ c#
difference between c c++ c#difference between c c++ c#
difference between c c++ c#
 
Programming Languages #devcon2013
Programming Languages #devcon2013Programming Languages #devcon2013
Programming Languages #devcon2013
 
Ruby is dying. What languages are cool now?
Ruby is dying. What languages are cool now?Ruby is dying. What languages are cool now?
Ruby is dying. What languages are cool now?
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE
 
Codebits Handivi
Codebits HandiviCodebits Handivi
Codebits Handivi
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
Peyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_futurePeyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_future
 
Go language presentation
Go language presentationGo language presentation
Go language presentation
 
Harmonic Stack for Speed
Harmonic Stack for SpeedHarmonic Stack for Speed
Harmonic Stack for Speed
 
C c#
C c#C c#
C c#
 
Os Lamothe
Os LamotheOs Lamothe
Os Lamothe
 
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoT
 
Merged Automation Talk - Pete Carapetyan - Feb 2016
Merged Automation Talk - Pete Carapetyan - Feb 2016 Merged Automation Talk - Pete Carapetyan - Feb 2016
Merged Automation Talk - Pete Carapetyan - Feb 2016
 

Último

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Último (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Bridging Ousterhout's Dichotomy

Notas do Editor

  1. I'm actually filling in for the original presenter, who chose this presentation's title. I was a little confused by it. You don't need to be godly or have mad leet skillz to use python. It also is a very productive language, so it helps you make the most of your time on earth.
  2. Obviously this is incomplete, and there are many languages that don't fit this. Maybe it's easier to simply say high-level (focused on problem space, productivity) vs low-level (dealing with the machine as it actually is with little abstraction) o's false dichotomy This talk is not about taxonomy, it's simply about that being comfortable with a lang from each camp will bear fruit, even if your day-to-day work is in one or the other Low-level: C, C++, modula2, pascal. Only real choice today is C HL: Python, perl, ruby, haskell, lisp, C#, java
  3. C and Python syntax are both relatively small, and can be left unused for a while without completely leaving the brain Popular Do not try to learn C++. It is useful only as an exercise in demonstrating to yourself you can learn anything if you try hard enough. Some people like to learn languages and read programming Reddit. That's cool. This talk is not for you so much. :) Shell scripting is easy but I've found a real scripting language makes it much easier to grow code beyond a certain point
  4. Because of this last point, C has very good debugging tools, including Valgrind, oprofile, systemtap, gdb, ddd, gprof, and the like.
  5. C excels at code weight. It may be painful to write and debug, but the payoff is that ten million users will have that much more RAM for other things. Like Compiz and lolcats. When FOSS apps become popular, sometimes they will be rewritten in C! Tomboy, git porcelain
  6. It's not. But all the Plumbing and infrastructure is written in C, so if you hack down the stack, you should know it. If you're not writing a kernel or plumbing, fer gad's sake write it in a HLL
  7. In C the need to define everything would quickly take the fun out of such freewheeling use of collections. Exception handling makes code more compact and task focused – less “programming sit-ups” Anything you want to do, chances are someone's already done it, since writing a module is so easy. The corollary is, it may be easier for you to write it from scratch than to use their code :) No mess with .sonames (wiipresent story here) REPL's power is easy to underestimate
  8. If you know Python, then Ruby code is weird-looking, but you can follow it. Many langs based on c-style syntax, so also very helpful Design Patterns are missing language features?
  9. Our scm systems are rapidly improving, and this makes it trivially easy to pull down code and jump in. so pop around a little and see what other folks are doing. I've found myself contributing to some one-person projects, and they are THRILLED someone else is contributing.