: Expert Talks September Pune
This meetup consists of 2 talks. One talk will be on "Horizontal vs Vertical Software Architecture" by the speaker Christian Hujer. Another talk will be on "Prolog, Where are we going next?" by the speaker Anne Ogborn.
Talk 1: Horizontal vs Vertical Software Architecture
Christian Hujer, blogger, coach, speaker, trainer on Agile, DevOps, Software Craft, process shaper, change agent, extreme programmer, and humanist, founder, and CEO of Nelkinda Software Craft, is looking back on 35 years of writing code. Having started coding on an Amstrad CPC 464 in 1984, he is a polyglot in languages (Prolog to Java), frameworks and development environments (from smart card to server). He is keen on following the best coding and software development process related practices, for example, XP, Clean Code, TDD, BDD. He always strives for better software and a better environment.
Contents of the talk
This talk will open your eyes about something most software development teams do wrong regarding software architecture. It applies to everyone who works in layered architectures: Desktop applications, backends, frontends, databases, monoliths, and microservices.
Topics
Principles Of Object-Oriented Class Design
- The 4 Design Smells
- The first 5 SOLID Principles (recap)
- The Package Cohesion Principles
- The Package Architecture Principles
Horizontal vs Vertical Software Architecture
- What are Layers?
- The Nested 3-Tier Architecture Revisited
- Limitation of Layered Architecture
- Component/Vertical Architecture
- Examples in Java and Golang
Talk 2: Prolog, Where Are We Going Next?
Anne Ogborn has been programming in SWI-Prolog for 10 years. She's a frequent contributor to the SWI-Prolog project and their most public evangelist. She's been programming since she started on punch cards on an IBM 1401.
Contents of the talk
Prolog? You mean that old dead AI language they made us learn in school? NO, we don't mean THAT prolog. We mean a new, modern Prolog that can do some pretty amazing stuff, including distributed computing, graphql-ish queries from the browser, integrated JSON handling, RDF entities, probabilistic computing, constraining values (keep this smaller than 10), multimodality for vastly reduced API size, tabling (a fancy version of memoization), a nifty web framework, as well as Prolog's usual homoiconicity, executing backwards, undoing computation, and carrying along control structures with the data.
This talk will spend about half an hour covering the basics, then we'll spend some time ooh-ing and aaah-ing at things Prolog can do.
You'll want to install SWI-Prolog before the session. https://cutebouncingbunnies.wordpress.com/2019/06/13/installing-swi-prolog/
Schedule
Start | Duration | End | Topic |
---|---|---|---|
10:00 | 3 hours | 13:00 | Talk 1: Horizontal vs Vertical Software Architecture |
13:00 | 45 minutes | 13:45 | Lunch and Networking |
14:00 | 3 hours | 17:00 | Talk 2: Prolog, Where Are We Going |