{"id":"https://openalex.org/W3202354761","doi":"https://doi.org/10.1145/3484272.3484960","title":"\u201cYou have said too much\u201d: Java-like verbosity anti-patterns in Python codebases","display_name":"\u201cYou have said too much\u201d: Java-like verbosity anti-patterns in Python codebases","publication_year":2021,"publication_date":"2021-10-15","ids":{"openalex":"https://openalex.org/W3202354761","doi":"https://doi.org/10.1145/3484272.3484960","mag":"3202354761"},"language":"en","primary_location":{"id":"doi:10.1145/3484272.3484960","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3484272.3484960","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3484272.3484960","source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3484272.3484960","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101136444","display_name":"Yuzhi Ma","orcid":null},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Yuzhi Ma","raw_affiliation_strings":["Virginia Tech, USA"],"affiliations":[{"raw_affiliation_string":"Virginia Tech, USA","institution_ids":["https://openalex.org/I859038795"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013168771","display_name":"Eli Tilevich","orcid":"https://orcid.org/0000-0003-2415-6926"},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Eli Tilevich","raw_affiliation_strings":["Virginia Tech, USA"],"affiliations":[{"raw_affiliation_string":"Virginia Tech, USA","institution_ids":["https://openalex.org/I859038795"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5101136444"],"corresponding_institution_ids":["https://openalex.org/I859038795"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":2,"citation_normalized_percentile":{"value":0.21052353,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"13","last_page":"18"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9972000122070312,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9972000122070312,"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"}},{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.9901999831199646,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.986299991607666,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.9034789800643921},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8673233985900879},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.8450987339019775},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6850923299789429},{"id":"https://openalex.org/keywords/coding","display_name":"Coding (social sciences)","score":0.6353671550750732},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.48287609219551086}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9034789800643921},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8673233985900879},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.8450987339019775},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6850923299789429},{"id":"https://openalex.org/C179518139","wikidata":"https://www.wikidata.org/wiki/Q5140297","display_name":"Coding (social sciences)","level":2,"score":0.6353671550750732},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.48287609219551086},{"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":1,"locations":[{"id":"doi:10.1145/3484272.3484960","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3484272.3484960","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3484272.3484960","source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3484272.3484960","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3484272.3484960","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3484272.3484960","source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","raw_type":"proceedings-article"},"sustainable_development_goals":[{"score":0.8500000238418579,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[{"id":"https://openalex.org/G6181736272","display_name":"Systematic Quality Analysis and Improvement for Block-Based Software: Promoting the Culture of Quality From the Ground Up","funder_award_id":"1712131","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7000508215","display_name":"Building Educational Capacity in Cyber Operations","funder_award_id":"1744722","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8295797161","display_name":null,"funder_award_id":"1744722 and 1712131","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3202354761.pdf","grobid_xml":"https://content.openalex.org/works/W3202354761.grobid-xml"},"referenced_works_count":11,"referenced_works":["https://openalex.org/W1978304215","https://openalex.org/W2613723386","https://openalex.org/W2811027495","https://openalex.org/W2888945069","https://openalex.org/W2901480112","https://openalex.org/W2915967814","https://openalex.org/W2921313747","https://openalex.org/W3014988774","https://openalex.org/W3045552507","https://openalex.org/W3047986044","https://openalex.org/W3101068774"],"related_works":["https://openalex.org/W2341492732","https://openalex.org/W3187193180","https://openalex.org/W106542691","https://openalex.org/W1699080303","https://openalex.org/W4297799326","https://openalex.org/W3116064965","https://openalex.org/W4287027380","https://openalex.org/W2207495067","https://openalex.org/W1906486629","https://openalex.org/W2789551765"],"abstract_inverted_index":{"As":[0,35,68],"a":[1,36,69,112,135],"popular":[2],"language":[3],"for":[4,137],"teaching":[5],"introductory":[6,147],"programming,":[7],"Java":[8,29,52],"can":[9],"profoundly":[10],"influence":[11],"beginner":[12],"programmers":[13,46,157],"with":[14,146],"its":[15,21],"coding":[16,26,53],"style":[17,27],"and":[18,92,118],"idioms.":[19],"Despite":[20],"many":[22],"advantages,":[23],"the":[24,50,61,76,82,99],"paradigmatic":[25],"in":[28,41,65,107,125,163],"is":[30],"often":[31],"described":[32],"as":[33,104,134],"verbose.":[34],"result,":[37],"when":[38],"writing":[39],"code":[40,78,88,162],"more":[42,62],"concise":[43,160],"languages,":[44],"such":[45,72],"tend":[47],"to":[48,57,90,139,158],"emulate":[49],"familiar":[51],"idioms,":[54],"thus":[55],"neglecting":[56],"take":[58],"advantage":[59],"of":[60,71,101,114,122],"succinct":[63],"counterparts":[64],"those":[66,143],"languages.":[67],"result":[70],"verbosity,":[73],"not":[74],"only":[75],"overall":[77],"quality":[79],"suffers,":[80],"but":[81],"verbose":[83],"non-idiomatic":[84],"patterns":[85],"also":[86],"render":[87],"hard":[89],"understand":[91],"maintain.":[93],"In":[94],"this":[95],"paper,":[96],"we":[97],"study":[98,121],"incidences":[100],"Java-like":[102],"verbosity":[103],"they":[105],"occur":[106],"Python":[108,128],"codebases.":[109,129],"We":[110,130,149],"present":[111],"collection":[113],"Java-Like":[115],"Verbosity":[116],"Anti-patterns":[117],"our":[119,132],"pilot":[120],"their":[123],"presence":[124],"representative":[126],"open-source":[127],"discuss":[131],"findings":[133],"call":[136],"action":[138],"computing":[140],"educators,":[141],"particularly":[142],"who":[144],"work":[145],"students.":[148],"need":[150],"novel":[151],"pedagogical":[152],"interventions":[153],"that":[154],"encourage":[155],"budding":[156],"write":[159],"idiomatic":[161],"any":[164],"language.":[165]},"counts_by_year":[{"year":2025,"cited_by_count":2}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
