SlideShare une entreprise Scribd logo
1  sur  47
Why are Preprocessors divisive?


          Kianosh Pourian
Who Are you?
Who Are you?
 No one of consequence
Who Are you?
 No one of consequence
      I must know
Who Are you?
 No one of consequence
       I must know
Get used to disappointment
Who Are you?
 No one of consequence
       I must know
Get used to disappointment

   Twitter: @kianoshp
 Blog: innovatorylife.com
What are Preprocessors?
   In computer science, a preprocessor is a program that processes its input data to produce
 output that is used as input to another program. The output is said to be a preprocessed form
of the input data, which is often used by some subsequent programs like compilers. The amount
 and kind of processing done depends on the nature of the preprocessor; some preprocessors
  are only capable of performing relatively simple textual substitutions and macro expansions,
               while others have the power of full-fledged programming languages.
Preprocessors for the Web
Preprocessors for the Web
For the web, the term usually means a language
that can be combined with a trans-compiler to
    output a canonical “web language,” like
               JavaScript or CSS.
Preprocessors for the Web
For the web, the term usually means a language
that can be combined with a trans-compiler to
    output a canonical “web language,” like
               JavaScript or CSS.

          More a dialect, less a language.
PreProcessors in the wild
PreProcessors in the wild
• Stenographers
• Shorthand notes
PreProcessors in the wild
• Stenographers
• Shorthand notes
Preprocessors for Front End
       DevelopmentHAML


    Jade
               Zen-coding
Preprocessors for Front End
       DevelopmentHAML
           HTML
    Jade
               Zen-coding
Preprocessors for Front End
         DevelopmentHAML
             HTML
      Jade
                 Zen-coding




CSS
Preprocessors for Front End
                DevelopmentHAML
                            HTML
                    Jade
                               Zen-coding

             Sass/Compass
LESS
       CSS

               Stylus
Preprocessors for Front End
                DevelopmentHAML
                            HTML
                    Jade
                               Zen-coding

             Sass/Compass
LESS
       CSS

               Stylus                       JavaScript
Preprocessors for Front End
                DevelopmentHAML
                            HTML
                    Jade
                                   Zen-coding

             Sass/Compass
LESS
       CSS                                            CoffeeScript
                            IcedCoffeeScript
               Stylus                           JavaScript
                                      GWT
                                                       DART
How to Argue Correctly
• Scientific research vs. Political debate
• Leave out the vitriol
• Semi colon war of 2012 - https://
  github.com/twitter/bootstrap/issues/3057
• Selector wars of 2008 - http://ejohn.org/
  blog/selectors-that-people-actually-use/
Goals of a Discussion
Goals of a Discussion
• It should produce a wise agreement, if
  possible
Goals of a Discussion
• It should produce a wise agreement, if
  possible
• It should be efficient
Goals of a Discussion
• It should produce a wise agreement, if
  possible
• It should be efficient
• It should not damage the relationship
  between the parties
Tactics for a discussion
Tactics for a discussion

• Separate the people from the problem
Tactics for a discussion

• Separate the people from the problem
• Focus on interests, not positions
Tactics for a discussion

• Separate the people from the problem
• Focus on interests, not positions
• Invent options for mutual gain
Tactics for a discussion

• Separate the people from the problem
• Focus on interests, not positions
• Invent options for mutual gain
• Insist on objective criteria
Discussion Self Preparation
Discussion Self Preparation

• Retain the willingness to be convinced
Discussion Self Preparation

• Retain the willingness to be convinced
• Imagine where others are coming from
Discussion Self Preparation

• Retain the willingness to be convinced
• Imagine where others are coming from
• Account for your own taste
Discussion Self Preparation

• Retain the willingness to be convinced
• Imagine where others are coming from
• Account for your own taste
• Account for your own emotions
Rules of engagement
Rules of engagement

• Be nice
Rules of engagement

• Be nice
• Speak with surgical precision
Rules of engagement

• Be nice
• Speak with surgical precision
• Be honest in your characterizations
Rules of engagement

• Be nice
• Speak with surgical precision
• Be honest in your characterizations
• Don't rise to the bait of others vitriol
Common Arguments
Common Arguments
   I know CSS/JavaScript why do I need
        to learn Sass/CoffeeScript?
Common Arguments
             I know CSS/JavaScript why do I need
                  to learn Sass/CoffeeScript?

Compiler? I don’t need no stinking
            compiler!!
Common Arguments
             I know CSS/JavaScript why do I need
                  to learn Sass/CoffeeScript?

Compiler? I don’t need no stinking
            compiler!!
                                     Large learning curve
Common Arguments
             I know CSS/JavaScript why do I need
                  to learn Sass/CoffeeScript?

Compiler? I don’t need no stinking
            compiler!!
                                     Large learning curve

  Convince me!!
Why do we have
         preprocessors?

• Fill a void or short-coming
• Streamline development
• Ease of use
How to end the argument
• Don’t be afraid to walk away
• Give them something to think about
• In regards to pre-processors, history is on
  the pre-processor side
  • CSS4 will have variables
  • JavaScript Next (6.0) will have arrow
    functions
Thank You

• Blog: innovatorylife.com
• twitter: @kianoshp
• LinkedIn: http://www.linkedin.com/in/
  kianoshpourian

Contenu connexe

Tendances

Themer's roundtable
Themer's roundtableThemer's roundtable
Themer's roundtablecanarymason
 
Teach a Man To Fish (phpconpl edition)
Teach a Man To Fish (phpconpl edition)Teach a Man To Fish (phpconpl edition)
Teach a Man To Fish (phpconpl edition)Lorna Mitchell
 
Style Guides, Pattern Libraries, Design Systems and other amenities.
 Style Guides, Pattern Libraries, Design Systems and other amenities. Style Guides, Pattern Libraries, Design Systems and other amenities.
Style Guides, Pattern Libraries, Design Systems and other amenities.Cristiano Rastelli
 
Graduates Gone Mad: Innovations in Software
Graduates Gone Mad: Innovations in SoftwareGraduates Gone Mad: Innovations in Software
Graduates Gone Mad: Innovations in SoftwareAlper Kanat
 
Designing in the Browser - Mason Wendell, Drupaldelphia
Designing in the Browser - Mason Wendell, DrupaldelphiaDesigning in the Browser - Mason Wendell, Drupaldelphia
Designing in the Browser - Mason Wendell, Drupaldelphiacanarymason
 
Drupaldelphia Shortcuts Cheats And Cheap Stunts
Drupaldelphia  Shortcuts Cheats And Cheap StuntsDrupaldelphia  Shortcuts Cheats And Cheap Stunts
Drupaldelphia Shortcuts Cheats And Cheap Stuntscanarymason
 
Designing in the Browser - Design for Drupal, Boston 2010
Designing in the Browser - Design for Drupal, Boston 2010Designing in the Browser - Design for Drupal, Boston 2010
Designing in the Browser - Design for Drupal, Boston 2010canarymason
 
Scala: An experience report
Scala: An experience reportScala: An experience report
Scala: An experience reportMark Needham
 

Tendances (8)

Themer's roundtable
Themer's roundtableThemer's roundtable
Themer's roundtable
 
Teach a Man To Fish (phpconpl edition)
Teach a Man To Fish (phpconpl edition)Teach a Man To Fish (phpconpl edition)
Teach a Man To Fish (phpconpl edition)
 
Style Guides, Pattern Libraries, Design Systems and other amenities.
 Style Guides, Pattern Libraries, Design Systems and other amenities. Style Guides, Pattern Libraries, Design Systems and other amenities.
Style Guides, Pattern Libraries, Design Systems and other amenities.
 
Graduates Gone Mad: Innovations in Software
Graduates Gone Mad: Innovations in SoftwareGraduates Gone Mad: Innovations in Software
Graduates Gone Mad: Innovations in Software
 
Designing in the Browser - Mason Wendell, Drupaldelphia
Designing in the Browser - Mason Wendell, DrupaldelphiaDesigning in the Browser - Mason Wendell, Drupaldelphia
Designing in the Browser - Mason Wendell, Drupaldelphia
 
Drupaldelphia Shortcuts Cheats And Cheap Stunts
Drupaldelphia  Shortcuts Cheats And Cheap StuntsDrupaldelphia  Shortcuts Cheats And Cheap Stunts
Drupaldelphia Shortcuts Cheats And Cheap Stunts
 
Designing in the Browser - Design for Drupal, Boston 2010
Designing in the Browser - Design for Drupal, Boston 2010Designing in the Browser - Design for Drupal, Boston 2010
Designing in the Browser - Design for Drupal, Boston 2010
 
Scala: An experience report
Scala: An experience reportScala: An experience report
Scala: An experience report
 

En vedette

We got to france!
We got to france! We got to france!
We got to france! bekyteckno
 
Modeljeans
ModeljeansModeljeans
Modeljeansyolimary
 
Would you like some Grids with that?
Would you like some Grids with that?Would you like some Grids with that?
Would you like some Grids with that?Kianosh Pourian
 
Palestra pré processadores CSS
Palestra pré processadores CSSPalestra pré processadores CSS
Palestra pré processadores CSSJust Digital
 

En vedette (7)

We got to france!
We got to france! We got to france!
We got to france!
 
It seminar 1.0
It seminar 1.0It seminar 1.0
It seminar 1.0
 
Modeljeans
ModeljeansModeljeans
Modeljeans
 
Social job search
Social job searchSocial job search
Social job search
 
Intro to KnockoutJS
Intro to KnockoutJSIntro to KnockoutJS
Intro to KnockoutJS
 
Would you like some Grids with that?
Would you like some Grids with that?Would you like some Grids with that?
Would you like some Grids with that?
 
Palestra pré processadores CSS
Palestra pré processadores CSSPalestra pré processadores CSS
Palestra pré processadores CSS
 

Similaire à Why are Preprocessors divisive

WordPress Theming Best Practices
WordPress Theming Best PracticesWordPress Theming Best Practices
WordPress Theming Best PracticesBrian Krogsgard
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewDiacode
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium SuccessfullyDave Haeffner
 
Thoughtful theming
Thoughtful themingThoughtful theming
Thoughtful themingonefinejay
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPAGil Fink
 
Designing (Deciding) in the Browser
Designing (Deciding) in the BrowserDesigning (Deciding) in the Browser
Designing (Deciding) in the BrowserSang-Min Yoon
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Christian Heilmann
 
Building & Scaling a Front End Practice & Team
Building & Scaling a Front End Practice & TeamBuilding & Scaling a Front End Practice & Team
Building & Scaling a Front End Practice & TeamMonika Piotrowicz
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017Marc D Anderson
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, SuccessfullySauce Labs
 
Giacomo Zinetti - 1001 ways to write CSS today - Codemotion Rome 2019
Giacomo Zinetti - 1001 ways to write CSS today - Codemotion Rome 2019Giacomo Zinetti - 1001 ways to write CSS today - Codemotion Rome 2019
Giacomo Zinetti - 1001 ways to write CSS today - Codemotion Rome 2019Codemotion
 
Successful Web Typography - The Developer's Ampersandwich
Successful Web Typography - The Developer's AmpersandwichSuccessful Web Typography - The Developer's Ampersandwich
Successful Web Typography - The Developer's AmpersandwichJenn Lukas
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swaggerTony Tam
 
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSPhp Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSIrfan Maulana
 
SmashingConf Whister: Developers Ampersandwich
SmashingConf Whister: Developers AmpersandwichSmashingConf Whister: Developers Ampersandwich
SmashingConf Whister: Developers AmpersandwichJenn Lukas
 
Sahi Principles and Architecture
Sahi Principles and ArchitectureSahi Principles and Architecture
Sahi Principles and ArchitectureTyto Software
 
State of PrintCSS - MarkupUK 2023.pdf
State of PrintCSS - MarkupUK 2023.pdfState of PrintCSS - MarkupUK 2023.pdf
State of PrintCSS - MarkupUK 2023.pdfAndreas Jung
 
Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries themystic_ca
 

Similaire à Why are Preprocessors divisive (20)

WordPress Theming Best Practices
WordPress Theming Best PracticesWordPress Theming Best Practices
WordPress Theming Best Practices
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
Thoughtful theming
Thoughtful themingThoughtful theming
Thoughtful theming
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Designing (Deciding) in the Browser
Designing (Deciding) in the BrowserDesigning (Deciding) in the Browser
Designing (Deciding) in the Browser
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
Building & Scaling a Front End Practice & Team
Building & Scaling a Front End Practice & TeamBuilding & Scaling a Front End Practice & Team
Building & Scaling a Front End Practice & Team
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, Successfully
 
Giacomo Zinetti - 1001 ways to write CSS today - Codemotion Rome 2019
Giacomo Zinetti - 1001 ways to write CSS today - Codemotion Rome 2019Giacomo Zinetti - 1001 ways to write CSS today - Codemotion Rome 2019
Giacomo Zinetti - 1001 ways to write CSS today - Codemotion Rome 2019
 
Code igniter
Code igniterCode igniter
Code igniter
 
Successful Web Typography - The Developer's Ampersandwich
Successful Web Typography - The Developer's AmpersandwichSuccessful Web Typography - The Developer's Ampersandwich
Successful Web Typography - The Developer's Ampersandwich
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSPhp Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
 
SmashingConf Whister: Developers Ampersandwich
SmashingConf Whister: Developers AmpersandwichSmashingConf Whister: Developers Ampersandwich
SmashingConf Whister: Developers Ampersandwich
 
Sahi Principles and Architecture
Sahi Principles and ArchitectureSahi Principles and Architecture
Sahi Principles and Architecture
 
State of PrintCSS - MarkupUK 2023.pdf
State of PrintCSS - MarkupUK 2023.pdfState of PrintCSS - MarkupUK 2023.pdf
State of PrintCSS - MarkupUK 2023.pdf
 
Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries
 

Dernier

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Why are Preprocessors divisive

  • 1. Why are Preprocessors divisive? Kianosh Pourian
  • 3. Who Are you? No one of consequence
  • 4. Who Are you? No one of consequence I must know
  • 5. Who Are you? No one of consequence I must know Get used to disappointment
  • 6. Who Are you? No one of consequence I must know Get used to disappointment Twitter: @kianoshp Blog: innovatorylife.com
  • 7. What are Preprocessors? In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program. The output is said to be a preprocessed form of the input data, which is often used by some subsequent programs like compilers. The amount and kind of processing done depends on the nature of the preprocessor; some preprocessors are only capable of performing relatively simple textual substitutions and macro expansions, while others have the power of full-fledged programming languages.
  • 9. Preprocessors for the Web For the web, the term usually means a language that can be combined with a trans-compiler to output a canonical “web language,” like JavaScript or CSS.
  • 10. Preprocessors for the Web For the web, the term usually means a language that can be combined with a trans-compiler to output a canonical “web language,” like JavaScript or CSS. More a dialect, less a language.
  • 12. PreProcessors in the wild • Stenographers • Shorthand notes
  • 13. PreProcessors in the wild • Stenographers • Shorthand notes
  • 14. Preprocessors for Front End DevelopmentHAML Jade Zen-coding
  • 15. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding
  • 16. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding CSS
  • 17. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding Sass/Compass LESS CSS Stylus
  • 18. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding Sass/Compass LESS CSS Stylus JavaScript
  • 19. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding Sass/Compass LESS CSS CoffeeScript IcedCoffeeScript Stylus JavaScript GWT DART
  • 20. How to Argue Correctly • Scientific research vs. Political debate • Leave out the vitriol • Semi colon war of 2012 - https:// github.com/twitter/bootstrap/issues/3057 • Selector wars of 2008 - http://ejohn.org/ blog/selectors-that-people-actually-use/
  • 21. Goals of a Discussion
  • 22. Goals of a Discussion • It should produce a wise agreement, if possible
  • 23. Goals of a Discussion • It should produce a wise agreement, if possible • It should be efficient
  • 24. Goals of a Discussion • It should produce a wise agreement, if possible • It should be efficient • It should not damage the relationship between the parties
  • 25. Tactics for a discussion
  • 26. Tactics for a discussion • Separate the people from the problem
  • 27. Tactics for a discussion • Separate the people from the problem • Focus on interests, not positions
  • 28. Tactics for a discussion • Separate the people from the problem • Focus on interests, not positions • Invent options for mutual gain
  • 29. Tactics for a discussion • Separate the people from the problem • Focus on interests, not positions • Invent options for mutual gain • Insist on objective criteria
  • 31. Discussion Self Preparation • Retain the willingness to be convinced
  • 32. Discussion Self Preparation • Retain the willingness to be convinced • Imagine where others are coming from
  • 33. Discussion Self Preparation • Retain the willingness to be convinced • Imagine where others are coming from • Account for your own taste
  • 34. Discussion Self Preparation • Retain the willingness to be convinced • Imagine where others are coming from • Account for your own taste • Account for your own emotions
  • 37. Rules of engagement • Be nice • Speak with surgical precision
  • 38. Rules of engagement • Be nice • Speak with surgical precision • Be honest in your characterizations
  • 39. Rules of engagement • Be nice • Speak with surgical precision • Be honest in your characterizations • Don't rise to the bait of others vitriol
  • 41. Common Arguments I know CSS/JavaScript why do I need to learn Sass/CoffeeScript?
  • 42. Common Arguments I know CSS/JavaScript why do I need to learn Sass/CoffeeScript? Compiler? I don’t need no stinking compiler!!
  • 43. Common Arguments I know CSS/JavaScript why do I need to learn Sass/CoffeeScript? Compiler? I don’t need no stinking compiler!! Large learning curve
  • 44. Common Arguments I know CSS/JavaScript why do I need to learn Sass/CoffeeScript? Compiler? I don’t need no stinking compiler!! Large learning curve Convince me!!
  • 45. Why do we have preprocessors? • Fill a void or short-coming • Streamline development • Ease of use
  • 46. How to end the argument • Don’t be afraid to walk away • Give them something to think about • In regards to pre-processors, history is on the pre-processor side • CSS4 will have variables • JavaScript Next (6.0) will have arrow functions
  • 47. Thank You • Blog: innovatorylife.com • twitter: @kianoshp • LinkedIn: http://www.linkedin.com/in/ kianoshpourian

Notes de l'éditeur

  1. Story of how this started, the reason behind the subject.\n
  2. The Princess Bride\n
  3. The Princess Bride\n
  4. The Princess Bride\n
  5. The Princess Bride\n
  6. Pre-process information for other programs like a compiler. Simple changes like textual substitutions, format correction.\n
  7. for the web, trans-compiler to canonical web language.\ndialect not language.\n
  8. for the web, trans-compiler to canonical web language.\ndialect not language.\n
  9. Stenography or shorthand notes.\n
  10. Stenography or shorthand notes.\n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. Talk about how I am trying my best to follow these rules but am not perfect.\nScientific community base their arguments on facts. So if one is disproved, it is not taken personally.\n\n
  17. Talk about the facebook post.\n
  18. Talk about the facebook post.\n
  19. Talk about the facebook post.\n
  20. - any emotional feelings towards the person on the other side of the argument, should be removed.\n- Outline what it is that you are trying to accomplish\n- Coming up with solutions that will work for both sides\n- Setting an objective will help in working towards that.\n
  21. - any emotional feelings towards the person on the other side of the argument, should be removed.\n- Outline what it is that you are trying to accomplish\n- Coming up with solutions that will work for both sides\n- Setting an objective will help in working towards that.\n
  22. - any emotional feelings towards the person on the other side of the argument, should be removed.\n- Outline what it is that you are trying to accomplish\n- Coming up with solutions that will work for both sides\n- Setting an objective will help in working towards that.\n
  23. - any emotional feelings towards the person on the other side of the argument, should be removed.\n- Outline what it is that you are trying to accomplish\n- Coming up with solutions that will work for both sides\n- Setting an objective will help in working towards that.\n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. Common arguments against pre-processors\n
  33. Common arguments against pre-processors\n
  34. Common arguments against pre-processors\n
  35. Common arguments against pre-processors\n
  36. \n
  37. - Don’t use the cliche “let’s agree to disagree” but same concept\n- walk away with goals for each side\n\n
  38. \n