Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Six reasons to learn JavaScript
1. Happy Hacking Day
6 reasons everybody
should learn JavaScript
Otto Kekäläinen
Helsinki 2.5.2013
Hello, I'm Otto and I work for Seravo, a company
specialised in open source. Our customers are
companies and public sector organisations that
want to use open source software as much as
possible. We enable them to do that by selecting,
installing and administering the software and in
general by taking the responsibility that everything
runs smoothly.
We also enhance and develop software according to
our customer needs and nowadays most of that is
done using HTML5 technologies and a lot of JS
both on the client and server side.
Personally I like the JS ecosystem a lot and today I
am here to present you 6 compelling reasons why
you should learn JS, or learn more JS if you
already know some.
2. 1. JavaScript is
easy
If you are about to learn something new, you'll be
grateful if it is easy, right? You're time learning it will
feel useful as you'll quickly reach a skill level where
you actually can do some real world things.
Compared to other programming languages
JavaScript is easy. You don't need any specific
integrated development environment and you'll be
able to immediately run it without any compiling.
The syntax is straight-forward and there is no need
for complex variable definitions or any other up-
front work. You can just immediately start coding
features you want your software to do.
JavaScript is so easy, that I even recommend it to
people who have no programming skills at all and
who just want to learn some programming to
understand a little bit about how computers work
and develop their so called computational thinking
skills.
3. JavaScript vs C#
var x = 7, y = 5;
console.log('x+y:' + (x+y));
console.log('x-y:' + (x-y));
console.log('x*y:' + (x*y));
console.log('x/y:' + (x/y));
.
.
.
.
..
.
.
.
using System;
class Program {
public static void Main() {
int x, y, result;
float floatresult;
x = 7;
y = 5;
result = x+y;
Console.WriteLine("x+y: {0}", result);
result = x-y;
Console.WriteLine("x-y: {0}", result);
result = x*y;
Console.WriteLine("x*y: {0}", result);
floatresult = (float)x/(float)y;
Console.WriteLine("x/y: {0}", floatresult);
}
}
Here is JavaScript compared to C++.
You can immediately see how JavaScript is simpler.
And in this case the simplicity does not mean it
would have less features. No, it is just that natty-
gritty details are handled automatically in
JavaScript so you don't have to.
JavaScript is designed to be a high-level language
which makes the coder very productive and able to
achieve a lot in a little time.
And if you ever need to learn some other
programming language like Java, C++ or PHP,
those will feel familiar to you when you master
JavaScript, since there are many similarities in
these languages. So, it is not just that JavaScript is
easy in itself, but later it will also make other
languages easier to learn!
4. 2. JavaScript is
versatile
Even if JavaScript is easy, it is not oversimplified nor
is it restricted to one single programming style or
paradigm. You can use JavaScript in many ways.
With JavaScript you can do traditional procedural
programming or you can do event based
programming.
Your code can be flat or you can do it object oriented.
You can even use it to do functional programming.
JavaScript is versatile because it does not force a
style on you. However if you don't already have
favourite style, with JavaScript you will be inclined
to to follow an object-oriented and event based
way, which certainly is a good style which will take
you far and fast.
5. 3. JavaScript is
open source
Reason number two was versatile because JS gives
you technical freedom. But that is not enough, you
also want freedom in legal terms, and in every
other way too, so that you can build solid
businesses using the technology.
JavaScript itself is made as an open standard called
ECMAScript and anybody can implement the
specification without restrictions. The best and most
popular JavaScript engines are open source and all
related development tools are open source.
There is also an ever growing mass of libraries. That
is really important, as it enables you to concentrate
on making new cool things instead of reinventing
the wheel.
6. 4. JavaScript is
universal
The concept of universal code has been a dream for
for a long time. Write once, run everywhere.
JavaScript might actually make this reality. Write
once, run everywhere.
If in some case the code cannot run flawlessly
somewhere, JavaScript is at least an universal
language which you can use everywhere. Learn
once, use everywhere
7. ✓any web browser
✓in many user interface components
in NoSQL queries✓
✓independently with Node.js
✓shell scripts with #!/usr/bin/env node
Everybody knows that JavaScript is the native
language in browsers and you can use JavaScript
to do website user interfaces that will work on any
browser without any plug-ins.
With Node.js you can also use JavaScript to write the
website back-end or any kind of server or actually
any kind of application, even apps that have
nothing to do with browsers.
If a system has Node.js, you can also as a system
administrator choose to write your shell scripts in
JavaScript.
Today JavaScript can be found built-in in many
places outside web browsers. For example Gnome,
the most popular Linux desktop environment, has a
lot of JavaScript in its UI. Another example are
NoSQL databases, as most of them have
JavaScript built-in into their query procedures.
8. 5. JavaScript is
in demand
It's not just only that JavaScript can be used
everywhere. It is also that it is used everywhere.
And because of that fact, there is a huge demand for
programmers with JavaScript skills. We looked at
30 job announcements for programmers and SW
developers at mol.fi this morning and 21 of them
mentioned as a requirement either JavaScript
directly or some JavaScript library like jQuery or
Angular.js.
To all students in the IT field here today I'd like to
make this very clear: if you don't have JavaScript
skills by the time you graduate, you will not be
ready for the job market.
Hands up, how many of you seek a career as a
programmer? Who of you are fluent in JavaScript?
Who has now decided to develop their JavaScript
skills? The last reason to learn JS on my list is..
9. 6. Because you'll
have to anyway
If you don't learn JavaScript now, you'll have to learn
it at some point in the future anyway.
We already live in a connected world where the
Internet plays a central role in both business,
science, entertainment and politics. In a form or
another, everything has or will very soon have a
web presence, and the web means the browser,
and the browser means running JavaScript.
Today Antti from Intel talked about HTML5. It may
very well be that in the future everything is HTML5,
which means JavaScript. There might still be left
some other technologies too, but we can be
absolutely sure that there will be no job positions
for programmers that would not have anything with
JavaScript to do.
So, eventually you'll have to learn JavaScript anyway.
Learn it now so you can master it in the future.
10. Learn JavaScript because it's
1. easy
2. versatile
3. open source
4. universal
5. in demand
6. because you'll
have to anyway
So to conclude... (read out loud)
11. Start today!
Learn and practice:
codecademy.com
Read online:
eloquentjavascript.net
Go to codeacademy.com and sign up for their
interactive online courses on JavaScript. Or if you
like to learn by reading, check out the excellent
book Eloquent JavaScript by Marijn Haverbeke
which is also available online.