KEMBAR78
How to Choose a Programming Language | PDF
How to Choose a Programming Language
January 2018
WIFI: CrossCamp.us Events
Password: None
bit.ly/language-la
1
Instructor
Justin Ezor
Thinkful LA Community Manager
Wi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
2
About you
What's your name?
What brought you here today?
What is your programming experience?
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
3
About Thinkful
Thinkful helps people become developers or data scientists
through 1-on-1 mentorship and project-based learning
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
4
What is programming?
Programming is:
writing instructions for a computer to execute
problem-solvingproblem-solving
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
5
Learning how to code
Learning to code is a process of learning how to solve
problems in a structured way and then translate those
solutions into instructions a computer can understand and
implement.
Variables, loops, arrays, functions exist in all languages —
stick to one until you understand the core concepts
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
6
Pick one thing and master it.
Don’t jump around. It will be surprisingly easy to pick up more
languages once you understand the fundamentals.
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
7
Does the first language you choose matter?
It matters, but not in the way most people think. You should
pick the language that makes it easiest for you to learn how
to code.
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
8
How to pick a first language?
Objective
Popularity
Accessibility
Job prospects
Longevity
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
9
Potential objectives
Frontend
Backend
Full-stack
Data & Analytics
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
10
Front end, Back end, and Full stack
Client (sends requests)
Frontend Developer
Manages what user sees
Server (sends response)
Backend Developer
Manages what app does
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None 11
bit.ly/language-la
Data/Analytics
Data & Databases
Database Engineers,
Data Scientists,
Data Analysts
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
12
Benefits of Popularity & Accessibility
Has large community of developers, libraries and
frameworks => easier to learn & debug
Syntax is less complicated and more intuitive for first-time
developers
Helps you focus on learning how to code rather than get
distracted by the nuances of the language
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
13
Our recommendations
Frontend: Javascript
Backend: Javascript/Python
Full-stack: Javascript
Analytics: Python
bit.ly/build-own-website
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
14
Javascript
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
15
Javascript history
Written by Brendan Eich in 1995 for Netscape
Initial version written in 10 days
Completely unrelated to Java, but maybe named after it to
draft off its popularity
Over 10 years, became default programming language for
browsers
Continues to evolve under guidance of ECMA
International, with input from top tech companies
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
16
Javascript
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
17
Why JavaScript?
94% of all websites in the world use Javascript.
Javascript has a monopoly on front end web
development.
All browsers already have Javascript interpreters
included.
Node.js allows Javascript to be written on the
back end as well.
Knowing Javascript means you can create full
stack web applications in minutes.
18
Python
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
19
Python history
First release in 1991
Designed to be simpler and more readable
Named after “Monty Python’s Flying Circus”
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
20
Python today
Since 2003, consistently ranked in top 10 most
popular languages.
As of 2017, was fifth most popular language,
currently #3 on Github
Has become standard language in computer
science curriculums (displacing Java)
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
21
Python today
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
22
Python analytics
Data scientists are increasingly using Python
over R
Python has excellent modules for “big data”
analysis and machine learning (NumPy, Pandas,
sklearn)
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
23
Javascript basics: variables
var cars = 20
Initialize variable
Name of variable
Value of variable
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None 24
bit.ly/language-la
Python basics: variables
cars = 20
Name of variable
Value of variable
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None 25
bit.ly/language-la
Javascript basics: functions
function greet() {
return "Hello world!";
}
Initialize function Name of function
What the function does
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None 26
bit.ly/language-la
Python basics: functions
def printme():
print "Hello world!"
return
Initialize function Name of function
What the function does
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None 27
bit.ly/language-la
That's it!
Understanding variables and functions means
you already understand the fundamentals of a
programming language!
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
28
How can I learn?
Build stuff + Google
Free online resources (e.g. CodeAcademy)
Flexible coding bootcamps (e.g Thinkful)
Full-time coding bootcamps (e.g. GA,
Thinkful)
Full degree programs (Georgia Tech)
Wi-Fi: Digital Ignition
Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents
Pass: None
bit.ly/language-la
29
Thinkful - structure and support
More Structure
Less Structure
More SupportLess Support
30
325+ mentors325+ mentors with an average of
10 years of experience10 years of experience in the
field
31
Support 'round the clock
Your Mentor
Q&A Sessions
Career Coach
In-person Workshops
Slack
Program Manager
YouYou
32
Our results
93%93%job-placement rate + job guarantee
Kaeside IwuagwuKaeside Iwuagwu
Link for the third party audit jobs report:
https://www.thinkful.com/bootcamp-jobs-https://www.thinkful.com/bootcamp-jobs-
statsstats
Frontend Developer
Sierra GreggSierra Gregg
Software Engineer
JP EarnestJP Earnest
Web Developer
33
Take a tour!
Talk to me (or email aaron@thinkful.com ) if you're interested
Get a tour of the program to see if
project-based, online learning is a
good fit for you.
Discuss the curriculum,
mentorship, and how to create
your own learning schedule.
34
Thinkful's free resource
Talk to one of us and email aaron.lamphere@thinkful.comaaron.lamphere@thinkful.com to learn
more
Web Development Fundamentals
Covers HTML, CSS and JavaScript
Unlimited mentor-led Q&A sessions
Personal Program Manager to help you
set goals and navigate resources
Student Slack Channel
bit.ly/web-dev-labit.ly/web-dev-la
35

How to Choose a Programming Language

  • 1.
    How to Choosea Programming Language January 2018 WIFI: CrossCamp.us Events Password: None bit.ly/language-la 1
  • 2.
    Instructor Justin Ezor Thinkful LACommunity Manager Wi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 2
  • 3.
    About you What's yourname? What brought you here today? What is your programming experience? Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 3
  • 4.
    About Thinkful Thinkful helpspeople become developers or data scientists through 1-on-1 mentorship and project-based learning Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 4
  • 5.
    What is programming? Programmingis: writing instructions for a computer to execute problem-solvingproblem-solving Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 5
  • 6.
    Learning how tocode Learning to code is a process of learning how to solve problems in a structured way and then translate those solutions into instructions a computer can understand and implement. Variables, loops, arrays, functions exist in all languages — stick to one until you understand the core concepts Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 6
  • 7.
    Pick one thingand master it. Don’t jump around. It will be surprisingly easy to pick up more languages once you understand the fundamentals. Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 7
  • 8.
    Does the firstlanguage you choose matter? It matters, but not in the way most people think. You should pick the language that makes it easiest for you to learn how to code. Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 8
  • 9.
    How to picka first language? Objective Popularity Accessibility Job prospects Longevity Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 9
  • 10.
    Potential objectives Frontend Backend Full-stack Data &Analytics Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 10
  • 11.
    Front end, Backend, and Full stack Client (sends requests) Frontend Developer Manages what user sees Server (sends response) Backend Developer Manages what app does Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None 11 bit.ly/language-la
  • 12.
    Data/Analytics Data & Databases DatabaseEngineers, Data Scientists, Data Analysts Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 12
  • 13.
    Benefits of Popularity& Accessibility Has large community of developers, libraries and frameworks => easier to learn & debug Syntax is less complicated and more intuitive for first-time developers Helps you focus on learning how to code rather than get distracted by the nuances of the language Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 13
  • 14.
    Our recommendations Frontend: Javascript Backend:Javascript/Python Full-stack: Javascript Analytics: Python bit.ly/build-own-website Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 14
  • 15.
    Javascript Wi-Fi: Digital Ignition Pass:Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 15
  • 16.
    Javascript history Written byBrendan Eich in 1995 for Netscape Initial version written in 10 days Completely unrelated to Java, but maybe named after it to draft off its popularity Over 10 years, became default programming language for browsers Continues to evolve under guidance of ECMA International, with input from top tech companies Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 16
  • 17.
    Javascript Wi-Fi: Digital Ignition Pass:Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 17
  • 18.
    Why JavaScript? 94% ofall websites in the world use Javascript. Javascript has a monopoly on front end web development. All browsers already have Javascript interpreters included. Node.js allows Javascript to be written on the back end as well. Knowing Javascript means you can create full stack web applications in minutes. 18
  • 19.
    Python Wi-Fi: Digital Ignition Pass:Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 19
  • 20.
    Python history First releasein 1991 Designed to be simpler and more readable Named after “Monty Python’s Flying Circus” Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 20
  • 21.
    Python today Since 2003,consistently ranked in top 10 most popular languages. As of 2017, was fifth most popular language, currently #3 on Github Has become standard language in computer science curriculums (displacing Java) Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 21
  • 22.
    Python today Wi-Fi: DigitalIgnition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 22
  • 23.
    Python analytics Data scientistsare increasingly using Python over R Python has excellent modules for “big data” analysis and machine learning (NumPy, Pandas, sklearn) Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 23
  • 24.
    Javascript basics: variables varcars = 20 Initialize variable Name of variable Value of variable Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None 24 bit.ly/language-la
  • 25.
    Python basics: variables cars= 20 Name of variable Value of variable Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None 25 bit.ly/language-la
  • 26.
    Javascript basics: functions functiongreet() { return "Hello world!"; } Initialize function Name of function What the function does Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None 26 bit.ly/language-la
  • 27.
    Python basics: functions defprintme(): print "Hello world!" return Initialize function Name of function What the function does Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None 27 bit.ly/language-la
  • 28.
    That's it! Understanding variablesand functions means you already understand the fundamentals of a programming language! Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 28
  • 29.
    How can Ilearn? Build stuff + Google Free online resources (e.g. CodeAcademy) Flexible coding bootcamps (e.g Thinkful) Full-time coding bootcamps (e.g. GA, Thinkful) Full degree programs (Georgia Tech) Wi-Fi: Digital Ignition Pass: Countdown54321 bit.ly/tf-programming-languageWi-Fi: CrossCamp.usEvents Pass: None bit.ly/language-la 29
  • 30.
    Thinkful - structureand support More Structure Less Structure More SupportLess Support 30
  • 31.
    325+ mentors325+ mentorswith an average of 10 years of experience10 years of experience in the field 31
  • 32.
    Support 'round theclock Your Mentor Q&A Sessions Career Coach In-person Workshops Slack Program Manager YouYou 32
  • 33.
    Our results 93%93%job-placement rate+ job guarantee Kaeside IwuagwuKaeside Iwuagwu Link for the third party audit jobs report: https://www.thinkful.com/bootcamp-jobs-https://www.thinkful.com/bootcamp-jobs- statsstats Frontend Developer Sierra GreggSierra Gregg Software Engineer JP EarnestJP Earnest Web Developer 33
  • 34.
    Take a tour! Talkto me (or email aaron@thinkful.com ) if you're interested Get a tour of the program to see if project-based, online learning is a good fit for you. Discuss the curriculum, mentorship, and how to create your own learning schedule. 34
  • 35.
    Thinkful's free resource Talkto one of us and email aaron.lamphere@thinkful.comaaron.lamphere@thinkful.com to learn more Web Development Fundamentals Covers HTML, CSS and JavaScript Unlimited mentor-led Q&A sessions Personal Program Manager to help you set goals and navigate resources Student Slack Channel bit.ly/web-dev-labit.ly/web-dev-la 35