Greetings.Thanks Saifi for driving today's session and all those joined/contributed. Wished to mention key points
@All please add anything missing. *Session Date*- 24th July 2021 *Summary* - Software fundamentals are important - How to make choice is essential - Need to understand keys of software engineering - Evolution of software and evolution of programmers are essential or else both will lose relevance - Software success depends on formative context (Example is paytm growth during demonitization) *Zoomed-in (Categorial points)* *Choice* - Choice comes in day-2-day life of a software community and it is very important to understand how to make decision - A Rational approach about choice is one which meets *satisfy and suffice* as criteria (bounded rationality from Nobel laureate-Herbert A Simon ) *Communication* - In a community, we should never restrict the communication of ideas/thought to only a few. - Approach should be such a way that idea/thought sharing shouldn’t need the originating person to communicate *Thought and software design* - In software world, thought is represented in the form of design *Keys of software development* - Thought | Design - Collaboration - Communication of Idea *Fundamental concepts stand the test of time.* - Evolution of software maintains fundamental ideas. For example Linked lists are one of Lisp's major data structures, and Lisp source code is made of lists. - LISP concept became foundation for later newer programming languages - OO concept from Simula in 60’s is adopted by modern languages like C++, Java etc *Fact about C++* - C++ code base is first compiled to GIMPL format .. S-Expression - C++ is multi paradigm language - C++ 20 is influenced by *modula* for co-routine, modules concept *Evolution need* - Software needs evolution (as per evolved use-case) - Contributors need evolution (up-skilling) Warm Regards, Deepak

