98 lines
3.1 KiB
Markdown
98 lines
3.1 KiB
Markdown
::: navbar
|
|
<div>
|
|
|
|
[Home](../index.html)
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
[Blog](blog--01.html)
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
[Git](https://renraku.dingo-bramble.ts.net/clement)
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
[CV](../files/CV.pdf)
|
|
|
|
</div>
|
|
:::
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
<div>
|
|
|
|
# Programming Anxiety
|
|
|
|
</div>
|
|
|
|
Programming is one of the cornerstones of modern information technology.
|
|
It is what enables the entire Internet to deliver a myriad of services
|
|
and information to everyone at any instant. We live in an era where all
|
|
sorts of amazing programming projects exists, especially the Linux
|
|
kernel and the GCC compiler. These amazing programs are the product of
|
|
tens of thousands of hours devoted by legendary experts. I admire how
|
|
programs has helped humanity as a whole. So while most of my previous
|
|
posts have been about the progression of what I have learnt, this post
|
|
is not one of them.
|
|
|
|
I started learning about programming in the earlier part of this decade;
|
|
I don\'t really remember the specific date anymore. Learning programming
|
|
was fun. Reading blogs, articles, and disseminations about programming
|
|
was fun too. But what comes after those? The culmination of all that
|
|
knowledge and skills is to write your own program. To set your fingers
|
|
free and ultimately find their way to a creative product of your own.
|
|
|
|
Would it be self-sabotage for a noob programmer to have read
|
|
well-written articles discussing the pros and cons of incorporating open
|
|
source libraries in your project? Or the fastest/most-concise
|
|
implementation to sort and filter data structures? Or how should a
|
|
programmer write a program so that he can easily write unit tests for?
|
|
GCC or LLVM? Imperative or functional? The latest netsec update about
|
|
exploiting common bugs in poorly-written programs? These questions and
|
|
information weigh on me before I even write my first function. Would I
|
|
have done this better? Did I make the right choice using tuples instead
|
|
of arrays? Is it time to refactor this tiny functionality?
|
|
|
|
Most of the advice for beginning programmers have always boiled down to
|
|
\"Start small, start well\". But even with my best intentions, I would
|
|
not have known where does one draw the line at well. The fear of
|
|
finishing a program only to realize that it was never going to be
|
|
functional, and I have wasted hours of my time only to backspace my way
|
|
to Line 1. The disappointment after writing a program that I think is
|
|
somewhat decent, only to find that a similar open source library already
|
|
implements this with impeccable style and documentation. As a result,
|
|
even if they would have never taken off, dozens of my programming
|
|
projects have never left the drawing board.
|
|
|
|
What would have been the lesson of this post? I don\'t know. Perhaps I
|
|
should just learn to embrace the idea that the programming process
|
|
inherently requires a lot of rewriting and will inevitably be filled
|
|
with security issues. Thank you for reading.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
::: navbar
|
|
<div>
|
|
|
|
[Prev](blog-009.html)
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
[Next](blog-011.html)
|
|
|
|
</div>
|
|
:::
|
|
|
|
> "What is better: to be born good or to overcome your evil nature
|
|
> through great effort?"\
|
|
> - Paarthurnax
|