- #36
yungman
- 5,755
- 293
I was a hardware designer before, memory allocation, file storing means something to me. Even in C++ I am learning now, I particularly like pointers, dynamic memory allocation, file manipulations and the others that are more hardware related. I think it's very important for people that program hardware as well as people that design hardware to understand across the field to have full appreciation of each other. I never experience issue interfacing with software group in decades of my career. I think it's because I did get into programming long time ago, that make me appreciate what programmers are doing and try to make life as easy as possible for them. I think it works the other way around also.harborsparrow said:C++ is IMO much the more difficult language, for one reason because it allows things like multiple inheritance, but also because it is C language and thus dependent on the machine's hardware architecture and does not so easily port between machines or OS versions. C# is more elegant, fully standardized, the the VM it runs on is highly optimized for performance. The tools are free. It's more like Java--memory is managed for you, although you still might need to know exactly what is happening in memory when objects are created and destroyed.
Not all programming are on PC or bigger computers. There is a big field in embedded controllers that need software(firmware). You don't have infinite amount of RAMs and flash memory. You BETTER know where and how you use memory. You don't pull in a bunch of wasted code in just to be "elegant". You better be prepare to get you hands dirty when speed, timing and size are the bottle neck.