SlideShare a Scribd company logo
1 of 12
Download to read offline
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.
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.
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!
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.
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.
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
✓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.
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..
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.
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)
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.
Six reasons to learn JavaScript

More Related Content

What's hot

Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Designing nlp-js-extension
Designing nlp-js-extensionDesigning nlp-js-extension
Designing nlp-js-extensionAlain Lompo
 
Going native with html5 web components
Going native with html5 web componentsGoing native with html5 web components
Going native with html5 web componentsJames York
 
Thinkful DC - Intro to JavaScript
Thinkful DC - Intro to JavaScriptThinkful DC - Intro to JavaScript
Thinkful DC - Intro to JavaScriptTJ Stalcup
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)David Wesst
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Patterns: The new Javascript framweork
Patterns: The new Javascript framweorkPatterns: The new Javascript framweork
Patterns: The new Javascript framweorkFranco Pellegrini
 
Typescript overview
Typescript overviewTypescript overview
Typescript overviewcodeblock
 
HTML5 : How to start learning HTML5 (easy and fast)
HTML5 : How to start learning HTML5 (easy and fast)HTML5 : How to start learning HTML5 (easy and fast)
HTML5 : How to start learning HTML5 (easy and fast)Bhathiya Nuwan
 
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueEmma Jane Hogbin Westby
 
Riereta Node.js session 3 (with notes)
Riereta Node.js session 3 (with notes)Riereta Node.js session 3 (with notes)
Riereta Node.js session 3 (with notes)Tekno Paul
 
Building for real standards (includes notes)
Building for real standards (includes notes)Building for real standards (includes notes)
Building for real standards (includes notes)Christian Heilmann
 
Proglangauage1.10.18
Proglangauage1.10.18Proglangauage1.10.18
Proglangauage1.10.18Thinkful
 

What's hot (20)

Shifting Gears
Shifting GearsShifting Gears
Shifting Gears
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Designing nlp-js-extension
Designing nlp-js-extensionDesigning nlp-js-extension
Designing nlp-js-extension
 
NoSQL
NoSQLNoSQL
NoSQL
 
Going native with html5 web components
Going native with html5 web componentsGoing native with html5 web components
Going native with html5 web components
 
Thinkful DC - Intro to JavaScript
Thinkful DC - Intro to JavaScriptThinkful DC - Intro to JavaScript
Thinkful DC - Intro to JavaScript
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Patterns: The new Javascript framweork
Patterns: The new Javascript framweorkPatterns: The new Javascript framweork
Patterns: The new Javascript framweork
 
Typescript overview
Typescript overviewTypescript overview
Typescript overview
 
boots2nerd
boots2nerdboots2nerd
boots2nerd
 
HTML5 : How to start learning HTML5 (easy and fast)
HTML5 : How to start learning HTML5 (easy and fast)HTML5 : How to start learning HTML5 (easy and fast)
HTML5 : How to start learning HTML5 (easy and fast)
 
Node.js
Node.jsNode.js
Node.js
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
CV_2016_en
CV_2016_enCV_2016_en
CV_2016_en
 
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon Prague
 
Riereta Node.js session 3 (with notes)
Riereta Node.js session 3 (with notes)Riereta Node.js session 3 (with notes)
Riereta Node.js session 3 (with notes)
 
Building for real standards (includes notes)
Building for real standards (includes notes)Building for real standards (includes notes)
Building for real standards (includes notes)
 
Proglangauage1.10.18
Proglangauage1.10.18Proglangauage1.10.18
Proglangauage1.10.18
 
Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks
 

Viewers also liked

JavaScript: Introdução e Operadores (aula 1)
JavaScript: Introdução e Operadores (aula 1)JavaScript: Introdução e Operadores (aula 1)
JavaScript: Introdução e Operadores (aula 1)Gustavo Zimmermann
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An IntroductionManvendra Singh
 
10 Tips for Making Beautiful Slideshow Presentations by www.visuali.se
10 Tips for Making Beautiful Slideshow Presentations by www.visuali.se10 Tips for Making Beautiful Slideshow Presentations by www.visuali.se
10 Tips for Making Beautiful Slideshow Presentations by www.visuali.seEdahn Small
 
JakartaJS - How I Learn Javascript From Basic
JakartaJS - How I Learn Javascript From BasicJakartaJS - How I Learn Javascript From Basic
JakartaJS - How I Learn Javascript From BasicIrfan Maulana
 

Viewers also liked (8)

JavaScript: Introdução e Operadores (aula 1)
JavaScript: Introdução e Operadores (aula 1)JavaScript: Introdução e Operadores (aula 1)
JavaScript: Introdução e Operadores (aula 1)
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Javascript
JavascriptJavascript
Javascript
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
 
10 Tips for Making Beautiful Slideshow Presentations by www.visuali.se
10 Tips for Making Beautiful Slideshow Presentations by www.visuali.se10 Tips for Making Beautiful Slideshow Presentations by www.visuali.se
10 Tips for Making Beautiful Slideshow Presentations by www.visuali.se
 
JakartaJS - How I Learn Javascript From Basic
JakartaJS - How I Learn Javascript From BasicJakartaJS - How I Learn Javascript From Basic
JakartaJS - How I Learn Javascript From Basic
 
8 Tips for an Awesome Powerpoint Presentation
8 Tips for an Awesome Powerpoint Presentation8 Tips for an Awesome Powerpoint Presentation
8 Tips for an Awesome Powerpoint Presentation
 

Similar to Six reasons to learn JavaScript

Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
[PDF]_Learning_ECMAScript_6.pdf
[PDF]_Learning_ECMAScript_6.pdf[PDF]_Learning_ECMAScript_6.pdf
[PDF]_Learning_ECMAScript_6.pdfoscargarcia207606
 
Intro javascript build a scraper (3:22)
Intro javascript   build a scraper (3:22)Intro javascript   build a scraper (3:22)
Intro javascript build a scraper (3:22)Thinkful
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software EngineerSean Coates
 
How to Become a Front-End Developer? Step-by-Step Guide by Careervira
How to Become a Front-End Developer? Step-by-Step Guide by CareerviraHow to Become a Front-End Developer? Step-by-Step Guide by Careervira
How to Become a Front-End Developer? Step-by-Step Guide by CareerviraCareervira
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community SupportWilliam Grosso
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022intouchgroup2
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
 
Alvin gunawan aw_english
Alvin gunawan aw_englishAlvin gunawan aw_english
Alvin gunawan aw_englishAlvinGunawan6
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about javakanchanmahajan23
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxchitrachauhan21
 
Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023ZimbleCodeAustralia
 
Step by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For BeginnersStep by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For Beginnerscalltutors
 
Node Js Non-blocking or asynchronous Blocking or synchronous.pdf
Node Js Non-blocking or asynchronous  Blocking or synchronous.pdfNode Js Non-blocking or asynchronous  Blocking or synchronous.pdf
Node Js Non-blocking or asynchronous Blocking or synchronous.pdfDarshanaMallick
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018Amit Ashwini
 
JavaScript vs Nodejs: The Key Differences That You Must Know
JavaScript vs Nodejs: The Key Differences That You Must KnowJavaScript vs Nodejs: The Key Differences That You Must Know
JavaScript vs Nodejs: The Key Differences That You Must Knowcalltutors
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxPVS-Studio
 

Similar to Six reasons to learn JavaScript (20)

Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
[PDF]_Learning_ECMAScript_6.pdf
[PDF]_Learning_ECMAScript_6.pdf[PDF]_Learning_ECMAScript_6.pdf
[PDF]_Learning_ECMAScript_6.pdf
 
Java script hello world
Java script hello worldJava script hello world
Java script hello world
 
Intro javascript build a scraper (3:22)
Intro javascript   build a scraper (3:22)Intro javascript   build a scraper (3:22)
Intro javascript build a scraper (3:22)
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
 
Node js projects
Node js projectsNode js projects
Node js projects
 
How to Become a Front-End Developer? Step-by-Step Guide by Careervira
How to Become a Front-End Developer? Step-by-Step Guide by CareerviraHow to Become a Front-End Developer? Step-by-Step Guide by Careervira
How to Become a Front-End Developer? Step-by-Step Guide by Careervira
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Developers survival-guide
Developers survival-guideDevelopers survival-guide
Developers survival-guide
 
Alvin gunawan aw_english
Alvin gunawan aw_englishAlvin gunawan aw_english
Alvin gunawan aw_english
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023
 
Step by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For BeginnersStep by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For Beginners
 
Node Js Non-blocking or asynchronous Blocking or synchronous.pdf
Node Js Non-blocking or asynchronous  Blocking or synchronous.pdfNode Js Non-blocking or asynchronous  Blocking or synchronous.pdf
Node Js Non-blocking or asynchronous Blocking or synchronous.pdf
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018
 
JavaScript vs Nodejs: The Key Differences That You Must Know
JavaScript vs Nodejs: The Key Differences That You Must KnowJavaScript vs Nodejs: The Key Differences That You Must Know
JavaScript vs Nodejs: The Key Differences That You Must Know
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for Linux
 

More from Otto Kekäläinen

FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuFOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuOtto Kekäläinen
 
Search in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize itSearch in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize itOtto Kekäläinen
 
MariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and UbuntuMariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and UbuntuOtto Kekäläinen
 
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?Otto Kekäläinen
 
Technical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 editionTechnical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 editionOtto Kekäläinen
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...Otto Kekäläinen
 
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...Otto Kekäläinen
 
DebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoFDebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoFOtto Kekäläinen
 
The 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix themThe 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix themOtto Kekäläinen
 
How to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressHow to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressOtto Kekäläinen
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesOtto Kekäläinen
 
10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...Otto Kekäläinen
 
Automatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress pluginsAutomatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress pluginsOtto Kekäläinen
 
Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Otto Kekäläinen
 
WordPress-tietoturvan perusteet
WordPress-tietoturvan perusteetWordPress-tietoturvan perusteet
WordPress-tietoturvan perusteetOtto Kekäläinen
 
Technical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionTechnical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionOtto Kekäläinen
 
Improving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingImproving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingOtto Kekäläinen
 
MariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environmentsMariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environmentsOtto Kekäläinen
 
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017Otto Kekäläinen
 

More from Otto Kekäläinen (20)

FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuFOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
 
Search in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize itSearch in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize it
 
MariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and UbuntuMariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and Ubuntu
 
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
 
Technical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 editionTechnical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 edition
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
 
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
 
DebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoFDebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoF
 
The 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix themThe 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix them
 
How to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressHow to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPress
 
Technical SEO for WordPress
Technical SEO for WordPressTechnical SEO for WordPress
Technical SEO for WordPress
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themes
 
10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...
 
Automatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress pluginsAutomatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress plugins
 
Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)
 
WordPress-tietoturvan perusteet
WordPress-tietoturvan perusteetWordPress-tietoturvan perusteet
WordPress-tietoturvan perusteet
 
Technical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionTechnical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 edition
 
Improving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingImproving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP Profiling
 
MariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environmentsMariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environments
 
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
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.