Presentation: Is Boilerplate Code Really So Bad?
Share this on:
Abstract
Many JVM languages promote "less boilerplate code" as one of their selling points. Even updates to Java in recent years have removed unnecessary syntax. While this is clearly meant to be a Good Thing, many of us - particularly if we've been writing Java for a long time - think "so what?". Our IDEs can generate code, and our brains get used to ignoring the stuff that doesn't matter.
Is the removal of extraneous code from the syntax of a language necessary, or just a gimmick? How does it impact our ability to write and read code?
In this talk, Trisha will explore common coding scenarios using Java and Kotlin. We'll see what a language designed for developer productivity looks like: what's important for developers to write (and, more importantly, read) and what can be removed. We'll also see how Java has evolved to improve our productivity as producers and consumers of code, and why staying up to date with the features of a language like Java can ultimately make your life easier.
How you you describe the persona and level of the target audience?
Main target is developers who code every day. Primarily targeting Java developers, particularly those who are busy getting on with actual work and may not have had time to stay up to date on what's happened with recent versions of Java (8, 9) and what may be coming soon (Java 10, 11). Also relevant for tech leads and other people who lead developers and/or make technology decisions in an organisation.
What do you want “that” persona to walk away from your talk knowing that they might not have known 50 minutes before?
I want developers to see that modern development will save them effort in writing code, and, more importantly, make it easier to read code when they come back to it later (even if they weren't the ones to write it). I want leaders to see they can enable this increased productivity by adopting the latest versions of Java, or considering alternative JVM languages like Kotlin where appropriate.
What trend in the next 12 months would you recommend an early adopter/early majority SWE to pay particular attention to?
In terms of the topics covered in this talk, I think it's important that organisations that develop with Java understand that the release cadence is changing to support two releases of Java a year. This is great, as we'll be getting new features much more frequently. But it does mean developers should understand what's coming in new versions, and organisations need to know the support model of each version, since not all versions will be supported in the longer term.
Similar Talks
Tracks
Monday, 5 March
-
Leading Edge Backend Languages
Code the future! How cutting-edge programming languages and their more-established forerunners can help solve today and tomorrow’s server-side technical problems.
-
Security: Red XOR Blue Team
Security from the defender's AND the attacker's point of view
-
Microservices/ Serverless: Patterns and Practices
Stories of success and failure building modern service and function-based applications, including event sourcing, reactive, decomposition, & more.
-
Stream Processing in the Modern Age
Compelling applications of stream processing & recent advances in the field
-
DevEx: The Next Evolution of DevOps
Removing friction from the developer experience.
-
Modern CS in the Real World
Applied trends in Computer Science that are likely to affect Software Engineers today.
-
Speaker AMAs (Ask Me Anything)
Tuesday, 6 March
-
Next Gen Banking: It’s not all Blockchains and ICOs
Great technologies like Blockchain, smartphones and biometrics must not be limited to just faster banking, but better banking.
-
Observability: Logging, Alerting and Tracing
Observability in modern large distributed computer systems
-
Building Great Engineering Cultures & Organizations
Stories of cultural change in organizations
-
Architectures You've Always Wondered About
Topics like next-gen architecture mixed with applied use cases found in today's large-scale systems, self-driving cars, network routing, scale, robotics, cloud deployments, and more.
-
The Practice & Frontiers of AI
Learn about machine learning in practice and on the horizon
-
JavaScript and Beyond: The Future of the Frontend
Exploring the great frontend frameworks that make JavaScript so popular and theg JavaScript-based languages revolutionising frontend development.
-
Speaker AMAs (Ask Me Anything)
Wednesday, 7 March
-
Distributed Stateful Systems
Architecting and leveraging NoSQL revisitied
-
Operating Systems: LinuxKit, Unikernels, & Beyond
Applied, practical, & real-world deep-dive into industry adoption of OS, containers and virtualisation, including Linux on Windows, LinuxKit, and Unikernels
-
Architecting for Failure
If you're not architecting for failure you're heading for failure
-
Evolving Java and the JVM: Mobile, Micro and Modular
Although the Java language is holding strong as a developer favourite, new languages and paradigms are being embraced on JVM.
-
Tech Ethics in Action
Learning from the experiences of real-world companies driving technology decisions from ethics as much as technology.
-
Bare Knuckle Performance
Killing latency and getting the most out of your hardware
-
Speaker AMAs (Ask Me Anything)