{"id":"https://openalex.org/W2140623599","doi":"https://doi.org/10.1109/ms.2004.1293081","title":"OO in one sentence: keep it dry, shy, and tell the other guy","display_name":"OO in one sentence: keep it dry, shy, and tell the other guy","publication_year":2004,"publication_date":"2004-05-01","ids":{"openalex":"https://openalex.org/W2140623599","doi":"https://doi.org/10.1109/ms.2004.1293081","mag":"2140623599"},"language":"en","primary_location":{"id":"doi:10.1109/ms.2004.1293081","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ms.2004.1293081","pdf_url":null,"source":{"id":"https://openalex.org/S6725529","display_name":"IEEE Software","issn_l":"0740-7459","issn":["0740-7459","1937-4194"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Software","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5110205063","display_name":"A. Hunt","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"A. Hunt","raw_affiliation_strings":["The Pragmatic Programmers","[The Pragmatic Programmers]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The Pragmatic Programmers","institution_ids":[]},{"raw_affiliation_string":"[The Pragmatic Programmers]","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5065822881","display_name":"D. A. Thomas","orcid":"https://orcid.org/0000-0002-8141-3362"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"D. Thomas","raw_affiliation_strings":["The Pragmatic Programmers","[The Pragmatic Programmers]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The Pragmatic Programmers","institution_ids":[]},{"raw_affiliation_string":"[The Pragmatic Programmers]","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.74,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.78765774,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"21","issue":"3","first_page":"101","last_page":"103"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9754999876022339,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9754999876022339,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11986","display_name":"Scientific Computing and Data Management","score":0.9692999720573425,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T10101","display_name":"Cloud Computing and Resource Management","score":0.9487000107765198,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7597095370292664},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.7085561752319336},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.7005826234817505},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6294474601745605},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5467426180839539},{"id":"https://openalex.org/keywords/sentence","display_name":"Sentence","score":0.5040053725242615},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.47957032918930054},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.4494860768318176},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.4396451711654663},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.42073625326156616},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.4176158905029297},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.3371564447879791},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2096194326877594},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.07686102390289307}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7597095370292664},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.7085561752319336},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.7005826234817505},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6294474601745605},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5467426180839539},{"id":"https://openalex.org/C2777530160","wikidata":"https://www.wikidata.org/wiki/Q41796","display_name":"Sentence","level":2,"score":0.5040053725242615},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.47957032918930054},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.4494860768318176},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4396451711654663},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.42073625326156616},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.4176158905029297},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.3371564447879791},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2096194326877594},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.07686102390289307},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/ms.2004.1293081","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ms.2004.1293081","pdf_url":null,"source":{"id":"https://openalex.org/S6725529","display_name":"IEEE Software","issn_l":"0740-7459","issn":["0740-7459","1937-4194"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Software","raw_type":"journal-article"},{"id":"pmh:oai:bibcyt.ucla.edu.ve:T070300013461/16","is_oa":false,"landing_page_url":"http://bibcyt.ucla.edu.ve/cgi-win/be_alex.exe?Acceso=T070300013461/16&Nombrebd=Bciucla","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.7699999809265137,"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2046765700","https://openalex.org/W4384345686","https://openalex.org/W262455470","https://openalex.org/W4242899858","https://openalex.org/W2145834781","https://openalex.org/W2357937784","https://openalex.org/W2547618384","https://openalex.org/W2577782152","https://openalex.org/W3081644756","https://openalex.org/W2789551765"],"abstract_inverted_index":{"Some":[0],"people":[1],"feel":[2],"that":[3,64,133],"\"getting\"":[4],"object-oriented":[5],"programming":[6,18,21],"is":[7],"a":[8,57],"difficult,":[9],"time-consuming":[10],"process.":[11],"Many":[12],"of":[13,16,53,89],"the":[14,68,90,127],"cornerstones":[15],"OO":[17,148],"benefit":[19],"other":[20,83,128],"paradigms":[22],"as":[23],"well.":[24],"Even":[25],"if":[26],"we":[27,35,137],"are":[28,44],"writing":[29,48],"shell":[30],"scripts":[31],"or":[32],"batch":[33],"files,":[34],"can":[36,66,111,138],"use":[37,79],"these":[38,54,140],"techniques":[39],"to":[40,47,73,93,101,142],"great":[41],"advantage.":[42],"There":[43],"many":[45,103],"aspects":[46],"good":[49,144],"code,":[50,145],"but":[51],"most":[52],"hinge":[55],"on":[56],"single":[58],"underlying":[59],"quality:":[60],"flexibility.":[61],"Flexibility":[62],"means":[63,134],"you":[65],"change":[67],"code":[69,108],"easily,":[70],"adapt":[71],"it":[72,80,119],"new":[74],"and":[75,78,106,125,135],"revised":[76],"circumstances,":[77],"in":[81],"contexts":[82],"than":[84],"those":[85],"originally":[86],"intended.":[87],"Most":[88],"important":[91],"lessons":[92,141],"be":[94,112],"learned":[95],"about":[96],"object":[97],"technology":[98],"-":[99,110],"how":[100,136],"avoid":[102],"common":[104],"mistakes":[105],"keep":[107,118],"flexible":[109],"summed":[113],"up":[114],"into":[115],"one":[116],"sentence:":[117],"DRY":[120],"(don't":[121],"repeat":[122],"yourself),":[123],"shy,":[124],"tell":[126],"guy.":[129],"We":[130],"describe":[131],"what":[132],"apply":[139],"all":[143],"not":[146],"just":[147],"code.":[149]},"counts_by_year":[{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
