Metosin

Metosin

Software development is first and foremost a human process.

Organisers of ClojuTRE.

Reduxed - Simon Perepelitsa

Reduxed - Simon Perepelitsa

Пікірлер

  • @mahkhi7154
    @mahkhi71542 күн бұрын

    Functional Programming, Like Minix, is Great in Theory. In Practise it Fails.

  • @mahkhi7154
    @mahkhi71542 күн бұрын

    Why Isn't Functional Programming the Norm? Functional Programming is Based on a Simple Executive. e.g. The Reduction of Lists. e.t.c. Imperative Programming, the Executive is More Complicated. its Procedural and More Complicated. An Idiot can mis-understand Imperative, Procedural Languages Executive. However, an Intelligent individual can Understand Imperative, Procedural Languages Executive. Functional Programming: Simple Executive? Whilst Great in Theory. In Practice, the Software You Build with it Mushrooms to an ENORMOUS, Un-Comprehendible Size. Imperative Programming, Procedural: Whilst the Executive is More Complicated. The Software You Build with it, DOESN'T Mushroom to an Un-Comprehendible Size. The Software You Build with it, is More Understandable. This isn't the case with Functional Programming. Ask your Gods God. Your Brain Cant Understand a Higher Species than Yourself.

  • @wlcrutch
    @wlcrutch5 күн бұрын

    Why isn’t it the norm? Because it shouldn’t be.

  • @23bcx
    @23bcx7 күн бұрын

    The real killer app that makes a language long term is the teaching material. The only reason functional programing is what it is with all the () is because SICP got people on Scheme and therefore lisp. The main reason python is #1 is because it is what is taught in CS101 in most universities, C++ & Java are big b/c one of those is usally CS201.

  • @nopens
    @nopens12 күн бұрын

    A neat excurse intro history but come on. You answered why in the beginning: it's complicated. And at the same time there was no answer at all. "fp is not popular because oop took the spotlight", is that it?

  • @paradox_695
    @paradox_69515 күн бұрын

    FP sure has its use cases but it being the norm??! NO!

  • @yaksher
    @yaksher17 күн бұрын

    @6:50 Tbh, Swift seems to be a pretty great programming language these days lol.

  • @KaiSong-vv7wh
    @KaiSong-vv7wh18 күн бұрын

    because it is easier to think top-down in responsibilities and actions (criss-cross) rather than in stream-lining (one-way).

  • @WDGKuurama
    @WDGKuurama20 күн бұрын

    "Object orientation"

  • @idkwhattonamethisshti
    @idkwhattonamethisshti22 күн бұрын

    Cause its dumb

  • @WolfieDad67
    @WolfieDad6722 күн бұрын

    I believe C#(Microsoft in general) is moving fully towards "Functional". I've watched many Zoran Horvat videos and can see the progressive morphing of DotNet into Functional. I'm starting to tinker with F# as well. Just my opinion, and I suggest watching Zoran videos if you're a C# person.

  • @andrewclarke8163
    @andrewclarke816327 күн бұрын

    In the first ~15 mins, he kept bringing up that "if X language (that has exclusivity or a killer app) was functional, everyone would use it". I strongly disagree. Maybe it ends up being true, but only if the fact that it's not OO doesn't push people away from adopting the language. As a junior dev in particular, I generally tended to avoid the unfamiliar. If Swift or ObjC were functional, maybe devs with a OOP background would look at it and think "No thanks, I'mma stick to Android or multi-platform options". Rails manages to draw so many people into Ruby in part because Ruby is so damn easy to learn. If JS was functional, would it have still beaten out Flash? Would yet another alternative have cropped up? You can't just make such a fundamental change and assume that the result would remain the same just because it was helped by external factors.

  • @75hilmar
    @75hilmar29 күн бұрын

    "C with classes" doesn't sound like a serious naming attempt, so people didn't get it as a thing. So when he came out with C++ people thought: "Finally a _real_ system" Imagine talking to your colleagues and somebody says: "I am using C with classes now."

  • @talk2thoran
    @talk2thoranАй бұрын

    If one has a function with multiple arguments, then by decomposing a function with multiple arguments into multiple functions with one argument each, it has the effect of being able to then compose those functions into a series of chainable functions, thereby increasing re-use and decreasing the complexity of each function, making each easier to reason about.

  • @privatesocialhandle
    @privatesocialhandleАй бұрын

    I really don't understand the compromison here. OOP is all about data (program state) and the functions are typically also about data (for the most part). Hence you can also call OOP as "data-oriented" programming. Classes are nothing but abstract models of real-world entities (their attributes and operations). The point is, OOP = I'm all about data. Functional programming on the other hand is all about behavior (functions). In fact, most of the time data is immutable in functional programming and the same input will always yield the same output. The use case of functional programming is exploring data for analytical or mathematical purposes (AI models, data statistics, etc.) So, functional and OOP are not in the same category. One is designed for data, and one designed for behavior. Maybe this whole time the presentation was taking about Procedural Programming rather functional programming? That would make more sense, because procedural programming is also about data (believe it or not) but with the emphasis that code is organized in procedures rather than objects (with the difference that is in procedures, it contain behavior only and the associated data lives outside of the procedure in comparison to objects where data and behaviors are "encapsulated" into a single unit called an "object".) I could be wrong but that's my take on it.

  • @officialraylong
    @officialraylongАй бұрын

    Great talk! I think emphasizing the projectional AST editor would have helped some of the questions.

  • @themfu
    @themfuАй бұрын

    Very well presented, really enjoyed the pace and content.

  • @berndeckenfels
    @berndeckenfelsАй бұрын

    15:46 I disagree that the web platform is a guaranteed success. If it where not as accessible it could easily be replaced (just like Flash or Silverlight). JS did dominate because it was approachable and also OO (DOM) is a major aspect.

  • @seapearl3175
    @seapearl3175Ай бұрын

    I wonder if we could take the best of both worlds and bake it into a very strict language that could achieve anything of both worlds though.

  • @Nihandel
    @NihandelАй бұрын

    good thing != popular thing. a lot of suff is loved by many that aren't competent enough to understand what is really good or not. javascript is popular because everyone study it as "beginner" language, it's easy and so on. it' one of the most horrible language ever concived. but a ton of people will defend it. because they know that thing.

  • @pookiepats
    @pookiepatsАй бұрын

    That’s not why, JS is popular because it’s inescapable and STILL the ONLY language that can natively manipulate the DOM-not to mention web browsers are ubiquitous.

  • @fb-gu2er
    @fb-gu2erАй бұрын

    Because computers are procedural by nature. Assembly, the direct representation of binary code, it’s procedural. We can abstract away and program functionally, but at the end of the day, programming is procedural in nature

  • @DTux5249
    @DTux52492 ай бұрын

    Because trying to bend over backwards to avoid state on what is fundamentally a state machine is a bit much. That being said, it's not really an either or situation. Knowing a bit of both is rather useful.

  • @josersleal
    @josersleal2 ай бұрын

    but later all apps need state and FP becomes crap!!!! just a decoration in the mental state of people who think it makes them better than others to use FP. it does not work in the real world in isoation = sugar = the king goes naked.

  • @LouisWaweru
    @LouisWaweru2 ай бұрын

    In case you’re looking for the Stroustrup interview, thats an O not the number zero, and the title is “The Design of C++ , lecture by Bjarne Stroustrup.”

  • @mariobroselli3642
    @mariobroselli36422 ай бұрын

    Why the Elm Guys dont substitute Scala with OcaML

  • @mariobroselli3642
    @mariobroselli36422 ай бұрын

    Imagine If Java would have been Haskell😮😮😮

  • @davidmurphy563
    @davidmurphy5632 ай бұрын

    Because it's shit

  • @harrypewpew901
    @harrypewpew9013 ай бұрын

    Because ots stupid for big projects

  • @donwinston
    @donwinston3 ай бұрын

    Functional languages are "purist" or more informatively "extremist". More acceptable languages would allow you to code using OO, functional, imperative, and declarative as you see fit for a particular problem. Scala tries to do that. I think it does it quite well.

  • @7th_CAV_Trooper
    @7th_CAV_Trooper3 ай бұрын

    Functional isn't the norm because programmers can't do math anymore. Functional isn't the kind of thing they teach at two week boot camps.

  • @nimeshpoudel8277
    @nimeshpoudel82773 ай бұрын

    Python's popularity and code both are same slow and steady. No hate

  • @hibob841
    @hibob8413 ай бұрын

    Because the best ideas it has to offer have been ported to numerous modern languages/frameworks, which still allow and support other paradigms in parallel. Why tie one hand behind your back?

  • @throatwobblermangrove7508
    @throatwobblermangrove75083 ай бұрын

    You can do some sort of encapsulation in C though. Static functions and anonymous structs. Anonymous structs don't stop you from actually "touching" the contents, but neither does python, if you are persistent(or rather _Classname__persistent). Basically, create .h file, define a struct there with all needed fields, create init/deinit functions(alloc with good ol' memset/free), create all the functions that do actual job, make all other implementation detail functions static. Compile .c file without linking, than link it with the project and bam. You have some sort of object, constructor, destructor, 'methods'. Inheritance would be a bit more difficult though.

  • @wideraam
    @wideraam3 ай бұрын

    😌

  • @edgeeffect
    @edgeeffect3 ай бұрын

    I've always struggled with Lisp... I suppose it's the parenthesis, but I've always looked at Lisp code and wished it looked more like something else. ????? It's an interesting thought that if Brendan Eich had got his own way and made what became JS a dialect of Lisp would I have managed to get over my foibles and would happily be coding away in Lisp today.

  • @cg219
    @cg2193 ай бұрын

    Whats wrong with CSS ??

  • @jsmythib
    @jsmythib3 ай бұрын

    Semantics, Compilers and Frameworks, oh my! I am still in Kansas. Super huge, neat stuff tho :)

  • @typicalhog
    @typicalhog4 ай бұрын

    Rust is the future.

  • @Dyras.
    @Dyras.4 ай бұрын

    seems like java created a hype train too strong

  • @matt.loupe.
    @matt.loupe.4 ай бұрын

    44 years later and the best piece of software is still visicalc / excel

  • @MrChelovek68
    @MrChelovek684 ай бұрын

    And programming languages exists for only one tging-not for human study machine language, it exists for make lightly transfer human thinking process in machine code. That's why exists compilers.

  • @MrChelovek68
    @MrChelovek683 ай бұрын

    ​ @lepidoptera9337 It's funny how some people trump degrees. You see, old man, most people with degrees are downright dumb, like everywhere else. skills, knowledge, yes there is. They lack logic, passion and just brains. And in fact, there are only a few researchers among this rabble, as everywhere else) Well, as a person involved in the sciences, you must understand that it is not authority that decides, but adequate knowledge that reflects reality. That's why it's so funny to me)))) so I leave you alone with your picture of the world. P.S. Well, as a physicist, you may or may not be familiar with algebras: vectors, tensors and simpler group objects, for example) and again objects and the connections between them. Along the way, you also don't really understand what you're trumping with. And keep your basement) and I also taught. So, like any room phd, you go through the forest with your assumptions)

  • @MrChelovek68
    @MrChelovek683 ай бұрын

    I wonder where my messages go, old man? ​ @lepidoptera9337

  • @MrChelovek68
    @MrChelovek684 ай бұрын

    Why not norm? It's not obvious. That's all. Every man and woman thinking by objects. But functional style of programmig very cool. I mean synthesis of oop and functional in ddd. Awesome technic

  • @lepidoptera9337
    @lepidoptera93373 ай бұрын

    Nobody thinks in objects. Western language speakers think in subject, verb, object, adjectives and adverbs, which are used in complete sentences to establish relationships between two or more parts, something that OOP does not. But that's not even the important part. The important part is the question "What solution is your problem really asking for?" and the answer to that is rarely "objects".

  • @MrChelovek68
    @MrChelovek683 ай бұрын

    @@lepidoptera9337 You're probably not familiar with math at all. Everything is an object and the relations between them - the concept of "algebra" is to the rescue. I don't even want to sort out the rest of the nonsense. Like being an idiot without understanding, be it

  • @lepidoptera9337
    @lepidoptera93373 ай бұрын

    @@MrChelovek68 That's not algebra, kid. That's category theory. Please get a life. I am a physics PhD, by the way, who has also taught computer science at university. So much for your idea that I don't have an idea about math. Now let me give you some more attention. Your basement is very cold. :-)

  • @MrChelovek68
    @MrChelovek683 ай бұрын

    @@lepidoptera9337 ну тогда, мне жаль твоих студентов,granny. а до степеней,я например наслышан об овощах,пишущих статейки с помощью chatgpt. думаешь,это дерьмо,кроме академической степени что то из себя представляет?) а что до теории категорий, ну ты херово вообще понимаешь что такое алгебра) видишь ли,phd, мы снова возвращаемся к понятию "объект" и "соотношения между объектами". и если спроецироовать это на мышление любого из людей,мы поо прежнему мыслим исключительно объектами. в общем то,каждый ходит в магазин,чтобы купить некоторый необходимый объект,строит объект-жилье из объектов строительных материалов. я не phd, но я тоже преподавал, и преподавал действительно адекватную дисциплину. и в отличие от тебя,мне пришлось не просто нести фигню,а преподносить информацию на понятном языке. ну а поскольку я всю жизнь с удовольствием изучаю всякое, в том числе и профессионально и умею рефлексировать над изучаемым, то я знаю о чем говорю. и, если честно, большинство со степенью -откровенные идиоты. skills, knowledge, yes there is. They lack logic, passion and just brains. And in fact, there are only a few researchers among this rabble, as everywhere else) Well, as a person involved in the sciences, you must understand that it is not authority that decides, but adequate knowledge that reflects reality. That's why it's so funny to me)))) so I leave you alone with your picture of the world. Reality often breaks such castles in the air very painfully.

  • @MrChelovek68
    @MrChelovek683 ай бұрын

    @@lepidoptera9337 It's funny how some people trump degrees. You see, my rainbow friend, most of the people with degrees are outright idiots, just like everywhere else. skills, knowledge, yes there is. They lack logic, passion and just brains. And in fact, there are only a few researchers among this rabble, as everywhere else) Well, as a person involved in the sciences, you must understand that it is not authority that decides, but adequate knowledge that reflects reality. That's why it's so funny to me)))) so I leave you alone with your picture of the world. Reality often breaks such castles in the air very painfully. P.S. Well, as a physicist, you may or may not be familiar with algebras: vectors, tensors and simpler group objects, for example) and again objects and the connections between them. Along the way, you also don't really understand what you're trumping with. And keep your basement) and I also taught. So, like any room phd, you go through the forest with your assumptions, Granny)

  • @timeWaster76
    @timeWaster764 ай бұрын

    Clearly the industry has been working with none functional programing for decades

  • @mrbigberd
    @mrbigberd4 ай бұрын

    Rust and JS together are particularly responsible for pushing FP as an OOP alternative.

  • @edwardonsax9919
    @edwardonsax99195 ай бұрын

    The speaker didn't mention that before Microsoft came out with C# they tried to do something called J++.

  • @youarebeingfooled
    @youarebeingfooled5 ай бұрын

    A lot of these seems like hamfisting the square peg through the round hole, especially the "C++ definitely not success because of OOP" when OOP was the reason it exists instead of just using C. Sure, adding more features to C with Classes is nice, but there is this immediate assumption that is the cause and not it having gradual and consistent developments while also being a relatively good language. The golang section makes me think the speaker has spent very little time with golang. Golang works with a lot of the inheritance style, but technically its not inheritance because the the details of how it functions, but the entire point of that is to enable inheritance behavior. And his explanation of the function swapping as a function of a specific struct vs just a specific function really seems to demonstrate this. Speaker also seems to not be consistent in what he means with OOP - in some cases it seems he is asserting its when you have the encapsulation of private fields, and in other cases it seems he means its the extendibility of other classes. Lastly - favor composition over inheritance isn't the motto because inheritance is bad, but because it does a lot (and in many cases you can only extend one class). Inheritance has its time and place and it is good - its just silly to reach for that tool if composition will do that trick just as well for the particular problem at hand.

  • @Srulio
    @Srulio5 ай бұрын

    Thanks for an excellent review of history of software development. Object Orientation won the acceptance wars more than 20 years ago. Scalability and concurrency in functional programming is very impressive. But the new proposal is up against incumbency and resistance to change.

  • @cosmojg
    @cosmojg6 ай бұрын

    5:20 All of these projects are now dead or proprietary 😭

  • @bc24us
    @bc24us6 ай бұрын

    The elitism of the FP community has a lot to blame. Hardcore functional programmers think it's all monads, and for example the Erlang/Elixir and Orleans community seems isolated, even though the actor models seems a great fit for distributed systems. But even Erlang community development was arrested due to pay walled training among others. Elixir seems to be doing better but I still hear too often wild claims like people saying you can implement s production ready map reduce with the standard library, like shuffling or distributed fault tolerance is trivial. Also, Spark and Flink are profoundly functional as they based on functional constructs and rely on lack of side effects for fault tolerance, but they are treated as something separate. Too much purity in a community is alienating. And in the end what I need is a language that I can use to get a job, sorry for sounding like a poor dummy

  • @lepidoptera9337
    @lepidoptera93373 ай бұрын

    Those are just excuses. FP has some serious performance issues besides the purist mindset that plagues it overall. Most problems CAN NOT be solved without side effects. If you have to deal with GByte size data then your computer's memory is not "infinite for all practical purposes". Unless you want to reduce your 5.6GHz $1000 CPU to the equivalent of a slightly faster 32bit microcontroller for $5.60 you CAN NOT tolerate cache misses (I do have a $5.60 microcontroller here on my table right now. It has an L1-cache and if I program it in a way that it generates cache misses it's only slightly faster than a 60 cents 8 bitter.). The algorithms have to stay local in memory, which means that in high performance applications YOU have to control memory layout and not your compiler. FP ignores all of this for the sake of purity. It's like the guy who expects great love making from a woman who has never been with a guy before. That ain't going to happen, either.

  • @EvgeniiNeumerzhitckii
    @EvgeniiNeumerzhitckii6 ай бұрын

    Good review. I think OOP is the norm because most programmers like to over enginere and overcomplicate things. Also, we are easily influence by other programmers, and rather use "good practices" without critically thinking.