Skip to content

Truth in Software

Common Code, Coding Conundrums, Creative Cures, Computing Craft

Author: Ken Gregg

What is code hoisting?

Ken Gregg August 1, 2019March 8, 2021

Code hoisting is an optimization technique that moves code from inside a loop to outside of the loop, if the code is not dependent on being inside the loop (i.e., the code moved is loop-invariant). If your compiler doesn’t have an …

Read more
Code Optimization

Origin of the Three-Finger Salute (CTRL-ALT-DEL)

Ken Gregg July 31, 2019April 1, 2021

The idea for the CTRL-ALT-DEL key combination originated in the IBM PC group, during development of the original IBM PC in 1981. David Bradley wanted a key combination that could be used internally by developers to quickly reboot the computer,without …

Read more
Computing History

Loop unrolling as a symptom of premature optimization

Ken Gregg July 4, 2019January 29, 2021

I was asked a question recently that went something like this: “If a for loop is faster when it’s unrolled, why does my boss always want me to make my code shorter by using for loops, when my way (loop …

Read more
Code Optimization

Is C a high-level language or a low-level language?

Ken Gregg June 4, 2019January 29, 2021

All programming languages are effectively on a spectrum of abstraction. Some are more abstract than others. So, with this in mind, within the set of high-level languages, you’re going to see some that abstract the inner workings of the machine …

Read more
The C Programming Language

Why do some experienced C developers avoid certain features of C99 and later standards?

Ken Gregg June 3, 2019March 8, 2021

Professional software developers who use C to develop source code that is portable across compilers will often find themselves avoiding certain newer features of the language, not from lack of knowledge or understanding, but because not all compilers implement all …

Read more
The C Programming Language

In C++, when should I use a class vs a struct?

Ken Gregg May 29, 2019January 29, 2021

In C++, the only technical difference between a struct and a class is that, by default (i.e., if you don’t specify anything), members of struct are public while members of a class are private. You can achieve encapsulation in a …

Read more
The C++ Programming Language

Can data structures and algorithms be implemented in assembly language?

Ken Gregg May 29, 2019January 29, 2021

Yes, absolutely. Any general-purpose programming language, including all assembly languages, can be used to implement data structures and algorithms. Data structures and algorithms are independent of the implementation language. In fact, some instructors and authors present them using pseudocode or …

Read more
Data Structures and Algorithms

Does the free function make a pointer NULL in C?

Ken Gregg May 20, 2019January 29, 2021

No, it doesn’t. The free library function places the specified block of memory back onto the heap’s free list (at least conceptually…actual implementation details can vary). But the free function doesn’t have access to the memory containing the pointer, because …

Read more
The C Programming Language

Why do some developers advise new developers to ignore using Microsoft Windows?

Ken Gregg April 30, 2019January 29, 2021

I’ll go out on a limb and say, “Real developers don’t give advice like this. And if they do, they should examine their own motives and biases before giving that advice again.” It turns out that, although I might have …

Read more
Career Advice for Software Engineers

Are Windows 95 and 98 earlier releases than Windows 7, 8, 8.1, and 10?

Ken Gregg March 27, 2019January 29, 2021

Yes. Yes they are. This question might seem a bit silly to those of us who lived through, and paid attention to, the early releases of Windows in the 1980s and 1990s. But to someone who didn’t, these numbers can …

Read more
Windows
  • ← Previous
  • Next →

Links

  • Log in
  • Register
  • Entries RSS
  • Comments RSS
  • Blog Home
  • Bytellect LLC Home
  • Recommended Reading
  • Free Developer Resources

Categories

  • Bytellect LLC (4)
  • Computing History (2)
  • Operating Systems (2)
    • Windows (1)
  • Software Development (61)
    • .NET Framework (1)
    • Best Practice (10)
      • Code Reviews (1)
      • Maintainability (3)
      • Program Organization (2)
    • C and C++ Languages (9)
    • Code Optimization (3)
    • Data Structures and Algorithms (2)
    • Programming Languages (5)
    • Programming Paradigms (1)
      • Object-Oriented Programming (1)
    • Project Management (2)
    • Software Testing (2)
    • The Business of Software (3)
      • Career Advice for Software Engineers (2)
    • The C Programming Language (8)
    • The C++ Programming Language (7)
    • Visual Studio (3)
    • Windows Programming (1)
  • Vintage Computing (1)
    • TRS-80 (1)

Archives

Recommended Reading





More Recommended Reading

Bytellect LLC is a participant in the Amazon Associates Program, and may earn commissions from qualifying purchases at Amazon.com.


Tags

C++C programming languagelanguage featurecode maintainabilitycareer developmentcode readabilityThe C# Programming Languageportabilitycareer advicecoding standardsreadabilitysource code portabilityvisual studiocompiler optimizationsoftware maintenancelow-level languageprogrammingC99 standardBoolean data typekeyword
More Tags Less Tags
Bytellect LLC Logo

Terms of Use  |  Privacy Policy  |  Cookie Policy

Copyright © 2017- Bytellect LLC.   All rights reserved.

Copyright © 2021 Truth in Software.
Powered by WordPress. | Theme: colorskin by Dimitrakopoulos.