Post on 29-Jan-2018
transcript
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: @kianoshpBlog: 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 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.
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.
PreProcessors in the wild
PreProcessors in the wild
• Stenographers
• Shorthand notes
PreProcessors in the wild
• Stenographers
• Shorthand notes
Preprocessors for Front End Development
HAML
Jade
Zen-coding
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
CSS
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
CSS
Sass/Compass
LESS
Stylus
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
CSS
Sass/Compass
LESS
Stylus JavaScript
Preprocessors for Front End Development
HTMLHAML
Jade
Zen-coding
CSS
Sass/Compass
LESS
Stylus JavaScript
CoffeeScriptIcedCoffeeScript
DARTGWT
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 ArgumentsI know CSS/JavaScript why do I need
to learn Sass/CoffeeScript?
Common ArgumentsI know CSS/JavaScript why do I need
to learn Sass/CoffeeScript?
Compiler? I don’t need no stinking compiler!!
Common ArgumentsI know CSS/JavaScript why do I need
to learn Sass/CoffeeScript?
Large learning curve
Compiler? I don’t need no stinking compiler!!
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!!
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