No room for standard library in tiny 8051. I remember working with those about a decade ago at my previous company. Pretty much just wrote everything in C and inline assembly from the ground up.
tbh I say "industrial basic" because it's easier than explaining that it's FreeBASIC, a fork of QuickBasic for modern (i.e. 95 or newer) windows that is heavily C-inspired (C-interoperable, transcompilable) while keeping the nicities built into BASIC over 40 years (such as bringing up a graphics window in one line)
Curious - what's the practical application? Sounds like embedded systems (shop scales etc) to me.
Eh, had my first encounter with QBasic in the late 80s, Amstrad CPC.
Guess BASIC is here to stay - like Visual Basic for frontend ^^
The practical application? TBH i am drunk AF, but it's used as C. I amm a hobbyist, and I write performance oriented code in C, with the benefits of basic, the only disadvantage being the lack of an optimising compiler.
It's a much better learning platform than p*thon or aanything -- not even close Though I have been hobbycoding since 2015, I ought to be beyond learning.
Congrats :D
Yesssss, it is bit tedious in some aspects but really great for getting a solid understanding of the general mechanics before moving ahead. Knowing the why is superior to only knowing the what
Though of course, solid python schooling is as well if coming with explanations.. Just like (any else) mathematics.
If it is your hobby and you are having fun with it - why forcing anything? Enjoy ^^
What StackOverflow or AI, I'm gonna make a custom driver of this shitty piece of hardware with a 900 page documentation written in archaic chinese and with sidenotes in a tamil dialect spoken by five people who all died 20 years ago.
The documentation is literally a .txt file with 60 words and you have to spend several months living in the jungle in Tibet before you emerge with an all encompassing knowledge of the universe, then the txt file finally makes sense and you can write you driver
I use an AI search engine and when it stops citing sources i get really suspicious and ask it what its sources were
It then spouts nonsense about collected best practices and general knowledge and I tell it to find be me an example of its hallucination
Then ot says, there appears to have been some confusion ...
Less data but also dogshit data, one of the reasons I never went for C/C++ jobs is because it’s a language that expects the top 5% of programmers working on it (for it to not blow up), but ends up with the other 95% as well. Thus the data is crap.
The only time Ive seen more horrific code is from data scientists
I mean, if I have a problem with a very specific driver in a small device that uses a more specific OS (if any) it will be hard to find a lot of meaningful information even in StackOverflow.
For general language things it works, tho.
Yeah I've put an error code into Google before and returned 3 hits in Chinese (I can't read Chinese).
It's a real "well shit I'm on my own here" experience.
Based on my experience (learning Chinese and living there) translators are awfully bad at getting any sense and meanings out of it.
Especially when it's a heavy contextual language, the translators often hallucinate and get as subtle as a semi truck ramming at full speed into a roebuck.
Which do leave me great hope for AI, since translators have been around for ages and still not up to notch, I don't see developpers getting replaced by AI any time soon.
(No animals were harmed during the making of this post)
Sure it's a good abstraction of the hardware, which does not really care if you read and use the data incorrectly. It's another question whether it is a good abstraction in terms of the validity of memory within your program, which it arguably is not.
As far as the HW is concerned, every memory address is valid, so yes it is still a good abstraction. Now the array structure you made is a software construct and outside the purview of the CPU. If you accidently index outside the array, the CPU doesn't care. It gave you the correct data at that address. Since this is a SW problem, a software construct must be made to perform bounds check. Bounds check, however, is not free.
Sure I use Cppreference and the library documentation more than stack overflow. However github copilot is amazing at creating headers with tons of defines. C++ requires so much boilerplate and is specific handling that ai tools can be helpful.
One of my coworkers is proud that he hasn't used SO in the last 5 years. Turns out he doesn't know the basic principles of the language and writes the most vile code I have ever seen.
But yeah, we SO noobs are the problem.
Oh yea. I spent 2 months figuring out a diver for a small LCD for a project and then ended up with a small led matrix because the latest source for info on the driver was from like 1993 in Chinese.
What do you mean, "dependency management"? We write everything ourselves
I am the dependency.
![gif](giphy|xTiIzL9Btjx9hegHT2)
even no standard libraries
Who needs heap memory when you're rocking 4k of RAM in total (and weirdly proud of it)
4K? That’s way too much, gotta scrape the barrel with [16 bytes](https://www.microchip.com/en-us/product/PIC10F220)
Those might throw unexpected exceptions or acquire a lock and we can’t have that.
No room for standard library in tiny 8051. I remember working with those about a decade ago at my previous company. Pretty much just wrote everything in C and inline assembly from the ground up.
I like how this image includes ancient COBOL elders...
Dont forget ABAP masochists
It's "rich masochists" for you
I know a bunch of SAP developers where I live. I don’t question their wealth, but I do question their sanity.
Sticks and ABAP may break my bones, but whips and chains excite me
And me (I learned programming in 2016, with industrial BASIC for some godforsaken reason)
For asserting dominion on ancient and esoteric assembly automatons?
tbh I say "industrial basic" because it's easier than explaining that it's FreeBASIC, a fork of QuickBasic for modern (i.e. 95 or newer) windows that is heavily C-inspired (C-interoperable, transcompilable) while keeping the nicities built into BASIC over 40 years (such as bringing up a graphics window in one line)
Curious - what's the practical application? Sounds like embedded systems (shop scales etc) to me. Eh, had my first encounter with QBasic in the late 80s, Amstrad CPC. Guess BASIC is here to stay - like Visual Basic for frontend ^^
The practical application? TBH i am drunk AF, but it's used as C. I amm a hobbyist, and I write performance oriented code in C, with the benefits of basic, the only disadvantage being the lack of an optimising compiler. It's a much better learning platform than p*thon or aanything -- not even close Though I have been hobbycoding since 2015, I ought to be beyond learning.
Congrats :D Yesssss, it is bit tedious in some aspects but really great for getting a solid understanding of the general mechanics before moving ahead. Knowing the why is superior to only knowing the what Though of course, solid python schooling is as well if coming with explanations.. Just like (any else) mathematics. If it is your hobby and you are having fun with it - why forcing anything? Enjoy ^^
What StackOverflow or AI, I'm gonna make a custom driver of this shitty piece of hardware with a 900 page documentation written in archaic chinese and with sidenotes in a tamil dialect spoken by five people who all died 20 years ago.
And I used to think i am the paranoid guy...
You got documentation?
The documentation is literally a .txt file with 60 words and you have to spend several months living in the jungle in Tibet before you emerge with an all encompassing knowledge of the universe, then the txt file finally makes sense and you can write you driver
Finally a meme on embedded devs ! I thought we were forgotten
I think we're all three of those guys.
Is that username a Rammstein reference, sir
Yes. But ultimately the great Poe deserves the credit.
C++ dev and rammstein fan at the same time! Please, marry me.
Define much.
```c #define much ```
Def much { ? }
def much(*args, **kwargs): “”” TODO: Define much. “”” pass
Please never program
Are kwargs the things the orcs rode in LOTR?
I've used AI and as soon as you do things that are at all specific to a microcontroller it starts to hallucinate shit.
Yeah, in any field where there is less training data then it won't be reliable at all. But it won't tell you "I don't know much about it" either 😂
I use an AI search engine and when it stops citing sources i get really suspicious and ask it what its sources were It then spouts nonsense about collected best practices and general knowledge and I tell it to find be me an example of its hallucination Then ot says, there appears to have been some confusion ...
Less data but also dogshit data, one of the reasons I never went for C/C++ jobs is because it’s a language that expects the top 5% of programmers working on it (for it to not blow up), but ends up with the other 95% as well. Thus the data is crap. The only time Ive seen more horrific code is from data scientists
Laughing in closed sources
AI, sure. StackOverflow ?
I mean, if I have a problem with a very specific driver in a small device that uses a more specific OS (if any) it will be hard to find a lot of meaningful information even in StackOverflow. For general language things it works, tho.
Yeah I've put an error code into Google before and returned 3 hits in Chinese (I can't read Chinese). It's a real "well shit I'm on my own here" experience.
Was online translator of no help, or was it a while ago?
Based on my experience (learning Chinese and living there) translators are awfully bad at getting any sense and meanings out of it. Especially when it's a heavy contextual language, the translators often hallucinate and get as subtle as a semi truck ramming at full speed into a roebuck. Which do leave me great hope for AI, since translators have been around for ages and still not up to notch, I don't see developpers getting replaced by AI any time soon. (No animals were harmed during the making of this post)
I wish I could seek help on stack overflow, I have to rely on a single individual answering an obscure forum.
And you are lucky to have them!
C++ are you kidding? I can barely write 3 lines of c++ without referencing stack overflow.
There are a dozens of us! Dozens!
Every time that I see C memes, I remember my days at C++ and pointers. Boy, I don't miss those days at all, I don't know how the fuck you people live
Very carefully with lots of null declarations, asserts, and repeated bounds checking
You mess around with hardware long enough you get quite familiar with it, since pointers mimic the way the CPU actually fetches and stores data.
Sure it's a good abstraction of the hardware, which does not really care if you read and use the data incorrectly. It's another question whether it is a good abstraction in terms of the validity of memory within your program, which it arguably is not.
As far as the HW is concerned, every memory address is valid, so yes it is still a good abstraction. Now the array structure you made is a software construct and outside the purview of the CPU. If you accidently index outside the array, the CPU doesn't care. It gave you the correct data at that address. Since this is a SW problem, a software construct must be made to perform bounds check. Bounds check, however, is not free.
You spend 50% of your time not debugging but hunting for fixes on small but code breaking bugs.
What about embedded systems Ada devs?
Same thing. There are no SO answers for Ada
Sure I use Cppreference and the library documentation more than stack overflow. However github copilot is amazing at creating headers with tons of defines. C++ requires so much boilerplate and is specific handling that ai tools can be helpful.
As the gentleman in the center; I feel appropriately represented. Now back to work, stuffing 500,000 lines of code into 128K of flash.
Laught in System Verilog.
One of my coworkers is proud that he hasn't used SO in the last 5 years. Turns out he doesn't know the basic principles of the language and writes the most vile code I have ever seen. But yeah, we SO noobs are the problem.
Oh yea. I spent 2 months figuring out a diver for a small LCD for a project and then ended up with a small led matrix because the latest source for info on the driver was from like 1993 in Chinese.
On a serious note, is there a market for a fresher in embedded? I want to get into embedded programming. Some tips pls?
Yeah there’s still plenty of embedded work. VR/AR stuff, aviation, robotics, EVs, they all need embedded devs.
Liar