This post is edited from my original blog post. Find it, and other posts by me on kewbish.github.io/blog.
Introduction
Well, it's been ...
For further actions, you may consider blocking this person and/or reporting abuse
C has its place, and it's super fast for those things it should be used for, like numerical analysis (estimating the solution for a partial differential equation, for example). I wouldn't want to attempt that using a higher-level language!
Definitely true!
I did the course a few weeks ago. It was one of the best ones I ever did, and I miss it now that it is finished. :) It was a great learning opportunity, but sadly, I don't have a PC, so I did it all on my Android phone using Termux and Acode.
I just love the idea of C! I perhaps have a long way to learn more of it, but the very realization that beautiful languages like Python and Java were written in C intrigues me. C is very powerful.
P. S. It is known that the creator of Python, Guido van Rossum, didn't add pointers in Python because he found them quite difficult to handle and believed that they made coding difficult for the programmer.
That's crazy that you managed to do it all on a phone - props!
I definitely agree about the wonder that Python is written in C, looking further into C has made me appreciate Python a lot more.
C is all about fixed length arrays accessed by indexes called pointers.
C is reasonably simple once you understand that it is:
Point 2 is why C is so wide-spread -- writing a shoddy C compiler is very easy, so there are shoddy C compilers for pretty much everything.
Writing a good optimizing C compiler is quite difficult, so it took considerable time for C implementations to become competitive with assembly.
Still infinitely easier than for something like C++ though, which means there's not only more bad compilers but also better good compilers.
Also, to expand a bit on the array thing: that's actually a huge benefit when comparing to other languages, since arrays (unpartitioned, sequential bytes in memory) play very nice with caching, which has led to arrays performing better than other data structures even where it's counter-intuitive, like deleting elements faster than linked lists.
Thank you for the in-depth comment - I'll be sure to keep this in mind in the coming weeks 😄
I blew through this course myself recently, very well done. I agree with you on the IDE was easy and handy for submitting/checking but not as keyboard friendly as visual studio/vscode.
Decent examples, not too boring (unless you do the web path....) made it a great use of time. I took about 2ish weeks to do the whole course including the android/ios and game tracks. Currently working on the follow up game design course
I was planning on doing the web path actually - what did you find boring?
I found the whole make a "homepage" a little outdated and had little interest in writing a stock market app. I liked the instructor the least as well out of the 3. I watched and followed along with the lessons but did not do the assignments.
Ah, I'll keep that in mind!
This course is so fun (and challenging!), enjoy the ride.
Definitely will!
Hello there, thanks for this piece.
How did you get C to run in VScode?
There's a C/C++ extension that I installed for linting and some useful snippets. Aside from that, I just set up a bash function with WSL to run clang and ran my binaries from WSL as well.