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. socks5服务器编写经验总结

    一.Socks5服务器实现设计 本Socks5服务器是之前做的一个项目中的一个小部分东西,该项目是一个可以实现多级转发代理网络通讯的项目,能够隐藏网络数据包的源IP地址和端口,能够为上网的用户提供安全 ...

  2. [R] [Johns Hopkins] R Programming 作業 Week 2 - Air Pollution

    Introduction For this first programming assignment you will write three functions that are meant to ...

  3. docker WARNING: IPv4 forwarding is disabled. 解决方法

    WARNING: IPv4 forwarding is disabled. Networking will not work. 在宿主机添加如下信息 echo net.ipv4.ip_forward= ...

  4. linux 解压缩总结

    总结1.*.tar 用 tar –xvf 解压2.*.gz 用 gzip -d或者gunzip 解压3.*.tar.gz和*.tgz 用 tar –xzf 解压4.*.bz2 用 bzip2 -d或者 ...

  5. System.DllNotFoundException: Unable to load DLL 'libgdiplus': The specified module could not be found.

    netcore 使用System.Drawing 出现如下错误: Unhandled Exception: System.TypeInitializationException: The type i ...

  6. 在已安装64位oracle的服务器安装32位客户端

    应用场景:服务器操作系统是win2012 64位,原先安装了64位oracle12,后来系统增加导入excel的功能,网站必须启用32位兼容模式,这时候发现原有的页面打不开,提示: 试图加载格式不正确 ...

  7. JavaScript BOM和DOM

    Browser Object Model BOM是所有JavaScript的核心,所有的功能其实都建立在BOM基础之上.各浏览器提供的BOM的功能存在很大差异,BOM在HTML5中已经有很大一部分被放 ...

  8. IIS应用程序池权限与虚拟目录身份验证权限

    IIS应用程序池用户权限决定了IIS进程对资源的访问权限.例如在服务器aspx代码中修改web.config或者在某个目录写入文件,就需要应用程序池用户对指定文件或目录修改权限. 虚拟目录身份验证权限 ...

  9. Unity 代码组件获取和使用、Resources加载、OnGUI、Time、Mathf、PlayerPref

    1.     游戏物体组件获取.添加组件(重要) 作业分析: 子弹生成:坦克生成----->坦克控制类里生成子弹 子弹飞行:子弹自己飞,不能通过坦克控制类进行管理: 获取代码组件,设置子弹速度: ...

  10. C#求一组数的众数

    private int GetModeNum(List<int> listValue) { List<int> listName = new List<int>() ...