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