Learning C and the C stdlib library was something I did on my own. Brian Kernighan and Dennis Ritchie's The C Programming Language was something I read while in France on a project in 1981. It was simple, concise and easily digested. Plus, it kept my mind off French baguettes. Reading it did not turn me into a good C programmer, but it laid the foundation. Oh, did I just say that I was a good C programmer. My bad! To show my hubris and shallowness, a short while later a friend asked me to help him debug a C program he had written for the PC. He was brand new to C and I was just "new without the brand" to the language. I confidently told him that, with the debugger, we would find the problem in less than a half hour. Four hours later, I was stumped. The problem was that he allocated very large variables on the stack and blew his default stack away every time he used these variables. But like all stack problems, it was very non-deterministic. The debugger was worthless in debugging that. I had not quite mastered memory allocation.
Now, 45 years later, learning React Native is not done by reading one book. The number of components and the intricacies of JavaScript are significantly more complex than C and its standard library. Add to that the React Native components and I found that I needed a serious course. For example, there are less than 50 functions in most stdlib C libraries. Although there are only 24 core components for React Native, each one is probably 10-20 times more complex than each C library function. Add to that the thousands of community supported components and you will understand the complexity.
TUTORIALS ABOUND
This story is from the September 2024 edition of Circuit Cellar.
Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.
Already a subscriber ? Sign In
This story is from the September 2024 edition of Circuit Cellar.
Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.
Already a subscriber? Sign In
Catching Lightning in an IMU
Simulating Diffusion-Limited Aggregation with a Raspberry PI RP2040 MCU
Build an Interactive Kinetic Wall
Using a Raspberry Pi 4 and Kinect V1 Camera
Learn to Program MCUs with uLISP
Part 1: Crash Course Offers Insight Into Pioneering Language
Intelligent Automotive Battery Sensor
Shunt Resistors and Evaluation Electronics Offer Two Key Components
Understanding Mesh Circuits How to Use and Calculate Them
Microcontrollers and other digital systems concern mostly ones and zeros but when connections to the real word are needed it can get messy. Stuart writes about mesh analysis and how mesh circuits can be calculated and applied in practical scenarios.
Datasheet: Very Cool Micro Machines
Smartphone Cooling Rounds Out Parade of Advanced MEMS
Improving Patient Outcomes
Device Technology Advances Medical Practices
Bringing Cost-Effective, On-Device AI to Home Appliances - Sparse Weights and Interactions Negate GPUs and Cloud Computing
GPU silicon and cloud computing infrastructure are too costly for mass markets devices like refrigerators and washers. By deploying compute resources only to the necessary parts of AI inference, Sparse AI allows product designers to practically incorporate new AI features like natural voice interfaces into their consumer offerings without breaking the bank or electric bill surprises.
Thin Film Transistor LED Displays - Visual I/O
To add a resistive touchscreen on top of a TFT display, Jeff explores the technology offerings and libraries needed to accomplish his task. Calibrating the touchscreen's computed coordinates with the actual pixel coordinates of the display proved difficult with a modular framework but separating functions allows easy expansion.
Mobile APP Development with React Native
This month, Bob continues his series on mobile app development from an embedded designer's perspective. He programs a React Native app and he offers guidelines for picking a tutorial for React Native. He further explores how it handles concurrency and asynchronous programming. Bob expected a few nuances during the process but to say there were more than a few would be an understatement.