why are preprocessors divisive
TRANSCRIPT
![Page 1: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/1.jpg)
Why are Preprocessors divisive?
Kianosh Pourian
![Page 2: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/2.jpg)
Who Are you?
![Page 3: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/3.jpg)
Who Are you?No one of consequence
![Page 4: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/4.jpg)
Who Are you?No one of consequence
I must know
![Page 5: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/5.jpg)
Who Are you?No one of consequence
I must know
Get used to disappointment
![Page 6: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/6.jpg)
Who Are you?No one of consequence
I must know
Get used to disappointment
Twitter: @kianoshpBlog: innovatorylife.com
![Page 7: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/7.jpg)
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.
![Page 8: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/8.jpg)
Preprocessors for the Web
![Page 9: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/9.jpg)
Preprocessors for the WebFor 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.
![Page 10: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/10.jpg)
Preprocessors for the WebFor 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.
![Page 11: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/11.jpg)
PreProcessors in the wild
![Page 12: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/12.jpg)
PreProcessors in the wild
• Stenographers
• Shorthand notes
![Page 13: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/13.jpg)
PreProcessors in the wild
• Stenographers
• Shorthand notes
![Page 14: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/14.jpg)
Preprocessors for Front End Development
HAML
Jade
Zen-coding
![Page 15: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/15.jpg)
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
![Page 16: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/16.jpg)
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
CSS
![Page 17: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/17.jpg)
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
CSS
Sass/Compass
LESS
Stylus
![Page 18: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/18.jpg)
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
CSS
Sass/Compass
LESS
Stylus JavaScript
![Page 19: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/19.jpg)
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
CSS
Sass/Compass
LESS
Stylus JavaScript
CoffeeScriptIcedCoffeeScript
DARTGWT
![Page 20: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/20.jpg)
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/
![Page 21: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/21.jpg)
Goals of a Discussion
![Page 22: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/22.jpg)
Goals of a Discussion
• It should produce a wise agreement, if possible
![Page 23: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/23.jpg)
Goals of a Discussion
• It should produce a wise agreement, if possible
• It should be efficient
![Page 24: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/24.jpg)
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
![Page 25: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/25.jpg)
Tactics for a discussion
![Page 26: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/26.jpg)
Tactics for a discussion
• Separate the people from the problem
![Page 27: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/27.jpg)
Tactics for a discussion
• Separate the people from the problem
• Focus on interests, not positions
![Page 28: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/28.jpg)
Tactics for a discussion
• Separate the people from the problem
• Focus on interests, not positions
• Invent options for mutual gain
![Page 29: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/29.jpg)
Tactics for a discussion
• Separate the people from the problem
• Focus on interests, not positions
• Invent options for mutual gain
• Insist on objective criteria
![Page 30: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/30.jpg)
Discussion Self Preparation
![Page 31: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/31.jpg)
Discussion Self Preparation
• Retain the willingness to be convinced
![Page 32: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/32.jpg)
Discussion Self Preparation
• Retain the willingness to be convinced
• Imagine where others are coming from
![Page 33: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/33.jpg)
Discussion Self Preparation
• Retain the willingness to be convinced
• Imagine where others are coming from
• Account for your own taste
![Page 34: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/34.jpg)
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
![Page 35: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/35.jpg)
Rules of engagement
![Page 36: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/36.jpg)
Rules of engagement
• Be nice
![Page 37: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/37.jpg)
Rules of engagement
• Be nice
• Speak with surgical precision
![Page 38: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/38.jpg)
Rules of engagement
• Be nice
• Speak with surgical precision
• Be honest in your characterizations
![Page 39: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/39.jpg)
Rules of engagement
• Be nice
• Speak with surgical precision
• Be honest in your characterizations
• Don't rise to the bait of others vitriol
![Page 40: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/40.jpg)
Common Arguments
![Page 41: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/41.jpg)
Common ArgumentsI know CSS/JavaScript why do I need
to learn Sass/CoffeeScript?
![Page 42: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/42.jpg)
Common ArgumentsI know CSS/JavaScript why do I need
to learn Sass/CoffeeScript?
Compiler? I don’t need no stinking compiler!!
![Page 43: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/43.jpg)
Common ArgumentsI know CSS/JavaScript why do I need
to learn Sass/CoffeeScript?
Large learning curve
Compiler? I don’t need no stinking compiler!!
![Page 44: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/44.jpg)
Common ArgumentsI know CSS/JavaScript why do I need
to learn Sass/CoffeeScript?
Large learning curve
Compiler? I don’t need no stinking compiler!!
Convince me!!
![Page 45: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/45.jpg)
Why do we have preprocessors?
• Fill a void or short-coming
• Streamline development
• Ease of use
![Page 46: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/46.jpg)
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
![Page 47: Why are preprocessors divisive](https://reader030.vdocuments.net/reader030/viewer/2022020302/554f468fb4c905524c8b4646/html5/thumbnails/47.jpg)
Thank You
• Blog: innovatorylife.com
• twitter: @kianoshp
• LinkedIn: http://www.linkedin.com/in/kianoshpourian