Why are preprocessors divisive

Preview:

Citation preview

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

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

Recommended