The err != nil quickly turns into metrics, logs, fallback strategies, retry mechanisms, flight recording, rate limiting, updating caches, so on.
Anyone who’s trying to shorten this hasn’t maintained any actual real software.
263 karma · joined April 17, 2013
[ my public key: https://keybase.io/nitrix; my proof: https://keybase.io/nitrix/sigs/5UQz9eiKAm7nDhGEjIFIqqI6nk81Ab5tFd-DTrPZY8A ]
The err != nil quickly turns into metrics, logs, fallback strategies, retry mechanisms, flight recording, rate limiting, updating caches, so on.
Anyone who’s trying to shorten this hasn’t maintained any actual real software.
int v, *w, x[5], *y[5], (*z[5])(int, int);
Where v is an int, w is a pointer, x is an array, y is an array of pointers, z is an array of function pointers, etc.Similarly, typedef is also just a keyword in front of a regular declaration.
int foo[5];
typedef int foo[5];
int bar(void);
typedef int bar(void);
Now you can use `bar *` as a function pointer.The entire language works like this.
int x, *p, arr[5], fn(), (*pfn)();
Using x, or dereferencing p, or subscripting the array arr, or declaring a function that can be called with fn, or dereferencing the function pointer pfn then calling it, all these things would produce an int.It's the intended way to read/write declarations/expressions. As a consequence, asterisks ends up placed near the identifiers. The confused ones will think it's a stylistic choice and won't understand any of this.
If they do what you suggest, all the creativity that makes the platform attractive is going to flock to somewhere else.
It does not provide a `resize`. You're thinking of `realloc` on hosted environments.
Therefore, my advice is to pretend you're a junior developer and do things the most naive way possible. Allow things to stink, to repeat code and to support just what's needed, as if this was the absolute final complete state of the application. This may lead to eventual refactors and this is healthy as the focus will be on correcting existing problems instead of foreseen ones.
This is when you allow your senior knowledge and experience to do what's necessary to return to a state that's comfortable for a junior. It's counterintuitive, but at the scale of a large codebase, the occasional refactors ouweights the time wasted doing preventing design at ever layer. I actually have a similar stance about defensive programming and testing.
Since this might not be enough to appease your brain, keep in mind that abstractions are generalizations trying to encompass some common 80%+ of cases, but they're usually never perfect and leave behind edge cases with additional complexity. Unfortunately, composing abstractions is multiplicative. 80%*80%=64%. Do it enough and your whole application becomes unsupported edge cases, constrainted to fit within interfaces, functions and types not able to adequetly give you the results you want and, so, you go crazy down the rabbit hole, trying to desperately break it down into even more suitable abstractions, like that's going to help.
There's a revenue threshold to meet to pay the fee.
You can read #13 of the Charter https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2086.htm
As for the audience, it's all the C developers, the open-source and commercial compiler implementations, vendors of libraries, tooling, services, learning material and everything else built in C; which is just innumerable.
Each Standard version released supersedes and obsoletes the previous versions. Intentionally, the versions are meant to be as backwards compatible as possible so that one can mix and match C89/C99/C11 codebases with minimum effort.
C has gained only a handful of features in the last 40 years. Compared to the great many things that are improved w.r.t. undefined/implementation-specific/unspecified behaviors, or removed to keep up with modern times (e.g. Trigraphs, Two's Complement integer representations, etc).
I'd say: (1) upgrading is not the spooky thing people make it out to be. Go, Rust, they all move much faster than this and have very ambitious big design ideas on their mind. (2) It's necessary to take good care of C as it, and the things built in it, will realistically outlive many of us.
https://news.ycombinator.com/newsguidelines.html
>> Off-Topic: Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon. Videos of pratfalls or disasters, or cute animal pictures. If they'd cover it on TV news, it's probably off-topic.
There's a time and a place. I'm downvoting.
What jumps to the eye right now is that second option checked, as if that's the new feature.
A) Let the user find out the correct orientation.
B1) Make the snapping happen only on click/touch release.
B2) Make the snapping happen over a longer distance.
Is that a result of the Standard and will Scryer follow those footsteps or are we going to see something closer to Mercury?
I really enjoy your channel and indirectly heard a lot of positive things about Scryer, so of course I'm super interested and would prefer if they don't get too stuck on trying to meet the "status quo". The "status quo" has a lot of room for improvement.
The language allows too much freedom for a beginner and things can go bad quickly if you aren't rigorous about developing the right habits.
Years of experience helping people and seeing it happen first-hand is what leads to these strong opinions that you interpret as gatekeeping.
The books were triaged based on the feedbacks we heard, the kind of questions that are asked on the channel, or how confused those readers are after reading through them.
The bickering that's going on means someone has a hidden agenda, got their ego bruised or maybe the laws are just outdated and needs corrections.
Either way, people aren't great with change. Changes to the law takes a lot of time and often your request just gets ignored unless you literally force them to look at your issue.
Well, that's what they're doing. I have no problem with it, no one gets harmed, people are safer, laws will improve, it's just wins everywhere.