The issue isn’t that its not hiding them, but
- the janky nature of the language that made sense on mainframes with limited memory, but no longer needed,
- manual memory management, which is extremely troubling with multi-threaded applications (get ready for deallocation before another thread finishes its job)
I had a professor with legit old school experience and patents to his name teach my architecture class. for his first semester teaching decided f the book I’ll write my own 8 bit computer on the white board with terrible handwriting.
I taught myself both NASM & C, on the one hand useful for understanding what’s under the hood, but on the other… the fuck is this guy talking about?
Do I write code better than a full time professional? Hell no, I think even some basic python stuff runs faster than my code. And I’m ok with that.
It’s ok to not know how everything works. Better if you do, but c’mon.
There is a point to be made that C is the foundation to all other languages, and thus being able to write C let’s you better understand how other C based languages (which is basically all of them) work.
I personally believe that in a academic sense, C should be your first language. However in a non-professional hobby context start with whatever you feel like.
I was never able to properly render a div in react before tasting my first segfault in c
There is a point to be made that C is the foundation to all other languages
No it isn’t. Go for example. Or Lisp in some cases.
Ah Linkedin
I’ve only ever heard this non-ironically from these types
Hey, that’s unfair! As long as you don’t make silly beginner mistakes like using the standard library’s string implementation, the standard library’s regex implementation, the standard library’s hash table implementation, or standard io, C++ is almost always faster than python!
It crashes ten times faster 😅
Compiling does take its sweet time, tho
runs a business selling C training
If you don’t know which path the electrons are taking on the silicon wafer, you’re a bad engineer.
in my quantum computer they take all the paths at once
Or do they?
Let’s take a look
To be fair, if you have an engineering degree that covered programming you probably learned C, ASM, and low level details about system architecture. But the definition of “engineer” seems a little looser when you’re taking about IT compared to some other fields - SWE is the only “engineering” title you can get without a formal education, AFAIK.
deleted by creator
EECS, you gotta know all the way down to electron flow!
I love to gift TIS-100 to anyone who tells me they want to be a programmer. So far it’s been a great measure of success, if they actually play and complete it (observed via steam achievements)
I wanna be a programmer!
How close is it to actual assembly from an existing CPU?
Far, but being a programmer is usually not about using assembly anymore
Edit: to elaborate a bit, TIS-100 has an overcomplicated architecture but oversimplified command set, and restricts the coder way more than the real assembly (e.g. you have a limit on line length of 12 chars or somewhat close, and that includes the opcode itself). Imo these design decisions allow it to be interesting and simple enough to comprehend, but severely limits what can be implemented on that architecture in reality without requiring for lots of boilerplate
Assembly gang unite against C-wannabees 🔥🔥
If you’re not programming on punch cards you’re a filthy casual
I did an engineering degree at Cambridge in the 2000s and the computing module had us assemble some assembly for some ancient CPU by hand - looking up opcodes in a table in a book - and then type the opcodes into a microcontroller via a 10 digit keypad. No screen or anything. Insane.
If that isn’t enough to put anyone off programming then I don’t know what is…
Unless you’re analyzing what microcode is doing with it, assembly is just hiding how things really work, too. Good engineers use early 1990s computers so that they can fully understand what’s going on, and never have to trust anyone else to correctly do anything.
Real engineers run all their code on CPUs they designed in verilog/VHDL.
Lots of truth to this, lots of great eastern block engineers came from working with super janky computers that demanded high levels of mastery from their users.
Real engineers use binary.
If by “real engineers” you mean the posers who do not work directly with the underlying analog waveforms that approximate digital logic, then I suppose you have a point.
VHDL gang unite against the assembly-wannabees 🐝 🐝 🐝
Verilog for life!
Lay off me! I’m still trying to learn 6502 assembly.
As someone who has not written a line of code since basic was cutting edge, I hereby throw the entire weight of my expertise behind the supremacy of C
Memories. I remember copying my first BASIC code from a magazine. All it did was display a solid color on the monitor when you pressed any key. Back then my only resources were magazines and the video rental/computer shop owner that loved answering all of my questions. I’m pretty sure he could’ve sold his ponytail to Exxon for a hefty sum, but he still smelled better than the internet does now. Lol