47
Why are Preprocessors divisive? Kianosh Pourian

Why are preprocessors divisive

Embed Size (px)

Citation preview

Page 1: Why are preprocessors divisive

Why are Preprocessors divisive?

Kianosh Pourian

Page 2: Why are preprocessors divisive

Who Are you?

Page 3: Why are preprocessors divisive

Who Are you?No one of consequence

Page 4: Why are preprocessors divisive

Who Are you?No one of consequence

I must know

Page 5: Why are preprocessors divisive

Who Are you?No one of consequence

I must know

Get used to disappointment

Page 6: Why are preprocessors divisive

Who Are you?No one of consequence

I must know

Get used to disappointment

Twitter: @kianoshpBlog: innovatorylife.com

Page 7: Why are preprocessors divisive

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

Preprocessors for the Web

Page 9: Why are preprocessors divisive

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

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

PreProcessors in the wild

Page 12: Why are preprocessors divisive

PreProcessors in the wild

• Stenographers

• Shorthand notes

Page 13: Why are preprocessors divisive

PreProcessors in the wild

• Stenographers

• Shorthand notes

Page 14: Why are preprocessors divisive

Preprocessors for Front End Development

HAML

Jade

Zen-coding

Page 15: Why are preprocessors divisive

Preprocessors for Front End Development

HTMLHAML

Jade

Zen-coding

Page 16: Why are preprocessors divisive

Preprocessors for Front End Development

HTMLHAML

Jade

Zen-coding

CSS

Page 17: Why are preprocessors divisive

Preprocessors for Front End Development

HTMLHAML

Jade

Zen-coding

CSS

Sass/Compass

LESS

Stylus

Page 18: Why are preprocessors divisive

Preprocessors for Front End Development

HTMLHAML

Jade

Zen-coding

CSS

Sass/Compass

LESS

Stylus JavaScript

Page 19: Why are preprocessors divisive

Preprocessors for Front End Development

HTMLHAML

Jade

Zen-coding

CSS

Sass/Compass

LESS

Stylus JavaScript

CoffeeScriptIcedCoffeeScript

DARTGWT

Page 21: Why are preprocessors divisive

Goals of a Discussion

Page 22: Why are preprocessors divisive

Goals of a Discussion

• It should produce a wise agreement, if possible

Page 23: Why are preprocessors divisive

Goals of a Discussion

• It should produce a wise agreement, if possible

• It should be efficient

Page 24: Why are preprocessors divisive

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

Tactics for a discussion

Page 26: Why are preprocessors divisive

Tactics for a discussion

• Separate the people from the problem

Page 27: Why are preprocessors divisive

Tactics for a discussion

• Separate the people from the problem

• Focus on interests, not positions

Page 28: Why are preprocessors divisive

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

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

Discussion Self Preparation

Page 31: Why are preprocessors divisive

Discussion Self Preparation

• Retain the willingness to be convinced

Page 32: Why are preprocessors divisive

Discussion Self Preparation

• Retain the willingness to be convinced

• Imagine where others are coming from

Page 33: Why are preprocessors divisive

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

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

Rules of engagement

Page 36: Why are preprocessors divisive

Rules of engagement

• Be nice

Page 37: Why are preprocessors divisive

Rules of engagement

• Be nice

• Speak with surgical precision

Page 38: Why are preprocessors divisive

Rules of engagement

• Be nice

• Speak with surgical precision

• Be honest in your characterizations

Page 39: Why are preprocessors divisive

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

Common Arguments

Page 41: Why are preprocessors divisive

Common ArgumentsI know CSS/JavaScript why do I need

to learn Sass/CoffeeScript?

Page 42: Why are preprocessors divisive

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

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

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

Why do we have preprocessors?

• Fill a void or short-coming

• Streamline development

• Ease of use

Page 46: Why are preprocessors divisive

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

Thank You

• Blog: innovatorylife.com

• twitter: @kianoshp

• LinkedIn: http://www.linkedin.com/in/kianoshpourian