This month we are going to try something a bit differet. The meeting will be an open discussion on why we have so many programming languages. The Tiobe Language Index (https://www.tiobe.com/tiobe-index/) currently shows the top 100 programming languages, and this clearly isn’t a comprehensive list. In recent years the number of languages has also started increasing again with a newer generation of languages such as: Go, Kotlin, and Carbon.
What are the benefits and costs of so many languages? Do we really need new languages or should we extend the existing languages (which is also happening)? What do you tell a new developer coming into the field? As a seasoned developer when should you look at learning a new language?
Test-Driven Development (TDD) is a process in which test are written up-front. Typically these tests reflect the requirements and expectations of the stakeholders to the project, driving the creation of useful, valuable behavior.
Sometimes, however, the requirement given is about something the system should not do, and must not do for a reason that is critical to the business we seek to serve.
The question this presentation will address is this: How can you write a test about a behavior that the system must not do? We will use both unit tests and acceptance tests to investigate this question.
Scott is a 40+ year veteran in computer technology, with a background in development, analysis, and design. He has also designed, delivered, and managed training programs, both in traditional classrooms and via distance learning. Scott teaches courses and consults on Agile Analysis and Design Patterns, Advanced Software Design, and Test-Driven Development. He is a frequent speaker at developer conferences such as JavaOne and SDWest. He is the author of “Emergent Design”, which won a Jolt Productivity Award, as well as “The TDD Companion” and “The Design Patterns Companion”. He currently works for PMI.
Test-Driven Development (TDD) is a process in which test are written up-front. Typically these tests reflect the requirements and expectations of the stakeholders to the project, driving the creation of useful, valuable behavior.
Sometimes, however, the requirement given is about something the system should not do, and must not do for a reason that is critical to the business we seek to serve.
The question this presentation will address is this: How can you write a test about a behavior that the system must not do? We will use both unit tests and acceptance tests to investigate this question.
Scott Bain is a 40+ year veteran in computer technology, with a background in development, analysis, and design. He has also designed, delivered, and managed training programs, both in traditional classrooms and via distance learning. Scott teaches courses and consults on Agile Analysis and Design Patterns, Advanced Software Design, and Test-Driven Development. He is a frequent speaker at developer conferences such as JavaOne and SDWest. He is the author of “Emergent Design”, which won a Jolt Productivity Award, as well as “The TDD Companion” and “The Design Patterns Companion”. He currently works for PMI.
Sean Parent is a senior principal scientist and software architect for Adobe’s mobile digital imaging group and Photoshop. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.
Sean Parent is a senior principal scientist and software architect for Adobe’s mobile digital imaging group and Photoshop. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.