NDC Conferences aims to find the greatest minds and leaders in the field of software development, striving to make the best and most updated knowledge available to developers everywhere.
Join these innovative speakers on our RU-vid channel and at our year-round conferences in Oslo, London, Porto, Copenhagen and Sydney!
We hope to see you in person at our live events:\u2028 ndcoslo.com/ \u2028 ndclondon.com/ ndcporto.com/ cphdevfest.com/ ndcsydney.com/
If you just followed this pattern, you'd have functional core, with an imperative shell that deals with IO. Now you have to do more functional stuff that you couldn't do before because it requires the result of the IO. So you do it again, you accept the IO from, do some pure stuff, and then result go to IO. And then again. Scott is completely ignoring how real world application s work by showing toy examples. The reason is because it gets way more complicated, and that makes this functional style a lot more complicated. You're not getting rid of complexity. Next: You never have to mock pure code. Hogwash. You mock those things that are slow. If I'm doing heavy math that takes 10 seconds to calculate, I'm not going to run that in every test simply because it's "pure". I'll mock it when I'm testing other code that depend on it. Scott knows this. He's been doing this long enough. But he loves to trivialize things to make thing seem more stable, and then pull out the "it depends" card later. It just comes across disingenuous.
How have you guys not talked about the best part of fsharp? TYPE INFERENCE. seriously. I'd take Hindly Milner type inference over almost any feature. not having to babysit the compiler is the most amazing speed multiplier in code.
@@maxarshinov gotta pick which seem like the most useful issues to bring up, I understand. I just think it might be more of a win than most people realize, and is the thing that I miss most when I use csharp. The ability to let the compiler do the mental gymnastics of figuring out how to make the function signatures fit together is incredibly helpful for composability. Csharp's compiler doesn't help you make composition easier, it's a pedantic "uhm ackshually" jerk that will refuse to do anything until you've got it's magic secret code words spelled out and pronounced correctly. It will gladly tell you you're wrong, though not exhaustively check everything you'd like. It will tell you you're not passing the right thing around but it's up to you to figure out what will make it happy, when in the same situations it's clear to fsharp's compiler what you wanted from the beginning, and like a true pal, just says, "alright, I see what you're getting at, let me just adjust this automatically for you, make sure things are good to go and safe under the hood, you just keep exploring the actual problem you set out to solve, I'll do the drudgery for you. I'm a computer after all, that's what I'm good for. "
I lost interest in the video when he claimed pickup truck drivers dislike electric car drivers based on their voting preferences. For someone who should rely on science and principles, this is disappointing.
It is interesting to see bridging various technologies like that. Fantastic Steve Sanderson, as always. I love his presentations and the level of detail and complexity he usually goes into. However, the presented concept of combining technologies is making things on the backend much more complicated than most teams will want to accept unless they really have to integrate some legacy code/functionalities/externalities. The more tech interfaces you have to deal with, the more points of failure for your system and issues that will be hard to overcome. It's really difficult for me to come up with a valid real-world use case. Any specific ideas?
This is it. This is the future and I've been searching & experimenting for MONTHS and this is literally the FIRST instance I have found of this type of implementation of Multi-Modality!
I liked the disclaimer at 46:40. However, the Handle method must be marked async, and the SingleOrDefaultAsync extension method should rather be used to actually compile the code. Other than that, I like the idea of vertical slices and I worked on projects that had grown into huge sizes and suffered from what Chris described. I just would love to see some examples or some discussion around good practices of how to layout the features and their borders because it is a pretty vague term tbh. I also am quite curious about what the design decision-making will be for huge projects when a change order arrives with a new feature that overlaps various existing features. It can become pretty hard to tell where one feature ends and another one begins. Or do you create a new one? This can become pretty messy quite quickly if it's affecting existing views or other end-user experiences.
Yes - it recommends not allowing your current expertise to block the path to new ways of thinking.
День назад
@@Barry-ru9kf I take the stuff the stuff that works (in practice). I throw away that doesn't. In gray zone like this I rely on my experience and it tells me: it won't work in practice. So you can draw nice diagrams in theory but I am more interested in their practical value. Domo arigato.
You’ve invested 45 minutes to listen to something that’s a huge topic, has undergone peer review, and has empirical support - which is a big difference to most ideas in software engineering. If your knee-jerk, unresearched reaction is that it won’t work then you’re entitled to that opinion, but it’s not a strong argument, it’s not even an argument. It’s not for everyone, you don’t have to adopt it. Good luck out there!
There are tools based on tracking cookies deployed by state actors & bad guys to obtain physical location of an individual. Whoever says they don't care about tracking is out of touch
If you're considering FP, I would recommend Richard Feldman's 2021 talk called Functional Programming for Pragmatists over this talk. These OOP vs. FP talks aren't very helpful because they don't address the software qualities that each tool (i.e. programming language) produces over time. It's like arguing that a sledge hammer is better than a ball peen hammer. They both are useful under certain situations.
I'm almost afraid to bring this up, but here it goes: For me, the biggest disadvantage of F# is that it forces me to use spaces for indention. I don't want to start a tabs vs. spaces flame war here, but at least, I'd like to have the choice. Especially for visually impaired developers, this is a game changer, and forcing spaces for indention borders on discrimination. (Yes, I know there is an option in F# to use tabs if you really want to, but it comes with so much baggage that it's almost unusable.)
I use to hate this, but then we use to struggle to get the team to be consistent with C#. Even with a .editconfig, the team had to manually structure the code in order to get consistency, but over time things would end up inconsistent. F#, although a bit heavy-handed, forced the team to use a consistent style. We don't think about it anymore and the code is guaranteed to be formatted consistently otherwise the compiler will bark at you. The biggest feature of only being able to call code defined above has been amazing. We spend more time solving the problem at hand and less time on formatting consistency. I use to unfairly argue that the team wasn't discipline, but it's human nature to do the "fast" thing and so entropy will eventually take over, but having the compiler force you in one direction, is like a big stick that forces you to be discipline.
It's extremely hard to listen to this talk, this dude constantly uses words "like" and "right". According to the transcript, he said "like" 275 times and "right" 240 times in 58 minutes, which means that he mentions those words on average every 15 seconds!
It’s weird to even compare. An OOP language with a syntax that everyone can be easily comfortable with. And F#, a functional language which is great for domain modelling and well.. functional programming. I would use both.
@@TheStickofWar C# is a multipurpose and multi-domain programming language, with a great blend of OOP and FP capabilities. C# is also fantastic for domain modelling. What the authors were trying to do is just sell f#, instead of focusing on educating upcoming programmers. lol
Have you written non-trivial software in fsharp? Have you talked to people who have written in a good amount of both, and asked them which they prefer? Honestly I have asked this question a lot, and I've heard of only 1 person who someone from twitter knew from working with him in the past, who genuinely preferred csharp after writing fsharp. Why did he prefer it? Because he liked a more verbose language. That was it, that was his self reported selling point, that in the grand scheme of things he liked writing more code to do the same thing... in which case, sure.. yep.. in that exact instance, csharp surely wins. However, as far as literally everyone else I've talked to who has done both in earnest, fsharp is named to be the clear winner, in their mind. Don't knock it till you tried it.
Esoteric misinformation. It's funny how she contradicts her own statements by explaining, that every disability is different, and you shouldn't make assumptions. Then goes ahead and claims that increased accessibility can lead to higher revenue and will extend your reach to a previously not accessed audience by over 26%.🤣🤣 How does this work, and I thought not all disabilities are the same? Hey NDC, can we have some quality control? what a joke