KEMBAR78
Choosing a Programming Language | PDF
Choosing a Programming Language
November 2017
http://bit.ly/program-language
1
Instructor
TJ Stalcup
Lead DC Mentor @Thinkful
API Evangelist @WealthEngine
Pokemon Master
AIs
http://bit.ly/program-language
2
About you
What's your name?
What brought you here today?
What is your programming experience?
http://bit.ly/program-language
3
About Thinkful
Thinkful helps people become developers or data scientists
through 1-on-1 mentorship and project-based learning
http://bit.ly/program-language
4
What is programming?
writing instructions for the computer
problem-solvingproblem-solving
http://bit.ly/html-crash-coursehttp://bit.ly/program-language
5
Learning how to code
Solve problems in a structured way and then write instructions
for the computer to perform
Concepts of programming exist in all languages
Stick to one!
Don't jump around
Opinions are like ......
http://bit.ly/html-crash-coursehttp://bit.ly/program-language
6
Does it matter?
The first language you learn matters, but not in the way you think.
Pick the one that's easiest for you
Polyglot
http://bit.ly/html-crash-coursehttp://bit.ly/program-language
7
How do developers choose?
Objective
Popularity
Accessibility
Job Prospects
Longevity
http://bit.ly/html-crash-coursehttp://bit.ly/program-language
8
Objectives
Frontend
Backend
Full-stack
Data & Analytics
Software/Gaming/Mobile
http://bit.ly/html-crash-coursehttp://bit.ly/program-language
9
Objectives - Frontend, Backend, Full-stack
Client (sends requests)
Frontend Developer
Manages what user sees
Server (sends response)
Backend Developer
Manages what app does
http://bit.ly/program-language
10
Data & Databases
Database Admins
Data Scientists
Data Analysts
Objectives - Data & Analytics
http://bit.ly/program-language
11
Software Engineer
Game Developer
iOS Developer
Android Developer
Mobile Developer
Objectives - Software / Gaming / Mobile
http://bit.ly/program-language
12
Popularity & Accessibility
Community size.
Number of Libraries & Frameworks
Documentation
Intuitive Syntax
Focus on how to code, not the
nuances of the language
http://bit.ly/program-language
13
Objective-C & Swift
DC Job Market - 0.3%
Objective - iOS Dev.
Age - 33 years old
Difficulty - 4/5 & 3/5
Daily SO Questions - 247
http://bit.ly/program-language
14
Objective-C & Swift
http://bit.ly/program-language
@interface Person : NSObject
@property (readonly) NSString *firstName;
@property (readonly) NSString *lastName;
@end
let apples = 3
let oranges = 5
let appleSummary = "I have (apples) apples."
let fruitSummary = "I have (apples + oranges) pieces of fru
15
Scala
DC Job Market - 0.7%
Objective - Backend
Age - 13 years old
Difficulty - 4/5
Daily SO Questions - 70
http://bit.ly/program-language
16
Scala
http://bit.ly/program-language
println(1) // 1
println(1 + 1) // 2
println("Hello!") // Hello!
println("Hello," + " world!") // Hello, world!
17
Visual Basic
DC Job Market - 1.2%
Objective - Backend/Software
Age - 19 years old
Difficulty - 2/5
Daily SO Questions - 45
http://bit.ly/program-language
18
Visual Basic
http://bit.ly/program-language
Console.Write("Press any key to continue...")
Console.ReadKey(true)
19
PHP
DC Job Market - 3.2%
Objective - Backend
Age - 22 years old
Difficulty - 2/5
Daily SO Questions - 565
http://bit.ly/program-language
20
PHP
http://bit.ly/program-language
<?php
echo "My first PHP script!";
?>
21
Ruby
DC Job Market - 3.8%
Objective - Backend/Software
Age - 22 years old
Difficulty - 3/5
Daily SO Questions - 53
http://bit.ly/program-language
22
Ruby
http://bit.ly/program-language
# Output "I love Ruby"
say = "I love Ruby"
puts say
# Output "I *LOVE* RUBY"
say['love'] = "*love*"
puts say.upcase
# Output "I *love* Ruby"
# five times
5.times { puts say }
23
C#
DC Job Market - 10.1%
Objective - Backend/Software/Game
Age - 17 years old
Difficulty - 3/5
Daily SO Questions - 600
http://bit.ly/program-language
24
C#
http://bit.ly/program-language
using System;
class Hello
{
static void Main()
{
Console.WriteLine("Hello, World");
}
}
25
Python
DC Job Market - 11.8%
Objective - Backend/Software/Data
Age - 26 years old
Difficulty - 2/5
Daily SO Questions - 868
http://bit.ly/program-language
26
Python
http://bit.ly/program-language
# For loop on a list
numbers = [2, 4, 6, 8]
product = 1
for number in numbers:
product = product * number
print('The product is:', product)
27
Java
DC Job Market - 14%
Objective - Backend/Software/Android
Age - 22 years old
Difficulty - 3/5
Daily SO Questions - 804
http://bit.ly/program-language
28
Java
http://bit.ly/program-language
/* HelloWorld.java
*/
public class HelloWorld
{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
29
JavaScript
DC Job Market - 18.5%
Objective - Full-stack/Mobile/Gaming
Age - 21 years old
Difficulty - 2/5
Daily SO Questions - 1068
http://bit.ly/program-language
30
31
JavaScript
http://bit.ly/program-language
var text = 'Hello World';
console.log(text);
32
Real developers use Google... a lot
http://bit.ly/program-language
33
Ways to keep learning
34
For aspiring developers, bootcamps fill the gap
35
92%92%
job-placement rate + job guarantee
Link for the third party audit jobs report:
https://www.thinkful.com/bootcamp-jobs-statshttps://www.thinkful.com/bootcamp-jobs-stats
Thinkful's track record of getting students jobs
36
Our students receive unprecedented support
Learning Mentor
Career MentorProgram Manager
Local Community
You
37
Mentorship enables flexible learning
Learn anywhere,
anytime, & at your own
pace
You don't have to quitYou don't have to quit
your job to startyour job to start
career transitioncareer transition
38
Thinkful Two-Week Trial
Talk to one of us and email benjy@thinkful.combenjy@thinkful.com to learn more
Two-week Free Course Trial
Start with HTML, CSS and JavaScript
Unlimited QAs sessions
Option to continue with full bootcamp
Financing & scholarships available
Offer valid tonight onlyOffer valid tonight only
BenjyBenjy SchechnerSchechner
Education Advisor
39

Choosing a Programming Language