Preprocessors are programs that take input code and produce output code that can be used by other programs like compilers. For web development, preprocessors allow developers to write CSS and JavaScript in easier-to-read formats that get compiled into the canonical languages. Common frontend preprocessors include Sass, LESS, CoffeeScript, and others. While some argue existing languages like CSS and JavaScript are enough, preprocessors offer benefits like streamlining development through features like variables and nesting.
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.
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/
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
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
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
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
Story of how this started, the reason behind the subject.\n
The Princess Bride\n
The Princess Bride\n
The Princess Bride\n
The Princess Bride\n
Pre-process information for other programs like a compiler. Simple changes like textual substitutions, format correction.\n
for the web, trans-compiler to canonical web language.\ndialect not language.\n
for the web, trans-compiler to canonical web language.\ndialect not language.\n
Stenography or shorthand notes.\n
Stenography or shorthand notes.\n
\n
\n
\n
\n
\n
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
Talk about the facebook post.\n
Talk about the facebook post.\n
Talk about the facebook post.\n
- 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
- 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
- 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
- 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
\n
\n
\n
\n
\n
\n
\n
\n
Common arguments against pre-processors\n
Common arguments against pre-processors\n
Common arguments against pre-processors\n
Common arguments against pre-processors\n
\n
- Don’t use the cliche “let’s agree to disagree” but same concept\n- walk away with goals for each side\n\n