Horizontal vs Vertical Software Architecture ╋ Prolog, Where Are We Going Next?

This is a past event

85 people went

Details

Please do not RSVP if you are not sure to attend

Talk 1: Horizontal vs Vertical Software Architecture

Time: 10:00 AM to 1:00 PM

Summary:
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.

Outline:
┳ 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
┣ Limitations of a Layered Architecture
┗ Component/Vertical Architectures

Examples will be given in Java and Golang.

About the speaker:
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.

▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃

BREAK (1:00 PM to 1:45 PM) - Lunch & Networking

▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃

Talk 2: SWI-Prolog - Where Are We Going Next?

Time: 2:00 PM to 5:00 PM

Summary:
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.

Install:
You'll want to install SWI-Prolog before the session.
https://cutebouncingbunnies.wordpress.com/2019/06/13/installing-swi-prolog/

We'll cover:
╟ Basics of SLD resolution & using the Prolog top-level
╟ The strange, wonderful world of multimodality
╟ Inserting yourself in the machinery with term_expansion
╟ Options for persisting state
╟ Distributing Prolog
╟ Messing with Prolog's mind-altering semantics
╟ Yes, you can write a shopping cart in Prolog - a quick romp through the libraries

Prerequisites:
Basic understanding of programming in some language.
laptop with a working install of a recent SWI-Prolog. (Please use instructions above, not apt install)

About the speaker:
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.