30 Seconds of C++
Tags: showdev, opensource, cpp, beginners
Published: 2019-05-05 06:52:17


So if you are looking forward to learn C++ in 2019, I present to you the [**30 Seconds of C++**](http://bhupeshv.me/30-seconds-of-cpp/).
> A collection of STL (_Standard Template Library_) features of C++ which can be learned in 30 seconds or less.

{% github https://github.com/Bhupesh-V/30-seconds-of-cpp %}

## What is it again? 🧐

<img src="https://drive.google.com/uc?export=view&id=1qq4wYPSdaADysDx5HiclE0vIHYBrJyzW" height="150px" width="150px">

30 Seconds of C++ (_hereafter referred to as 30C++_) is a collection of modern C++ STL features like algorithms, containers, etc combined into short C++ snippets that can be learned in 30 seconds or less.
Inspired by the [30 Seconds of Code](https://30secondsofcode.org/index)
 
## Why did you make it? 😮
I personally find it hard to learn modern C++ (C++ 14,17) through numerous C++  tutorials which either have incomplete info or if you wanna go further you may find yourself browsing these websites for modern C++

- [cplusplus](http://www.cplusplus.com/)
- [cpprefrence](https://en.cppreference.com/w/)

The problem with the above 2 resources is that they sometimes give too much info overshadowing the simple things to understand and from a perspective of a "beginner" who has just started learning that can be frustrating.
Although both these resources are damn good if you have a basic understanding which _30C++_ can give.
 
## Why would I learn C++? 😒
![](https://media.giphy.com/media/dcq6lQcUupmY8/giphy.gif)
No doubt languages like JavaScript, Python, Java are ruling the programming world currently but the undoubted presence of C++ in the top 10 languages prove that C++ is evergreen and its presence will never diminish.
Check out these blogs for detailed comparisons : 

- [8 Top Programming Languages & Frameworks of 2019](https://hackernoon.com/8-top-programming-languages-frameworks-of-2019-2f08d2d21a1)
- [Top 10 Programming Languages of the World – 2019 to begin with…](https://www.geeksforgeeks.org/top-10-programming-languages-of-the-world-2019-to-begin-with/)
- [10 Best Programming Languages to Learn in 2019 (for Job & Future)](https://hackr.io/blog/best-programming-languages-to-learn-2019-jobs-future)
- [How long will C++ be around?](https://www.quora.com/How-long-will-C-be-around/answer/Ken-Gregg?ch=2&share=382f722b&srid=3pq4g)
- Also, check out this article about some market trends 
{% link https://dev.to/stetsenko_me/developers-read-this-before-applying-for-a-tech-job-at-google-38gn %}
You can conclude from the above post that C++ is in the Top 3 skills required at Google.

<img src="https://drive.google.com/uc?export=view&id=1o9XQuan-syvE-krrghvh5-zmz4whgzNW">
<figcaption><a href="https://www.tiobe.com/tiobe-index/cplusplus/">TIOBE Index C++</a></figcaption>

> Although to not break your bubble C++ takes a ton of time to master & feel its true essence. _(figuring out myself)_

{% twitter 890591871877218304 %}

I myself use Python as my main language but over the years C++ has helped me become a better developer, even if you are new to programming, using C++ as your starter language will be a good choice.

<img src="https://drive.google.com/uc?export=view&id=1kGzgsIMgXDxCrZkWZaDe7Qb9HMbR33dJ">

Even if you're not learning C++ from Job point of view, it offers a ton of learning experience.
See [5 Reasons Why You Should Keep Learning C/C++](https://www.topcoder.com/blog/5-reasons-keep-learning-c/)

## More Resources
![](https://media.giphy.com/media/l3dj09hpsfuYkijDi/giphy.gif)
Here are some of the resources (blogs) which I currently follow :
> PS: avoid these if you are very new to C++

- [foonathan::blog()](https://foonathan.net/index.html)
- [Fluent C++](https://www.fluentcpp.com/)
- [Simplify C++](https://arne-mertz.de/)
- [Bartek's Coding Blog](https://www.bfilipek.com/?m=1)
- [Kenny Kerr](https://kennykerr.ca/articles/)
- [Sutter’s Mill](https://herbsutter.com/gotw/)
- [thoughts on cpp](https://thoughts-on-cpp.com/)
- [Vorbrodt's C++ Blog](https://vorbrodt.blog/)
- [Learning C++](https://blog.tartanllama.xyz/learning-cpp/)


## How will it help me? 🤔
- 30C++ includes all the modern C++ features & more of them are coming day by day.
- It can help you learn modern C++ step by step without browsing through any lousy and confusing documentation.
- Currently, some of the library headers available are : 
  - `<algorithm>`
  - `<list>`
  - `<stack>`
  - `<queue>`
  - `<vector>`

- Also learning modern C++ will surely help if you are seeking a professional career in C++. 
- If you are a CS Student then learning C++ will be surely helpful,        [Why CS students *must* learn C++ as their main programming language](https://medium.com/@vardanator/why-cs-students-must-learn-c-as-their-main-programming-language-6d3b4f8720bd)
- All the Snippets are explained in an easy to understand lucid manner with a link to run the example code.
<a href="https://github.com/Bhupesh-V/30-seconds-of-cpp/blob/master/algorithm.md/#none_of">
 <img src="https://drive.google.com/uc? 
 export=view&id=1l0z8a6MXOPs6PAH5SdeKBdJHJkmFw9qA">
</a>


- As quoted by [Bartlomiej Filipek](https://www.bfilipek.com/p/about.html)
 > _I am not saying that C++ is fantastic and you should abandon everything and just stick to it. If you’re just starting it’s good to have more options and learn different things. Even if you’re a C++ guy already, it’s vital to learn something new and improve._

## 30 Seconds of Knowledge 👨🏽‍💻
If you are lazy(like me) you can also learn C++ and experience _30C++_ on your browser by adding [this](https://chrome.google.com/webstore/detail/30-seconds-of-knowledge/mmgplondnjekobonklacmemikcnhklla?hl=en) awesome web extension to your favorite browser built by [Stefan Petrovic](https://github.com/petrovicstefanrs).
Know more about [30 Seconds of Knowledge](https://30secondsofknowledge.com/)

## Weekly Series Announcement
![teach_you](https://media.giphy.com/media/xUNd9Y19glbJjn82yI/giphy.gif)

So with the help of _30C++_, we will be learning together modern C++ through a series of C++ blogs that I will be posting starting soon.


## Contribute 😋
If you would like to contribute check out some of the open [issues](https://github.com/Bhupesh-V/30-seconds-of-cpp/issues?q=is%3Aopen+is%3Aissue) : 

{% github https://github.com/Bhupesh-V/30-seconds-of-cpp/issues/31 %}
{% github https://github.com/Bhupesh-V/30-seconds-of-cpp/issues/36 %}
{% github https://github.com/Bhupesh-V/30-seconds-of-cpp/issues/38 %}

## Feedback 🤗
If you like to suggest anything please open an [issue](https://github.com/Bhupesh-V/30-seconds-of-cpp/issues/new?assignees=&labels=suggestion%2C+feedback&template=suggestion-feedback.md&title=Suggestion%2FFeedback) or comment below.

_Also don't forget to Checkout my [website](http://bhupeshv.me/) for more blogs._

> Logo & Cover Image by: [Shriam Kaushik](https://github.com/shriamkaushik)