Abstraction is tempting because it seems easier at first and helps splitting the problem into smaller chunks, but in reality that's the wrong way around because beforehand you don't really know what's the best way to split up the problem. You first need to understand it, write some code and get a feel for what you need to do. Finding issues with the first attempts is less painful if you didn't spend a week writing useless classes and other boilerplate first.
@DavidsKanal3 жыл бұрын
I think abstraction and improperly preplanning your program's structure are two completely different things.
@SaHaRaSquad3 жыл бұрын
@@DavidsKanal I was of course talking about unnecessary abstraction and it then imposing a bad structure on the code. And so far I've yet to see a "proper" way to preplan software before some form of prototype and understanding of the problem exists.
@RockTo113 жыл бұрын
Yes, I agree. It's doing speculative programming, way ahead of any concrete solution exploration of the issue. Waste of time, and likely wrong. People get sucked into systems and design patterns, rather than focusing on the actual solvable problem, and that cost is ridiculous. People used to write complex software is shorter time periods than today, with more reliable results. Jon mentions doing the simplest and most direct thing, and then refactoring later if more is needed. He's absolutely correct. The other method that most seem to do these days is backwards, and ends up in a bloated mess that is difficult to refactor, because the "solution" was more about patterns and abstraction, rather than the fundamental problem that is being ultimately tackled.
@DavidsKanal3 жыл бұрын
@@RockTo11 Well, I agree with you. Personally, I never even fell into this pattern of speculative programming - it makes no sense to me. If having finished multiple projects taught me anything, is that you'll end up refactoring lots of stuff 5+ times anyway - it's a waste of time and energy to preplan stuff you can't predict. I don't get how more people see this. It's painfully obvious if you've ever programmed anything non-trivial; at least to me.
@bobweiram63212 жыл бұрын
Mike Tyson said it best: Everyone has a plan until you get punched in the face. I remember writing code for a disk controller and got my ass whipped. It was well structured and abstracted to the point of supporting other disk mechanisms too. With a simple script and a configuration database, I could generate and compile code for almost any drive made. It worked, but the performance was dismal. It just banged out bits and polled for results. To make it faster, I had to use lots interrupts, which turned my masterpiece into Spaghetti code and universal support impractical.
@Olodus2 жыл бұрын
This is why I like C. It is a language with many problems, but it is so small that it pushes you towards basic solutions (usually the easiest solutions).
@jazzgirl23582 жыл бұрын
I saw your comment on John carmack interview and you mentioned John blow and then I started watching him, and now found you here lmao
@Olodus2 жыл бұрын
@@jazzgirl2358 Haha Yeah listening to the Carmack interview made me want to go back to these old Jon clips and see if my position on them changed after a few years. Looking back at it, it is kinda cool how similar John and Jon's view seems to be on the matter.
@FastFSharp2 жыл бұрын
Which John Carmack interview? Just making sure I didn’t miss one.
@Olodus2 жыл бұрын
@@FastFSharp The Lex Fridman one a month or so ago.
@evandrofilipe15262 жыл бұрын
C, at least for me, was easy until I got into multithreading, but even excluding that, it was a bit of a headache sometimes
@KilgoreTroutAsf2 жыл бұрын
I am so glad I am a largely self-taught developer who later came to computer science and software engineering thru other paths so I never had to "learn" coding the modern way. For some reason "not doing things the right way" has never stopped me from writing anything from audio plugins to parallel physics simulation to 3D visualization programs that do the job and run reasonably efficiently.
@ryanleemartin77582 жыл бұрын
Yeah, I started programming Java in the late 90's and fell hard for all the OOP stuff. It took years to unlearn all that dogma.
@nerdError0XF3 жыл бұрын
Thanks for the new uploads!
@samhsmith3 жыл бұрын
Nice man, this video deserves to be on this channel. It's good to have all the advice in one place.
@nurjafri3 жыл бұрын
Keep up the good work man. I hope people will realise the importance of what you are conveying.
@FicoosBangaly3 жыл бұрын
After many years in tech I can say that the problem is that programming and software architecture is hard. Very few people can reason about code, orders of magnitude fewer people than we currently need. We keep trying to find ways for more people to be able to write high quality software but we're not there yet. Maybe some day. Edit: were->we're
@MisterFanwank3 жыл бұрын
Why should we expect to ever get there? All attempts to simplify programming so far have ended in complexity disasters.
@___Hermitage3 жыл бұрын
I think the problem is actually deeper, in that our society has an education and intelligence problem. Lower standards in schools, degenerating culture, etc. Knowledge and the capacity for knowledge is being lost in many fields.
@HairyPixels3 жыл бұрын
@@___Hermitage I agree. All of this assumes high quality human capital, but does that actually exist in the amounts needed?
@FicoosBangaly3 жыл бұрын
@@HairyPixels I don't think it ever existed. Most people are and always were just OK at their jobs. This is how statistics work. Most construction companies can build a detached home. Vey few can build a skyscraper. Fewer can build either well. We've been building houses for thousands of years.
@HairyPixels3 жыл бұрын
@@FicoosBangaly The quality of the NEW programmers has been going down due to the lowering of entry requirements. Back when I started to program in 1997 you were forced to learn yourself from first principles but nowadays you can just watch tutorials on KZbin.
@christopherlucas14753 жыл бұрын
One of the problems is that along they way of the Internet we took an actual app (we used to call them programs) called a "browser " that was only designed for finding information on the Internet and turned into an app platform itself. No one the time thought of a better way to create an "Internet capable" platform for actual apps. So now 20 years later we just compounded problem with building frameworks on top of a desktop app that was never meant to be itself an app platform. And current generation of developers actually have the belief system that this is the best approach, which has turned programming languages and frameworks into fads like the fashion industry. The only thing close to actual Internet capable Apps that actually run on the OS (that people actually use) are games and smartphone Apps. Maybe one day we'll think of something better than using the Internet browser as host for internet apps.
@mitnick2123 жыл бұрын
if I understand correctly, WebAssembly enable web apps run near OS level, right ?
@TheSaintsVEVO3 жыл бұрын
@@mitnick212 There's significant overhead and delay I believe, when communicating the results with the website/webapp itself
@ilonachan3 жыл бұрын
Something better than the web browser to host apps? Are you suggesting we should write code that runs on the user's computer?! Come on, that's such a 201x thing to suggest 😏
@TheSaintsVEVO3 жыл бұрын
@@ilonachan Only if writing such code wasn't such a shit experience..
@VenturiLife Жыл бұрын
I like that Jon asks these questions, and thinks about these things. Few people do.
@BobrLovr5 ай бұрын
God i love this. Its all the permission i need to go and just write code instead of worrying about what a recuiter would think of it.
@ihspan68923 жыл бұрын
Eccentric but strangely appealing. Please, post more!
@robinpage27302 жыл бұрын
Programming languages were developed originally because programmers wanted easier ways to write programs. Why did that trend stop? Compare: From Tkinter import * Window = Tk() Window.mainloop Pretty clean compared to most but you still have to learn Python to know what's going on. Instead we could have this: Display window(x = 500 pixels, y = 500 pixels) People dunk on CSS but it is more readable than any other programming language. Too bad it's not a general purpose language.
@KilgoreTroutAsf2 жыл бұрын
CSS is fine-ish for the domain it is designed for. Also a graphic interface is THE ONE example in which objects make 100% sense, since the UI abstraction is literally made of objects.
@laxmanneupane17395 ай бұрын
Just read "Software and Mind" book by Andrei Sorin. He literally wrote thousand pages on this. Impoverishing language by dictators to forbid expressing things freely, authoritarianism, etc. Its a brilliant take.
@nickbarton319112 күн бұрын
I've not built class hierarchies since the 90s. We know now that the power of OO is to reverse the dependencies against the calling flow ie. dependency injection.
@nickbarton31912 жыл бұрын
Quite, write small programs then factor out classes or functions as it gets larger.
@The_Conspiracy_Analyst11 ай бұрын
Well this is how the AI design philosophy/doctrine came about. Back in the smoke filled room somewhere in SF where they decide these things, someone said "you know there's no going back. Everything is one huge unmanagble mess of gobbldegook and we're past the point of no return." Then another person was all "well, if everything's gonna be one big opaque ball of mud, maybe we can still save the situation. We still go with a big ball of mud, just one we can massage in a way where we can get a roughly predictable output. If we can't understand how it does what it does, who cares".
@gustavcoetzee50186 ай бұрын
Software went wrong the day project managers realised they can make money from your work.
@BDYH-ey8kd3 жыл бұрын
There is only a few things a good programer has to do, write the solution, make it understandable, watch out for creating spaghetti, and good naming. All possible without any C++, or classes.
@ilyabykov24372 жыл бұрын
Procedural style is my favorite, sometimes though you can't get away without abstractions. But they should come afterwards, not on the initial stage.
@andrewporter186811 ай бұрын
On the contrary, it makes no sense: 1. to reinvent a wheel you've already made, and which is going to be used elsewhere (or can be because of its generality); 2. prototyping is great for figuring out design, but prototype code is throwaway code, and if you enjoy writing your software twice, then by all means. As for me, I will continue to understand and apply good design principles, and by that I mean one: let everything be that which it is, and not that which it is not; write my documentation first because the abstract design and concrete design go hand in hand before the implementation can be properly just auto-coded while listening to tunes; and then optimized for particular hardware because you already know the exact structure of your entire program, so your effort (save for algorithmic optimization) is not wasted (though I do save the fine details of design for "when I get to that part").
@warrenhenning80643 жыл бұрын
OOP ideology: just writing functions against structures is "imperative spaghetti code". having a function that takes an input and returns an output or performs a side effect (like I/O) is a "poor abstraction" and is hard to understand. Polymorphism that requires jumping throughout the entire project to trace the execution path (even if no exceptions are thrown) -- and even then it's impossible to predict what a program will do in general depending on how the program is structured -- is "maintainable". Any time an OOP codebase is a fucking mess, it's just because they didn't "refactor" or "follow patterns". The old fucking boomer consultant's code, however, is always perfect and never has any problems. We never see the projects they work on, though, because they haven't shipped real production software in fucking decades.
@PixLgams3 жыл бұрын
It's unrthodox perhaps but I like to view Objects not as representatives of something to be modeled as they teach you in OOP 101, but rather try to design them as essentially programs or subsystems in itself that combine with different handles to make up the complete software. Think of it as an engine you drop in your car or a shell tool you install into a Unix system. It avoids the pitfall of stack trace spaghetti while still providing some level of modularity to the design.
@warrenhenning80643 жыл бұрын
@@PixLgams if it works for you and your users, great. the only thing I'll mention is that what you're talking about sort of sounds like a module system. i think just having explicit support for modules is a better idea. but, at the end of the day it's all about the end product.
@ochuspokus2 жыл бұрын
@@PixLgams Yes, like Warren said, what you're describing is 'modular programming'. This is almost always the mistake that OOP coders make -- that is to say, to use crude objects as modules. What you ideally want is a program made up of modules that are only connected to the rest of the system via one function (or as few as possible, usually init() and uninit()). That one init() function could take 2-50 parameters, including function pointers to things that it needs, such as a malloc() function. This way, when you want to replace the module, or when you've replaced the allocation module, you don't have to change the 2000 lines of code that use the allocation function that you reference. In C, you would use static on all your functions and 'global' variables (This way they're only 'global' to this file), except the init() and deinit(), and as few other funcs as possible. This is proper encapsulation. Look at the Quake 2 source code for examples of minimalist interfaces (esp the gfx interface) in pure C, in a data-driven paradigm.
@charlesd45722 жыл бұрын
OOP has nothing to do with modules, objects it's about pets - dogs, cats and even chickens. I know I read 20 books about it.
@KilgoreTroutAsf2 жыл бұрын
@@PixLgams That's fine and all, but this already existed decades before OOP in the form of modules,. APIs, library interfaces, etc.
@evgiz0r3 жыл бұрын
TDD is a big overhead if handled poorly, can slow down 1 line changes in the code to take a day. but it does keep the quality higher...
@oblivion_28523 жыл бұрын
Yes but quality considerations only think about passes but never speed. Is it really quality for something to take 100s when it could take 0.1s?
@evgiz0r3 жыл бұрын
@@oblivion_2852 thats not correct. Tests can measure performance aspects as well. And yes, Some check correctness, some memory, some check errors and so on dependong on the product. Tests are 10% for verifying content and 90% making sure they dont break in the future.
@Optimus6128 Жыл бұрын
Problem is programming dogmas. Everyone is accustomed to their tools and things they are proud to have learned and so they evangelise about the one true way to code. But that closes someone's mind or people are discouraged to try different things.
@Saghaley6 ай бұрын
that's a cool ass lamp what the hell
@AChannelINeed4 ай бұрын
1:09 OOP belief system 6:50 TDD
@Cyberfoxxy3 жыл бұрын
you have data, you have functions and you have groups of all 3
@boot-strapper Жыл бұрын
this dude has some points, but has like 80% jumped the shark
@SimGunther3 жыл бұрын
First we solved problems, then we spent the next 30 years "solving" problems when in reality, people were sustaining problems to keep up profits
@vasilyaver52462 жыл бұрын
Same can be said about any modern industry, not just software engineering.
@jac10113 жыл бұрын
yeah "Object Oriented" is more about communication than anything else. It is so misused however, that we are forced to comply with a wrong definition because it is standard.
@biggiefrosty3 жыл бұрын
Issue with object-oriented as an idea is that it's terrible for modern processors. What you need for code to run fast is for most things below a certain level to run tight loops on packed data. Object-oriented ideas really fight that, unless it's used as a module system basically at the periphery of an application to wire components together.
@jac10113 жыл бұрын
@@biggiefrosty well yeah, I wasnt saying that true OO is better than the current definition or anything I was just sayibg that the definition changed.
@biggiefrosty3 жыл бұрын
@@jac1011 yeah, that's definitely true.
@Tsunami142 жыл бұрын
Wasn't Jon also arguing that hardware intrerop should be TCP instead of drivers? Seems like that contradicts this video.
@marcotroster82472 жыл бұрын
I'm a huge fan of performance. And tests really help me to accomplish it because I can refactor towards better performing structures / algorithms without risk 😄 This "5x as much test code" thing only happens if you're ideologically chasing 100% code coverage or you haven't figured out the right structures for solving the problem, yet. As Jon said, ideological approaches are bs. Do it as pragmatic as possible to solve some problem instead of creating beautiful code or whatever. If you've got tests, you can make it beautiful by refactoring. Ok, and some other unpopular thought. If it's hard to test, your design sucks 😅
@theDr833 жыл бұрын
I think i really understood what you want to Say there. And I am more a Script Kiddy than an actual programmer. I think you could not had made it more clear than that. I write mostly in Java and most of my background befor is from QBasic. (Of course thats not all XD. That would be hillarious) And i really like a lot of the Object Oriented Stuff. But often i feel overwhealmed with what i have to build to solve Easy Problems. It feels like it takes way more Time and Code to get somthing accomplished then in these good old days^^
@drequena Жыл бұрын
Love how this vid ends. There’s really no other way 😂😂
@wonseoklee8010 ай бұрын
Abstraction hides details so it removes the need of coding gradually. I don’t think coding is a sacred skill that should be the one to solve all problems. Use no code, AI, even Excel if that solves your problem. What’s wrong with that.
@chrisdistant90403 жыл бұрын
The irony in this video is that he talks about people stopped solving their problems in favor of writing abstractions first, while Mr. Blow, instead of making games, is writing his own programming language first.
@chrisdistant90403 жыл бұрын
@@DemonixTB chill, I’m not telling anyone what to do… just pointing out
@MsBukke3 жыл бұрын
@@DemonixTB but that is a good point, creating a language is not solving a problem, the same way creating an abstraction is not solving a problem, they are both tools that help you solve problems later. and trust me, a bad language is WAY worse than a bad abstraction and it takes WAY more time to make.
@biggiefrosty3 жыл бұрын
@@MsBukke Yeah, I think that's why he didn't just release it publicly early. The future will show whether Jai is worth it, but I definitely think we are past due for a better C-like language. And Rust isn't necessarily the right solution, IMO, at least not for everyone. Zig, Odin, Nim, Jai, seem to be poking at this from slightly different directions, and it's good that people are trying. I hope in the future I can reasonably write code for projects where currently I need to use C++, but in a better language.
@Kevzz2srs3 жыл бұрын
@@biggiefrosty It's pretty amazing how Jai sort of kickstarted people to create languages for solving these kinds of problems, can't wait for it to get released :)
@simonfarre49073 жыл бұрын
@@DemonixTB pour out the koolaid. There are low level languages that you can do that perfectly fine in. C++, Rust both are great examples. C is alright, but writing in it is unergonomic. 75% of what we write is trivial stuff and C makes writing that verbose thus wastes our time. There are so many things that already waste our time, bugs, logic errors, etc, that we cause ourselves. You can write C style code in Rust or C++ or any of the other systems programming languages. Jai is going to bomb, I am pretty certain of that. But if it doesn't, cool, we got another great language if I am wrong.
@dukereg3 жыл бұрын
Is he writing an editor, or someone else?
@SimGunther3 жыл бұрын
A language, then a couple of games before (maybe) getting to an editor, OS, and terminal emulator?
@syntaxed23 жыл бұрын
Companies seem to have traded enduser performance for development speed resulting in usage of various over-abstracted, garbage collected, interpreted languages like Python/JAVA and everything else in those ecosystems is probably one major factor.
@SimGunther3 жыл бұрын
@FichDich InDemArsch Why the 🤦♀️??? This is a sophomoric, but valid point everyone here brings up. From my experience, it's the problem solving framework (rather, a lack of a good framework) that's the biggest problem across several industry, not exactly the languages that are used. This would be why corpos value problem sustaining practices and capital over problem solving.
@La0bouchere3 жыл бұрын
@FichDich InDemArsch I don't think the op was saying that there's nefarious intent at play. Moreso that there are selection pressures in the industry that reward being first to market/shipping things quickly. This results in people using tools and processes that make development time fast, possibly at the expense of the end product. This obviously isn't the only reason for the problems in SE, but it is definitely a cause of some of the problems.
@SimGunther3 жыл бұрын
@FichDich InDemArsch Measure/profile all the things: from development/debug time to execution/dev comprehension time with control variables just like you would with any scientific experiment for an empirical study. Inlining code before abstracting the commonalities into pure functions is one of the many techniques that helps you converge towards the "nirvana" between genericity, expressivity, and performance, which is what all code should strive for. Knowing what you know, knowing what you _might_ know, knowing what you actually don't know is essential for the design of a solution (See that Symmetry and Orthogonality talk by Charley Bay for other gems related to this); though it might take some experience to create mental shortcuts made after seeing certain problem shapes. Thankfully there are plenty of PKMs like Obsidian and Roam to help out with storing mental shortcuts and most common searches.
@SimGunther3 жыл бұрын
@FichDich InDemArsch Emotional empathy to find use cases and counter-examples for the knowledge banks like I mentioned before helps with the bottom-up software architecture. Finding "general-enough" patterns/concepts that help with the top-down software implementation. There's also this idea of using incremental development to improve development processes/feature sets and iterative development to improve product quality simultaneously (with reflection) as noted by Alistair C0ckburn. Also have a paper indexable commonplace book with consolidated fundamental truths that can be applied to a number of sources.
@SimGunther3 жыл бұрын
@FichDich InDemArsch Appreciate your latest response. I agree that there's a disjoint as far as what "good code" is. Having such a meta industry like "software engineering" that is considered an "art" first which encompasses many different topics explains why there's little overlap across all industries as far as what best practices apply universally. Doesn't mean they can't be written down in some central authority looking over all of software engineering. With the current science community in govt that focuses more on narratives over "scientific integrity", looks like we all have to establish those rules/guidelines together from the bottom up before they do. I hope that empirical studies are conducted in the near future to establish those "good practices" in industry and education.
@avi1233 жыл бұрын
I disagree, the right abstractions can be great actually. I think the term abstraction is used differently among programmers than other people, you need to realize that the low level stuff is actually abstract for most people, what programmers call abstraction is actually abstracting away the low level stuff, and making things behave like we expect them to. in short it's the exact opposite of the regular notion of abstraction.
@pinkguy82053 жыл бұрын
I don't think anyone is against abstraction per se. What Jon is pretty much saying is that if you do a cost-benefit analysis of your abstractions then you will find out that a large number of them are not worth it.
@Cons-Cat3 жыл бұрын
This post is the dumbest thing I've read all day
@simonfarre49073 жыл бұрын
@@Cons-Cat no, he is a 100% correct. Without it, there would be no malloc, no alloca, no C standard library. All abstractions. But I suppose you've written your own std lib? And if you have; congratulations, you've written abstractions.
@Vitorruy1 Жыл бұрын
@@simonfarre4907 he's a low level system programmer, he obviously knows those are abstractions. He's not telling anyone to write in assembly what he's saying is that OOP abstraction are mostly bad/widely misused. He's arguing against the implementation not the concept.
@gustavcoetzee50186 ай бұрын
I begged neih i pleaded. Js cannot do this. Cannot does not exist in the mind which delegates but only in those that execute. I really loved programming. Now i love grants wiskey.
@internetsfinest88392 жыл бұрын
The hardest part of a function pointer is reading it.
@davidmurphy5633 жыл бұрын
People that coin words don't get to dictate their use in perpetuity. The meaning of all words change, Richard Dawkins may have meant something different when he originally coined "meme" but that's not what it means today. OOP means what we think it means, that's how language works.
@davidmurphy5632 жыл бұрын
@championchap I can assure you that when my 15 year old says "meme", he's not referencing The Selfish Gene. I did explain the concept to him once, he's probably forgotten.
@thatonegoblin70512 жыл бұрын
No, that is how entropy works
@laketuna3 жыл бұрын
OOP isn’t about forcing you to use inheritance on everything you write. This is a common misconception used as an argument by people who dislike and have poor understanding of OOP. Just like with any tool, it’s up to the user how well it’s used. Programming didn’t go “wrong”.
@KookoCraft3 жыл бұрын
it still sucks tho... and is useless and bad
@youtubesuresuckscock2 жыл бұрын
@@KookoCraft Nah it's fine. Just another tool. Blow's a dummy.
@zenshade20002 жыл бұрын
OOP is a monumental fucking disaster for large scale projects. The only successes I've seen basically had to rewrite large portions of the code base in a style that mostly bypassed all of OOP's supposed strengths. That ends up being the only way to be able to make changes that don't feel like trying to swim in concrete. Funniest thing I've ever seen was in a very large web application with a really impressive 500,000 lines of code class hierarchy that developers got so frustrated with that they replaced it with a single class that ONLY funneled name/value strings from the database to the web page, and a couple of other classes handling security checks (SQL injection, etc). That actually saved the company from going under, as they could now give customers what they wanted within a two-week development cycle instead of 6 months.
@Vitorruy1 Жыл бұрын
The issue is that nobody can agree what OOP's "best practices" are suppose to be and what is misused or overuse, because its solutions are proposed not on measurable results but subjective philosophical concepts.
@Vitorruy1 Жыл бұрын
The irony is that the "bad" OOP code is created by the people trying to "do it right" and follow everything OOP gurus say by the letter. The "good" (acceptable) OOP code is create by the people who don't give a damn and just do the minimum amount of OOP to pass the code review.
@user-cz1ex7kf2g3 жыл бұрын
everything in moderation
3 жыл бұрын
Jon: IDEs are dumb and useless! Also Jon: Typing ALL_SOURCE_CODE_THAT_CAN_CURRENTLY_BE_INFERRED_IS_INFERRED every time by hand.
3 жыл бұрын
@WS WS If it has autocomplete, I consider it IDE. Therefore the terminology may be inconsistent between me and others.
3 жыл бұрын
@@AN-ke2uz Well I've been working as a software engineer for nine years and it never caused me any trouble. Just a tip: Be careful when using the word "stupid". People may get offended because they would think that you are calling them dumb.
@pinkguy82053 жыл бұрын
I've been using VSCode since it pretty much came out. At first the autocomplete worked fairly well. But over time it has started failing more and more (not loading the suggestions in time, not finding the suggestions etc.). Now it fails many times a day for more, causing a lot of annoyance and swearing. If I were a bigger man I would work to undo my autocomplete habits. I can see how Jon with his 0 tolerance for bullshit would not accept something like this.
@TypingHazard3 жыл бұрын
"If it has autocomplete it is an IDE" Gmail has autocomplete Ergo Gmail is an IDE
3 жыл бұрын
@@TypingHazard A guy killing cockroaches is a debugger. Therefore he is also an IDE. Yes, I still defend my position, thank you for asking.
@michael12 жыл бұрын
Blow, explaining at length why everyone else gets it wrong without the self awareness that he's exactly the same - a guy who loves the sound of his voice and thinks he's the smartest guy in the room (probably not true even when he's alone)
@Vitorruy1 Жыл бұрын
you're one of those guys that throws accusations of elitism and presumption every time someone talks about anything deep and provoking. He's attacking the methodology and philosophy used by the industry but you just gotta to make it personal and feel like it's some attack towards other people's intelligence/professionalism.
@Jkauppa3 жыл бұрын
you went wrong when you tried to theorise detached from the actual thing
@Jkauppa3 жыл бұрын
law kills everything
@Jkauppa3 жыл бұрын
go back to basic(s) pun intended
@Jkauppa3 жыл бұрын
when the language became the problem, it was lost
@Jkauppa3 жыл бұрын
when pride of the methods became the problem
@Jkauppa3 жыл бұрын
someone needed to be paid
@EEEEMMMMKKKK3 жыл бұрын
Bjarne always say, C++ was never designed as OO language. This guy always say something bad about C++ and than can’t find better language to write his own language which he wanted to use sooner than 10 years obviously things didn’t went so well so only thing left is to talk more bad things about c++ so maybe his language will look better right?
@SpeedfreakUK3 жыл бұрын
That would be the most cynical possible interpretation, yeah.
@krinjon1933 жыл бұрын
If there was a better language to write his own language then he wouldn't write his own language. He would just use that better language. C++ being the best we got is the tragedy. Thats my interpretation.
@SimGunther3 жыл бұрын
Bjarne did say he wanted his language to be general and designed to evolve. Clearly there was a disconnect between his ideas and those of "the committee". If only they took his ideas of "concepts" earlier on, then generic meta-programming would be so much easier than it is now.
@TheSaintsVEVO3 жыл бұрын
@@krinjon193 Why doesn't he use C
@KookoCraft3 жыл бұрын
@@krinjon193 the better language is C
@joelimbergamo6393 жыл бұрын
Software engineering are one of the few jobs that create more jobs instead of less for no reason ans somehow we get away wit it. 😂
@mitnick2123 жыл бұрын
it needs to be so to make up for the jobs stolen by AI and other automation
@georgeokello86202 жыл бұрын
@@mitnick212 AI really hasn't stolen any jobs. The modern AI application to problems are typically horrendous enough that most companies have thrown away billions of dollars into data research that do not even yield significant real world solutions since 2011. AI is a VC term utilized for other companies to signal to investors to throw capital at that company until they burn out and eventually sell themselves to Google, Facebook or Amazon