Core of Programming Languages

Gerald Weinberg is a Charter Member of the Computing Hall of Fame. He recently shared some thoughts to the question, “What were the problems Dennis Ritchie and Bjarne Stroustrup were trying to solve which led them to develop C and C++, respectively?” Based on my reading, his sense of languages in terms of the question are as follows:

  1. Programming languages often come into existence as an extension of the style of the person(s) who made it.
  2. Programming languages does not determine speed of the program.
  3. Speed comes from how the code itself is designed and the capabilities of the compilers that convert that code into the actual program binary.

I’ll add a 4th observation. Speed, reliability, and other qualities also are a function of not your code design or the quality and capability of your compiler. It also has to do with the third-party code libraries at your disposal. Now there are 3 factors: Code design, compiler capability, and third-party code libraries. C++ and C tend to hold sway in certain types of programs due to the highly developed nature of compilers and libraries associated with those languages.

Advertisements

RSS Reader – 12/29/2017 – Final Functionality

The final piece of functionality for the RSS reader is in place. New feeds can be added to the data file that supports the program. New RSS feed name / web address combinations are added to the data file when the Update button is clicked. In this version, the new feed/rss address location doesn’t take effect until the program is re-launched. A future version will update the bottom bar of buttons upon acceptance of the added feed name/address combination. Although it is late in coming, better late than never. Due to general scheduling issues and other matters, it has taken a year and 2 months to reach this point with essentially 2 – 3 months of work spread across 14 months. However, the time has been useful as it gave me an chance to think more about desktop / mobile convergence, 4K screens (and higher resolutions), and whether or not to continue the effort. The answer to that latter concern is yes. The reasons for pursuing this project hasn’t changed since the time I started the quest in Sept./Oct. 2012 and wrote about in Feb. 2013. More to come in 2018. Continue reading

RSS Reader C++ User Interface – 12/22/2017 – Overall Layout

The following briefly covers a visual layout and C++ code structure for an RSS Reader. The visual layout has an eye towards a format useful for both desktop and mobile because who wants to make the same UI twice. The buttons will be big and clickable on a desktop and big and tappable on a mobile device. All essential functionality is designed to fit on 1 screen with no pop-ups or screen switching required. That requires a trade-off in which you have to keep away from nice to have features that would impose on the design. Continue reading

Master Programming Advice for the Ages

David Warman has been writing code since 1967. With 50 years of experience, he has advice for creating superior software in terms of performance and reliability. The advice he presents in response to a question on Quora and his answer covers intuitive concepts oft washed over by alternative, mainstream counsel on software development technique. The question was, “What are some advanced concepts in programming that most average programmers have never heard of?” to which his reply can be summed up as consider the machine and consistent instruction execution (input into output) within a fixed time window. Continue reading