I tried to understand what makes me so anxious when I have to deal with a huge program even with source code.
I strangely believe that ZAMM seems to be giving me some enlightenment. How?
Programming could be every bit of a now issue or it could be every bit bit logical and rational. To grok something in programming. Just like in Mathematics, the most effective way is not just to understand a certain glaring bright spot in the topic. Rather you want to understand a tiny tidbit to an extreme depth. Understand the connection of each of these bits.
You don't normally get huge speed improvement for individual tasks (your speed in problem solving, not speed of the program, though the two of them are interrelated. ) But improvement will come even if you put your consciousness to improve even a small part of your understanding. In my case, my recent improvement in typing and basic algorithm skill seems to already give me more confidence.
Programmers seem to operate on bits and texts or in a higher-level may be data structure, design. But the truth, programmers are operators of concepts.
The concept of a huge program seems to be trivial. But at the end it could be as blurred as a dark shade. What is a "sorting routine"? Let's do a "search". What are these words mean? at all? Without going into the eternal, the understand is just romantic. A sign of strength will be shown if the routine is fast or quicker than other routine. That's the cool side. But the underlying form also matters.
What understanding means must be a balance of both sides. Both the internals and the externals, both the logical and the aesthetic part of it. Completion or Perfection of a skill would not be attained when one's understanding was biased to one side.
That is sadly what happen to a large program which are built by mere humans. and How difficult to factor this in? The human dynamics of work and collaboration in a creative work like programming?
That's why programming and maintenance perplex me and tired me. Like using your pinky to type words like period or programming or perplex. If you are not familiar with your pinky. You found it difficult and tiring.
So what can solve the issues? To attempt to understand every thing in the program! Try to describe it as hard as you can. Not only a matter of the details. Not only a matter of its functions. But BOTH. It is possible. It is possible for human to understand and learn an issue once you know the issue. Look at the source code for comprehension, for criticism, for learning.
That is the only way to remove one's anxiety in programming.
This is my self-study page for the book, "Introduction to Algorithm", or commonly known as CLRS. This is also my diary page of how I struggle and grow in the programming world. I hope this blog can help amateurs or professionals, to improve their skills in programming, learning and living. As of Sep 12, 2011, I finished the "exercise read" of Chapter 2 (20110518) and 3 (20110608) and half of Chapter 4.
Shortcut for chapter specific information
Chapter4
(62)
chapter3
(41)
Chapter2
(22)
chapter6
(10)
chapter12
(9)
chapter15
(8)
chapter13
(7)
chapter7
(7)
Chapter10
(5)
chapter5
(5)
Appendix A
(4)
chapter8
(4)
Chapter19
(3)
Chapter22
(3)
Chapter34
(3)
Chapter35
(3)
chapter11
(3)
chapter16
(3)
chapter18
(3)
Appendix C
(2)
Chapter21
(2)
Chapter25
(2)
Chapter26
(2)
Chapter27
(2)
Chapter28
(2)
Chapter29
(2)
Chapter9
(2)
chapter14
(2)
chapter20
(2)
chapter23
(2)
chapter24
(2)
chapter30
(2)
chapter31
(2)
chapter32
(2)
Appendix D
(1)
Chapter1
(1)
Chapter33
(1)
chapter17
(1)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment