SlideShare a Scribd company logo
1 of 10
Religious Arguments (Software)
4th
May 2018
Topics
● Bracket styles
● Editors
● Strongly typed vs weakly typed
● Windows/Linux - Mac is both
● iOS/Android
Bracket Styles {1}
Two extremes:
public void foo()
{
if (condition)
{
action1();
}
else
{
action2();
}
}
public void foo() {
if (condition) {
action1();
} else {
action2();
}
}
Bracket Styles {2}
Points to consider:
● Readability.
● Fitting as much on the screen as possible.
● Lining up related braces visually.
● Coding standard - can you tell who wrote it.
● Related - restricting width to 80 characters.
● Related - 2 or 4 spaces, or tabs?
Bracket Styles {3}
The compromise?
public void foo()
{
if (condition) {
action1();
}
else {
action2();
}
}
Best Editor (1)
There are many from which to choose:
● Emacs
● Vi(m)
● Visual Studio Code
● Notepad
● Sublime
● Atom
● Eclipse
● IntelliJ / Jetbrains
Best Editor (2)
● The answer is that it depends on what you are doing.
● Tightest integration with the language and tools is winner.
● What are people’s preferred editors for embedded, mobile, fullstack
(frontend+backend)?
● Maybe the question should be: best generic editor. But then there is only one:
emacs.
● It even has a doctor: M-x doctor
When life, the universe and everything is all getting too much. The doctor is a
Rogerian psychotherapist who will help you with your problems.
● To try it (without emacs), go to:
http://www.zenjero.net/morezen/doctor/index.php
Strongly Typed vs Weakly Typed
● We’re talking about having this:
int foo = 1 or this: var foo = 1
● A strongly typed system is one in which there is no possibility of an
unchecked runtime type error.
● There are many advantages of a strongly typed system, mainly around
catching errors before you even trying running it.
● The main advantage of weakly typed systems is less typing, the implication
being less typing = time saved. False economy? Linters help, a bit.
● Does it save you time if somebody somebody subsequently makes an edit to
another part of the code base that interacts with your code?
Windows vs Mac
● Mac is more expensive. Initial cost, lifetime ownership? Resilience against
accidents?
● Customer service? Lenovo ThinkPad?
● Windows has more software. What about if we limit that to just developers?
What about for gamers?
● Fewer viruses for the Mac.
● What about linux?
iOS vs Android
● In many ways this is similar to Max vs Android.
● iOS is more expensive, but similar arguments exist to the lifetime ownership
conversation with Windows.
● Customer service.
● Rate of advancements in underlying OS.
● Integration with Cloud and other technologies.
● Quality of apps?
● Malware.

More Related Content

Similar to Green Custard Friday Talk 9: Software Religious Arguments

mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game development
David Galeano
 

Similar to Green Custard Friday Talk 9: Software Religious Arguments (20)

Full stack development
Full stack developmentFull stack development
Full stack development
 
Demystifying software development
Demystifying software developmentDemystifying software development
Demystifying software development
 
Number of Computer Languages = 3
Number of Computer Languages = 3Number of Computer Languages = 3
Number of Computer Languages = 3
 
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
 
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
 
Developer effiencency
Developer effiencencyDeveloper effiencency
Developer effiencency
 
12 tricks to avoid hackers breaks your CI / CD
12 tricks to avoid hackers breaks your  CI / CD12 tricks to avoid hackers breaks your  CI / CD
12 tricks to avoid hackers breaks your CI / CD
 
The pragmatic programmer
The pragmatic programmerThe pragmatic programmer
The pragmatic programmer
 
Intro To AOP
Intro To AOPIntro To AOP
Intro To AOP
 
Architecting Solutions for the Manycore Future
Architecting Solutions for the Manycore FutureArchitecting Solutions for the Manycore Future
Architecting Solutions for the Manycore Future
 
Linters for frontend code review
Linters for frontend code reviewLinters for frontend code review
Linters for frontend code review
 
Oh the compilers you'll build
Oh the compilers you'll buildOh the compilers you'll build
Oh the compilers you'll build
 
Presentation
PresentationPresentation
Presentation
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with Flutter
 
Go programming language
Go programming languageGo programming language
Go programming language
 
OpenZFS code repository
OpenZFS code repositoryOpenZFS code repository
OpenZFS code repository
 
Go fundamentals
Go fundamentalsGo fundamentals
Go fundamentals
 
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game development
 
Indy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleIndy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-mule
 

More from Green Custard

More from Green Custard (14)

AWS IoT Bootcamp
AWS IoT BootcampAWS IoT Bootcamp
AWS IoT Bootcamp
 
Green Custard Friday Talk 22: Flutter
Green Custard Friday Talk 22: FlutterGreen Custard Friday Talk 22: Flutter
Green Custard Friday Talk 22: Flutter
 
Green Custard Friday Talk 21: React Hooks
Green Custard Friday Talk 21: React HooksGreen Custard Friday Talk 21: React Hooks
Green Custard Friday Talk 21: React Hooks
 
Green Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos EngineeringGreen Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos Engineering
 
Green Custard Friday Talk 17: Ray Tracing
Green Custard Friday Talk 17: Ray TracingGreen Custard Friday Talk 17: Ray Tracing
Green Custard Friday Talk 17: Ray Tracing
 
Green Custard Friday Talk 15: The UX Conference
Green Custard Friday Talk 15: The UX ConferenceGreen Custard Friday Talk 15: The UX Conference
Green Custard Friday Talk 15: The UX Conference
 
Green Custard Friday Talk 14: E-Learning Standards
Green Custard Friday Talk 14: E-Learning StandardsGreen Custard Friday Talk 14: E-Learning Standards
Green Custard Friday Talk 14: E-Learning Standards
 
Green Custard Friday Talk 13: Procedural Land Generation
Green Custard Friday Talk 13: Procedural Land GenerationGreen Custard Friday Talk 13: Procedural Land Generation
Green Custard Friday Talk 13: Procedural Land Generation
 
Green Custard Friday Talk 11: Office Wellbeing
Green Custard Friday Talk 11: Office WellbeingGreen Custard Friday Talk 11: Office Wellbeing
Green Custard Friday Talk 11: Office Wellbeing
 
Green Custard Friday Talk 8: GraphQL
Green Custard Friday Talk 8: GraphQLGreen Custard Friday Talk 8: GraphQL
Green Custard Friday Talk 8: GraphQL
 
Green Custard Friday Talk 7: Scientific Product Design
Green Custard Friday Talk 7: Scientific Product DesignGreen Custard Friday Talk 7: Scientific Product Design
Green Custard Friday Talk 7: Scientific Product Design
 
Green Custard Friday Talk 5: React-Native Performance
Green Custard Friday Talk 5: React-Native PerformanceGreen Custard Friday Talk 5: React-Native Performance
Green Custard Friday Talk 5: React-Native Performance
 
Green Custard Friday Talk 3: Extreme Sheepdog Trials
Green Custard Friday Talk 3: Extreme Sheepdog TrialsGreen Custard Friday Talk 3: Extreme Sheepdog Trials
Green Custard Friday Talk 3: Extreme Sheepdog Trials
 
Green Custard Friday Talk 2: Technology in Games
Green Custard Friday Talk 2: Technology in GamesGreen Custard Friday Talk 2: Technology in Games
Green Custard Friday Talk 2: Technology in Games
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

Green Custard Friday Talk 9: Software Religious Arguments

  • 2. Topics ● Bracket styles ● Editors ● Strongly typed vs weakly typed ● Windows/Linux - Mac is both ● iOS/Android
  • 3. Bracket Styles {1} Two extremes: public void foo() { if (condition) { action1(); } else { action2(); } } public void foo() { if (condition) { action1(); } else { action2(); } }
  • 4. Bracket Styles {2} Points to consider: ● Readability. ● Fitting as much on the screen as possible. ● Lining up related braces visually. ● Coding standard - can you tell who wrote it. ● Related - restricting width to 80 characters. ● Related - 2 or 4 spaces, or tabs?
  • 5. Bracket Styles {3} The compromise? public void foo() { if (condition) { action1(); } else { action2(); } }
  • 6. Best Editor (1) There are many from which to choose: ● Emacs ● Vi(m) ● Visual Studio Code ● Notepad ● Sublime ● Atom ● Eclipse ● IntelliJ / Jetbrains
  • 7. Best Editor (2) ● The answer is that it depends on what you are doing. ● Tightest integration with the language and tools is winner. ● What are people’s preferred editors for embedded, mobile, fullstack (frontend+backend)? ● Maybe the question should be: best generic editor. But then there is only one: emacs. ● It even has a doctor: M-x doctor When life, the universe and everything is all getting too much. The doctor is a Rogerian psychotherapist who will help you with your problems. ● To try it (without emacs), go to: http://www.zenjero.net/morezen/doctor/index.php
  • 8. Strongly Typed vs Weakly Typed ● We’re talking about having this: int foo = 1 or this: var foo = 1 ● A strongly typed system is one in which there is no possibility of an unchecked runtime type error. ● There are many advantages of a strongly typed system, mainly around catching errors before you even trying running it. ● The main advantage of weakly typed systems is less typing, the implication being less typing = time saved. False economy? Linters help, a bit. ● Does it save you time if somebody somebody subsequently makes an edit to another part of the code base that interacts with your code?
  • 9. Windows vs Mac ● Mac is more expensive. Initial cost, lifetime ownership? Resilience against accidents? ● Customer service? Lenovo ThinkPad? ● Windows has more software. What about if we limit that to just developers? What about for gamers? ● Fewer viruses for the Mac. ● What about linux?
  • 10. iOS vs Android ● In many ways this is similar to Max vs Android. ● iOS is more expensive, but similar arguments exist to the lifetime ownership conversation with Windows. ● Customer service. ● Rate of advancements in underlying OS. ● Integration with Cloud and other technologies. ● Quality of apps? ● Malware.