Best of C ProgrammingAugust 2024

  1. 1
    Video
    Avatar of nickchapsasNick Chapsas·2y

    Be Careful with Primary Constructors in C#

  2. 2
    Article
    Avatar of communityCommunity Picks·2y

    shadps4-emu/shadPS4: PS4 emulator for Windows,Linux,MacOS

    shadPS4 is an early PlayStation 4 emulator for Windows, Linux, and macOS, written in C++. Although it's still in the early stages with limited game compatibility, small games like Sonic Mania and Undertale are already working. Interested developers can check the build instructions for various platforms and contribute to the project via GitHub.

  3. 3
    Article
    Avatar of game_developersGame Developers·2y

    How to become a Game Developer?

    An individual shares their journey from playing video games to studying game development in college, seeking advice on the key skills and knowledge required to become a game developer. They have basic knowledge of C/C++ with OOP concepts and are learning Data Structures and Algorithms, as well as some Java and Python basics.

  4. 4
    Video
    Avatar of communityCommunity Picks·2y

    Writing a game the hard way - from scratch using C. #1

    The post explores creating a retro-style video game from scratch using a C compiler and basic tools, mimicking the development processes of the 1980s and early 1990s. The author delves into the historical context of game development during that era, highlighting the use of shareware, lack of internet resources, and the simplicity of games driven largely by hardware limitations. The project is not intended as a tutorial but as a narrative journey, where the author plans to build a basic top-down arena shooter with rudimentary elements before expanding its features.

  5. 5
    Article
    Avatar of khronosKhronos·2y

    Ultra Engine 0.9.7 Released

    Ultra Engine 0.9.7 introduces a new decals system, particle emitters, and enhanced entity and material properties. It also includes upgraded flowgraphs, over 30 bug fixes, and various improvements to compatibility and functionality. The update aims to enhance performance and visuals for game and simulation development.

  6. 6
    Article
    Avatar of infoqInfoQ·2y

    What Can You Learn From the Fastest Code in the World?

    Explore various optimization techniques to enhance code speed, especially in networking scenarios where processing packets efficiently is critical. Techniques covered include inline functions, compiler optimizations, advanced data structures like Swiss Tables, interleaved processing to reduce cache misses, and loop unrolling. Practical examples are used to demonstrate how these methods can reduce processing time from 1000 clocks per packet to just 65 clocks. The importance of benchmarking and understanding trade-offs in optimizations is also highlighted.

  7. 7
    Article
    Avatar of lobstersLobsters·2y

    Why am I writing a Rust compiler in C?

    The author is working on a project called Dozer, which involves writing a Rust compiler in pure C to address bootstrapping issues with Rust. They explain the significance of bootstrapping and the complexities involved in the process, tracing the origins of compilers back to their earliest forms. The goal is to make Rust more accessible earlier in the bootstrapping process without relying on C++.

  8. 8
    Video
    Avatar of davidbombalDavid Bombal·2y

    Reverse Engineering 101 tutorial with the amazing Stephen Sims!

  9. 9
    Article
    Avatar of hnHacker News·2y

    Writing a C Compiler

    The post provides a comprehensive guide to writing a C compiler, divided into three parts. The first part covers the basic elements such as unary and binary operators, loops, and functions. The second part delves into more complex data types like long integers, floating-point numbers, pointers, arrays, and dynamic memory allocation. The final part focuses on optimizing programs, including register allocation. The post also includes appendices on debugging assembly code and assembly generation.

  10. 10
    Article
    Avatar of hnHacker News·2y

    nicbarker/clay: High performance UI layout library in C.

    Clay, a high performance 2D UI layout library in C, offers microsecond layout performance and a flex-box like model. It features zero dependencies, Wasm support, static arena-based memory usage, and a renderer-agnostic output. The library can compile to a 15kb uncompressed .wasm file for browser use, and it supports nested declarative syntax and various UI element macros like containers, text, images, and more. Additionally, it provides simple APIs for pointer interactions and scroll container handling. Clay was designed for immediate mode rendering but can also be integrated into retained mode systems using its API for visibility culling and custom elements.

  11. 11
    Video
    Avatar of nickchapsasNick Chapsas·2y

    The New Option and Result Types of C#

  12. 12
    Video
    Avatar of nickchapsasNick Chapsas·2y

    The Smart Way to Add Database Auditing in .NET

  13. 13
    Article
    Avatar of hnHacker News·2y

    PhobosLab

    high_impact is a small, open-source, 2D game engine written in C, which compiles to various platforms including Windows, Mac, Linux, and WebAssembly for browsers. Inspired by the original Impact JavaScript game engine from 2010, it provides essential features for game development, such as loading tile-maps, handling physics and collisions, sprite animation, text rendering, and audio playback. The engine is designed to be simple and minimalistic, encouraging developers to extend it with their own game-specific logic.

  14. 14
    Video
    Avatar of youtubeYouTube·2y

    Complete Full Stack Web Development Preparation : MERN Stack + 6 Major Projects | New Delta 5.0

  15. 15
    Article
    Avatar of lobstersLobsters·2y

    PlatformLab/NanoLog: Nanolog is an extremely performant nanosecond scale logging system for C++ that exposes a simple printf-like API.

    NanoLog is an extremely performant nanosecond-scale logging system for C++ that can achieve over 80 million logs per second at a median latency of just over 7 nanoseconds. It achieves this by extracting static log information at compile-time, logging dynamic components during runtime, and deferring formatting to an offline process. NanoLog is available in two versions: a Preprocessor version and a C++17 version, each with its own integration method. The C++17 version is recommended for ease of use. The generated logs are in a binary format and must be decompressed to be human-readable.

  16. 16
    Article
    Avatar of googleossGoogle Open Source Blog·2y

    Introducing the Pigweed SDK: A modern embedded development suite

    Google introduces the Pigweed SDK, a modern suite for embedded development, especially aimed at 32-bit microcontrollers like those in the Raspberry Pi Pico family. The SDK includes extensive middleware libraries, RTOS abstractions, a powerful RPC interface, and full support for Clang/LLVM toolchains. It features Visual Studio Code integration, GitHub Actions support, and a Bazel-based build system. The new release enhances development, debugging, and testing processes, aiming to reduce maintenance and debugging overheads. Official support for the new Raspberry Pi Pico 2 (RP2350) is also included, along with guides and sample applications to help developers get started quickly.