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. Jmeter 传 PUT 请求方式

    最近用 Jmeter 发送 PUT 请求,踩了个坑,现记录如下: 难点在在于 body 内有一大串 json 形式的内容 1.PUT 请求的 body 内,直接将 json串传 form-data 形 ...

  2. git 与 ftp 共同工作

    因git主要用于版本管理,代码同步方面,因临时调试等原因,需要使用ftp上传文件. 但因为git的账户为ubuntu,ftp是虚拟账户overlord 导致文件权限不同,出现的问题主要有: 1.ftp ...

  3. shell生成随机字符串

    #!/bin/bash i=1while [ $i -le 10000 ]doa=`echo `< /dev/urandom tr -dc A-Za-z0-9 | head -c6``echo  ...

  4. postman进行https接口测试所遇到的ssl证书问题,参考别人方法

    参考文档: https://learning.getpostman.com/docs/postman/sending_api_requests/certificates/ 随着 https 的推动,更 ...

  5. eclipse中解决git分支合并冲突

    冲突场景: 在master分支上有文件student.py. 在master上增新一个dev分支 在dev分支上修改文件student.py.增加函数def d():,并commit; 在master ...

  6. 【Oracle】group by 和partition by的区别

    总结: group 单纯分组 partition 也能分组,但还具备累计的功能 order by 排序,与计算函数联用,需要累加计算 0.select * from test;     ---测试数据 ...

  7. Spring Data Solr相关配置

    1.增加Maven POM文件的存储库:pom配置如下: <repositories> <repository> <id>spring-milestone</ ...

  8. Zuul转发请求时HttpHostConnectException can't cast to ZuulException问题解决方法

    看了一下github上的issue,这应该是一个bug.说是已经在zuul 2.0.1.RELEASE中处理了,但是我用的SpringBoot2.0.4.RELEASE中仍然有问题. 处理方案如下: ...

  9. pandas模块实现小爬虫功能-转载

    pandas模块实现小爬虫功能 安装 pip3 install pandas 爬虫代码 import pandas as pd df = pd.read_html("http://www.a ...

  10. 分布式-JOB(XXL-Job)

    为什么使用xxl-job,不使用qz: 缺少补偿机制 不支持集群 不支持路由策略 统计任务执行 平台管理 监控,报警邮箱 幂等性:一次请求和多次请求得到相同的结果,不会因为多次的请求,导致最后的数据不 ...