Boot.dev Blog
Golang vs C++: Which is Best For Your Next Project
by Meghan Reichenbach
Needing to be a math genius to learn to code is a thing of the past. High-level programming languages offer an alternative to low-level machine code, which makes coding more accessible than ever. Let's dive into how Golang, a modern higher-level language, matches up to C++, a tried-and-true low-level language. We'll cover the most important points like which language is more performant, which is easier to learn, which results in cleaner code, and which programming methodologies guide their respective designs.
Beautiful Language and Beautiful Code
by
"Dead Poet's Society" is a classic film, and has become a recent favorite of mine. There's a scene in particular that I enjoy, where Robin William's character explains that it's bad practice to use terms like "very tired" or "very sad", instead we should use descriptive words like "exhausted" or "morose"! I wholeheartedly agree with what's being taught to the students in this scene. It's tiresome to read a novel where the author drones on within the bounds of a lackluster vocabulary. This brings me to the point I wanted to emphasize in this short article:
Intro to the One-Time Pad Cipher
by Lane Wagner - Boot.dev co-founder and backend engineer
In cryptography, the one-time pad, or OTP is a way of encrypting information so securely that it's impossible to be cracked. That said, OTP has a major drawback in that it requires both parties to have access to the same key before a message is encrypted.
16 Great Coding Challenges You Can Try Out
by Zulie Rane - Data analysis and computer science techincal author
Coding challenges are a fun way to improve your coding quickly.
Building a Red-Black Binary Tree in Python
by Lane Wagner - Boot.dev co-founder and backend engineer
A red-black tree is a kind of self-balancing binary search tree. Each node stores an extra bit, which we will call the color, red or black. The color ensures that the tree remains approximately balanced during insertions and deletions. When the tree is modified, the new tree is rearranged and repainted to restore the coloring properties that constrain how unbalanced the tree can become in the worst case.
Quick Sort in Golang
by Lane Wagner - Boot.dev co-founder and backend engineer
Quicksort is an efficient sorting algorithm commonly used in production sorting implementations. Like Merge Sort, Quicksort is a divide-and-conquer algorithm. As the name implies, Quicksort is one of the fastest sorting algorithms, but you have to pay attention to detail in your implementation because if you're not careful, your speed can drop quickly.
How to Write Insertion Sort in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
Insertion sort builds a final sorted list one item at a time. It's much less efficient on large lists than more advanced algorithms like quicksort or merge sort. Insertion sort is a simple algorithm that works just like you would arrange playing cards in your hands. A slice is first split into sorted and unsorted sections, then values from the unsorted section are inserted into the correct position in the sorted section.
Merge Sort in Golang with Examples
by Lane Wagner - Boot.dev co-founder and backend engineer
Merge sort is a recursive sorting algorithm and, luckily for us, it's quite a bit faster than bubble sort. Merge sort is a divide and conquer algorithm.
Writing Bubble Sort in Go from Scratch
by Lane Wagner - Boot.dev co-founder and backend engineer
Bubble sort is named for the way elements "bubble up" to the top of the list. Bubble sort repeatedly steps through a slice and compares adjacent elements, swapping them if they are out of order. It continues to loop over the slice until the whole list is completely sorted.
Check for Standards Before Creating a New One
by Lane Wagner - Boot.dev co-founder and backend engineer
I recently had a ticket opened on my team's backlog board requesting the ability to bypass our API's caching system. For context, our front-end team uses my team's API to make fairly heavy requests to ElasticSearch, and one of the features of our API gateway is to cache the results of heavy aggregations for ~30 seconds. It turns out, every once in a while they need to run two of the same query within the ~30-second caching window and want an updated result set.
How to Properly Use Defer in Golang
by Lane Wagner - Boot.dev co-founder and backend engineer
In the Go programming language, defer is a keyword that allows developers to delay the execution of a function until the current function returns. What throws some people off is that the deferred function's arguments are evaluated immediately, but the function itself doesn't fire until the wrapping function exits.
7 Critical Reasons Beginner Programmers Should Learn JavaScript in 2026
by Zulie Rane - Data analysis and computer science techincal author
"Why learn JavaScript?" I asked my sister when she was in college and starting to pick up the fundamentals of JavaScript. "Isn't it ancient? Do people still use it?"
Comprehensive Guide to Dates and Times in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
Keeping track of time in code has long been every developer's nightmare. While no language or package manages time perfectly, I think Golang does a pretty good job out-of-the-box. This full tutorial should answer ~90% of the questions you'll have about time management in Go.
The 10x Meeting - Solving for Too Many Meetings
by Lane Wagner - Boot.dev co-founder and backend engineer
Perhaps you've heard of the fabled 10x developer (or 10x engineer) - the one on the team that's 10x as productive as their average colleague. While many, including myself, doubt the existence of such people, I do think there are meetings that are 10x as productive as the average meeting. My goal in this article is to break down their properties so we can have 10x fewer meetings.
Concatenating with strings.Builder Quickly in Golang
by Lane Wagner - Boot.dev co-founder and backend engineer
The Go standard library makes concatenating strings easy. Concatenation is just a fancy word for adding strings together to make a larger string. For example, if we concatenate "hello", " " and "world" we'd get "hello world".
Golang vs Python: Which Language is Best For You?
by Zulie Rane - Data analysis and computer science techincal author
In a world where the ability to write any code at all is a tremendous advantage, often the biggest problem coders face is knowing which language to start learning, rather than whether to learn one at all. There are different languages for just about every purpose you could think of. Of those popular coding languages, programmers often face an intense battle of Golang vs Python. (The official name is Go, but the website is Golang.org, so programmers typically refer to it as either interchangeably.)
The Ultimate Guide to JSON in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
As a language designed for the web, Go provides extensive support for working with JSON data. JSON (JavaScript Object Notation) is an incredibly popular data exchange format whose syntax resembles simple JavaScript objects. It's one of the most common ways for applications to communicate on the modern web.
Migrating From Vue-CLI & Webpack to Vitejs
by Lane Wagner - Boot.dev co-founder and backend engineer
Boot.dev's web app that hosts all of my coding courses is a single-page application written in Vue 2, with plans to migrate to Vue 3 soon™©®. In the meantime, I happened across a cool new tooling app called Vite that promised a few things that caught my attention.
How Replace a String in Go - Top 5 Examples
by Lane Wagner - Boot.dev co-founder and backend engineer
Go has a powerful standard library that makes string manipulation easy right out of the box. One of the functions I use most often is the strings package's Replace() function. strings.Replace() returns a copy of its input string after replacing all instances of a given substring with a new one.
How and Why to Write Enums in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
An enum (short for enumerator), is a set of named constant values. An enum is a powerful tool that allows developers to create complex sets of constants that have useful names and yet simple and unique values.
Splitting a String into a Slice in Golang
by Lane Wagner - Boot.dev co-founder and backend engineer
I can't begin to tell you how often I split strings in Go. More often than not I'm just parsing a comma-separated list from an environment variable, and Go's standard library gives us some great tools for that kind of manipulation.
Backend Developers are UX Designers Too
by Lane Wagner - Boot.dev co-founder and backend engineer
Too often I neglect the idea of UX design in backend work. The goal of user experience design is to give users a product that's easy to use. In the world of front-end development, that typically means making it obvious how to navigate your site, using commonly-understood icons, or implementing well-contrasted colors for foreground and background, making your site easy to read.
For Loops in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
For loops are a programmer's best friend! They allow us execute blocks of code repeatedly and iterate over collections of items. In Go, there are several different ways to write one.
Advanced Algorithms Course Released on Boot.dev
by Lane Wagner - Boot.dev co-founder and backend engineer
Sorry it took so long for me to get this one out! Data Structures and Algorithms 2 was just released, and I'm excited to let you all get your hands on it, even if you're just auditing it for free! The more advanced material takes quite a bit longer to produce, I wanted to triple-check to make sure I got everything correct and that I've presented it in a way that makes it easy to understand.
Which is Worth It, Coding Bootcamp or a Computer Science Degree?
by Zulie Rane - Data analysis and computer science techincal author
When you're in a position of wondering, "Is a coding bootcamp worth it?" you should look at several factors. Coding bootcamp costs, on average, around $13,000. This holds true no matter if you choose to attend coding bootcamp in person or online, though there's a lot of variance in how much coding bootcamp costs, ranging from $3,000 to $20,000 depending on the language, the length, and who's running it.
