

How To Get Started Programming And Which Language To Choose
source link: https://medium.com/@jacobwoods45/how-to-get-started-programming-and-which-language-to-choose-42607dffda1d
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

How To Get Started Programming And Which Language To Choose
A Realistic Roadmap To Point Beginners In The Right Direction
The Best Way To Learn A Programming Language
The best way to learn a programming language is to watch tutorials and read online to grab a basic understanding of the language, work on projects, and learn as you go by looking things up.
- Learn the basic syntax of a language through online tutorials. Program alongside tutorials and books while pausing often to try running the examples yourself.
- Once you have a good idea of the language begin on a simple project. This should be something that interests you but isn’t impossible. Even Zuckerberg didn’t program Facebook as his first project. Think about some simple projects that might improve your life or build upon knowledge you already have.
- Google. Stack Overflow. Medium. While working on your project do not be afraid to look things up online. Every programmer I have ever known spends just as much time researching and reading as they do actually writing — if they are telling you otherwise they’re lying. Just like most great writers are avid readers the same holds true for programming as well.
- Have fun! If at any point you aren’t enjoying your project feel free to switch languages or try a different project. Most people get really frustrated when programming and things are not working but that’s the fun of it! Working on a problem until you find a solution can be incredibly satisfying.
Projects
Needing inspiration for a project? Check out this list of language specific projects on Github. It’s great because it includes many step by step tutorials and examples that are really beginner friendly.
Choosing A Language
The number one question that I get asked by friends and peers when learning how to program is which programming language they should choose. My answer: It really depends on what you want to do. Which, frankly can be a challenging question to answer quickly but here we go.
The first thing I ask them is what sort of project they would like to work on. It’s true that given enough time and effort that it does not matter what language you choose for a project but in reality some languages are better suited towards some applications.
Game Development
Game development is one of the most popular reasons out there to learn a language. Rightfully so, most people’s fondest memory with a computer is playing a video game. There are two great languages and platforms for game development: C# and C++. C# is the language of choice for Unity and C++ is the language of choice for Unreal Engine. Both Unreal and Unity are tools that offer the ability to develop for virtually every platform from PS5 to mobile.
Here’s some great resources:
- Brackeys YouTube Channel — Great for getting started with Unity and offers tutorials for everything from shooters, platformers, and tower defense games.
- Dev Slope’s Unreal Engine Beginner Tutorial — great way to get started!
Desktop Applications
Write once. Run anywhere. This is the mantra of Java. Although I don’t have much experience with Java I believe it holds the title for most machines running on and is the most popular language for writing desktop applications
Here’s a great resource:
Java Tutorial For Beginners by Mosh— Really long video but well spoken and clear about how to get started in Java.
Mobile Dev
With hundreds of millions of apps on the app store, knowing mobile development can be a handy tool in a developer’s tool kit. For mobile development Swift would be the language of choice for Apple products and Kotlin would be the language of choice for Android. Both Kotlin and Swift are considered “native” languages meaning that they will offer the best performance and most compatibility with the their respective platforms. (Beware: to develop for Apple you can only write on Macs or in some instances the iPad) If you’re looking to develop cross-platform apps meaning you write one program for both devices I would recommend Dart for developing Flutter applications.
Here’s some great resources:
Web Development
Web dev can only really be done with JavaScript, HTML, and CSS. HTML is the format of the content, CSS is the styling, and JavaScript logic and interactivity of a website.
Here’s Some Great Resources:
All of these are by Brad Traversy! Can’t recommend him enough! His YouTube videos and Udemy courses are fantastic.
Full Stack (Front-End Backend — Server and Application)
Again, JavaScript :) Once you have a good grasp of JavaScript, CSS, and HTML look into different “tech stacks” (groups of frameworks that are often all on the same language)
Top Recommendation:
MERN — MongoDB, ExpressJS, React, Node.js They all use JavaScript but use different frameworks that allow JavaScript to run on the front-end, back-end, and database.
Here’s A Great Resource:
Brad Traversy’s MERN Udemy Course — Fantastic tutorial! Suited for those that have experience in JS, HTML, and CSS and well worth the money when on one of Udemy’s many sales.
Robotics/Electronics/Internet of Things (IoT)
My recommendation for these three areas of software development would be to start with one of two devices: a Raspberry Pi and Arduino. Both these two devices are basically pocket sized computers that can interact with other sensors, motors, and electricity.
Each are pretty language specific so choose Python for Raspberry Pi and C/C++ for Arduino.
Which to choose?
-If you’re more interested in the electronics part such as sensors, motors, and general electrical engineering concepts I’d choose the Arduino.
-For internet based, IoT, and projects that don’t involve as much electronics, sensors, and knowledge outside of just software development I’d choose the Raspberry Pi.
Great resources:
Machine Learning
Beware: Machine learning is not a field of software development that is not geared towards beginners. Python is the standard for machine learning these days. The extensive libraries such as TensorFlow and PyTorch make it approachable given enough time and effort. Focus on learning the language in and out and upside-down before getting started. I personally don’t have much experience here so I can’t recommend a specific resource.
Best For General Purpose
For general purpose programming I would recommend Python. Why? Python offers an extensive amount of libraries for developing web scrapers, vision systems, robotics, and programs to automate parts of your life. It also is one of the easier languages to pickup as you can do a lot with a little bit of basic programming knowledge.
Corey Schafer — Great YouTube Channel! Corey explains things very clearly and understandably.
Tech with Tim — Tim does some really neat projects that can get you hooked on programming really easily and is one of the most creative programming Youtuber’s out there.
Closing Thoughts
Be patient. Have fun. Don’t be too hard on yourself :)
Recommend
-
6
Asked to choose a programming language for a beginner A couple of weeks ago, I went to something called Startup School which was held on a Saturday at Stanford. The night before, there was a reception in which a bunch of people (...
-
2
in which you may get started with bus scheme So a number of folks have asked me how they should get started with Bus Scheme.[...
-
9
Getting Started With a New Programming Language I’ve come in contact with quite a few programming languages in my time at Atomic. My first project was built in TypeScript/React using our
-
12
#GoLang For Beginners (3 Part Series) Hello everyone, I'm back again with part 3 of this Go Lang series. I was always wanting to learn more about it but n...
-
11
Programming ...
-
6
Golang tutorial: Get started with the Go language Go is a concise, simple, safe, and fast compiled language with outstanding concurrency features. Now, i...
-
5
How to get started programming in Go Go is an open source programming language that combines a dynamic language's ease of use wi...
-
2
Published 4 January 2023 Updated 4 January 2023 /
-
7
-
7
How to Choose the Right Programming Language for Specific ProjectCoursesSummer Skill UpData Structures and AlgorithmsFor Working ProfessionalsFor StudentsProgramming Languages
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK