|
Authored by: mcinsand on Wednesday, January 30 2013 @ 02:52 PM EST |
I seem to have miscommunicated. I am quite comfortable in C. I may have
actually happydanced on getting back into microcontrollers when I found SDCC
(Small Device C Compiler, and it’s GPL3!!!). However, I do sympathize with the
parent of this thread in that the language that I know might not be the best
language for my project. C is great for the larger µcontrollers, but, from what
I am reading, my effort on a small PIC (programmable interface chips) would be
better with assembly code.
In grad school, I needed a utility to calculate distances and angles in
nonCartesian space for X-Ray, and I couldn’t find one. Although I knew BASIC,
there were too many incompatible versions. ANSI had just standardized C, so I
thought I could learn C once and carry the knowledge from environment to
environment. (Wow, I guess I am capable of some good decisions, after all
*grin*.)
My problem with learning pointers was from realizing that I had mistakenly
settled on the wrong paradigm. For whatever reason, I had always just assumed
that data would pass from function to function by address. Passing the entire
data chunk just didn’t occur to me. So, my learning with regard to pointers had
more to do with accepting that data is passed by default, unless specifically
set up to pass by address.
After graduation, I did get pulled into helping a project that was adapting
missile targeting software to online industrial solutions. The original
software was old, in FORTRAN, and took a full day to generate a single solution.
Just translating it to C reduced runtime to 15-20 minutes, and there were other
refinements as well. I handled all of the work in C, and the project doesn’t
seem so complicated, though, when I think about it now. Solution candidates
were in a linked list, which is one of the changes I made after the initial
translation. The list expanded and contracted as suboptimal blocks were removed
and promising blocks were expanded for higher resolution. A lot of the solution
time reduction came in tweaking the list management process to decide how great
of a change to make based on solution comparisons. It was a fun project,
though.
[ Reply to This | Parent | # ]
|
|
|
|
|