Youtube comments of gingerBill (@GingerGames).
-
399
-
217
-
179
-
92
-
71
-
63
-
31
-
25
-
20
-
20
-
I'm from the UK and there is something most people don't really realize: everything might be written in metric but it's amazing how many things are still actually in imperial measurements. You'll still see packaging that says things like: 57g (2 oz), 115g (~4 oz), 200g (7 oz, most tins), 227g (8 oz), 340g (12 oz), 454g (16 oz), and so on. The factories still use all of the old measurements but have just changed the packaging instead (which is the entire legal point). There is also a weird issue in that eggs are defined in effectively imperial masses too still, with a good example that if you crack the contents of a large egg on to a scale, it will weigh ~57g (2 oz).
Another good example of a weird place where imperial is pretending to be metric are recipes. You'll see weird amounts such as 225g, or 115g, or 450mL or whatever, and then you clearly know that this was originally an imperial recipe. Whilst if you read recipes from "The Continent", they will use more "round" numbers in metric. A unit system is a language in itself and finding what works takes a long time.
To be clear, I am not suggesting we should at all go back to the imperial system legally (far from it), just that things never actually changed in many places, only their legal value. And that even if more people think in metric nowadays, the things they buy are only legally metric.
17
-
14
-
14
-
14
-
13
-
Thank you for watching the video. With regards to the "automagic C interop", this sounds cool until you realize this is actually pretty much NEVER what you want. In all of the cases you look at what Zig does, the libraries just wrap the automagically imported C calls, which is effectively the same amount of work as just writing the bindings manually, defeating the entire purpose of the automagical stuff. There is also the other issue that people use the C-preprocess as if it was the same language as C. They define constants and many wrapper functions and more, with the preprocessor, which will be missed by the "automagical" stuff.
We are currently working on making an official automatic bindings generator, and because of Odin's amazing `foreign` system stuff, things can have little to no wrappers whatsoever, and still be extremely useful. Odin has tried its best to make binding with foreign code very pleasurable, whilst not requiring wrappers. See things like the attributes `link_prefix` or even `b32` types (for booleans which are not 1-byte) or `u32le` types (endian specific types) or multi-pointers `[^]T`. With a bindings generator, you'll have a lot more control about how you can interface with foreign (e.g. C) code.
13
-
13
-
12
-
12
-
12
-
12
-
10
-
10
-
10
-
9
-
What other options? If you want a imperative procedural language with manual memory management, that works on Windows, Mac, and Linux, you have about 5 options: C, C++, Odin, Zig, C3.
When I see these kinds of comments, I don't think people know how little choice there is in the systems programming domain, especially before those latter 3 alternatives popped onto the scene.
9
-
8
-
8
-
8
-
8
-
7
-
7
-
6
-
6
-
6
-
6
-
6
-
6
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1