do not have static methods • Even more specifically, if you declare a companion object inside your class, you'll be able to call its members with the same syntax as calling static methods in Java/C#, using only the class name as a qualifier.
always has a name following the object keyword. Just like a variable declaration, an object declaration is not an expression, and cannot be used on the right hand side of an assignment statement.
takes functions as parameters, or returns a function. A good example of such a function is lock() that takes a lock object and a function, acquires the lock, runs the function and releases the lock
likely to Developers 26.7% No executive support 56.7% Cultural inhibitors 43.3% Fragmented processes Collaboration blockers DevOps was being initiated by more development teams than IT Ops teams by about a 40% to 33% margin Agile methodologies have adopted 3/4 of teams Business IT Ops The average hourly cost of infrastructure failure is $100,000 per hour It takes on average 200 minutes to diagnose and repair a production issue A bug caught in production ends up costing than if the same bug was found earlier in the development cycle 100x more IT decision makers is still unfamiliar with the term DevOps 6 1 in 40% … of implementations end up getting reworked because they don’t meet the users’ original requirements … of development budgets for software, IT staff and external professional services will be consumed by poor requirements 41% IT drives business success! High IT performance correlates with strong business performance, helps boost productivity, market share and profit. Responding to ongoing needs for efficiency and growth Always keeping all systems safe and secure dual goals … for companies that try to adapt their existing tools for DevOps practices 80% failure rate … CIOs 70 % to reduce IT costs Would increase risk and accelerate business agility of