Object-Oriented Programming Is The Root Of All Evil

Поделиться
HTML-код
  • Опубликовано: 19 сен 2024
  • Exposing object-oriented programming harms the field of software engineering and Learning about the bad practices, conventions, and flawed ideology of object-oriented programming/design.
    This information in this video is taken from the work of Brian Will, Mike Acton, Casey Muratori, and Jonathan Blow.
    Object-Oriented Programming Is Bad: • Object-Oriented Progra...
    Data-Oriented Design: • CppCon 2014: Mike Acto...
    Clean Code Horrible Performance: • "Clean" Code, Horrible...
    Preventing The Collapse Of Civilization: • Preventing the Collaps...
    Discord: / discord
    Twitch: / abstractengineering
    WhatsApp: whatsapp.com/c...

Комментарии • 101

  • @vxcute0
    @vxcute0 День назад +16

    اخيرا حد بيتكلم عن ال "software engineering"

  • @mf_tube
    @mf_tube 14 часов назад +3

    ال OOP ما هو إلا programming approach قائم علي set of rules made by someone or some people و ال object بيكون هو محور الحدث في هذا النوع من البرمجة زي ()object.print فدائماً في ال OOP بنستدعي ال object و بعدين dot أو arrow علشان نوصل للمتغيرات أو الfunctions الخاصة بال object ، الكومبيلر لما بيشوف حاجة زي دي ()object.print في طريقة بيبدأ يحولها لصورة مختلفة تماماً عن طريق إنو بيعمل حاجة إسمها name mangling علشان في النهاية يحصل calling للدالة print الخاصة بال object وفي النهاية كل الكود بيتحول assembly instructions ... التدهور في ال performance الخاص بال software لية أكتر من سبب و غالبا مش بيكون مرتبط بال compiler نفسة لأن في bad practices أو misuses كتير الناس بتعملها أثناء كتابة الكود بإستعمال framework أو لغة برمجة تم تصميمها وتطويرها عن طريق ناس معينة هما بس اللي يعرفو خبايا ال product بتاعهم و ممكن يكون ال software اللي الناس بتستعملو في designs معينة بتقلل ال performance لكن ال compilers المشهورة غالبا ما بتكون بريئة من هذا الموضوع.

    • @Abstract-Engineering
      @Abstract-Engineering  7 часов назад

      اعتقد حضرتك واخد المضوع بالعكس صحيح ال compiler بيحسن الكود بس انته متخيل انه لو مش بيعمل ال optimizations دي الكود اللى الناس بتكتبة يكون اسوأ كام مرة.
      و تاني حاجة انك اختصرت المشكلة بتاعة ال OOP كلها فى function call على base object و دا خطأ كبير لانك تقريبا اخترت احسن case فيهم.
      ثالثا و هوا ال name mangling حاجه و ال performance optimization حاجه تانية و ملهومش علاقة ببعض و كمان ال name mangling مش ضروري عشا تعمل ال call الصح ل print

    • @mf_tube
      @mf_tube 5 часов назад

      @@Abstract-Engineering
      مستحيل تقدر تنادي فانكشن موجودة داخل أي كلاس بدون حدوث
      name mangling
      لأنو ممكن يكون عندك أكتر من كلاس فيهم نفس الفانكشن و بردو يستحيل تقدر تعمل
      function overloading without name mangling
      name mangling ال
      بيخلينا ننزل لمستوي أقل في البرمجة وهو
      مستوي لغة السي اللي هي ال
      procedural programming
      OOP طريقة كتابة الكود في ال
      هي مجرد واجهة برمجية سهلة الإستخدام بالنسبة ليك كمبرمج لكن بمجرد ما الكومبيلر بيبدأ يشتغل و يعمل كومبيل كل الكود اللي إنتا كتبتة بيبدأ يأخذ صورة تانية و شكل تاني مختلف تماما عن اللي إنتا كتبتة إلي أن يتم تحويل الكود في النهاية إلي مجموعة من ال
      Assembly instructions
      أما عمليات التحسين اللي الكومبيلر بيعملها فبتكون مثلاً إن الكومبيلر بيحاول يحذف أي جزء من الكود غير فعال أو غير مستخدم أو بيحاول يعوض شيئ إنتا نسيتة في إطار القواعد اللي الكمبيلر ماشي عليها لكن الكمبيلر مش هيضيف أي شيئ سحري للكود، يعني لو إنتا كاتب ألجوريزم سيئ علي سبيل المثال هيفضل الألجوريزم زي ما هو بعد عملية الكومبيل أو لو إنتا عندك سوء إستخدام لبعض الإمكانيات المتاحة في لغة البرمجة فهيظل الأداء سيئ، الكومبيلر ملوش دخل في كل حاجة إنتا بتعملها كمبرمج، إنتا ممكن تكتب كود وتعملو كومبيل وبمجرد ما تشغل الكود يحصل تشبع في الذاكرة
      memory leak
      ونظام التشغيل كلة يهنج.

  • @ibrahim47
    @ibrahim47 День назад +3

    حلو جدا.. مبسوط جدا بمحتوى عربي بيحارب صنم الOOP 😂ولو اني مش ضده بالكلية، أنا ضد الclassical oop تحديدا، اللي فيه classical inheritance عشان ليه آثار جانبية سيئة كتيرة..
    وبرضو فكرة ان Paradigm معين حلو والباقي كله وحش، دي فكرة بشك فيها شوية.. وأظن ان في usecases بتناسب كل paradigm... يعني الgame developmemt مثلا، بحسها الoop منطقي جدا فيها وجايز أكون غلطان
    لو عملت مجموعة فيديوهات فيها code وcomparisons ساعتها الفايدة هتبقى أعظم بكتير وهنفهم قصدك ونتعلم منك أكتر.. والفيديو ده يبقى الintro بتاعها
    بالتوفيق إن شاء الله

    • @Abstract-Engineering
      @Abstract-Engineering  День назад +1

      ال game developers لو لقوا حد شغال OOP بيبقوا عاوزين يقتلوه للاسف شبه ممنوع اصلا و بيفضلوا Procedural code و ممكن يفضلوا ال Assembly.
      الناس اللى مقترح ال Talks بتاعتهم معظمهم Game Devs Managers او فال High Performance Computation Field.

    • @ibrahim47
      @ibrahim47 День назад

      @@Abstract-Engineering
      غريبة.. كان جاييلي الintuition ده من كورس الgame dev اللي خدته فالجامعة زمان 😂 وده لاني حاسس الmodelling بالoop فالمجال ده سهل.. بس يمكن الperformance والbugs دول أكبر مشكلتين ممكن يخلو الOOP مش مرغوب فيه فالصناعة دي.. عموما هشوف الناس اللي سبت اللينكات بتاعها ان شاء الله

    • @Singlton
      @Singlton 21 час назад

      جرب rust trait

  • @j.r.r.tolkien8724
    @j.r.r.tolkien8724 День назад +2

    I AGREE WITH YOU. THANK YOU.

  • @mhsn27mhsn10
    @mhsn27mhsn10 12 часов назад

    اكثر نقطة اقنعتني فيها بكلامك و هي نقطة Casting صحيح , لكن في الباقي OOP ممتازة تحتاج فهم كويس لتطبيقك و مع تقليل من Casting حيكون مشروع ممتاز و مريح

  • @passionforsciencel5180
    @passionforsciencel5180 16 часов назад +1

    من الجميل لو تعمل فيديو عن الأدوات و اللغات التي كان لها التأثير الأكبر مثل java و c

  • @abdelrahmanalmokhraty110
    @abdelrahmanalmokhraty110 10 часов назад +1

    Great Content, are there any references you prepared from?

    • @Abstract-Engineering
      @Abstract-Engineering  7 часов назад

      Down in the description are some the influences that had a great impact on me and you can teach your self more.

  • @AntoniousFrancis
    @AntoniousFrancis День назад +1

    Insightful!

  • @eslamehab6690
    @eslamehab6690 2 часа назад

    جميل، ممكن تعمل مثال code في فيديو تاني يكون في برنامج بسيط بيحل مشكلة مكتوب بoop ونفس البرنامج بdod عشان توضح ازاي الdod هيحل مشاكل الoop

  • @billcosta
    @billcosta 18 часов назад +1

    1. encapsulation at a fine grained level:
    I think you're confusing between the traditional object-oriented system, and messaging system of small talk.
    other than that, you claim that you break encapsulation when an object is modified from many sources, which is simply incorrect
    the purpose of encapsulation is to maintain invariants, as long as this holds, it doesn't matter how many sources modify the state of your instance
    small-talk didn't invent OOP btw.
    2. unnatural way to think of computation:
    I agree with that, but this style is not mandatory in essence of object-oriented design, this is a problem of inheritance
    3. horrible performance:
    you don't need to store references to objects, again, this is a problem caused by inheritance, as it leads to different sized instances of the base class that can't be stored in a compact fashion, but in case where inheritance isn't used, there's really no difference between storing objects or storing structs, by the way, Unpredictable memory accessing, branch misprediction, cache missing are essentially the same thing
    memory fragmentation causes wrong prefetching (branch misprediction) and checking memory that isn't stored in cache, which both causes cache misses
    what you're trying to criticize is not OOP, but design patterns

    • @Abstract-Engineering
      @Abstract-Engineering  17 часов назад

      You're points would be valid if that's what I meant. And I do somehow agree with small parts of them.
      But:
      1. What do you mean by traditional OOP?
      2. I'm not confusing encapsulation with message passing. They're connect by the fact that in true Object-Oriented Programming objects communicate via message passing.
      3. The idea of encapsulation involves segregation of state & state invariance and messages only passes copy of the state not modify the state itself. And how are we maintaining state invariance if multiple sources can directly modify the state?
      Yes, setters and getters provide some control but it's a very superficial control over state invariance. And also mutable states, inheritance & subclassing, and method overriding, multithreading & concurrency, and shared access destroys that at least quite a bit.
      4. Alan Kay is the one that coined the term and his philosophy is by enlarge the one that affected the development of other OOP languages. And yeah I'm aware of Simula also but it's not really my point.
      5. I don't really think you can say it's not mandatory as almost the entire philosophy of OOP as it being taught and used everywhere with the rest of it's ideology being the SOLID Principles, Design Patterns, Clean Code, and Agile Manifesto all use it and nobody really say that. Like if you ask any one what are the Principles of OOP they will tell you (Abstraction, Encapsulation, Inheritance, and Polymorphism).
      6. It's not just inheritance. the very own idea of encapsulating code at such a fine-grained level create a multitude of classes/structs/types with all sorts of hidden state and that hinders performance in at least two ways. First storing classes/structs with lots of hidden state and Booleans and other no essential state is bad for performance as you mentioned memory fragmentation leades to cash misses etc... the second way is that it prevents the programmers from reasoning about their code correctly because somewhere layes a piece of state that is hidden away from them and it affects how methods or objects behave so they end up writing suboptimalandbad code.
      7. I'm criticizing the entire ideology of OOP and all of it's emerging results of it such as (SOLID Principles, Design Patterns, Clean Code, etc...) not just one as they are in almost every case come packaged together.
      8. Some tiny small case where really associating data with behavior is allowed is ADTs (Abstract Data Types). Other than that basically it should never be done. Proper modules and namespaces are the way to go.
      9. And finally based on the evidence of current state of software products I'm still convinced that OOP is totally wrong.

  • @ahmedghallab5342
    @ahmedghallab5342 20 часов назад +1

    كنت مستني حد عربي يتكلم في الموضوع ده من زمان

    • @Abstract-Engineering
      @Abstract-Engineering  19 часов назад +1

      متنساش ال support لل channel بقي عشان نكمل😂

    • @ahmedghallab5342
      @ahmedghallab5342 17 часов назад

      @@Abstract-Engineering إن شاء الله اول لما تكمل السلسلة بس

  • @hasnaouiacademy7899
    @hasnaouiacademy7899 6 часов назад

    متابعة على طول ❤ عندي سؤال بس
    انا ك باك اند و مهتم اني اتخصص و نكون قوي جدا في
    Optimization of the code
    يعني لما اشوف بروجكت احلله و اقوم باستخلاص نقاط الضعف فيه و اعمل maintenance
    ايه تنصحني بدراسته
    انا افكر في os و بعدها اتعمق في databases
    او اتعمق في api و http requests
    ايه رايك بحكم خبرتك في المجال

  • @MOHAMMADMAJDABDULSALAM
    @MOHAMMADMAJDABDULSALAM День назад +1

    الله يعطيك العافية يارب
    بدنا من هيك مواضيع لانو ضعنا

    • @Abstract-Engineering
      @Abstract-Engineering  День назад

      عافانا الله و إياك
      بإذن الله
      لاتنسانا بالدعم و الدعاء و جزاك الله عنا خيرا

  • @gazzarDev
    @gazzarDev 23 часа назад

    "Object-oriented programming is an exceptionally bad idea which could only have originated in California"
    Edsger Dijkstra

    • @Abstract-Engineering
      @Abstract-Engineering  22 часа назад +1

      He actually said a better one.
      "Object-oriented programs are offered as an alternative to correct ones".

    • @SaudBako
      @SaudBako 52 минуты назад

      Edsger Dijkstra (1976) “On the fact that the Atlantic Ocean has two sides”
      Summary: Europe programs with mathematical precision, while Americans just push buttons.
      Alan Kay (1982) “On the fact that most software in the world is written on one side of the Atlantic Ocean”

  • @masaftic
    @masaftic 14 часов назад

    الحمدلله لقيت محتوى عربي بيتكلم فالحاجات المهمة دي. لازم تكمل

  • @deez_dev
    @deez_dev 9 часов назад

    كله بسبب جافا 😂
    بالنسبة الي بكتب Functional وشوية OO بدون multi level inheritance او interfaces والاعتماد على dependency injections يعني من الاخر لازم يكون كود قابل لل testing

  • @Joe-y6g
    @Joe-y6g 8 часов назад +1

    من فضلك more videos about software engineering
    من الأساسيات حتى Advanced
    Not Programming languages just concept of Software Engineering
    and thank you

    • @Abstract-Engineering
      @Abstract-Engineering  7 часов назад +1

      There will be a mix of both and some hardware related stuff.

  • @passionforsciencel5180
    @passionforsciencel5180 16 часов назад +1

    الآن فهمت ليش كل low level developers أو الناس اللي بتشتغل بلغات زي C و rust كارهين للـ oop و ليش لغات زي go و rust مع أنها حديثة لكن مش بتهتم بدعم oop و تكتفي ببعض features تشبه لل methods و encapsulation بس .
    شكرا على المحتوى الهادف .
    بالمناسبة هو في مشروع فعلي لل abstract language ؟

    • @Abstract-Engineering
      @Abstract-Engineering  7 часов назад +1

      عفوا
      باذن الله Abstract هيكون مشروع فعلي

    • @passionforsciencel5180
      @passionforsciencel5180 7 часов назад

      @@Abstract-Engineering
      من فضلك اعمل فيديو عن كيف نوفق بين industry و بين best practices اللي ذكرتهم ، أو جاوبني لو مقدرتش .
      أنا مثلا طالب ماجستير جربت أكثر من لغة برمجة و عندي خبرة في مشاريع شخصية خارج شركة ، و مهتم بال low level و كيف databases تشتغل و compilers و information theory و ما إلى ذلك .
      و في نفس الوقت مطالب أني أشتغل و للأسف rust و اللغات المشابهة ناقصة كوظائف ، الحل من فضلك

    • @Abstract-Engineering
      @Abstract-Engineering  7 часов назад +1

      ان شاء الله في حاجات زي كدة جاية قدام

  • @abdullahsaid4765
    @abdullahsaid4765 15 часов назад

    جامد يخويا ❤

  • @bakrianoo
    @bakrianoo 14 часов назад

    اعتقد المحتوى حيكون ثري اكثر، لو بدات تقارن الافكار عن طريق امثلة من الاكواد، عشان كثير من المصطلحات بالنسبة للي مجربش، صعب اسقاطها على الواقع. لستمر 😊

  • @shehab9487
    @shehab9487 4 часа назад

    ممكن تبقى تكلمنا عن SOLID

  • @pythonholic
    @pythonholic 10 часов назад

    طيب عادي استعمل
    Functional Programming FP
    افضل بديل لل OOP

    • @Abstract-Engineering
      @Abstract-Engineering  8 часов назад

      لو مش هيسببلك مشاكل في ال performance عادي بس بردو خلى بالك عشان متكونش بت restrict نفسك زيادة عن اللزوم بسبب ال FP

  • @peerfect465
    @peerfect465 18 часов назад

    شفت الفيديو عربي و العنوان controversial بدأت السخرية في نفسي
    ما ان بدأت الفيديو حتى انقلبت السخرية اعحابا
    تم الاشتراك

    • @Abstract-Engineering
      @Abstract-Engineering  17 часов назад

      اتمني تكون استفدت و انك تشوف ال resources اللى في ال description.
      و شكرا للأشتراك❤

  • @alycheikhouldsmail7576
    @alycheikhouldsmail7576 День назад +1

    بارك الله فيك

  • @mohamedmoustafa419
    @mohamedmoustafa419 День назад +1

    Amazing 👏

  • @MohammedAbdelkrimGuendouz
    @MohammedAbdelkrimGuendouz Час назад

    اعطنا مثال لمشروع متكامل وليس مثال بسيط بدون OOP

  • @Awwe12675
    @Awwe12675 12 часов назад

    المشكلة نحن المبرمجين مو عارفين كيف نسوي برنامج ما نعرف نخطط عندنا افكار لأي مشروع لكن مو عارفين كيف نبدا

    • @Abstract-Engineering
      @Abstract-Engineering  7 часов назад

      ابدأ بابسط طريقة غبية و طور على الكود على مرات متتابعة

    • @Awwe12675
      @Awwe12675 7 часов назад

      @@Abstract-Engineering والله انه موضوع كبير ربك يسهل

  • @ahmedghallab5342
    @ahmedghallab5342 20 часов назад

    احسنت الله ينور ❤
    كنت حابب حضرتك تضع امثله علشان نفهم اكثر😅
    جزاك الله خيرا

    • @Abstract-Engineering
      @Abstract-Engineering  19 часов назад

      قريبا باذن الله الفيديوا هيبقى واحد من سلسة بتتكلم عن مشاكل تخص الهارد وير و السوفتوير و حلو و الامثلة هتيجي مع الوقت.

  • @ziadmohamed-nk9yq
    @ziadmohamed-nk9yq 18 часов назад

    كان عندي نفس النظرة ديه بقالي فتره وكنت خايف اقول الصراحة 😂

  • @alycheikhouldsmail7576
    @alycheikhouldsmail7576 День назад

    المقارنة بين شعبيتي اطاري العمل
    React js
    و
    Angular
    يؤكد المعني الذي ذهبت اليه

    • @Abstract-Engineering
      @Abstract-Engineering  День назад +2

      حوالي 99.999% من web tools زبالة

    • @waheed6448
      @waheed6448 12 часов назад

      ​@@Abstract-Engineeringفى فيديو بيشرح ليه زبالة

    • @Awwe12675
      @Awwe12675 11 часов назад +2

      كلهم ينفعون للمشاريع الصغيرة ما ينفع تكتب قوقل فيس بوك يتيوب تويتر الخ بإطار

    • @imadhamaidi
      @imadhamaidi 10 часов назад

      ​@@Abstract-Engineeringcan you elaborate on this criticism, especially regarding reactjs since while it's not the most optimal way to build performant UIs it makes up for that in developer experience and ecosystem.

  • @omranjava9415
    @omranjava9415 4 часа назад

    لماذا التحدث بسرعة؟ ليس جميع من يسمعك من مصر الحبيبة , شكرا لحضرتك

  • @abanoubha
    @abanoubha 5 часов назад

    عاااااااش 💪

  • @baxiry.
    @baxiry. 23 часа назад +1

    golang is the way

  • @Ma7moudAlySalem
    @Ma7moudAlySalem 11 часов назад

    رايق تسلم ايدك. كسر في الاصنام دي كمان الله يعينك

  • @makadi86
    @makadi86 20 часов назад +1

    طب أنت نقدت من غير حل ولا بديل!, يعني نعمل إيه طيب؟ ولسه كنت هسألك على راست لقيتك بتنقدها فى الكومنتس هي كمان!

    • @Abstract-Engineering
      @Abstract-Engineering  19 часов назад +1

      انا قولت فى اخر الفيديو ان الافضل هوا Data-Oriented Design و نكتب procedural code.
      و قلت على أسامي ناس بتوضح دا و كمان حاطك لينكات لفيديوهات ليهم فى ال description.
      بالنسبة ل rust فا ليها مزايا فى ال safety بس عيوبها فى انها عاوزة الناس تعمل كل حاجة بطريقة rust بس و الناس بتحارب ال compiler عشان تكتب اى كود و صعب اوي فيها انك تعمل fast development.

    • @bashiraddean-mufarreh
      @bashiraddean-mufarreh 19 часов назад

      ​@@Abstract-Engineeringكلام غير واقعي oop لها مميزاتها وdod لها مميزاتها

    • @Abstract-Engineering
      @Abstract-Engineering  19 часов назад +1

      انا مش فاهم الكلام مش واقعي ازاى انا ناقشت المبدأ من اللى عاملة و ناقشت بالدليل على النتايج و اقترحت الحلول.
      ودا ممكن يكون راي حضرتك بس احنا فى مجال هندسي فا لما نبص على نتايج ال Software الشنيع اللى ناتج عن ال OOD و الفرق بينه و بين حاجات معمولة بال DOD فا للاسف الرأي ان ال OOP حاجة كويسة بيضرب بيه عرض الحائط.
      الى جانب اننا مش لازم نفضل ان كل حاجة ليها مميزاتها و عيوبها ال OOP زيها زي اى Tool الناس عملتها و لما جربناها طلعت Tool سيئه و المفروض نرميها بس الناس لسبب ما عمل عقيدة ما حوالين الموضوع و بندافع عنة حتى في و جود الادلة اللى بتنفي صحة كفائتها كا Tool.
      و المفروض المهندسين بيختارو ال Tool الصح للشغل مش بنتحيز ال Tool.

    • @bashiraddean-mufarreh
      @bashiraddean-mufarreh 18 часов назад

      @@Abstract-Engineeringما تعصب ي استاذي بس هذه OOD أفضل من حيث التنظيم، المرونة، والصيانة.DOD أفضل عندما يكون الأداء هو الأولوية القصوى طبعا اذا كنت backend engineering

    • @pythonholic
      @pythonholic 10 часов назад

      بصراحة مبدئ encapsulation يعجبني كثير

  • @Singlton
    @Singlton 21 час назад

    شوف rust traits

    • @Abstract-Engineering
      @Abstract-Engineering  20 часов назад

      I'm not new to rust.
      And it has it's own problems also.
      Rust is very overrated.

  • @randomrfkov
    @randomrfkov 9 часов назад

    هو الي البرمجة العربية نصها انجليزي ؟
    You guys can't explain Programming without using English terms?

    • @Abstract-Engineering
      @Abstract-Engineering  8 часов назад

      لان الترجمة الموجودة حاليا سيئه و تخلو من ايصال المعني الصحيح.
      اذا وجدنا غيرها سنحاول و لكن سيبقى الامر انك محتاج تتعلم الانجليزية رغما عنك لتعمل بالمجال.

  • @shehab9487
    @shehab9487 4 часа назад

    جميل 💞

  • @hadialhalabi634
    @hadialhalabi634 8 часов назад

    عفوا يعني بس انا مبتدا بالبرمجة و عندي سؤال
    انا مو بالمكان الغلط؟؟؟
    لاني بصراحة اول عشر دقايق فهمان كلشي
    و بعدها فصل الفوقاني
    عفوا بس ممكن حدا يوضحلي
    الاستاذ حسسني من التعليقات كانه ما حدا عرف يبرمج و كل الشركات و المبرمجين مو فاهمين الله وين حاططهم و كل شغلهم زبالة
    انا كمبتدا لازم اسمع كلام الsoftwwar engenering المعقد هاد ولا لازم اروح احل مسائل و اتدرب
    تاني شي ليش بعد هاد الفيديو حسيت انه حضرتك مستاء من كل اللغات و التقنيات و الأفكار و ونتقد كلشي
    هل هاد الكلام معناه انه ما لازم اتعلم الوراثة و ما عرف class بالبرنامج
    و اخر شي فهمت من كلامك انو نعمل كلشي بدون function و class يعني مثلا نكتب كلشي بال main
    هل من الواقعي نحارب فكرة oop مع المشاريع الكبيرة و نطبق كلشي بروسيجر
    انا كمبتدا ضعت بعد هاد الفيديو ممكن حدا يجاوبني

    • @Abstract-Engineering
      @Abstract-Engineering  7 часов назад

      بو انته مبتدأ اتعلم الاساسيات الاول و اتعلم ال problem solving بعدها و خد بس في بالك الفكرة اللى اتكلمت عنها.
      مش مستاء من كلهم بس الكويسين قليلين. انته هتضطر تتعلم ال OOP عشان هيدرسوهالك برضوا فى الجامعات و هتطلب منك فى السوق بس مهياش حاجة كويسه.
      و اخيرا انا مقولتش خالص خالص انك تكتب كل حاجة فى ال Main ال procedural كود هوا اللي بيتخدم functions/procedure و معاهم structs/classes عشان تكتب بيه بس دا مش هوا ال OOP.

    • @hadialhalabi634
      @hadialhalabi634 7 часов назад

      @@Abstract-Engineering تمام شكرا لحضرتك
      ان شاء الله تستمر بقناتك نحو الأفضل

  • @asmaatharwt5209
    @asmaatharwt5209 День назад

    عندي فضول، كنت اتصالات ولا. Computer engineering؟

  • @MuhammadSalah-s7o
    @MuhammadSalah-s7o 10 часов назад +1

    انت متحامل جدا على الOOP الصراحة

  • @Mohammed-mm3kb
    @Mohammed-mm3kb 2 часа назад

    انت ناسخ فيديو Brian Will و كاتب في الوصف “inspired by” بس المشكلة انك ناسخه بالضبط لكن مترجمه و مختصره شوي. حرفيا انت ما سويت شي، بس قاعد تنسخ فيديو ثاني، مب قاعد تعطي رايك الحقيقي

    • @Abstract-Engineering
      @Abstract-Engineering  2 часа назад

      صحيح انى واخد منه حاجات كتير و بعرب المعلومات اللى انتفعت بيها و بضيف الجزء اللى من خبرتي فيه عشان كدة حطيت امثلة من خبرتي و زودت نقط علية
      انا مش هنفي خالص انى بحاول اعرب كلام Brian Will ولا غيره من الناس زي Mike Acton و Jonathan blow انا بذكرهم بالاسم.
      لو مشكلتك فى انى كاتب inspired ممكن اقول taken from عادي.

    • @Abstract-Engineering
      @Abstract-Engineering  Час назад

      تمام كده
      This information in this video is taken from the work of Brian Will, Mike Acton, Casey Muratori, and Jonathan Blow.

  • @ahmedmagdyalimohamed4024
    @ahmedmagdyalimohamed4024 20 часов назад

    ‏‪17:55‬‏ اتوقع ده ليه علاقه اكتر بكتير علشان البرامج كانت ابسط بكتير جدا من دلوقتي

    • @Abstract-Engineering
      @Abstract-Engineering  19 часов назад

      لا خالص ملوش علاقة احنا اللى بنزود complexity ملهاش لازمة فا بيبان انها معقدة و هيا لطالمفروض اصلا تبقى ابسط و احسن و اسرع و دا اصلا واحد من العيوب اللى بنتقدها ان الناس اصلا مش فاهمة بسبب انهم مفكرين ان دى الطريقة الوحيدة لكتابة البرامج.

  • @MohamedKamal-wd8hx
    @MohamedKamal-wd8hx День назад

    its all tradeoffs...

    • @Abstract-Engineering
      @Abstract-Engineering  День назад

      I have call that BS.
      This is a political argument that is just useless.
      Because clearly the so called tradeoffs aren't making anything better.
      Take a look at the results.
      Bad, buggy, slow software.
      That shouldn't be the result if was any good.
      You're thinking of a totally wrong tradeoffs.

    • @MohamedKamal-wd8hx
      @MohamedKamal-wd8hx 18 часов назад

      @@Abstract-Engineering you just dont have the experience to understand how to fit the paradigm to problem domain. oop was and still the dominant by huge margin style used in production. Every good oop programmer I know does know about other paradigms like functional. generics, meta... and knows when and what to pick from them. You are free with your opinions, but people with more experience also free to see them ridiculous or beginner's views.