Just starting out learning computer programming, it
is already clear to me that becoming a successful computer programmer involves
thinking in a completely different way than I’m used to. The thing that interests me the most about
programming is the fact that when two people are given the same programming
problem, more times than not the end solution may be valid and usable for both
people, however the actual code used to achieve the final end results will not
exactly match line for line. This tells
me right away that computer programming is art in a way. A programmer’s code represents his/her mind,
and I could only assume this makes one’s code not just unique, but also very
personal.
I
would imagine programmers learn through personal experience and extensive
research when to use which tools for specific scenarios. Determining which the best tool for the task
is could be learned through experience and/or research as well, however,
knowing exactly what you’re trying to accomplish with your code is a great
indicator as to what tool or technique should be used. For example, (Reingold, 1996) “Better sorting
methods for algorithms can be designed using the idea of divide-and-conquer, in
which a problem is decomposed into sub-problems that resemble the original
problem on a reduced scale”. Reingold
uses the merge sort technique which allows sorting by splitting n values into 2 piles of n/2 value, sorting each pile separately,
and then merging the two piles into a single sorted pile. The above sort technique allows for solutions
to more complex problems by way of easier calculations, which would in turn,
not only be faster and less resource intensive, but more accurate as well.
References
Reingold,
E. M. (1996). Basic techniques for design and analysis of algorithms. ACM
Computing Surveys, 28(1), 19. Retrieved from
https://search.proquest.com/docview/195184191?accountid=41759
0 comments :
Post a Comment