Bestand wählen

Coding: Art or Craft?

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Erkannte Entitäten
and and a the kind all right so how is everyone doing bad pool and so thanks for coming to my talk I'm really excited to be here at rails call my name is Emily and I am a software engineer at wayfarer but I come from an art history background which call gas from the top so today I'm exploring how we think about the act of programming and while the ways we
do it is from metaphor 2 powerful metaphors are code orange and code as crap and although we often equate the 2 as they are both about how we make things they have completely different implications coders crap is widely popular and has really taken strong already code is part it is more of an emerging fringe metaphor entity don't care about as often as overshadowed by and sometimes confused for the crop movement I want to build a case for it and show you why it's different and why it deserves to be its own separate thing and hopefully this can help you answer the question of what is called art or craft to but most of all I just don't want to spark discussions and get people to think about what coding and creating the means to them even if they don't think it's 1 or the other or something else entirely different cool so let's start with
metaphors of as we all know the metaphors are direct comparisons of 1 thing to another and now the language of computing abounds with metaphors
garbage collection is the term for automatic memory management we have
folders directories and pages which are actually any of those things meanwhile in object-oriented programming you have parents and
children and ancestors and descendants and when you connect to an outside program you perform a
chick to agree on a connection protocol the then sure all of you can think of many more but the point I'm trying to make is that we can see how on even these smaller levels metaphors helpless can quickly conceptualize and understand something complex by comparing it with something really familiar those packaged into so few words they can conjure up entire story and express a multitude of meaning all at once metaphors matter because they shape the way we think about things for ourselves and how others might also think about them to and that's why I wanted to talk about the larger metaphor to describe company the because
that's what we do for a living we spend 40 hours a week doing it that's most of her waking hours right so we should be thinking about what it means to us and those around us right the so the
metaphor we use to describe coding provides guidance and a framework to understand that initial to comprehend the answer to the house and the wife the so the 1st movement I want to talk about
is coded as track and I want to talk about what the metaphor entails how it's been applied and like to think about how it's influenced our communities do so what is pure book definition
as sociologists how we S. Becker puts that craft consists of a body of knowledge and skills used to produce useful objects yeah but there is a huge history to craft which for dates of hundreds of years and its strong history traditions deeply inform and under what the term means to us to that so if you're a hot back into a time machine into the Middle Ages we
find craft skills which are associations of makers not every single craftsmen belong to a guild and they were vastly important part of civic life they supported the central mode of production for everyday needs you had silversmiths and stonemasons in makers and cobblers and figures and every single specialization of handmade good you could think of and these guys train their entire lives to become masters of their trade and they did this through a really defined accomplishments systems your typical
craftsmen started out as an unpaid apprentice usually super young you see the guy in the back there is an apprentice and pilot 12 years old so super young and removing the the master to train and although he was only learning the basic technical aspects of his life 100 % revolved around his work she lived and breathed and slapped his the
practice with clients way up to the ranks of the journey and when he was finally good enough
to produce stuff and get paid for his labor now he could stay at this level or spend the next several years gunning for the rank of Master as a
master he was a highly competent craftsmen who could set up his own shop and take on apprentices to pass on the traditions sits a parallel yeah I could and while guilds functioned as
forums for nurturing competence they also emphasized a sense of community In addition to the strong tradition of mentorship guilds involved close collaboration members what really close to 1 another teaching each other stuff and giving advice craftsmen also really cared about their customers they want to produce of good quality and product so they inspected the workmanship quality of all items and regulated prices and supplied to ensure fairness they also developed relationships in general with their customers so the colors craft movement has gained quite a bit of momentum in recent years and you can really see how it's been able to draw often the distinct history and traditions of graph of passenger we can trace the movement back as early as
1999 with Andrew hunts book Pragmatic Programmer from journeymen to master military enthusiastic not towards crack even in its titles in 2002 pp
McBreen coined the term software craftsmanship with his book of the same name and proclaimed that to produce quality software we should think of what we do is a crack in adopting guild like model that emphasizes community and learning and mentoring so in the late nineties and early 2 thousands we saw the code craft movement slowly but surely coalescing yeah as we start seeing books like these as well as gatherings and blog posts and online discussion boards but by 2 December 2008 attendees of the software
craftsmanship Summit in Chicago discussed what it meant to be a developer craftsmen and drafted the software craftsmanship manifesto in here is the were about reading it because the quantity small but they lay down the principles as they wrote we have come to value not only working software but also well-crafted software not only responding to change but also steadily adding value not only individuals interactions but also a community of professional not only customer collaboration but also productive partnerships the and this manifesto really made the rounds with several thousand signatures in the 1st few months what it also since standard fans rated into at least 7 other languages the so this document effectively crystallized the software craftsmanship principles as we know it by putting it down on virtual paper embossed stamping them into existence and today the movement effects are really far reaching and I think it's really percolated into programming culture for example this conference has an entire track devoted to this topic and you are in fact listening to a talk under that category right now you'll find a bunch of groups on me Dr. calm relat around the cause meanwhile many companies are adopting the apprenticeship model I myself 1 through 1 wait their FCs Engineering Department friends what they do is crack in likes to blog all about at the software craftsmanship conference in Budapest dedicates 3 days to its many induced C code as craft today and our vocabulary is laced with references to at least see coding like
craft because we believe in continual learning a skill mastery mentorship Customer Relationship collaboration and building useful things both the it so this movement really allowed for us to start thinking more about coders as makers as opposed to the older understanding of programmers and executors as these black boxes that you take that taking a set of specs spit out now right and because of this it naturally paved the path for discussion on creativity especially in the Ruby community I started entering words like pretty and creative for example in an essay in 2007 anthology beautiful code max describes what makes code esthetic and beautiful meanwhile in his
2014 book geek sublime Chandra directly pose the question when he says of code quote we are now unmistakably in the realm of human perception of taste and pleasure and therefore of esthetics can code itself as opposed to the programs that are constructed with code the beautiful so taste pleasure human perception esthetics and beauty now none of this really fit so much into the traditions of crack if especially the kind that our software craftsmanship movement is grounded in medieval makers concerned about us again they emphasized still collaboration and want to produce things that people needed things that were useful so I think instead what is happening is that
progressively we are likening code to art so this next part I'll talk a little bit about what the metaphor of art encompasses and illustrate snapshot in history where our modern definition of art originates talk a bit about how this analogy applies to coding the course
so part is a pretty complicated thing but the thing is we all know art when we see it right we tend to think of things like the visual arts like sculpture and painting installation work but in essence box is anything that moves us it's beautiful it's an outward expression of human creativity and emotion is about ideas human imagination it makes us think so that's a widely accepted definition and interestingly enough 1 could say that our modern understanding of art really arose from what was a crack
right at the height of the medieval guilds in the 14th century and intellectual movement drawing on Roman and Greek classics called Renaissance humanism swept across Europe revolutionizing how people perceive their roles in society so while the medieval era was characterized with the utilitarian
approach to thinking and making following doctrines to produce useful stuff mostly for religious purposes the humanists
instead stress the importance of human dignity they glorified individual they prized creativity and ingenuity and soon the Renaissance was in full bloom and before we knew it certain craftsmen began questioning the nature of their profession
some like Leon Battista Alberti famously wrote treatises on the topic framing what they do not as an applied scale like that but as a liberal art Gregorio Vasari's
influential book The Lives of the Artists similarly illustrated his subjects as creative virtuosos and Michelangelo himself said that a man
considers brains and not with his hands and soon within our lifetimes the general populace is conception of what is art took shape and things like drawing
and painting and sculpture were no longer still about considered cracks but celebrated and recognized as part as these creative cerebral endeavors that were made for intrinsic meaning sure applied skill was still part of it but it grew to be much more than that so it I think history has a pretty funny way repeating itself with all this talk of creativity and expressiveness in code I think in a way we are in the middle of our own Renaissance where just like the 14th century humanists we are slowly re-envisioning what we do is a profession and what it means to us and how we brand ourselves to the outside world just like how makers in the renaissance started seeing what they did is part in a sense so to have so you might find literature on code is art in the books I mentioned among some others on some posts on Quora on medium but for the most part the arguments for this origin as well known or adopted into popular discourse so I like to take some time to demonstrate the ways in which the code is a lot more like more than you might think both in its creation process and in the end result so what began
with the creation process to begin making something you 1st need to choose a
medium so an art a medium is the material used by artists to create their stuff an example might be passed out the the or watercolor or clay or campus so you were to apply this to program and are media might comprise of the text editor will language which is right in yeah my language of choice is really and I Ruby because it's particularly expensive I can think
of it like acrylic paint it elegant and rich in so many ways but even so it's clear and crisp each stroke of acrylic leaves such defined borders much the same way that a routine method delineates boundaries with those definitive deaths and ends and like a click paint root is also pretty begin a family but once you get the hang of it you'll find that there's many more advanced techniques for you to conquer and discover the and sometimes just as artists prefer 1 medium over another coders have their own preferences these days I write a lot in PHP which I admittedly don't love airlines pending in its
simplicity to express something it requires a million strokes which can end up looking squarely in convoluted with all those curly brackets any it is conspicuous my columns that look like ILP placed ink blots it's not a rich it's not as a and at times it can be really messy and all over the place but it gets the job done but some people like working with the media after saying goes quite literally different strokes for different folks this call ground sums up quite well in his famous essay hackers and painters when he says that quote trackers need to understand the theory of computation about as much as painters need to understand the chemistry and any excellent point just as painters need to understand in depth and appreciate the medium we work with in order to compose something effectively so to do programmers this but this i behind both we must experiment with what we're working with and go through a process of trial and error to fully understand the material cool so what's happened medium selected you then have to go through the creation
process so how many of you here have made part the figures show of hands yeah grilled quite few you so for those of you here who have made lot I think you agree with me that the whole lot like writing code in fact I think a lot of famous artists would say the same for example Francis Bacon a famous artist says the could the creative process is a cocktail of instincts skill culture and a highly creative peevishness is a particular state where everything happens very quickly a mixture of consciousness and unconsciousness of fear and pleasure so fact I feel like what they can describes is almost this trancelike state of low that is so intrinsic to the creative process that can be very well applied to coding because when you code it times have passed at times you register keystrokes without much reflection but at the same time there is a highly conscious element to it in which you working through thoughts and trying to channel like concretely aren't your text editor like an artist's splashing paint onto his a develop techniques and conscious habits for example I constantly type get status after just about every single day operation performed looks like you guys you to and the way you solve programming problems does involve quite a bit of skill intuition and risk-taking so cold it is also into roasting you feel very much in the presence sometimes I find myself sitting down and 90 and only to look up and find that an entire day has flown by you get entirely lost in your own thoughts so transfixed with what you're doing they sort to the world of that's a very individual thing super personal it's almost like an end to this different state of mind may say Michelangelo painted the Sistine Chapel in this kind of states told aware of the world around him and many times forgetting to eat fleet and rank
at the same time coders making esthetic choices how you choose to program an algorithm may be entirely different from how someone else does it the for example in Ruby there are many ways to print out the numbers 1 through a hundred a minimalist may choose to do it this way she might like how simple and elegant it is the or a maximalist who loves trolling might
out 1 to 100 and also coming from a c background may find comfort and
familiarity in using the traditional form a student excited by object-oriented
programming wanna wrap on a class and news instance variables it or maybe a
moonlighting poets like Scott Reeves just like English when you do it this way or maybe someone who loves the graceful flourishes of curly braces may choose to do it like this so what I'm saying is that in part of the artistic process is a translation of the creators personality preferences individual style and cultural influences externalized into a concrete form and the same goes for coding everything that we do that how we approach of programming problem down to the very ways in which we intend our code is influenced by who we are what we like and past experiences behind us when we coded we're constantly infusing are personal taste and constantly making esthetic choices and that's why it's such an artistic creative process at so once you finish you'll find that what you made can be appreciated in much the same way as as a work of art here is a painting of the
factory by the abstract impressionism then Gogh next to a factory class from the factory girl we know Atticus tried and there with me but I see a lot of similarities here then goes paint strokes tuck away details so that things are just abstracted into lines of blobs of colors and shapes units parts collectively come together to depict the larger abstraction of a factory the written code does this to it high complexity by abstracting onto a class so that these individual parts the functions in the instance variables comes together to illustrate a wholistic idea of what this factory is all about abstraction in arts and programming is very similar at the same time code is like a lot in that we can admire its formal qualities and visual structure the scroll down a bit
it starts looking like an Alexander Calder sculpture the codes cleanliness the orderly indentations and facing the occasional verticality of the or operators in the horizontal nests of each line and the way all gracefully cascades downwards and the result will kind of reminds me of the sculpture and I like it and I notice a systematic careful character to each of these time like I identifying find the radio and dispersion of colors in both esthetically pleasing even more so we have a coding language
to yet whose code pixels of colors and pays 0 miles to Piet Mondrian famous neoclassicists paintings this novel Mondriaan and yes it seems to be OK so to the last 2 as an example of a prime number tested to the right is the Mondrian painting and the market is very much the same and that is hard to tell the difference so what you're seeing is computer code that to the greatest extent is quite literally a work of art again my point is we can free our code like an art object appreciating the finished project in much the same ways as part and if you are convinced many members of the ah communities seem to be just 1 month ago the founders
of ruse laboratories arranged the algorithm option at the Cooper-Hewitt Smithsonian Design Museum which was the 1st ever auction of computer code was a pretty big deal and attracted lots of big art dealers like where get those and this option patrons purchase these algorithms for the same reasons they might hurt spot such as historic reasons like because printout
of the source code from which President Barack Obama wrote a line of code marking the 1st president in history in the history to program some pieces of code were seen as
embodiments of culture such as this OkCupid compatibility calculation algorithm which is a it is a cultural snapshots or relic demonstrating the ways in which we as a modern error have embraced technology as a means to connect with 1 another like art cold at this option was also praised for the nostalgic
meaning it holes they trained hand written function printing out whole Old World by Brian Cunningham carries sentimentality for many of its viewers as we all know these are some of the 1st lines of code 1 ever rights the and like art when we look
at code for example during the code review process we also bring with us a sense of personal taste we have a visceral personal reaction to what we see for example I personally find procedural spaghetti code as messy and hard to follow as
this Jackson Pollock it's all over the place and doesn't really make any sense to me and I find metaprogramming to be cool and marvel at how
self-referential the concept is that some people hate it and I also like recursion because it's fun and
powerful I marvel at how in just 4 lines of code you can express infinity like with just this 1 picture although I understand that some just prefer plain old iteration but about
all art critic Arthur
Danto famously defined on March as something that compels the beholder to interpret so he says quote artwork has semantic character it involves the possibility and necessity of interpreting the work a theory of what it is about and what the subject is the and I would argue that code precisely asks us this we must identify the subject of just about any code we come across for example if this code about a database or is it about a recommendation engines you need to consider all the comments and all the little details to determine the author's intent that just like art the end goal of coding is to be personally interpreted and understood whether by another human beholder during a code review process of code review or in a very literal sense at runtime by the Ruby interpreter at the end of the
day what you coding and what you make a lot is all about the ideas trying to get across the the so I hope I was at least somewhat convincing to you in demonstrating all the ways in which coding is like part of like artists which is a medium and go through a unique creative process to breathe life into an idea that results in esthetic beauty historic cultural and personal meaning and basic need for interpretation so I start by stressing the
importance of metaphor and how it shapes what things mean to us I talked about the popular analogy of crack and Hartmann thinking about continual learning and applied skill to produce a useful and product and how it influences our community that talked about how the concept of making stuff as introduced by craft opened up the discussion to this notion of creativity in coding which results in this new-fangled code as part a metaphor which is about expressiveness and ideas and creating something for its own sake along the way so I showed you how craft and art are different in the means that take on so now comes the question of which is that is coded marked or is it Crack
so not a cop out or anything but it's about they each carry a different set of history and meanings but they both applied so the topic coding
is not applied still like craft but also requires creativity and out of the box thinking like part sometimes you choose the right tool for the job but sometimes you can pick your own medium it's collaborative but it's also highly personal and individual code has utility and functions but also has esthetic value their efficient to finish traditions of doing like in craft and personal preferences in ways to do things like in art and so much more coding is such a complex thing but sometimes we need more than 1 metaphor to understand it fully even in the art world when we consider is whether something is art or craft it's not mutually
exclusive this Mondriaan chair has elements of craft because it has the purpose of being Saturday but it's also a work of art in its neoclassicists style which itself is a cultural critique the thing is we are allowed to see things in multiple ways of making mixed metaphors to best suit how we want to think about and frame things I think people tend to forget us people tend to think in binaries especially programmers but in preparing this talk the I have a lot of blog posts about how programming is investing or is that it is entirely fit into this metaphor so it can be this and it's this 1 instead but the thing is you don't have to adopt a metaphor wholesale and abandoned 1 in view of the other with the Renaissance art revival it's not like the idea of craft was abandoned but rather it exists in parallel with lot of and existed in parallel with this redefined notion of art and bold led to some loss things but however I think we should give the code as metaphor more weight than we currently do as still rather French but has the potential to provide some good paradigms share it's a bit out there but maybe programmers saw themselves as artists they might feel further empowered to
take risks to break the mold in a beach or who knows maybe we rented our field as part would inspire a new demographic of people with create interest to join the field and increase the diversity of thought or maybe we start more readily attacking the names of creators to the stuff they make like how artists get rock recognition no we already have some modern date Rembrandt's like maps or figure Carlo's like Sandy Matt's perhaps we move even further in this direction and start giving programmers the creative capital they deserve or maybe we start following higher ideal of art for art's sake and focus less on the program's utilitarian purpose and more on the code itself resulting in more clearly written more maintainable code I notice maybe the thing is that there was a
massive paradigm shift that resulted in adopting the popular code as apt metaphor in recent years so consider the possibilities of adding a new 1 that the my point is a metaphors have a lot of potential to influence and we want a great diversity of ways to frame about and think about the way of the things that we do having multiple perspectives never hurts so I introduce myself earlier as a software engineer a quick search on LinkedIn and Twitter reveals how by now and thousands of people title themselves as craftsmen but I think any kind of cool if 1 day people started introducing themselves and events like these as software
sculptors the so if I have come hopefully this box some discussion here is a thank you slide for everyone who's
gives the fact of of our thank you all for that and so I a bibliography
I'll be posting online certificate was look and n now I'd like to think you guys
but that's my Twitter handle feel free to we don't need to agree disagree box and and conveniently enough it looks like we're out of time so the only part of the kind of thing now and in some and
Spiegelung <Mathematik>
Gewichtete Summe
Formale Grammatik
Zusammengesetzte Verteilung
Translation <Mathematik>
Regulator <Mathematik>
Metropolitan area network
Suite <Programmpaket>
Shape <Informatik>
Cracker <Computerkriminalität>
Kategorie <Mathematik>
Güte der Anpassung
Gebäude <Mathematik>
Quelle <Physik>
Kollaboration <Informatik>
Einheit <Mathematik>
Rechter Winkel
Physikalische Theorie
Algorithmische Programmierung
Ordnung <Mathematik>
Objekt <Kategorie>
Klasse <Mathematik>
Weg <Topologie>
Fächer <Mathematik>
Objektorientierte Programmiersprache
Protokoll <Datenverarbeitungssystem>
Open Source
Faktor <Algebra>
Wort <Informatik>
Rekursive Funktion
Prozess <Physik>
Web log
Natürliche Zahl
Formale Sprache
Familie <Mathematik>
Element <Mathematik>
Komplex <Algebra>
Arbeit <Physik>
Arithmetischer Ausdruck
Einheit <Mathematik>
Prozess <Informatik>
Wurzel <Mathematik>
Parallele Schnittstelle
Figurierte Zahl
Lineares Funktional
Zentrische Streckung
Nichtlinearer Operator
Prozess <Informatik>
Physikalischer Effekt
Klassische Physik
Ideal <Mathematik>
Elektronische Unterschrift
Algorithmische Programmiersprache
Konfiguration <Informatik>
Zusammengesetzte Verteilung
Arithmetisches Mittel
Framework <Informatik>
Twitter <Softwareplattform>
Software Engineering
Gewicht <Mathematik>
Interaktives Fernsehen
Physikalische Theorie
Framework <Informatik>
Einfach zusammenhängender Raum
Kollaboration <Informatik>
Digitales Zertifikat
Einfache Genauigkeit
Physikalisches System
Lineares Funktional
Arithmetisch-logische Einheit
Mapping <Computergraphik>
Objekt <Kategorie>
Manufacturing Execution System


Formale Metadaten

Titel Coding: Art or Craft?
Serientitel RailsConf 2015
Teil 86
Anzahl der Teile 94
Autor Xie, Emily
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/30651
Herausgeber Confreaks, LLC
Erscheinungsjahr 2015
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Developers often refer to their trade as both “art” and “craft," using the two interchangeably. Yet, the terms traditionally refer to different ends of the creative spectrum. So what is code? Art or craft? Come explore these questions in this interdisciplinary talk: What is art versus craft? How does coding fit in once we make this distinction? Is the metaphor we use to describe coding even important––and why? You’ll walk away from this discussion with a better understanding of what creating and programming means to you, and what it could mean to others.

Ähnliche Filme