In the growing world of technology, C programming has kind of lost its way. Today, we have a million new languages and frameworks to code. A few being JavaScript, Java, C, Python, C++, PHP, C#, Ruby, Perl, Swift, Haskell, Erlang and what not.

But a lot us kind of forget that all these languages have something or the other in common with C programming. Truly why C is the most fundamental language even till date. A few recent surveys and reports state that C is still one amongst those popular languages out there.

Hacker Rank’s Developer Skill Report 2019 — It clearly states that C is the 3rd most popular language of choice.

How to get started with learning C?

The only mantra that one needs to follow and not chant when it comes to mastering a language is

LEARN + PRACTICE + PRACTICE + PRACTICE + PRACTICE……………PRACTICE.

The endless process of practicing is what will keep the learning going when it comes to programming. It isn’t math to learn the formula and then solve the problem. Rather, here you learn the formula while you are trying to solve the challenge. That's how it works when it comes to any kind of a role involving programming.

The second secret to mastering any language is:

THINK (90%) + CODE (10%) = EXECUTION & SUCCESS

For example, I once met a Senior Developer from a top firm. I just had two questions for him.

  1. What mistakes have you made as a Junior Developer?
  2. What keeps your spirits high?

Here is what he share……

When a Junior Developer, it is natural that we would want to kick start our new job and grow professionally within no time. I would not suggest you slow down, but yeah you gotta do a lot of thinking than coding. While most of us start dripping the code the minute we hear a challenge, probably that not how you are supposed to function. You need to focus on thinking of the logic. Once the logic gets you or you get the logic, then is when you might have to drip your code. And of all programming is an art — the more you master it, the easier it is to stay in the state of flow.

While these tips would help a Junior Developer at work, then what about a beginner?

As a beginner, you need to need to put in efforts to just get yourself through with the basics — Once and for all. Here is my take on what mediums and websites to choose from.

Websites to refer for self prep:

  1. Geeksforgeeks.org — Best website for learning the fundamentals.
  2. Faceprep.in — Best websites for practicing some of the basic programs in C and Data Structures & Algorithms.

C programming | Data structure & Algorithms

3. Hacker Rank — The go-to site for practicing advanced questions.

Online Tutorials for self prep:

  1. TheNewBoston
  2. Learncode.Academy

Books for self prep:

  1. The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie
  2. Programming in C by Al Kelley and Ira Pohl
  3. Let us C by Yashavant P. Kanetkar

Forums to help you get your doubts resolved during self prep:

  1. StackOverflow — The best place to meet and interact with programmers and techies.
  2. Faceprep  — Good place to interact with your peers. But not sure of how useful is it to get your doubts clarified. This is one of the websites with a good forum and hence suggested.

Websites for competitive coding prep:

  1. Hacker Rank
  2. Codechef
  3. Hacker earth

Choose the best medium and best website and get started. When it comes to learning, specially programming, its never too late.

Happy learning. Happy Coding!

Programming Series 1.0 — C Programming的更多相关文章

  1. 2017 JUST Programming Contest 2.0 题解

    [题目链接] A - On The Way to Lucky Plaza 首先,$n>m$或$k>m$或$k>n$就无解. 设$p = \frac{A}{B}$,$ans = C_{ ...

  2. 2018 JUST Programming Contest 1.0 题解

    题目链接  gym101778 Problem A 转化成绝对值之后算一下概率.这个题有点像 2018 ZOJ Monthly March Problem D ? 不过那个题要难一些~ #includ ...

  3. gym101532 2017 JUST Programming Contest 4.0

    台州学院ICPC赛前训练5 人生第一次ak,而且ak得还蛮快的,感谢队友带我飞 A 直接用claris的模板啊,他模板确实比较强大,其实就是因为更新的很快 #include<bits/stdc+ ...

  4. 2017 JUST Programming Contest 3.0 B. Linear Algebra Test

    B. Linear Algebra Test time limit per test 3.0 s memory limit per test 256 MB input standard input o ...

  5. 2017 JUST Programming Contest 3.0 I. Move Between Numbers

    I. Move Between Numbers time limit per test 2.0 s memory limit per test 256 MB input standard input ...

  6. 2017 JUST Programming Contest 3.0 D. Dice Game

    D. Dice Game time limit per test 1.0 s memory limit per test 256 MB input standard input output stan ...

  7. 2017 JUST Programming Contest 3.0 H. Eyad and Math

    H. Eyad and Math time limit per test 2.0 s memory limit per test 256 MB input standard input output ...

  8. 2017 JUST Programming Contest 3.0 K. Malek and Summer Semester

    K. Malek and Summer Semester time limit per test 1.0 s memory limit per test 256 MB input standard i ...

  9. 2017 JUST Programming Contest 3.0 E. The Architect Omar

    E. The Architect Omar time limit per test 1.0 s memory limit per test 256 MB input standard input ou ...

随机推荐

  1. [原] RTTI 为什么type_info 有比较操作

    The lifetime of the object returned by typeid extends to the end of the program. 根据C++标准, typeid()返回 ...

  2. JS实现购物商城商品放大

    img属于行内元素 <img src=''>gq</img> 效果 当放大图片时候,文字位置发生改变 文字出现在图片下方,因为图片有一个隐形的g线,这条线的位置和以前上学时候, ...

  3. Spring boot配置logback

    在application-dev.yml增加配置 配置文件的路径为 rescoures/evn/dev/logback-spring.xml <?xml version="1.0&qu ...

  4. mysql 8.0 主从复制的优化

    mysql 8.0复制改进一简介: 基于GTID下的并行复制,本文不考虑MGR架构二 主要特性   1 基于writeset的下的改进型并行复制     我在之前的一篇文章关于并行复制中详细的介绍了关 ...

  5. InnoDB 存储引擎的特点及优化方法

    InnoDB:   InnoDB 引擎是MySQL数据库的另一个重要的存储引擎.被包含在所有的二进制安装包里面.和其它的存储引擎相比.InnoDB引擎的优点是支持兼容ACID的事物.以及参数完整性(有 ...

  6. Python判断、运算符

    1.Python之if判断 2.Python运算符 3.Python综合案例

  7. IDEA汉化

    1.- 汉化包 提取码: 4mbq 2.打开IDEA,执行下列操作:在主界面选择File → Settings → Appearance&Behavior → Appearance → 勾选O ...

  8. 在linux上构建gitolite

    每台机器生成密钥前要设置邮箱和用户名: git config --global user.name "admin" git config --global user.email & ...

  9. BAT开发中,ChromeDriver版本兼容性检查

    打开解决方案的Nuget包管理器,选择合适的版本,安装即可.版本的兼容性检查,见上一篇blog(初次使用BAT,请检查Chrome浏览器和ChromeDriver兼容性 https://www.cnb ...

  10. 安卓版的pvr图片查看

    public class PVRTDecompress { /* author:FormatFa mail :1758759399@qq.com date :2017-6-14 */ //modify ...