КОМЕНТАРІ
@kristofkiekens902
@kristofkiekens902 7 днів тому
Great talk!
@mikopiko
@mikopiko 11 днів тому
1:22:34 I was unsure if the double cast was needed, but now I know.
@ABaumstumpf
@ABaumstumpf 11 днів тому
ranges/view were one of the main things why i tried making our codebase ready for C++20. Even just the small things like splitting strings. And then we saw that while you could split strings there was no way of concatenating them back together in a similar style - ok, so we have to create our own compatible functionalities for that (the committee "forgot" about that and it was later added to C++23). Still not too bad - so lets test it... wait, why is everything broken? oooohhhh views are caching... and the code would need extensive reworking due to changes to enum, bool, volatile etc.... Yup, and back to C++17.
@ABaumstumpf
@ABaumstumpf 12 днів тому
22:38 - "Do you think cheap is expensive?" - i sure hope nobody does.
@2002budokan
@2002budokan 14 днів тому
Every time he says, "It's like in C++", I say, "Oh no"; "Oh no, they will make C look like that".
@Panacea9
@Panacea9 14 днів тому
Something about static rules of the system that will always be there... The emulator would always be limited in outputs for exploits, at least then. He was asked to put in signal limitations and how factors effect this but he didnt like that idea and said it would be tedious and it is already in. "get a scrub to do it..someone who can burn time.""i will have to burn through physical chips to do it and even then i would be better at working on ai or exploits."
@Panacea9
@Panacea9 14 днів тому
"[or] a better unit."
@2002budokan
@2002budokan 14 днів тому
Best programming language that human kind invented.
@angelcaru
@angelcaru 19 днів тому
I don't know if I love or hate the fact that the only people using C nowadays are Python devs
@pmcgee003
@pmcgee003 21 день тому
1:15:00 When functions are pure, then I'd say you extend them via pre- and post-composition with other functions. And I guess with generic arguments; (as said) with functions as arguments; and maybe by application of Functors ... fns in Lists, fns in Exception blocks, fns with Logging, Optional fns, a fn in an Either, fns in Futures, ... and maybe by replacement by an Interface(?)
@IrfanButt
@IrfanButt 22 дні тому
A brilliant talk, very well delivered, thanks Roger!
@ACCUConf
@ACCUConf 19 днів тому
So very pleased to hear from you regarding how much you appreciated Roger Orr's presentation.
@mawkuri5496
@mawkuri5496 23 дні тому
when will be a risc v laptop be a reality?
@harryshuman9637
@harryshuman9637 28 днів тому
The new features are neat if they will help reduce issues without requiring modifications of the existing code. But things like that non-NULL check are wack, if you start introducing those things you might as well recompile your code in C++ with use of references if needed. Not sure why they decided to make non-NULL argument descripton so complicated. It makes literally NULL sense.
@alexanders8620
@alexanders8620 Місяць тому
Thank you a lot!
@tomkirbygreen
@tomkirbygreen Місяць тому
Thank you Mike!
@kees-janhermans910
@kees-janhermans910 Місяць тому
Compound literals, don't they also exist in Java for example?
@lattehour
@lattehour Місяць тому
few people get it C is infinite in scope you can do anything you want with it and in any shape you want the only limit is yourself
@lattehour
@lattehour Місяць тому
15:42 that int (*pk)[ sz ] [ sz ] has the *pk in parenthesis because the array operator [] has higher precedence IF the parenthesis where not to be used you will have double array full of pointers to int which is a totally and completely differnt thing from a pointer variable , more so it will invalidate the malloc call , further reasoning *pk is a pointer to int therefore Encapsulates information about the data object aka int which is a 4bytes (32bits) this encapsulation/metadata if you want to call it such is what allows the pointer arithmetic to be performed it makes the pointer aware of the data object therefore when you add/sub 1 from it it will Move the instruction pointer registers exactly 4bytes using a LEA instruction it is extremely fast
@chalimsupa6603
@chalimsupa6603 Місяць тому
Long live C.... the grandfather of all programming languages!
@krumbergify
@krumbergify Місяць тому
Always nice to see Herb! Why is the license of cppfront still NC? This will prevent it from being included in GNU/Linux-distributions once it gets ready unless you make all contributors sign a CSA and transfer all copyright to you.
@matthiasberndt7897
@matthiasberndt7897 Місяць тому
And this, kids, is why you should buy a decent mike before recording videos
@krumbergify
@krumbergify Місяць тому
It is not that bad.
@aerahtv0000
@aerahtv0000 Місяць тому
I do not get it, is it a stand up ?😄
@cnliving
@cnliving Місяць тому
Really useful, 3x
@user-cm9ps3hm3h
@user-cm9ps3hm3h Місяць тому
How long did it take for you guys to fully understand the language, along with its data structures and object-oriented programming concepts??
@MrValsung
@MrValsung Місяць тому
i would say that you would have to elaborate further on what you are trying to ask before you could receive a fruitful answer. I've been casually programming in C/C++ for about 6 months now, and I would say that I have a decent grasp on the language, and possibly on Data Structures as well? from what I understand, Data Structures are simply a means of creating 'automated' dynamic memory allocations that are stored in a particular manner that is conducive to fast searches for accessing/manipulation dependent on the behaviour of what the structure contains. C++ has libraries that do all the heavy lifting for you, with the most obnoxious aspect being overriding the means of indexing or searching said containers. I haven't watched this vid yet (almost always look at comments first), but I would say that I'm at the outer most edge of a Beginner C++ programmer. Mostly cos I have no clue what constitutes an intermediate or advanced programmer in general; or within a particular language.
@dadisuperman3472
@dadisuperman3472 Місяць тому
Let me teach you an expression: "We are just drilling a hole" This expression is used in the oil and gas industry, when all the crew panic, i just reset them to calm down, it gives insurance to your teammates that you are in control. Very powerful.
@suvetar
@suvetar Місяць тому
This is some fantastic work, thank's James!
@__gadonk__
@__gadonk__ Місяць тому
my rule of thumb is. If a macro changes the C syntax, you shouldn't use it
@sparshpriyadarshi
@sparshpriyadarshi Місяць тому
this was such a good refresher on computer architecture.
@play_sports_and_read_books
@play_sports_and_read_books 29 днів тому
That's what i was thinking too
@justa5code
@justa5code Місяць тому
Weird people of C++ community somehow flowed into the world of C and bring this mess. Long Live C17!
@arunchettoor
@arunchettoor Місяць тому
Wonderful reply for the hardware and then software issue. He doesn't cooked up any story , but instead provided a brave honest reply that most of the industry is not able to solve!
@Heater-v1.0.0
@Heater-v1.0.0 Місяць тому
I first learned C in 1984, shortly after working a long time in assembler. I could not believe that there was a high-level language that was so sloppy, did not check anything much, did not give any warnings, just let your mistakes causes crashes and even bring down the whole machine in those day. Today I love C. It's minimal, the least "high-levelness" required to get one off assembler. It's small, one can can write a C compiler in reasonable time. It's best in class for performance. Today I also love Rust. Finally a high level language that banished UB and checks almost all silly mistakes I might make. While maintaining the performance of C and avoiding the monstrous complexity and ugliness of C++. And it interoperates with C very well. So I end up loving both C and Rust for polar opposite reasons. Rust will not replace C for me, they will coexist very well. I'm sure that is true in the wider world as well.
@KipIngram
@KipIngram Місяць тому
The plugboard is just a fixed substitution. You could try to match your message allowing for constant letter replacements, and it would still match regardless of the plugboard. This is a MUCH easier problem than needing to actually OBTAIN the plain text.
@KipIngram
@KipIngram Місяць тому
The fourth rotor never turned at all. It just added an extra level of fixed obfuscation.
@KipIngram
@KipIngram Місяць тому
The Poles cracked the commercial Enigma, which didn't have a plugboard.
@KipIngram
@KipIngram Місяць тому
15:56 - wait; the ring setting not only moved the turnover notch; it also shifted the whole alphabet against the rotor wiring. So yes, that last factor of 26 should be in there.
@KipIngram
@KipIngram Місяць тому
You've reversed left and right...
@hinz1
@hinz1 2 місяці тому
Basically the perfect Internet of Garbage processor ;-)
@hinz1
@hinz1 2 місяці тому
MIPS but with extra suck factor. 68k with orthogonal instruction set and lots of internal tricks and optimizations to make it go fast, would be Genius
@joseoncrack
@joseoncrack 2 місяці тому
The problem will most modern programming languages that have a large "market share" is that they're not driven by engineering or science anymore, but by mere competition. C++ gas grown into this monster only in an attempt to keep its market share, or even grow it. (Call that user base if you prefer.) Any newer language that would introduce some new paradigms or even just some new sugar coating would become an inspiration for the next iteration of C++. Just to prevent developers from moving away. That's just plain marketing. And marketing does infect everything it touches.
@tamimalahasan5533
@tamimalahasan5533 2 місяці тому
can I get the presentation slide?
@__hannibaalbarca__
@__hannibaalbarca__ 2 місяці тому
Hello ; I m in way to put papers : mathematics of C++. Looking for what mean classes and enumeration, as mathematical objects, (treat classes as sets definition) topology mixed with … Is there any one in this way.
@anupanicker6700
@anupanicker6700 2 місяці тому
Can anyone tell why the slides and godbolt output shows a call to memcpy when the actual proposal P2786 ask for a call to memmove.
@codeRight
@codeRight 2 місяці тому
I think the rules for Backstage Pass quality adjustment are the most problematic in this kata. At ~1:07:50 you mention that the refactored code has the same numbers as the requirements (10 days, 5 days) but the conditions don't match the text, i.e. " > 10" doesn't match "when there are 10 days or less" nor does "> 5" match "when there are 5 days or less" - that could be potentially confusing at first glance. You'd have to run the tests to make sure the behavior is actually correct. Also, the requirements say "at the end of the day, the values of sellIn and quality" are lowered, implying the adjustments are only done once per day. However, since rules are applied both before and after sellIn is changed when going from one day to the next, quality can actually be updated twice: right after we came into "today" and before we leave "today". These bring up some questions that relate to the correctness of the requirements and/or the implementation. I do like all the refactoring ideas discussed and demonstrated though.
@ErikBongers
@ErikBongers 2 місяці тому
The main reason to write an algorithm in a functional way: "So, here I wrote an imperative version of this [...] there's nothing particularly wrong with this code [...] but I didn't really feel very fulfilled writing this code..." ok...
@rolandinnamorato1953
@rolandinnamorato1953 3 місяці тому
Step 1. Don't write bugs.
@rolandinnamorato1953
@rolandinnamorato1953 3 місяці тому
Love this gent's style
@stackercoding2054
@stackercoding2054 3 місяці тому
I've been a JS/Python soydev for the past 5 years, basically because I learned to code specifically to work as a developer rather than to learn about computers. The last 6 months I've been coding multiple personal projects in C and I feel like I have a superpower now, I understand a lot of low level stuff that the high level languages hide and my code skills are much better. Probably learning C was the best decision I could make. I feel like I want to stop being a webdev because I'm sick of it, but I don't think I have the skills yet to apply for a full C/C++ job, that's gonna be a long ride.
@codeRight
@codeRight 3 місяці тому
Love this! It validates many things I tell people about refactoring and testing, things I suspect I picked up from the same sources (people & experience) as you.