Obsessive Coding Disorder, Julian Storer - JUCE Summit keynote 2015

  Рет қаралды 12,593

ADC - Audio Developer Conference

ADC - Audio Developer Conference

Күн бұрын

Пікірлер: 14
@jonparr8076
@jonparr8076 9 жыл бұрын
Thanks for the talk, really enjoyed it. You even managed to make me share in your frustration of the remaining state machine and exception! A fascinating insight of a start to end refactor, I bet it was really rewarding!
@aethyraa2394
@aethyraa2394 8 жыл бұрын
I recently chose to go with Juce on a project. Seeing this keynote convinced me I made the right choice - it's nice to see an individual so focused and caring about the aesthetics of their coding.
@lucasjames8281
@lucasjames8281 11 ай бұрын
Mate, what other choices were there then ? There’s like none now, 7 years later
@leoarzeno
@leoarzeno 5 жыл бұрын
Great video! Very inspiring!
@GregCerveny
@GregCerveny 8 жыл бұрын
Great talk! Love the insight into the nerdery.
@syfenx
@syfenx 6 жыл бұрын
I just took a look at the JUCE source, I realized that aliens look a lot like us and have a British accent.
@Mike-ip6je
@Mike-ip6je 8 жыл бұрын
I have a suggestion. As another comparison of the two different versions, why not introduce the same, simple bug in both, then give the C and C++ versions to your students, and measure how long it takes them to fix the bug? Sort of a objective, scientific, maintainability experiment.
@MrVainSCL
@MrVainSCL 4 жыл бұрын
Where can i find/download your rewritten code?
@EmmanuelIstace
@EmmanuelIstace 6 жыл бұрын
I would suggest to anyone watching this video to take a look at Robert C. Martin, Martin Fowler, Kent Beck and Michael C. Feathers books about xp, TDD, SOLID, refactoring, Continuous Integration etc those are all intricated subjects that helps when working with legacy code (by legacy code I mean code not under unit test)
@ennio5763
@ennio5763 5 жыл бұрын
Well, this is interesting, but is not a fair comparison, because the result is not the same scope. The resulting code will compile on many less platforms than the original one, since it doesn't care about supporting them. It also throws away features that the presenter does not feel important, because he doesn't need them. So, indeed, given it supports less platforms and less features, the new code can be shorter, vastly shorter and simplified.
@michaelschlachter8865
@michaelschlachter8865 9 жыл бұрын
Seems like a lot of your changes will impact performance, or change behavior of the code. Why not just make a wrapper as intended? This leaves the C version more able to compile on smaller systems.. and you get the benefit of bug fixes to the original. Using this rewrite means you will be the sole maintainer, until it gets widely adopted. Things like crc/adler are used in more than just zip.. they are used in png decoding as well.. so any changes to that implementation affects lots of things downstream. When you claim that adding a couple microseconds to startup, in order to get rid of a table in the code, is justified, it kindof sounds like you aren't seeing the bigger picture. I used to think along these lines.. that modernization was worth it for its own sake.. and that shortening code at the expense of performance, is a worthy endeavor. The zip header files aren't designed to be included in multiple points in your project.. they should mostly be included in one place, in your wrapper interface, where you make prettier functions and make an interface that conforms to your local architecture. When used this way, a lot of your worries about name conflicts and macros, etc, go away. One of the most appealing things about a library like zlib is that its been debugged already.
@julianstorer1611
@julianstorer1611 9 жыл бұрын
+Michael Schlachter Maybe it wasn't clear, but this talk was done as entertainment, and to illustrate some points about refactoring.. The intention is not to launch a project to replace zlib! And JUCE has already provided a wrapper around zlib for many years anyway. This is just about how its internal implementation could be done better. However, it's a mistake to assume that this kind of thing would impact performance - I deliberately did benchmarks because I expected this kind of comment, and even without spending effort optimising it, there was no slowdown compared to the C version. As for small systems.. well anything that has a modern C++ compiler would handle this just fine. And actually, in re-factoring it, I managed to remove at least one layer of unnecessary buffering, so it'd have a smaller memory footprint.
@michaelschlachter8865
@michaelschlachter8865 9 жыл бұрын
I guess if you enjoy paying off technical debt for a living, it's all good. Who doesn't like fixing bugs, and checking security advisories? Dropping in a new .lib or .dll is for suckers. www.google.com/search?q=zlib+security+advisory
@SortieCat
@SortieCat 9 жыл бұрын
See also the work I did on Sortix libz.
Developing Max/MSP with JUCE. David Zicarelli Keynote, JUCE Summit 2015
44:06
ADC - Audio Developer Conference
Рет қаралды 8 М.
C++ in the Audio Industry, Episode II: Floating Atomics, Timur Doumler, JUCE Summit 2015
22:41
ADC - Audio Developer Conference
Рет қаралды 9 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
CHOC: Why Can't I Stop Writing C++ Libraries or Using Backronyms? -  Julian Storer - ADC22
46:44
ADC - Audio Developer Conference
Рет қаралды 2,3 М.
Lessons Learned from a Decade of Audio Programming
26:14
GDC 2025
Рет қаралды 135 М.
The Golden Rules of Audio Programming - Pete Goodliffe - ADC16
51:25
ADC - Audio Developer Conference
Рет қаралды 50 М.
Jeff Dean: AI will Reshape Chip Design - NeurIPS 2024
43:53
GradientSpills
Рет қаралды 6 М.
Keynote: Advent of Code, Behind the Scenes - Eric Wastl
46:01
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 295 М.
"Simple Made Easy" - Rich Hickey (2011)
1:01:39
Strange Loop Conference
Рет қаралды 110 М.
David Rowland - Using JUCE value trees and modern C++ to build large scale applications (ADC'17)
48:58
Developing Audio Applications with JUCE, Fabian Renn-Giles and Timur Doumler, JUCE Summit 2015
1:41:02
Google I/O 2012 - Go Concurrency Patterns
51:27
Google for Developers
Рет қаралды 827 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН