This talk by Yehonathan Sharvit is about the principles of Data-Oriented programming and how to reduce the complexity of software. As the talk is not focused on Go, the video is an interactive session between our speaker and the #gofrm community.
Data-Oriented programming is a paradigm that aims at reducing the complexity of software systems and making the development experience more productive. Data-Oriented programming draws a clear separation between code and data. It treats data as a value that is manipulated by general-purpose functions. In this talk, we illustrate the principles of Data-Oriented programming in the context of a software production system. After attending this talk, you will be able to apply Data-Oriented programming principles in your preferred programming language, whether it's Object-Oriented or Functional, and reduce the complexity of the systems you build.
iPrism Technologies is a global technology and process driven software, web and mobile app development company offering customer centric solutions with knowledge and experience of the entire IT lifecycle, we help enterprises streamline core IT processes and augment their competitive advantage.
Not sure I agree with most of this, but it's interesting to see another's approach to dealing with complexity.
The article correctly identifies complexity as the biggest problem with writing complex long-lived web applications, but then presents a series of ad-hoc solutions to specific problems (problems caused by the structure they have chosen) as the best answer. It would probably be better titled 'Things I learned writing go' or something similar, rather than attempting to frame different decisions trade/offs as anti-patterns.
To take one example, having one user model is good in that it is easier to maintain and less complex to think about, but the author advocates having a write model and an api model - in some circumstances that might be useful (where there are many private fields which must never leak to the view or require processing before presentation), but most of the time it's overkill and needless complexity.
Yes and written by some of the people involved in the original net package. Brad used to be one of the maintainers of net/http and net packages in go. I'm glad they are so conservative about changing the standard library though, even if it does mean warts like this persist.
Our crypto banking software development solution provides all the necessary banking functions that your customers expect from their core banking platform. It is designed to handle all your customers’ needs with secure API, intuitive front-end, and banking modules. To get complete information, visit our website today and get a free white label software demo.