Creative Computation - Jack Rusher
21:01
Reduxed - Simon Perepelitsa
19:32
4 жыл бұрын
Пікірлер
@nikbl4k
@nikbl4k 18 сағат бұрын
Oop meant smalltalk in the 70s, so what is it we mean now when we say functional or object oriented etc.
@nikbl4k
@nikbl4k 19 сағат бұрын
It is
@programmingguy6081
@programmingguy6081 23 сағат бұрын
Umm C has Modules. That is why C programs are made of multiple .c files with .h header files describing the module.
@mahkhi7154
@mahkhi7154 5 күн бұрын
Functional Programming, Like Minix, is Great in Theory. In Practise it Fails.
@mahkhi7154
@mahkhi7154 5 күн бұрын
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
@wlcrutch 8 күн бұрын
Why isn’t it the norm? Because it shouldn’t be.
@23bcx
@23bcx 10 күн бұрын
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
@nopens 15 күн бұрын
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_695 18 күн бұрын
FP sure has its use cases but it being the norm??! NO!
@yaksher
@yaksher 20 күн бұрын
@6:50 Tbh, Swift seems to be a pretty great programming language these days lol.
@KaiSong-vv7wh
@KaiSong-vv7wh 21 күн бұрын
because it is easier to think top-down in responsibilities and actions (criss-cross) rather than in stream-lining (one-way).
@WDGKuurama
@WDGKuurama 23 күн бұрын
"Object orientation"
@idkwhattonamethisshti
@idkwhattonamethisshti 25 күн бұрын
Cause its dumb
@WolfieDad67
@WolfieDad67 25 күн бұрын
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
@andrewclarke8163 Ай бұрын
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
@75hilmar Ай бұрын
"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
@DTux5249 2 ай бұрын
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
@josersleal 2 ай бұрын
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
@LouisWaweru 2 ай бұрын
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
@mariobroselli3642 2 ай бұрын
Why the Elm Guys dont substitute Scala with OcaML
@mariobroselli3642
@mariobroselli3642 2 ай бұрын
Imagine If Java would have been Haskell😮😮😮
@davidmurphy563
@davidmurphy563 3 ай бұрын
Because it's shit
@harrypewpew901
@harrypewpew901 3 ай бұрын
Because ots stupid for big projects
@donwinston
@donwinston 3 ай бұрын
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_Trooper 3 ай бұрын
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
@nimeshpoudel8277 3 ай бұрын
Python's popularity and code both are same slow and steady. No hate
@hibob841
@hibob841 3 ай бұрын
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
@throatwobblermangrove7508 3 ай бұрын
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
@wideraam 3 ай бұрын
😌
@edgeeffect
@edgeeffect 3 ай бұрын
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
@cg219 3 ай бұрын
Whats wrong with CSS ??
@jsmythib
@jsmythib 3 ай бұрын
Semantics, Compilers and Frameworks, oh my! I am still in Kansas. Super huge, neat stuff tho :)
@typicalhog
@typicalhog 4 ай бұрын
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
@MrChelovek68 4 ай бұрын
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
@MrChelovek68 4 ай бұрын
​ @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
@MrChelovek68 4 ай бұрын
I wonder where my messages go, old man? ​ @lepidoptera9337
@MrChelovek68
@MrChelovek68 4 ай бұрын
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
@lepidoptera9337 4 ай бұрын
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
@MrChelovek68 4 ай бұрын
@@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
@lepidoptera9337 4 ай бұрын
@@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
@MrChelovek68 4 ай бұрын
@@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
@MrChelovek68 4 ай бұрын
@@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
@timeWaster76 4 ай бұрын
Clearly the industry has been working with none functional programing for decades
@mrbigberd
@mrbigberd 4 ай бұрын
Rust and JS together are particularly responsible for pushing FP as an OOP alternative.
@edwardonsax9919
@edwardonsax9919 5 ай бұрын
The speaker didn't mention that before Microsoft came out with C# they tried to do something called J++.
@youarebeingfooled
@youarebeingfooled 5 ай бұрын
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
@Srulio 5 ай бұрын
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.