BibTeX bibliography csharp.bib (original) (raw)
@String{inst-UTAH-MATH = "University of Utah, Department of Mathematics"} @String{inst-UTAH-MATH:adr = "Salt Lake City, UT 84112-0090, USA"}
@String{j-CACM = "Communications of the Association for Computing Machinery"}
@String{j-CCCUJ = "C/C++ Users Journal"}
@String{j-CCPE = "Concurrency and Computation: Prac-tice and Experience"}
@String{j-COMP-ARCH-NEWS = "ACM SIGARCH Computer Architecture News"}
@String{j-COMP-J = "The Computer Journal"}
@String{j-COMP-LANGS-SYS-STRUCT = "Computer Languages, Systems and Structures"}
@String{j-COMP-PHYS-COMM = "Computer Physics Communications"}
@String{j-COMPUTER = "Computer"}
@String{j-DDJ = "Dr. Dobb's Journal of Software Tools"}
@String{j-FUTURE-INTERNET = "Future Internet"}
@String{j-IEEE-DISTRIB-SYST-ONLINE = "IEEE Distributed Systems Online"}
@String{j-IEEE-SOFTWARE = "IEEE Software"}
@String{j-INFORMATION-WEEK = "Information Week"}
@String{j-INFOWORLD = "InfoWorld"}
@String{j-INT-J-COMP-APPL = "International Journal of Computer Applications"}
@String{j-J-OPEN-SOURCE-SOFT = "Journal of Open Source Software"}
@String{j-LECT-NOTES-COMP-SCI = "Lecture Notes in Computer Science"}
@String{j-LOGIN = ";login: the USENIX Association newsletter"}
@String{j-NETWORK-SECURITY = "Network Security"}
@String{j-OPER-SYS-REV = "Operating Systems Review"}
@String{j-PROC-VLDB-ENDOWMENT = "Proceedings of the VLDB Endowment"}
@String{j-QUEUE = "ACM Queue: Tomorrow's Computing Today"}
@String{j-SCI-COMPUT-PROGRAM = "Science of Computer Programming"}
@String{j-SIGADA-LETTERS = "ACM SIGADA Ada Letters"}
@String{j-SIGCSE = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)"}
@String{j-SIGPLAN = "ACM SIG{-}PLAN Notices"}
@String{j-SIGSOFT = "ACM SIGSOFT Software Engineering Notes"}
@String{j-SOFTWAREX = "SoftwareX"}
@String{j-TECS = "ACM Transactions on Embedded Computing Systems"}
@String{j-SPE = "Soft-ware\emdash Prac-tice and Experience"}
@String{j-TACO = "ACM Transactions on Architecture and Code Optimization"}
@String{j-THEOR-COMP-SCI = "Theoretical Computer Science"}
@String{j-TOCE = "ACM Transactions on Computing Education"}
@String{j-TOCS = "ACM Transactions on Computer Systems"}
@String{j-TOMACS = "ACM Transactions on Modeling and Computer Simulation"}
@String{j-TOPLAS = "ACM Transactions on Programming Languages and Systems"}
@String{pub-A-K-PETERS = "A. K. Peters, Ltd."} @String{pub-A-K-PETERS:adr = "Wellesley, MA, USA"}
@String{pub-ACM = "ACM Press"} @String{pub-ACM:adr = "New York, NY 10036, USA"}
@String{pub-APRESS = "Apress"} @String{pub-APRESS:adr = "Berkeley, CA, USA"}
@String{pub-AW = "Ad{-d}i{-s}on-Wes{-l}ey"} @String{pub-AW:adr = "Reading, MA, USA"}
@String{pub-CAMBRIDGE = "Cambridge University Press"} @String{pub-CAMBRIDGE:adr = "Cambridge, UK"}
@String{pub-CORIOLIS = "Coriolis Group Books"} @String{pub-CORIOLIS:adr = "Scottsdale, AZ, USA"}
@String{pub-DPUNKT-VERLAG = "dpunkt-Verlag"} @String{pub-DPUNKT-VERLAG:adr = "Heidelberg, Germany"}
@String{pub-ECMA = "ECMA (European Association for Standardizing Information and Communication Systems)"} @String{pub-ECMA:adr = "Geneva, Switzerland"}
@String{pub-ELSEVIER = "Elsevier"} @String{pub-ELSEVIER:adr = "Amsterdam, The Netherlands"}
@String{pub-IDG = "IDG Books"} @String{pub-IDG:adr = "San Mateo, CA, USA"}
@String{pub-ISO = "International Organization for Standardization"} @String{pub-ISO:adr = "Geneva, Switzerland"}
@String{pub-JONES-BARTLETT = "Jones and Bartlett"} @String{pub-JONES-BARTLETT:adr = "Boston, MA, USA"}
@String{pub-MANNING = "Manning Publications"} @String{pub-MANNING:adr = "Greenwich, CT, USA"}
@String{pub-MCGRAW-HILL = "Mc{-}Graw-Hill"} @String{pub-MCGRAW-HILL:adr = "New York, NY, USA"}
@String{pub-MICROSOFT = "Microsoft Press"} @String{pub-MICROSOFT:adr = "Redmond, WA, USA"}
@String{pub-MORGAN-KAUFMANN = "Morgan Kaufmann Publishers"} @String{pub-MORGAN-KAUFMANN:adr = "Los Altos, CA 94022, USA"}
@String{pub-MIT = "MIT Press"} @String{pub-MIT:adr = "Cambridge, MA, USA"}
@String{pub-MT = "M&T Books"} @String{pub-MT:adr = "M&T Publishing, Inc., 501 Galveston Drive, Redwood City, CA 94063, USA"}
@String{pub-NETWORK-THEORY = "Network Theory Ltd."} @String{pub-NETWORK-THEORY:adr = "Bristol, UK"}
@String{pub-ORA = "O'Reilly & Associates, Inc."} @String{pub-ORA:adr = "103a Morris Street, Sebastopol, CA 95472, USA, Tel: +1 707 829 0515, and 90 Sherman Street, Cambridge, MA 02140, USA, Tel: +1 617 354 5800"}
@String{pub-ORA-MEDIA = "O'Reilly Media, Inc."} @String{pub-ORA-MEDIA:adr = "1005 Gravenstein Highway North, Sebastopol, CA 95472, USA"}
@String{pub-OSBORNE-MCGRAW-HILL = "Osborne\slash Mc{-}Graw-Hill"} @String{pub-OSBORNE-MCGRAW-HILL:adr = "Berkeley, CA, USA"}
@String{pub-PAGINA = "Pagina F{"o}rlags AB"} @String{pub-PAGINA:adr = "Box 706, Travgatan 92, 194 27 Upplands-V{"a}sby, Sweden"}
@String{pub-PEARSON-PH = "Pearson Pren{-}tice Hall"} @String{pub-PEARSON-PH:adr = "Upper Saddle River, NJ 07458, USA"}
@String{pub-PH = "Pren{-}tice-Hall"} @String{pub-PH:adr = "Upper Saddle River, NJ 07458, USA"}
@String{pub-PHPTR = "Pren{-}tice-Hall PTR"} @String{pub-PHPTR:adr = "Upper Saddle River, NJ 07458, USA"}
@String{pub-ROUTLEDGE = "Routledge & Kegan Paul"} @String{pub-ROUTLEDGE:adr = "London, UK and New York, NY, USA"}
@String{pub-SAMS = "Howard W. Sams"} @String{pub-SAMS:adr = "Indianapolis, IN 46268, USA"}
@String{pub-SV = "Spring{-}er-Ver{-}lag"}
@String{pub-SV:adr = "Berlin, Germany/ Heidelberg,
Germany/ London, UK~/ etc."}
@String{pub-SYBEX = "Sybex, Inc."} @String{pub-SYBEX:adr = "2021 Challenger Driver, Suite 100, Alameda, CA 94501, USA"}
@String{pub-WILEY = "John Wiley"} @String{pub-WILEY:adr = "New York, NY, USA"}
@String{pub-WORDWARE = "Wordware Publishing"} @String{pub-WORDWARE:adr = "Plano, TX, USA"}
@String{pub-WROX = "Wrox Press"} @String{pub-WROX:adr = "Chicago, IL, USA"}
@Book{Harvey:2000:CPP, editor = "Burton Harvey and others", title = "{C#} programming with the public beta", publisher = pub-WROX, address = pub-WROX:adr, pages = "ix + 393", year = "2000", ISBN = "1-86100-487-7 (paperback)", ISBN-13 = "978-1-86100-487-1 (paperback)", LCCN = "QA76.73.C154 C173 2000", bibdate = "Mon Jul 5 08:09:51 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Programmer to programmer", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Article{Wiltamuth:2000:CPL, author = "Scott Wiltamuth", title = "The {C#} Programming Language", journal = j-DDJ, volume = "25", number = "10", pages = "21--22, 24, 26, 28, 30--32", month = oct, year = "2000", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Wed Nov 8 15:09:24 MST 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/ftp/2000/2000_10/cshrp.txt", abstract = "Microsoft's C# programming language promises the power of C++ with the productivity of Visual Basic. Scott builds a Stack class that demonstrates important aspects of the language. Additional resources include cshrp.txt (listings).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{Albahari:2001:CE, author = "Ben Albahari and Peter Drayton and Brad Merrill", title = "{C#} Essentials", publisher = pub-ORA, address = pub-ORA:adr, pages = "xiv + 199", month = feb, year = "2001", ISBN = "0-596-00079-0", ISBN-13 = "978-0-596-00079-0", LCCN = "QA76.73.C154 A418 2001", bibdate = "Mon Apr 18 15:02:22 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/; z3950.loc.gov:7090/Voyager", price = "US$19.95", URL = "http://www.oreilly.com/catalog/csharpess", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language)", }
@Article{Anonymous:2001:LTC, author = "Anonymous", title = "A Look at Two {C#} Books", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, fjournal = "C/C++ Users Journal", }
@Article{Baran:2001:NVA, author = "Nicholas Baran", title = "News and Views: Anonymity and the {Internet}; Is Industry Hogging Computer Science Talent?; Relief from Acronyms; {OpenML} Spec Released; {C#} Not Just a {Java} Killer, Says Anders; And the Winners Are \ldots{}", journal = j-DDJ, volume = "26", number = "7", pages = "18--18", month = jul, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Jun 7 06:07:17 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{Beyer:2001:CCP, author = "Derek Beyer", title = "{C# COM+} programming", publisher = pub-MT, address = pub-MT:adr, pages = "408", year = "2001", ISBN = "0-7645-4835-2 (paperback)", ISBN-13 = "978-0-7645-4835-2 (paperback)", LCCN = "QA76.73.C154 B49 2001b", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", acknowledgement = ack-nhfb, remark = "Includes CD-ROM.", subject = "Programming languages (Electronic computers)", }
@Article{Bonzini:2001:LHG, author = "Paolo Bonzini and Stuart Halloway and John Penry and Oluseyi Sonaiya and Bruce E. Hogman and Greg Bissell and Michael Hobbs and Ben Laurie", title = "Letters: Huge {GCC} Executables; {Java} Class Loader; {Department of Dumb Ideas}; Setting the Record Straight; The Legacy of {C#}; {DHTML} Source-Code Correction; Shared Libraries Aren't All Bad; {Zuse} and {Intel}", journal = j-DDJ, volume = "26", number = "8", pages = "10, 12", month = aug, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Wed Jul 11 06:31:35 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Article{Cirillo:2001:BRC, author = "William Cirillo", title = "Book Review: {{\em C/C++ Contributing Editors}}", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Books on C# are accumulating apace. You might look here before you buy.", acknowledgement = ack-nhfb, fjournal = "C/C++ Users Journal", }
@Article{Crowell:2001:CP, author = "Talbott Crowell", title = "{C#} and {Perl}: {C#} has a lot in common with many languages", journal = j-DDJ, volume = "26", number = "10", pages = "50, 52, 54", month = oct, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Feb 12 05:21:40 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/ftp/2001/2001_10/csharpperl.txt", abstract = "Although C# is an evolution of C/C++ much like Java, it also borrows from other languages --- and has facilities familiar to Perl. Talbott presents common Perl scripts that you can implement in C#. Additional resources include {\tt csharpperl.txt} (listings).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Article{Eaddy:2001:CVJ, author = "Marc Eaddy", title = "{C#} Versus {Java}", journal = j-DDJ, volume = "26", number = "2", pages = "74, 76, 78, 80, 82", month = feb, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Feb 15 12:14:41 MST 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/ftp/2001/2001_02/csharpj.txt", abstract = "Six of one and half a dozen of the other? Marc finds out when he examines how Microsoft's C# differs from Java. Additional resources include csharpj.txt (listings).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{ECMA-334-1, author = "{ECMA}", title = "{ECMA-334}: {C#} Language Specification", publisher = pub-ECMA, address = pub-ECMA:adr, pages = "xiii + 479", month = dec, year = "2001", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Sat May 14 22:54:18 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf; http://www.ecma-international.org/publications/standards/Ecma-334.htm", acknowledgement = ack-nhfb, remark = "Also ISO/IEC 23270.", }
@Article{Erickson:2001:DDE, author = "Jonathan Erickson", title = "{Dr. Dobb's Excellence In Programming Award}", journal = j-DDJ, volume = "26", number = "5", pages = "20--21", month = may, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Apr 12 06:45:08 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", abstract = "From Turbo Pascal to C#, Anders Hejlsberg has made significant contributions to the art and science of computer programming. And he's the recipient of this year's Dr. Dobb's Excellence in Programming Award.", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@InProceedings{Gannon:2001:JCC, author = "Dennis Gannon and others", title = "Panel Discussion: {Java}, {C++}, {C#}, and Virtual Machines for high performance", crossref = "ACM:2001:PAJ", pages = "??--??", year = "2001", bibdate = "Mon May 06 09:31:01 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, keywords = "Java", }
@Book{Gunnerson:2001:PCI, author = "Eric Gunnerson and Wout Natter", title = "Programmeren in {C#}: een inleiding voor programmeurs. ({Dutch}). [{Programming} in {C#}: an introduction for programmers]", publisher = "Academic Service", address = "Schoonhoven, The Netherlands", pages = "xxi + 338", year = "2001", ISBN = "90-395-1717-7", ISBN-13 = "978-90-395-1717-8", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Dutch", }
@Book{Liberty:2001:PC, author = "Jesse Liberty", title = "Programming {C#}", publisher = pub-ORA, address = pub-ORA:adr, pages = "xix + 658", month = jul, year = "2001", ISBN = "0-596-00117-7", ISBN-13 = "978-0-596-00117-9", LCCN = "QA76.73.C154 L432 2001", bibdate = "Mon Apr 18 15:02:48 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/; z3950.loc.gov:7090/Voyager", price = "US$39.95", URL = "http://www.oreilly.com/catalog/progcsharp", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Computer programming", }
@Article{Lippman:2001:CD, author = "Stanley B. Lippman", title = "The {C#} Delegate", journal = j-CCCUJ, volume = "19", number = "7", pages = "42--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "If you're comparing C# to other ``C-family'' languages, here's an unusual feature that has no real equivalent in C++ or Java.", acknowledgement = ack-nhfb, fjournal = "C/C++ Users Journal", }
@Book{Powell:2001:CNF, author = "Robert Powell and Richard Weeks", title = "{C#} and the {.NET} framework: the {C++} perspective", publisher = pub-SAMS, address = pub-SAMS:adr, pages = "xi + 620", year = "2001", ISBN = "0-672-32153-X (paperback)", ISBN-13 = "978-0-672-32153-5 (paperback)", LCCN = "QA76.73.C154 P69 2002; QA76.73.C154 .P63 2001", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", acknowledgement = ack-nhfb, subject = "Programming languages (Electronic computers)", }
@Book{Schildt:2001:CBG, author = "Herbert Schildt", title = "{C#}: a beginner's guide", publisher = pub-OSBORNE-MCGRAW-HILL, address = pub-OSBORNE-MCGRAW-HILL:adr, pages = "xviii + 621", year = "2001", ISBN = "0-07-213329-5", ISBN-13 = "978-0-07-213329-5", LCCN = "QA76.73.C154 S338 2001", bibdate = "Mon May 17 09:07:25 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://osborne.com/programming%5Fwebdev/0072133295/0072133295.shtml; http://www.loc.gov/catdir/description/mh024/2002277354.html; http://www.loc.gov/catdir/toc/mh023/2002277354.html", acknowledgement = ack-nhfb, subject = "C# (computer program language)", }
@Article{Stallings:2001:PBB, author = "William Stallings and Lou Grinzo", title = "Programmer's Bookshelf: a {Bluetooth} Trio and {C#}", journal = j-DDJ, volume = "26", number = "9", pages = "130, 132", month = sep, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Feb 12 05:21:39 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", abstract = "William examines a trio of Bluetooth books, including Bluetooth: Connect Without Cables, by Jennifer Bray and Charles Sturman, Bluetooth Revealed, by Brent Miller and Chatschik Bisdikian, and Bluetooth Demystified, by Nathan Muller. Lou weighs in on A Programmer's Introduction to C#, by Eric Gunnerson.", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Article{Swaine:2001:PPA, author = "Michael Swaine", title = "Programming Paradigms: Alternatives to {Java}", journal = j-DDJ, volume = "26", number = "2", pages = "135--137", month = feb, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Feb 15 12:14:41 MST 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", abstract = "So Java isn't your cup of tea? Michael explores the alternatives.", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", keywords = "C#; Component Pascal; Internet C++; Juice; Lisp; Perl", }
@Book{Troelsen:2001:CNP, author = "Andrew W. Troelsen", title = "{C#} and the {.NET} platform", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxiii + 970", year = "2001", ISBN = "1-893115-59-3", ISBN-13 = "978-1-893115-59-0", LCCN = "QA76.73.C154 T764 2001b", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio3333214", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Microsoft.net framework", }
@Book{Wille:2001:CI, author = "Christoph Wille and Sebastiaan de Coo", title = "{C#}: een inleiding. ({Dutch}) [{C#}: an introduction]", publisher = "SAMS", address = "Amsterdam, The Netherlands", pages = "x + 204", year = "2001", ISBN = "90-430-0425-1", ISBN-13 = "978-90-430-0425-1", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Dutch", }
@Article{Wilson:2001:PBT, author = "Gregory V. Wilson", title = "Programmer's Bookshelf: Time Warps", journal = j-DDJ, volume = "26", number = "2", pages = "159--160", month = feb, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Feb 15 12:14:41 MST 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", abstract = "Greg looks at a bunch of books, including Programming Ruby, Program Development in Java, The Interpretation of Object-Oriented Programming Languages, MMIXware: A RISC Computer for the Third Millennium, Essential XML, XML Processing with Python, Presenting C#, and Women in Computer Sciences: Closing the Gap in Higher Education.", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{Albahari:2002:CEP, author = "Ben Albahari and Peter Drayton and Brad Merrill", title = "{C#} Essentials: Programming the {.NET} Framework", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "xii + 202", year = "2002", ISBN = "0-596-00315-3", ISBN-13 = "978-0-596-00315-9", LCCN = "QA76.73.C154 A418 2002", bibdate = "Mon Apr 18 15:05:03 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/prdindex.html; z3950.loc.gov:7090/Voyager", price = "US$24.95", URL = "http://safari.oreilly.com/0596003153; http://www.oreilly.com/catalog/csharpess2", acknowledgement = ack-nhfb, publishersummary = "Concise but thorough, this second edition of C# Essentials introduces the Microsoft C# programming language, including the Microsoft .NET Common Language Runtime (CLR) and .NET Framework Class Libraries (FCL) that support it. This books compact format and terse presentation of key concepts serve as a roadmap to the online documentation included with the Microsoft .NET Framework SDK; the many examples provide much-needed context.", subject = "C# [C-sharp] (computer programming language); Microsoft .NET", }
@Article{Alm:2002:YBS, author = "Jacob Alm and Robert Baber and Shauna Eggers and Christopher O'Toole and Abin Shahab", title = "You'd better set down for this!: creating a set type for {CS1} & {CS2} in {C#}", journal = j-SIGCSE, volume = "34", number = "3", pages = "14--18", month = sep, year = "2002", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/637610.544421", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:56:56 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", abstract = "The authors have developed a set class and other supporting materials that would be useful for a CS1 and CS2 course taught in the C# programming language developed by Microsoft Corporation [1]. The primary goals were to create a data structure that would be simple and intuitive enough for novices to use in CS1 but also powerful enough to be useful for CS2 students. In addition to the set class itself the authors have developed several sample programs and an interactive set environment. In developing these materials the authors explored the expressive capabilities of the C# language and found that it was particularly well suited to this task.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Book{Anonymous:2002:MMS, author = "Anonymous", title = "{MCAD\slash MCSD} self-paced training kit: developing Windows-based applications with {Microsoft Visual Basic .NET} and {Microsoft Visual C# .NET}, Exams 70-306 and 70-316", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, pages = "xxvii + 541", year = "2002", ISBN = "0-7356-1533-0", ISBN-13 = "978-0-7356-1533-5", LCCN = "CD-ROM; 005; QA76.3 .M32556 2002; DVD", bibdate = "Tue Mar 14 08:53:02 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.libris.kb.se:210/libr", acknowledgement = ack-nhfb, remark = "Includes 1 DVD and 1 CD-ROM.", subject = "Microsoft Visual BASIC; Microsoft software; Examinations; Study guides; C# [C-sharp] (computer programming language); Electronic data processing personnel; Certification", }
@Book{Archer:2002:IC, author = "Tom Archer and Andrew Whitechapel", title = "Inside {C#}", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, edition = "Second", pages = "xxxiii + 873", year = "2002", ISBN = "0-7356-1648-5 (paperback)", ISBN-13 = "978-0-7356-1648-6 (paperback)", LCCN = "QA76.73.C154 A73 2002", bibdate = "Tue Mar 14 09:59:09 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; sirsi.library.utoronto.ca:2200/UNICORN", acknowledgement = ack-nhfb, remark = "Architectural reference.", subject = "C# [C-sharp] (computer programming language)", }
@Book{Archer:2002:PCT, author = "Tom Archer", title = "Programmering i {C#}", publisher = "Gyldendal akademisk", address = "Oslo, Norway", pages = "xx + 378", year = "2002", ISBN = "82-05-30366-5", ISBN-13 = "978-82-05-30366-9", LCCN = "????", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, remark = "Norwegian translation by Julie Kristine Rustad.", subject = "C# [C-sharp]; csharp; C-Sharp; Programmering; Programmeringsspr{\aa}k", }
@Book{Archer:2002:PMC, author = "Tom Archer and Andrew Whitechapel and Bas van Spijker and Wout Natter and others", title = "Programmeren met {C#}", publisher = "Academic Service", address = "Schoonhoven, The Netherlands", edition = "Second", pages = "xxxi + 874", year = "2002", ISBN = "90-395-1927-7", ISBN-13 = "978-90-395-1927-1", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Dutch", subject = "Programmeren (computers)", }
@Book{Bakharia:2002:CFE, author = "Aneesha Bakharia", title = "{C#}: fast and easy {Web} development", publisher = "Premier", address = "Rocklin, CA, USA", pages = "xx + 553", year = "2002", ISBN = "1-931841-05-5 (paperback)", ISBN-13 = "978-1-931841-05-4 (paperback)", LCCN = "QA76.73.C154 B35 2002eb", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", acknowledgement = ack-nhfb, subject = "Programming languages (Electronic computers); Web site development", }
@Book{Bellinaso:2002:ANW, author = "Marco Bellinaso and Kevin Hoffman", title = "{ASP.NET Website} programming: problem, design, solution", publisher = pub-WROX, address = pub-WROX:adr, edition = "{C#}", pages = "ix + 540", year = "2002", ISBN = "0-7645-4377-6 (paperback)", ISBN-13 = "978-0-7645-4377-7 (paperback)", LCCN = "TK5105.8885.A26 B45 2002b", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", series = "Programmer to programmer", acknowledgement = ack-nhfb, subject = "Active Server Pages (ASP); Web sites; Design; Internet programming; Microsoft .NET", }
@Book{Bo:2002:C, author = "Brinch Bo", title = "{C#}", publisher = "IDG", address = "Valby, Denmark", pages = "212", year = "2002", ISBN = "87-7843-519-6", ISBN-13 = "978-87-7843-519-4", LCCN = "????", bibdate = "Tue Mar 14 08:33:51 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.kb.dk:2100/KGL01", price = "DKR 249,00", series = "Udvikling af .NET-applikationer med C#.", acknowledgement = ack-nhfb, subject = "C# [C-sharp]; programmering; programmeringssprog", }
@Article{Buis:2002:SLS, author = "Paul Buis", title = "Socket-Level Server Programming and {.NET}", journal = j-DDJ, volume = "27", number = "9", pages = "25--26, 28, 30, 32", month = sep, year = "2002", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Fri Sep 13 06:15:52 MDT 2002", bibsource = "http://www.ddj.com/articles/2002/0209/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/ftp/2002/2002_09/tcpecho.txt; http://www.ddj.com/ftp/2002/2002_09/tcpecho.zip", abstract = "Paul presents both C# and VB.NET implementations of an echo server, showing how you can handle sockets and asynchronous callbacks in the .NET Framework. Additional resources include tcpecho.txt (listings) and tcpecho.zip (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{Bustos:2002:BNW, author = "Joe Bustos and Karli Watson", title = "Beginning {.NET Web} services using {C#}", publisher = pub-WROX, address = pub-WROX:adr, pages = "v + 342", year = "2002", ISBN = "1-86100-757-4", ISBN-13 = "978-1-86100-757-5", LCCN = "????", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Programmer to programmer", acknowledgement = ack-nhfb, }
@Book{Cazzulino:2002:BCW, author = "Daniel Cazzulino and Victor Garcia Aprea and James Greewood and Chris Hart", title = "Beginning {C#} {Web} applications: with {Visual Studio .NET}", publisher = pub-WROX, address = pub-WROX:adr, pages = "ix + 598", year = "2002", ISBN = "1-86100-732-9 (paperback)", ISBN-13 = "978-1-86100-732-2 (paperback)", LCCN = "????", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", price = "US$28.99", series = "Programmer to programmer", acknowledgement = ack-nhfb, subject = "Web site development; C# [C-sharp] (computer programming language); Microsoft .NET Framework", }
@Manual{Csharp:2002:SEC, key = "C#-lang-spec", title = "Standard {ECMA-334}: {C#} Language Specification", organization = "ECMA International", address = "114 Rue du Rh{^o}ne, CH-1204 Geneva, Switzerland", edition = "Second", month = dec, year = "2002", bibdate = "Mon Jun 21 10:01:07 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf", acknowledgement = ack-nhfb, }
@Book{Deitel:2002:CHP, author = "Harvey M. Deitel", title = "{C#}: how to program", publisher = pub-PH, address = pub-PH:adr, pages = "1568", year = "2002", ISBN = "0-13-062221-4 (paperback), 0-13-089571-7, 0-13-089572-5, 0-13-064657-1 (CD-ROM)", ISBN-13 = "978-0-13-062221-1 (paperback), 978-0-13-089571-4, 978-0-13-089572-1, 978-0-13-064657-6 (CD-ROM)", LCCN = "QA76.73.C154 C17 2002", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, subject = "C# [C-sharp]", }
@Book{Drayton:2002:CLP, author = "Peter Drayton and Ben Albahari and Ted Neward", title = "{C#} Language Pocket Reference", publisher = pub-ORA, address = pub-ORA:adr, pages = "ix + 118", year = "2002", ISBN = "0-596-00429-X", ISBN-13 = "978-0-596-00429-3", LCCN = "QA76.73.C155 D73 2003", bibdate = "Wed Oct 30 16:15:17 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/prdindex.html", price = "US$12.95", URL = "http://www.oreilly.com/catalog/csharplangpr", acknowledgement = ack-nhfb, publishersummary = "The C# Language Pocket Reference offers the convenience of a quick reference in a format that will actually fit in your pocket. The book includes a guide to C# language elements, a brief overview of the Framework Class library, a cross-reference for namespaces and assemblies, a list of compiler syntax and switches, a regular expressions reference guide, and more.", }
@Book{Drayton:2002:CND, author = "Peter Drayton and Ben Albahari and Ted Neward", title = "{C#} in a nutshell: a desktop quick reference", publisher = pub-ORA, address = pub-ORA:adr, pages = "xxii + 832", year = "2002", ISBN = "0-596-00181-9", ISBN-13 = "978-0-596-00181-0", LCCN = "QA76.73.C154 D73 2002", bibdate = "Mon Apr 18 15:03:33 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/prdindex.html; z3950.loc.gov:7090/Voyager", price = "US$39.95", series = "A Nutshell handbook", URL = "http://safari.oreilly.com/0596001819; http://www.oreilly.com/catalog/csharpnut", acknowledgement = ack-nhfb, keywords = "C# [C-sharp] (computer programming language)", publishersummary = "C# in a Nutshell aims to become the de-facto standard for this young programming language. A reference to be used daily, this book also includes essential background information to become productive quickly. Not a ``how-to'' book or a rehash of Microsoft's documentation, this book goes to the source of the language and APIs to present content in a way that professional programmers will value above all other books.", subject = "C# [C-sharp] (computer programming language)", }
@Book{ECMA-334-2, author = "{ECMA}", title = "{ECMA-334}: {C#} Language Specification", publisher = pub-ECMA, address = pub-ECMA:adr, edition = "Second", pages = "xiv + 471", month = dec, year = "2002", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Sat May 14 22:54:18 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf; http://www.ecma-international.org/publications/standards/Ecma-334.htm", acknowledgement = ack-nhfb, remark = "Also ISO/IEC 23270.", }
@Book{ECMA:2002:ECL, author = "{ECMA}", title = "{ECMA-334}: {C#} Language Specification", publisher = pub-ECMA, address = pub-ECMA:adr, edition = "Second", pages = "xiv + 471", month = dec, year = "2002", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Sat May 14 22:54:18 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf; http://www.ecma-international.org/publications/standards/Ecma-334.htm", acknowledgement = ack-nhfb, remark = "Also ISO/IEC 23270.", }
@Book{Ferguson:2002:CB, editor = "Jeff Ferguson and Brian Patterson and Jason Beres and Pierre Boutquin and Meeta Gupta", title = "{C#} bible", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "xxxi + 798", year = "2002", ISBN = "0-7645-4834-4 (paperback)", ISBN-13 = "978-0-7645-4834-5 (paperback)", LCCN = "QA76.73.C154 C15 2002", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Programming languages (Electronic computers)", xxnote = "Check author order??", }
@Book{Ferrara:2002:PNW, author = "Alex Ferrara and Matthew MacDonald", title = "Programming {.NET Web} Services", publisher = pub-ORA, address = pub-ORA:adr, pages = "xvi + 396", year = "2002", ISBN = "0-596-00250-5", ISBN-13 = "978-0-596-00250-3", LCCN = "QA76.625 .F49 2002", bibdate = "Mon Apr 18 15:04:21 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/prdindex.html; z3950.loc.gov:7090/Voyager", price = "US$39.95", URL = "http://www.oreilly.com/catalog/prognetws", acknowledgement = ack-nhfb, publishersummary = "This comprehensive tutorial teaches programmers the skills they need to develop XML Web services hosted on the Microsoft .NET platform. Programming .NET Web Services also shows you how to consume these services on both Microsoft and non-Windows clients, and how to weave them into well-designed and scalable applications. For those interested in building industrial-strength Web services, this book is full of practical information and good old-fashioned advice.", remark = "Building Web services with ASP.NET and C#.", subject = "Internet programming; Microsoft .NET; Active server pages; C# [C-sharp] (computer programming language); XML (Document markup language)", }
@Book{Foxall:2002:CU, author = "James Foxall and Wendy Haro- Chun and Ammerins {Moss-de Boer} and others", title = "{C#} in 24 uur. ({Dutch}) [{C#} in 24 hours]", publisher = "Sams", address = "Amsterdam, The Netherlands", pages = "xix + 529", year = "2002", ISBN = "90-430-0628-9", ISBN-13 = "978-90-430-0628-6", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", series = "In 24 uur; In 24 uur", acknowledgement = ack-nhfb, language = "Dutch", }
@Book{Fraser:2002:BCX, author = "Stewart Fraser and Steven Livingstone", title = "Beginning {C#} {XML}", publisher = pub-WROX, address = pub-WROX:adr, pages = "ix + 729", year = "2002", ISBN = "1-86100-628-4 (paperback)", ISBN-13 = "978-1-86100-628-8 (paperback)", LCCN = "M03.E16271", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", price = "US$28.99", acknowledgement = ack-nhfb, subject = "XML (Document markup language); C# [C-sharp] (computer programming language)", }
@Book{Galassi:2002:GSL, author = "Mark Galassi and Jim Davies and James Theiler and Brian Gough and Gerard Jungman and Michael Booth and Fabrice Rossi", title = "{GNU} Scientific Library: Reference Manual", publisher = pub-NETWORK-THEORY, address = pub-NETWORK-THEORY:adr, edition = "Second", pages = "xvi + 601", year = "2002", ISBN = "0-9541617-3-4", ISBN-13 = "978-0-9541617-3-6", LCCN = "QA76.73.C15", bibdate = "Wed Oct 30 10:44:22 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.ox.ac.uk:210/ADVANCE", acknowledgement = ack-nhfb, remark = "Corresponds to version 1.6 of the library.", subject = "C# (Computer program language); Handbooks, manuals, etc; Subroutines (Computer programs); Handbooks, manuals, etc; C++ (Computer program language); Handbooks, manuals, etc; Numerical calculations; Computer programs; Handbooks, manuals, etc", xxpages = "xvi + 580", }
@Book{Goode:2002:BAN, author = "Chris Goode and John Kauffman and Christopher L. Miller and Neil Raybould and S. Srinivasa Sivakumar and Dave Sussman and Ollie Cornes and Rob Birdwell and Matt Butler and Gary Johnson and Ajoy Krishnamoorthy and Juan T. Libre and Chris Ullman", title = "Beginning {ASP.NET} 1.0 with {C#}", publisher = pub-WROX, address = pub-WROX:adr, pages = "xiii + 800", year = "2002", ISBN = "1-86100-734-5", ISBN-13 = "978-1-86100-734-6", LCCN = "????", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Programmer to programmer", acknowledgement = ack-nhfb, xxauthor = "Ajoy Krishnamoorthy and Chris Goode and Chris Ullman and Christopher L. Miller and Dave Sussman and Gary Johnson and John Kauffman and Juan T. Llibre and Matt Butler and Neil Raybould and Ollie Cornes and Rob Birdwell and Srinivasa Sivakumar", xxeditor = "Rob Birdwell and Matt Butler and Ollie Cornes and others", }
@Article{Grinzo:2002:PBC, author = "Lou Grinzo", title = "Programmer's Bookshelf: {C#} and the {.NET} Platform", journal = j-DDJ, volume = "27", number = "1", pages = "108--108", month = jan, year = "2002", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Feb 12 05:21:41 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", abstract = "Lou takes a look at Andrew Troelsen's recently released C# and the {.NET} Platform.", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{Herbert:2002:CCR, author = "Schildt Herbert", title = "{C#}: the complete reference", publisher = pub-OSBORNE-MCGRAW-HILL, address = pub-OSBORNE-MCGRAW-HILL:adr, pages = "xxiv + 933", year = "2002", ISBN = "0-07-213485-2", ISBN-13 = "978-0-07-213485-8", LCCN = "QA76.73.C154 S34 2002b", bibdate = "Tue Mar 14 09:58:10 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; odin2.bib.sdu.dk:210/Horizon", acknowledgement = ack-nhfb, }
@Book{Jones:2002:STY, author = "Bradley Jones", title = "Sams teach yourself {C#} 21 dager", publisher = "IDG Norge Books", address = "Oslo, Norway", pages = "x + 735", year = "2002", ISBN = "82-7772-242-7", ISBN-13 = "978-82-7772-242-9", LCCN = "????", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, subject = "C# [C-sharp]; csharp", }
@Book{Kauffman:2002:BAN, author = "John Kauffman and Brian Matsik and Eric N. Mintz and Jan D. Narkiewicz and Kent Tegels and John West and Donald Xie and Jesudas Chinnathampi and Fabio Claudio Ferracchiati and James Greenwood", title = "Beginning {ASP.NET} databases using {C#}", publisher = pub-WROX, address = pub-WROX:adr, pages = "vii + 453", year = "2002", ISBN = "1-86100-741-8", ISBN-13 = "978-1-86100-741-4", LCCN = "????", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Programmer to programmer", acknowledgement = ack-nhfb, }
@Book{Kimmel:2002:ACP, author = "Paul Kimmel", title = "Advanced {C#} programming", publisher = pub-OSBORNE-MCGRAW-HILL, address = pub-OSBORNE-MCGRAW-HILL:adr, pages = "xxiii + 551", year = "2002", ISBN = "0-07-222417-7 (paperback)", ISBN-13 = "978-0-07-222417-7 (paperback)", LCCN = "QA76.73.C154 K56 2002eb", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5385247", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language)", }
@Book{Liberty:2002:LC, author = "Jesse Liberty", title = "Learning {C#}", publisher = pub-ORA, address = pub-ORA:adr, pages = "xi + 354", year = "2002", ISBN = "0-596-00376-5", ISBN-13 = "978-0-596-00376-0", LCCN = "QA76.73.C154 L43 2002", bibdate = "Mon Apr 18 15:05:46 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/prdindex.html; z3950.loc.gov:7090/Voyager", price = "US$34.95", URL = "http://safari.oreilly.com/0596003765; http://www.oreilly.com/catalog/learncsharp", acknowledgement = ack-nhfb, publishersummary = "With Learning C#, best-selling author Jesse Liberty will help you build a solid foundation in .NET and show how to apply your skills by using dozens of tested examples. You will learn how to develop various kinds of applications--including those that work with databases--and Web services. Whether you have a little object-oriented programming experience or you are new to programming altogether, Learning C# will set you firmly on your way.", remark = "Introducing the language, .NET programming and object-oriented software development.", subject = "C# [C-sharp] (computer programming language); Internet programming; Microsoft .NET Framework; Object-oriented methods (Computer science)", }
@Book{Liberty:2002:PAN, author = "Jesse Liberty and Dan Hurwitz", title = "Programming {ASP.NET}", publisher = pub-ORA, address = pub-ORA:adr, pages = "xiii + 944", year = "2002", ISBN = "0-596-00171-1", ISBN-13 = "978-0-596-00171-1", LCCN = "QA76.73.C154 L52 2002; TK5105.8885.A26 L53 2002", bibdate = "Mon Apr 18 15:03:26 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/prdindex.html; z3950.loc.gov:7090/Voyager", price = "US$49.95", URL = "http://safari.oreilly.com/0596001711; http://www.oreilly.com/catalog/progaspdotnet", acknowledgement = ack-nhfb, keywords = "Active Server Pages; C# [C-sharp] (computer programming language); Microsoft Visual Basic; Web services --- computer programs; Web sites --- design", publishersummary = "The ASP.NET technologies are so complete and flexible; your main difficulty may lie simply in weaving the pieces together for maximum efficiency. Programming ASP.NET shows you how to do just that. Jesse Liberty and Dan Hurwitz teach everything you need to know to write Web applications and Web services using both C# and Visual Basic .NET.", remark = "Building Web applications and services using C# and VB.NET.", subject = "Active Server Pages (ASP); C# [C-sharp] (computer programming language); Microsoft Visual BASIC; Web sites; Computer programs; Web sites; Design", }
@Book{Liberty:2002:PC, author = "Jesse Liberty", title = "Programming {C#}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "xviii + 629", year = "2002", ISBN = "0-596-00309-9", ISBN-13 = "978-0-596-00309-8", LCCN = "QA76.73.C154 L53 2002", bibdate = "Wed Oct 30 16:15:17 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/prdindex.html", price = "US$39.95", URL = "http://safari.oreilly.com/0596003099; http://www.oreilly.com/catalog/progcsharp2", acknowledgement = ack-nhfb, keywords = "C# [C-sharp] (computer programming language); computer programming", publishersummary = "The first part of Programming C#, 2nd Edition introduces C# fundamentals, then goes on to explain the development of desktop and Internet applications, including Windows Forms, ADO.NET, ASP.NET (including Web Forms), and Web Services. Next, this book gets to the heart of the .NET Framework, focusing on attributes and reflection, remoting, threads and synchronization, streams, and finally, it illustrates how to interoperate with COM objects.", }
@Article{Meyer:2002:ACT, author = "Bertrand Meyer", title = "Assessing a {C#} Text", journal = j-COMPUTER, volume = "35", number = "4", pages = "86--88", month = apr, year = "2002", CODEN = "CPTRB4", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Fri Apr 5 15:49:45 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://dlib.computer.org/co/books/co2002/pdf/r4086.pdf; http://www.computer.org/computer/co2002/r4086abs.htm", acknowledgement = ack-nhfb, fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", }
@Book{Mojica:2002:CVN, author = "Jose Mojica", title = "{C#} & {VB.NET} Conversion Pocket Reference", publisher = pub-ORA, address = pub-ORA:adr, pages = "iv + 139", year = "2002", ISBN = "0-596-00319-6", ISBN-13 = "978-0-596-00319-7", LCCN = "QA76.73.C154 M65 2002", bibdate = "Wed Oct 30 16:15:17 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.oreilly.com/catalog/prdindex.html", price = "US$14.95", URL = "http://safari.oreilly.com/0596003196; http://www.oreilly.com/catalog/csharpvbpr", acknowledgement = ack-nhfb, keywords = "C# [C-sharp] (computer programming language); character sets (data processing); Microsoft Visual Basic; programming languages (electronic computers) --- syntax", publishersummary = "The C# & VB.NET Conversion Pocket Reference helps you easily make the switch from C# to Visual Basic .NET and vice versa. Differences between the two languages occur in three main areas: syntax, object-oriented principles, and the Visual Studio .NET IDE. A perfect companion for documents and books that dont have examples using your mastered language, this guide expects that you know one of the two languages, but does not make an assumption about which one.", }
@Book{Petzold:2002:MWP, author = "Charles Petzold and Henk Scholten and Wout Natter and others", title = "{Microsoft Windows} programmeren met {C#}. ({Dutch}) [{Microsoft Windows} programming with {C#}]", publisher = "Academic Service", address = "Schoonhoven, The Netherlands", pages = "xiv + 1312", year = "2002", ISBN = "90-395-1940-4", ISBN-13 = "978-90-395-1940-0", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Dutch", }
@Book{Petzold:2002:PMW, author = "Charles Petzold", title = "Programming {Microsoft Windows} with {C#}", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, pages = "xxii + 1290", year = "2002", ISBN = "0-7356-1370-2", ISBN-13 = "978-0-7356-1370-6", LCCN = "QA76.73.C154 P48 2002", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, remark = "Includes CD-ROM", subject = "Microsoft Windows (Computer file); C# [C-sharp] (computer programming language)", }
@Article{Reges:2002:CCR, author = "S. Reges", title = "Can {C#} Replace {Java} in {CS1} and {CS2}?", journal = j-SIGCSE, volume = "34", number = "3", pages = "4--8", year = "2002", CODEN = "SIGSD3", ISSN = "0097-8418 (print), 2331-3927 (electronic)", bibdate = "Tue Nov 12 06:13:25 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Article{Reges:2002:SFI, author = "Stuart Reges", title = "{SIGCSE} 2002 forum: industry in the ivory tower", journal = j-SIGCSE, volume = "34", number = "1", pages = "367--367", month = mar, year = "2002", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/563517.563482", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:56:52 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", note = "Inroads: paving the way towards excellence in computing education.", abstract = "The intent of this forum is to generate a really lively discussion on the gamut of our relationship --- as computer science educators --- to industry. How dependent are we/should we be on specific industry software and platforms? (Many examples come to mind --- Microsoft Visual Studio. NET, Red Hat Linux, C#, Sun's version of Java.)How obligated are we to jump on board the newest upgraded software version of whatever we might be using?How does our desire for good job placement of our graduates square with our oft-repeated claim that we are educators, not trainers?Pursuing this issue of ``where do we fall on the spectrum between training and education,'' what to do about all these industry certification programs --- Cisco, Novell, Oracle, Microsoft. Do we teach these curricula? Do we give credit to students who take it, say at a community college, and then transfer?What about a service course in, say, Photoshop? Is this college-level material?Do opportunities for summer internships or research projects in an industry setting place some special obligations on us with respect to that company?", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Article{Reilly:2002:ANS, author = "Douglas Reilly", title = "{ASP.NET} Server Components", journal = j-DDJ, volume = "27", number = "6", pages = "62, 64, 66--68", month = jun, year = "2002", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Wed May 1 15:43:59 MDT 2002", bibsource = "http://www.ddj.com/articles/2002/0206/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/ftp/2002/2002_06/aspnet.txt; http://www.ddj.com/ftp/2002/2002_06/aspnet.zip", abstract = "ASP.NET lets you create components in VB.NET and C#. And since these components are not COM components, many COM overhead and deployment issues disappear. Additional resources include aspnet.txt (listings) and aspnet.zip (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{Reynolds-Haertle:2002:POM, author = "Robin A. Reynolds-Haertle and Maarten Stefanski and Marijke van Steenis", title = "Programmeercursus {OOP} met {MS VB.NET} en {MS Visual C#}. ({Dutch}) [Object-oriented programming course with {Microsoft VB.NET} and {Microsoft Visual C#}", publisher = "Academic Service", address = "Schoonhoven, The Netherlands", pages = "xv + 420", year = "2002", ISBN = "90-395-1960-9", ISBN-13 = "978-90-395-1960-8", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Dutch", }
@Book{Reynolds:2002:NED, author = "Matthew Reynolds and Karli Watson", title = "{.NET} enterprise development with {C#} from design to deployment", publisher = pub-WROX, address = pub-WROX:adr, pages = "ix + 453", year = "2002", ISBN = "1-86100-591-1", ISBN-13 = "978-1-86100-591-5", LCCN = "QA76.76.M52 R496 2002b", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Programmer to programmer", acknowledgement = ack-nhfb, remark = "Written and tested for final release of .NET v1.0.", subject = "dotnet; csharp; programmeringsomgivelser", }
@Book{Robinson:2002:CVP, editor = "Simon Robinson and others", title = "{C#} voor professionals. (Dutch) [{C#} for Professionals]", publisher = "Academic Service", address = "Schoonhoven, The Netherlands", pages = "xix + 1258", year = "2002", ISBN = "90-395-1962-5", ISBN-13 = "978-90-395-1962-2", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Dutch", }
@Book{Robinson:2002:PCS, editor = "Simon Robinson", title = "Professional {C#}", publisher = pub-WROX, address = pub-WROX:adr, edition = "Second", pages = "xxiii + 1223", year = "2002", ISBN = "1-86100-704-3", ISBN-13 = "978-1-86100-704-9", LCCN = "????", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Programmer to programmer", acknowledgement = ack-nhfb, subject = "C# [C-sharp] programming language", }
@Book{Sharp:2002:PMV, author = "John Sharp and John Jagger and Feico Nater and Wim Huberts", title = "Programmeercursus {Microsoft Visual C# .NET}. ({Dutch}) [{Microsoft Visual C# .NET} programming course]", publisher = "Academic Service", address = "Schoonhoven, The Netherlands", pages = "xxvi + 611", year = "2002", ISBN = "90-395-1961-7", ISBN-13 = "978-90-395-1961-5", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", series = "Programmeercursus; Programmeercursus", acknowledgement = ack-nhfb, language = "Dutch", }
@Book{Sorensen:2002:AND, editor = "Ronan Sorensen and George Shepherd and John Roberts and Russ Williams", title = "Applied {.NET}: developing people-oriented software using {C#}", publisher = pub-AW, address = pub-AW:adr, pages = "xviii + 397", year = "2002", ISBN = "0-201-73828-7 (paperback)", ISBN-13 = "978-0-201-73828-5 (paperback)", LCCN = "QA76.73.C154 A67 2002", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", price = "US$30.99", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Application software; Development", }
@Article{Stevens:2002:CPCb, author = "Al Stevens", title = "{C} Programming: {C#} and the Outhouse Paradigm", journal = j-DDJ, volume = "27", number = "7", pages = "79--81", month = jul, year = "2002", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Fri Sep 13 06:15:52 MDT 2002", bibsource = "http://www.ddj.com/articles/2002/0207/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Article{Stevens:2002:CPW, author = "Al Stevens", title = "{C} Programming: Wave Repairs and a First Look at {C#}", journal = j-DDJ, volume = "27", number = "3", pages = "77--78, 80", month = mar, year = "2002", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Feb 12 05:21:42 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/ftp/2002/2002_03/cpro0302.txt; http://www.ddj.com/ftp/2002/2002_03/cpro0302.zip", abstract = "Additional resources include {\tt cpro0302.txt} (listings) and {\tt cpro0302.zip} (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{Telles:2002:C, author = "Matthew Telles and Dr{'e} Holthuijsen and Gert Gielen and others", title = "{C#}", publisher = "Easy Computing", address = "Brussels, Belgium", pages = "607", year = "2002", ISBN = "90-5167-459-7", ISBN-13 = "978-90-5167-459-0", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Flemish/Dutch", }
@Book{Telles:2002:CBB, author = "Matthew A. Telles", title = "{C#} black book", publisher = pub-CORIOLIS, address = pub-CORIOLIS:adr, pages = "xxii + 643", year = "2002", ISBN = "1-58880-192-6 (paperback\slash CD-ROM)", ISBN-13 = "978-1-58880-192-0 (paperback\slash CD-ROM)", LCCN = "QA76.73.C154 T45 2002eb", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5390553", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language)", }
@Book{Thomsen:2002:DPC, author = "Carsten Thomsen", title = "Database programming with {C#}", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xix + 667", year = "2002", ISBN = "1-59059-010-4", ISBN-13 = "978-1-59059-010-2", LCCN = "QA76.73.C154 T46 2002b", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Books for professionals by professionals", acknowledgement = ack-nhfb, subject = "C# [C-sharp]", }
@Book{Vaughn:2002:ANE, author = "William R. Vaughn and Peter Blackburn", title = "{ADO.NET} examples and best practices for {C#} programmers", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "????", year = "2002", ISBN = "1-59059-012-0", ISBN-13 = "978-1-59059-012-6", LCCN = "QA76.625 .V384 2002b", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905480", acknowledgement = ack-nhfb, subject = "Internet programming; ActiveX; Microsoft .NET Framework; C# [C-sharp] (computer programming language)", }
@Book{Wagner:2002:CCL, author = "Bill Wagner", title = "{C#} core language: little black book", publisher = pub-CORIOLIS, address = pub-CORIOLIS:adr, pages = "xxvii + 446", year = "2002", ISBN = "1-58880-058-X", ISBN-13 = "978-1-58880-058-9", LCCN = "QA76.73.C154 W34 2002eb", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", series = "Little black book", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5375250", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Computer programming", }
@Book{Watson:2002:BVC, editor = "Karli Watson and David Espinosa and Zach Greenvoss and Jacob Hammer Pedersen and Jon Reid and Christian Nagel and Matthew Reynolds and Morgan Skinner and Eric White", title = "Beginning {Visual C#}", publisher = pub-WROX, address = pub-WROX:adr, edition = "Revised", pages = "xvii + 903", year = "2002", ISBN = "1-86100-758-2, 0-7645-4382-2", ISBN-13 = "978-1-86100-758-2, 978-0-7645-4382-1", LCCN = "QA76.73.C15 B44 2002b", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", series = "Programmer to programmer", acknowledgement = ack-nhfb, remark = "Previous ed. published as: Beginning C# / Karli Watson. 2001.", subject = "Microsoft Visual C++; Visual programming (Computer science); C# [C-sharp] (computer programming language); Microsoft .NET Framework", }
@Article{Anonymous:2003:JHS, author = "Anonymous", title = "{Java}'s head start adoption of {Microsoft}'s {C#} language for building {Web} services is hindered by the prevalence of {Java}", journal = j-INFORMATION-WEEK, volume = "966", pages = "57", year = "2003", CODEN = "INFWE4", ISSN = "8750-6874", ISSN-L = "1938-3371", bibdate = "Mon Dec 22 12🔞52 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Information Week", }
@Book{Anonymous:2003:MMS, author = "Anonymous", title = "{MCAD\slash MCSD} self-paced training kit: Developing {XML Web} services and server components with {Microsoft Visual Basic .NET} and {Microsoft Visual C# .NET}: Exams 70-310 and 70-320", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, pages = "xxix + 651", year = "2003", ISBN = "0-7356-1586-1", ISBN-13 = "978-0-7356-1586-1", LCCN = "Pucbb; CD-ROM; 005", bibdate = "Tue Mar 14 08:53:02 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.libris.kb.se:210/libr", price = "UK\pounds 45.99", acknowledgement = ack-nhfb, remark = "Includes CD-ROM.", subject = "Microsoft.NET framework; Examinations; Study guides; Microsoft Windows. (Computer file); Electronic data processing personnel; Certification; Microsoft software; XML (Document markup language)", }
@Book{Ballinger:2003:NWS, author = "Keith Ballinger", title = "{.NET Web} services: architecture and implementation", publisher = pub-AW, address = pub-AW:adr, pages = "xix + 323", year = "2003", ISBN = "0-321-11359-4", ISBN-13 = "978-0-321-11359-7", LCCN = "TK5105.888 .B355 2003", bibdate = "Wed Mar 15 08:57:14 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "Web site development; Computer network architectures; Microsoft.net", }
@Article{Barrett:2003:DPJ, author = "Tom Barrett", title = "Dynamic Proxies in {Java} and {.NET}", journal = j-DDJ, volume = "28", number = "7", pages = "18, 20, 22, 24, 26", month = jul, year = "2003", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Jun 12 05:46:24 MDT 2003", bibsource = "http://www.ddj.com/articles/2003/0307/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/ftp/2003/2003_07/dyproxy.zip", abstract = "Tom examines how proxies separate cross-cutting concerns, then explores and --- in both Java and C# and --- a new twist on the traditional Proxy pattern that promotes reuse and decreases complexity. Additional resources include dyproxy.zip (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Book{Box:2003:ENC, author = "Don Box and Chris Sells", title = "Essential {.NET}: Volume 1: {The Common Language Runtime}", publisher = pub-AW, address = pub-AW:adr, pages = "xxiii + 405", year = "2003", ISBN = "0-201-73411-7 (paperback)", ISBN-13 = "978-0-201-73411-9 (paperback)", LCCN = "QA76.76.M52 B69 2003", bibdate = "Wed Mar 15 08:57:34 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", note = "Foreword by James S. Miller", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "Microsoft .NET; Component software; Programming languages (Electronic computers)", }
@Book{Buono:2003:CGP, author = "Salvatore A. Buono", title = "{C#} and game programming: a beginner's guide", publisher = pub-A-K-PETERS, address = pub-A-K-PETERS:adr, pages = "xxiii + 556", year = "2003", ISBN = "1-56881-193-4", ISBN-13 = "978-1-56881-193-2", LCCN = "QA76.73.C154 B85 2003", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Computer games; Programming", }
@Article{Carlisle:2003:WAN, author = "Martin C. Carlisle and Ricky E. Sward and Jeffrey W. Humphries", title = "Weaving {Ada 95} into the {.NET} environment", journal = j-SIGADA-LETTERS, volume = "23", number = "1", pages = "22--26", month = mar, year = "2003", CODEN = "AALEE5", DOI = "https://doi.org/10.1145/1066404.589456", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "1094-3641", bibdate = "Tue Jun 17 11:55:50 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "This paper explains our efforts to add Ada to Microsoft's family of .NET languages. There are several advantages to weaving Ada into the Common Language Environment provided by the .NET environment. This paper explains our approach and current progress on the research. We provide the means to extract Ada specification files from Microsoft Intermediate Language (MSIL) code and compile Ada programs into MSIL.", acknowledgement = ack-nhfb, fjournal = "ACM SIGAda Ada Letters", keywords = "Ada 95; common language runtime; just-in-time compiling; Microsoft .Net environment", }
@Book{Conway:2003:CCD, editor = "Richard Conway and Teun Duynstee and Ben Hyrman and Roger Rowland and James Speer", title = "{C#} class design handbook: coding effective classes", publisher = pub-WROX, address = pub-WROX:adr, pages = "vii + 366", year = "2003", ISBN = "1-59059-257-3, 1-86100-828-7 (paperback)", ISBN-13 = "978-1-86100-828-2 (paperback)", LCCN = "QA76.73.C154 C743 2003b", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC; clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", price = "US$28.99", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Microsoft .NET Framework", }
@Book{Cooper:2003:CDP, author = "James W. (James William) Cooper", title = "{C#} design patterns: a tutorial", publisher = pub-AW, address = pub-AW:adr, pages = "392", year = "2003", ISBN = "0-201-84453-2 (paperback)", ISBN-13 = "978-0-201-84453-5 (paperback)", LCCN = "QA76.73.C154 C664 2003", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", price = "US$34.99", acknowledgement = ack-nhfb, remark = "Includes CD-ROM.", subject = "C# [C-sharp] (computer programming language); Software patterns", }
@Book{Deitel:2003:CPI, editor = "Harvey M. Deitel and others", title = "{C#}: a programmer's introduction", publisher = pub-PH, address = pub-PH:adr, pages = "xlix + 862", year = "2003", ISBN = "0-13-046132-6", ISBN-13 = "978-0-13-046132-2", LCCN = "QA76.73.C154 C14 2003", bibdate = "Mon Jul 5 08:09:51 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Deitel developer series", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Book{Drayton:2003:CND, author = "Peter Drayton and Ben Albahari and Ted Neward", title = "{C#} in a nutshell: a desktop quick reference", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "xxiii + 897", year = "2003", ISBN = "0-596-00526-1", ISBN-13 = "978-0-596-00526-9", LCCN = "QA76.73.C154 D73 2003", bibdate = "Mon Apr 18 15:07:31 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "In a nutshell", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language)", }
@Book{Dunn:2003:CAI, author = "Kyle Dunn", title = "A {C#} application from inspiration to implementation", publisher = pub-WROX, address = pub-WROX:adr, pages = "vii + 360", year = "2003", ISBN = "1-86100-754-X (paperback)", ISBN-13 = "978-1-86100-754-4 (paperback)", LCCN = "????", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language)", }
@Book{Freeman:2003:PNS, author = "Adam Freeman and Allen Jones", title = "Programming {.NET} security", publisher = pub-ORA, address = pub-ORA:adr, pages = "xviii + 693", year = "2003", ISBN = "0-596-00442-7", ISBN-13 = "978-0-596-00442-2", LCCN = "TK5105.59 .F68 2003", bibdate = "Mon Apr 18 15:06:34 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "Writing secure applications using C# or Visual Basic .NET.", subject = "Computer networks; Security measures; Microsoft .NET", }
@Article{Gerlach:2003:GPS, author = "J. Gerlach and J. Kneis", title = "Generic Programming for Scientific Computing in {C++}, {Java}, and {C#}", journal = j-LECT-NOTES-COMP-SCI, volume = "2834", pages = "301--310", year = "2003", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Oct 15 08:31:41 MDT 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", }
@Book{Goode:2003:BAN, author = "Chris Goode and John Kauffman and Christopher Miller and Neil Raybould and Srinivasa Sivakumar and David Sussman and Ollie Cornes and Rob Birdwell and Matt Butler and Gary Johnson and Ajoy Krishnamoorthy and Juan T. Libre and Chris Ullman", title = "Beginning {ASP.NET} 1.0 with {C#}", publisher = pub-WROX, address = pub-WROX:adr, pages = "xiii + 848", year = "2003", ISBN = "0-7645-4370-9 (paperback)", ISBN-13 = "978-0-7645-4370-8 (paperback)", LCCN = "TK5105.8885.A26 B44 2003b", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", price = "US$28.99", series = "Programmer to programmer", URL = "http://www.loc.gov/catdir/bios/wiley047/2003107065.html", acknowledgement = ack-nhfb, subject = "Active Server Pages (ASP); Internet programming; Visual programming (Computer science); Microsoft .NET; C# (computer programming language)", }
@Book{Hoffman:2003:ANC, author = "Kevin Hoffman", title = "{ASP.NET} e-commerce programming: problem, design, solution", publisher = pub-WROX, address = pub-WROX:adr, edition = "[C#]", pages = "ix + 342", year = "2003", ISBN = "1-86100-803-1", ISBN-13 = "978-1-86100-803-9", LCCN = "BLi 991861008031", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", series = "Programmer to programmer", acknowledgement = ack-nhfb, subject = "Active Server Pages (ASP); Microsoft .NET; Electronic commerce; Computer programs", }
@Book{Homer:2003:FLA, author = "Alex Homer and David Sussman and Mark Fussell", title = "A first look at {ADO.NET} and {System.XML} v.2.0", publisher = pub-AW, address = pub-AW:adr, pages = "xxi + 297", year = "2003", ISBN = "0-321-22839-1", ISBN-13 = "978-0-321-22839-0", LCCN = "QA76.625 .H655 2003", bibdate = "Wed Mar 15 08:58:15 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Internet programming; ActiveX; XML (Document markup language)", xxauthor = "Ben Homer and Mark Fussell and George D. Sussman", }
@Article{Humphrey:2003:GCC, author = "William F. Humphrey", title = "Generalized Callbacks: {C++} and {C#}", journal = j-DDJ, volume = "28", number = "3", pages = "42--43, 46--47", month = mar, year = "2003", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Jun 12 05:46:22 MDT 2003", bibsource = "http://www.ddj.com/articles/2003/0303/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/documents/s=7826/ddj0303e/", abstract = "Callbacks implement dynamic selection and invocation of functions at run time. Bill examines two technologies that implement callbacks and --- the libsigc++ class library in C++ and the delegate feature in C#.", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", }
@Article{Hunt:2003:LSM, author = "J. Hunt", title = "Look sharp! {Microsoft}'s {C#} column has often been described as a {Java} killer, and the languages have a lot in common", journal = "Application Development Advisor", volume = "7", number = "2", publisher = "SIGS", pages = "32--35", year = "2003", CODEN = "????", ISSN = "1369-4200", bibdate = "Tue Mar 18 05:54:30 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, }
@Book{ISO:2003:IIIb, author = "{International Organization for Standardization}", title = "{ISO\slash IEC 23270:2003}: Information technology --- {C#} Language Specification", publisher = pub-ISO, address = pub-ISO:adr, pages = "xiii + 471", year = "2003", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Mon Mar 13 18:22:37 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "328 Sfr (print)", URL = "http://standards.iso.org/ittf/PubliclyAvailableStandards/c036768_ISO_IEC_23270_2003(E).zip; http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36768", acknowledgement = ack-nhfb, }
@Book{Liberty:2003:PAN, author = "Jesse Liberty and Dan Hurwitz", title = "Programming {ASP.NET}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "xiii + 988", year = "2003", ISBN = "0-596-00487-7", ISBN-13 = "978-0-596-00487-3", LCCN = "TK5105.8885.A26 L53 2003", bibdate = "Mon Apr 18 15:07:04 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "Building Web applications and services using C# and VB.NET.", subject = "Active Server Pages (ASP); C# [C-sharp] (computer programming language); Microsoft Visual BASIC; Web sites; Computer programs; Web sites; Design", }
@Book{Liberty:2003:PC, author = "Jesse Liberty", title = "Programming {C#}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Third", pages = "xviii + 689", year = "2003", ISBN = "0-596-00489-3", ISBN-13 = "978-0-596-00489-7", LCCN = "QA76.76.C154 L53 2003", bibdate = "Mon Apr 18 15:07:05 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Computer programming", }
@Article{Lutz:2003:BBC, author = "Michael J. Lutz", title = "Bookshelf: Building {C#} Programs with Patterns [{C# Design Patterns}]; Using {Star Schema} in {Oracle} [{Oracle DBA Guide to Data Warehousing and Star Schemas}]; Immersive {Java} Text [{Java Outside In}]; Applying {AI} to the {Web} [{Web Intelligence}]; Moronic Marketing [{In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters}]", journal = j-COMPUTER, volume = "36", number = "9", pages = "96--97", month = sep, year = "2003", CODEN = "CPTRB4", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Fri Dec 12 19:53:46 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://csdl.computer.org/dl/mags/co/2003/09/r9096.htm; http://csdl.computer.org/dl/mags/co/2003/09/r9096.pdf", acknowledgement = ack-nhfb, fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", }
@Article{Lutz:2003:CNF, author = "Michael H. Lutz and Phillip A. Laplante", title = "{C#} and the {.NET} Framework: Ready for Real Time?", journal = j-IEEE-SOFTWARE, volume = "20", number = "1", pages = "74--80", month = jan # "\slash " # feb, year = "2003", CODEN = "IESOEG", ISSN = "0740-7459 (print), 0740-7459 (electronic)", ISSN-L = "0740-7459", bibdate = "Fri Oct 24 16:31:59 MDT 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://dlib.computer.org/so/books/so2003/pdf/s1074.pdf; http://www.computer.org/software/so2003/s1074abs.htm", acknowledgement = ack-nhfb, fjournal = "IEEE Software", journal-URL = "http://www.computer.org/portal/web/csdl/magazines/software", }
@Article{Lutz:2003:ISR, author = "Michael H. Lutz and Phillip A. Laplante", title = "{IEEE Software}: Real-Time Systems: {C#} and the {.NET} Framework: Ready for Real Time?", journal = j-IEEE-DISTRIB-SYST-ONLINE, volume = "4", number = "2", year = "2003", ISSN = "1541-4922", ISSN-L = "1541-4922", bibdate = "Sat Jan 03 14:59:06 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://dsonline.computer.org/0302/f/sp1lap.htm", acknowledgement = ack-nhfb, fjournal = "IEEE Distributed Systems Online", }
@Book{MacDonald:2003:CDS, author = "Matthew MacDonald and Erik Johansson", title = "{C#} data security handbook", publisher = pub-WROX, address = pub-WROX:adr, pages = "vii + 356", year = "2003", ISBN = "1-86100-801-5 (paperback)", ISBN-13 = "978-1-86100-801-5 (paperback)", LCCN = "????", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Cryptography; Computer security", }
@Book{Makofske:2003:MSP, author = "David Makofske and Kevin Almeroth", title = "Multicast sockets: practical guide for programmers", publisher = pub-MORGAN-KAUFMANN, address = pub-MORGAN-KAUFMANN:adr, pages = "xii + 180", year = "2003", ISBN = "1-55860-846-X", ISBN-13 = "978-1-55860-846-7", LCCN = "TK5105.887 .M35 2003", bibdate = "Wed Oct 29 16:24:48 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "US$19.95", series = "The Morgan Kaufmann practical guides series", URL = "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/; http://www.loc.gov/catdir/description/els051/2004555479.html; http://www.loc.gov/catdir/toc/els051/2004555479.html", acknowledgement = ack-nhfb, subject = "Application program interfaces (Computer software); TCP/IP (Computer network protocol); C# (Computer program language)", }
@Article{McCluskey:2003:CT, author = "Glen McCluskey", title = "{C#} Types", journal = j-LOGIN, volume = "28", number = "3", pages = "??--??", month = jun, year = "2003", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:28 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2003-06/index.html", URL = "http://www.usenix.org/publications/login/2003-06/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Article{McCluskey:2003:ECH, author = "Glen McCluskey", title = "Examining the {C#} ``Hello World'' Program", journal = j-LOGIN, volume = "28", number = "2", pages = "??--??", month = apr, year = "2003", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:26 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2003-04/index.html", URL = "http://www.usenix.org/publications/login/2003-04/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Article{McCluskey:2003:IC, author = "Glen McCluskey", title = "An Introduction to {C#}", journal = j-LOGIN, volume = "28", number = "1", pages = "??--??", month = feb, year = "2003", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:24 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2003-02/index.html", URL = "http://www.usenix.org/publications/login/2003-02/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Article{McCluskey:2003:UCP, author = "Glen McCluskey", title = "Using {C#} Properties and Static Members", journal = j-LOGIN, volume = "28", number = "5", pages = "??--??", month = oct, year = "2003", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:32 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2003-10/index.html", URL = "http://www.usenix.org/publications/login/2003-10/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Article{McCluskey:2003:WCC, author = "Glen McCluskey", title = "Working with {C#} Classes", journal = j-LOGIN, volume = "28", number = "4", pages = "??--??", month = aug, year = "2003", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:30 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2003-08/index.html", URL = "http://www.usenix.org/publications/login/2003-08/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Book{Onion:2003:EANa, author = "Fritz Onion", title = "Essential {ASP.NET} with examples in {Visual Basic} {.NET}", publisher = pub-AW, address = pub-AW:adr, pages = "xxiv + 395", year = "2003", ISBN = "0-201-76039-8", ISBN-13 = "978-0-201-76039-2", LCCN = "TK5105.8885.A26 O55 2003", bibdate = "Wed Mar 15 09:11:13 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "Web site development; Active Server Pages (ASP); Microsoft Visual BASIC", }
@Book{Onion:2003:EANb, author = "Fritz Onion", title = "Essential {ASP.NET} with examples in {C#}", publisher = pub-AW, address = pub-AW:adr, pages = "xxiv + 393", year = "2003", ISBN = "0-201-76040-1", ISBN-13 = "978-0-201-76040-8", LCCN = "TK5105.8885.A26 O53 2003", bibdate = "Wed Mar 15 08:59:12 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Web site development; Active Server Pages (ASP); C (Computer program language)", }
@Book{Pattison:2003:BAC, author = "Ted Pattison and Joe Hummel", title = "Building applications and components with {Visual Basic .NET}", publisher = pub-AW, address = pub-AW:adr, pages = "xxviii + 562", year = "2003", ISBN = "0-201-73495-8", ISBN-13 = "978-0-201-73495-9", LCCN = "QA76.73.B3 P257 2003", bibdate = "Wed Mar 15 09:00:28 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/ecip047/2003016759.html", acknowledgement = ack-nhfb, subject = "Microsoft Visual BASIC; BASIC (Computer program language); Microsoft .NET", }
@Book{Robinson:2003:PCS, editor = "Simon Robinson and K. Scott Allen and Ollie Cornes and Jay Glynn and Zach Greenvoss and Burton Harvey and Christian Nagel and Morgan Skinner and Karli Watson and Steve Danielson", title = "Professional {C#}", publisher = pub-WILEY, address = pub-WILEY:adr, edition = "Second", pages = "xxiii + 1223", year = "2003", ISBN = "0-7645-4398-9", ISBN-13 = "978-0-7645-4398-2", LCCN = "QA76.73.C154 P76 2002b", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Programmer to programmer", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); C-Sharp", xxnote = "Check author order??", }
@Article{Saxon:2003:OOR, author = "Charles S. Saxon", title = "Object-oriented recursive descent parsing in {C#}", journal = j-SIGCSE, volume = "35", number = "4", pages = "82--85", month = dec, year = "2003", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/960492.960534", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:05 MST 2012", bibsource = "DBLP; http://dblp.uni-trier.de/db/journals/sigcse/sigcse35.html#Saxon03; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", URL = "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2003.bib", abstract = "An object-oriented recursive descent parsing technique that is suitable for use in advanced programming classes where no language theory is required is presented. The C# code for a calculator is shown as an example.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Book{Tagliaferri:2003:CC, editor = "Matt Tagliaferri", title = "{C#} complete", publisher = pub-SYBEX, address = pub-SYBEX:adr, pages = "xxvii + 974", year = "2003", ISBN = "0-7821-4203-6 (paperback)", ISBN-13 = "978-0-7821-4203-7 (paperback)", LCCN = "QA76.73.C154 C454 2003b", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", price = "US$14.99", URL = "http://www.loc.gov/catdir/enhancements/fy0613/2002115481-b.html", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Object-oriented programming (Computer science); Web site development", }
@Book{Titus:2003:CTH, editor = "Tobin Titus and Fabio Claudio Ferracchiati and Tejaswi Redkar and Srinivasa Sivakumar", title = "{C#} threading handbook", publisher = pub-WROX, address = pub-WROX:adr, pages = "v + 272", year = "2003", ISBN = "1-86100-829-5", ISBN-13 = "978-1-86100-829-9", LCCN = "QA76.73.C154 T58 2004b", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Programmer to programmer", acknowledgement = ack-nhfb, }
@Book{Troelsen:2003:CNP, author = "Andrew W. Troelsen", title = "{C#} and the {.NET} platform", publisher = pub-APRESS, address = pub-APRESS:adr, edition = "Second", pages = "1158 (est.)", year = "2003", ISBN = "1-59059-055-4", ISBN-13 = "978-1-59059-055-3", LCCN = "QA76.73.C154 T764 2003b", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905456", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Microsoft.net framework", }
@Book{Watkins:2003:PNE, author = "Damien Watkins and Brad Abrams and Mark (Mark J.) Hammond", title = "Programming in the {.NET} environment", publisher = pub-AW, address = pub-AW:adr, pages = "xxviii + 523", year = "2003", ISBN = "0-201-77018-0 (paperback)", ISBN-13 = "978-0-201-77018-6 (paperback)", LCCN = "QA76.625 .W38 2002", bibdate = "Tue Mar 14 09:49:06 MST 2006", bibsource = "catalogue.nla.gov.au:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "Microsoft .NET Framework; Internet programming; Computer software; Development", tableofcontents = "1. Introducing the .NET Framework\ 2. The Type System\ 3. The Metadata System\ 4. The Execution System\ 5. Building Applications\ 6. Deploying Applications\ 7. The Framework Class Library\ App. A. Visual Basic .NET\ App. B. C#\ App. C. Python for .NET\ App. D. Perl and the .NET Runtime \ App. E. Component Pascal on the CLR\ App. F. Hotdog: Compiling Scheme to Object-Oriented Virtual Machines\ App. G. Functional Languages for the .NET Framework\ App. H. Active Oberon for .NET: A Case Study in Language Model Mapping.", xxauthor = "Damien Watkins and Mark (Mark J.) Hammond and Brad Abrams", }
@Book{Wildermuth:2003:PAN, author = "Shawn Wildermuth", title = "Pragmatic {ADO.NET}: data access for the {Internet} world", publisher = pub-AW, address = pub-AW:adr, pages = "xvii + 357", year = "2003", ISBN = "0-201-74568-2 (paperback)", ISBN-13 = "978-0-201-74568-9 (paperback)", LCCN = "QA76.9.D26 W55 2003", bibdate = "Wed Mar 15 09:01:06 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "ActiveX; Database design; Object-oriented programming (Computer science); Web databases; Microsoft .NET", }
@Book{Willms:2003:CZS, author = "Roland Willms and Jan J. Nathan and Gert Gielen", title = "{C#} zonder stress. (Dutch) [{C#} without stress]", publisher = "Easy Computing", address = "Brussels, Belgium", pages = "268", year = "2003", ISBN = "90-5167-417-1", ISBN-13 = "978-90-5167-417-0", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Flemish/Dutch", }
@Book{Abrams:2004:NFS, author = "Brad Abrams and Anders Hejlsberg and Brian Grunkemeyer and Joel Marcey and Kit George and Krzysztof Cwalina and Jeffrey Richter", title = "{.NET Framework Standard Library} Annotated Reference. Volume 1: Base Class Library and Extended Numerics Library", publisher = pub-AW, address = pub-AW:adr, pages = "xxvi + 528", year = "2004", ISBN = "0-321-15489-4 (hardcover)", ISBN-13 = "978-0-321-15489-7 (hardcover)", LCCN = "QA76.76.M52 A27 2004", bibdate = "Wed Mar 15 08:56:55 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", note = "Foreword by Joel Marcey.", series = "Microsoft .NET development series", URL = "http://www.aw-bc.com/catalog/academic/product/0,1144,0321154894,00.html; http://www.loc.gov/catdir/toc/ecip0411/2003024327.html", acknowledgement = ack-nhfb, subject = "Microsoft .NET Framework", tableofcontents = "Contents\ Foreword\ Preface\ I. Namespaces\ 1. System Overview \ 2. System.IO Overview\ 3. System.Collections Overview\ 4. System.Text Overview\ 5. System.Threading Overview\ 6. System.Security Overview\ 7. System.Globalization Overview\ II. Type Descriptions\ 1. ApplicationException (System)\ 2. ArgumentException (System)\ 3. ArgumentNullException (System)\ 4. ArgumentOutOfRangeException (System)\ 5. ArithmeticException (System)\ 6. Array (System)\ 7. ArrayTypeMismatchException (System)\ 8. AsyncCallback (System)\ 9. Attribute (System)\ 10. AttributeTargets (System)\ 11. AttributeUsageAttribute (System)\ 12. Boolean (System)\ 13. Byte (System)\ 14. Char (System)\ 15. CharEnumerator (System)\ 16. CLSCompliantAttribute (System)\ 17. ArrayList (System.Collections)\ 18. Comparer (System.Collections)\ 19. DictionaryEntry (System.Collections)\ 20. Hashtable (System.Collections)\ 21. ICollection (System.Collections)\ 22. IComparer (System.Collections)\ 23. IDictionary (System.Collections)\ 24. IDictionaryEnumerator (System.Collections)\ 25. IEnumerable (System.Collections)\ 26. IEnumerator (System.Collections)\ 27. IHashCodeProvider (System.Collections)\ 28. IList (System.Collections)\ 29. Console (System)\ 30. Convert (System)\ 31. DateTime (System)\ 32. Decimal (System)\ 33. Delegate (System)\ 34. ConditionalAttribute (System.Diagnostics)\ 35. DivideByZeroException (System)\ 36. Double (System)\ 37. DuplicateWaitObjectException (System)\ 38. Enum (System)\ 39. Environment (System)\ 40. EventArgs (System)\ 41. EventHandler (System)\ 42. Exception (System)\ 43. ExecutionEngineException (System)\ 44. FlagsAttribute (System)\ 45. FormatException (System)\ 46. GC (System)\ 47. DateTimeFormatInfo (System.Globalization)\ 48. DateTimeStyles (System.Globalization)\ 49. NumberFormatInfo (System.Globalization)\ 50. NumberStyles (System.Globalization)\ 51. UnicodeCategory (System.Globalization)\ 52. IAsyncResult (System)\ 53. ICloneable (System)\ 54. IComparable (System)\ 55. IDisposable (System)\ 56. IFormatProvider (System)\ 57. IFormattable (System)\ 58. IndexOutOfRangeException (System)\ 59. Int16 (System)\ 60. Int32 (System)\ 61. Int64 (System)\ 62. InvalidCastException (System)\ 63. InvalidOperationException (System)\ 64. InvalidProgramException (System)\ 65. Directory (System.IO)\ 66. DirectoryNotFoundException (System.IO)\ 67. EndOfStreamException (System.IO)\ 68. File (System.IO)\ 69. FileAccess (System.IO)\ 70. FileLoadException (System.IO)\ 71. FileMode (System.IO)\ 72. FileNotFoundException (System.IO)\ 73. FileShare (System.IO)\ 74. FileStream (System.IO)\ 75. IOException (System.IO)\ 76. MemoryStream (System.IO)\ 77. Path (System.IO)\ 78. PathTooLongException (System.IO)\ 79. SeekOrigin (System.IO)\ 80. Stream (System.IO)\ 81. StreamReader (System.IO)\ 82. StreamWriter (System.IO)\ 83. StringReader (System.IO)\ 84. StringWriter (System.IO)\ 85. TextReader (System.IO)\ 86. TextWriter (System.IO)\ 87. MarshalByRefObject (System)\ 88. Math (System)\ 89. NotFiniteNumberException (System)\ 90. NotSupportedException (System)\ 91. NullReferenceException (System)\ 92. Object (System)\ 93. ObjectDisposedException (System)\ 94. ObsoleteAttribute (System)\ 95. OutOfMemoryException (System)\ 96. OverflowException (System)\ 97. Random (System)\ 98. RankException (System)\ 99. SByte (System)\ 100. CodeAccessPermission (System.Security)\ 101. IPermission (System.Security)\ 102. CodeAccessSecurityAttribute (System.Security.Permissions)\ 103. EnvironmentPermission (System.Security.Permissions)\ 104. EnvironmentPermissionAccess (System.Security.Permissions)\ 105. EnvironmentPermissionAttribute (System.Security.Permissions)\ 106. FileIOPermission (System.Security.Permissions)\ 107. FileIOPermissionAccess (System.Security.Permissions)\ 108. FileIOPermissionAttribute (System.Security.Permissions)\ 109. PermissionState (System.Security.Permissions)\ 110. SecurityAction (System.Security.Permissions)\ 111. SecurityAttribute (System.Security.Permissions)\ 112. SecurityPermission (System.Security.Permissions)\ 113. SecurityPermissionAttribute (System.Security.Permissions)\ 114. SecurityPermissionFlag (System.Security.Permissions)\ 115. PermissionSet (System.Security)\ 116. SecurityElement (System.Security)\ 117. SecurityException (System.Security)\ 118. VerificationException (System.Security)\ 119. Single (System)\ 120. StackOverflowException (System)\ 121. String (System)\ 122. SystemException (System)\ 123. ASCIIEncoding (System.Text)\ 124. Decoder (System.Text)\ 125. Encoder (System.Text)\ 126. Encoding (System.Text)\ 127. StringBuilder (System.Text)\ 128. UnicodeEncoding (System.Text)\ 129. UTF8Encoding (System.Text)\ 130. Interlocked (System.Threading)\ 131. Monitor (System.Threading)\ 132. SynchronizationLockException (System.Threading)\ 133. Thread (System.Threading)\ 134. ThreadAbortException (System.Threading)\ 135. ThreadPriority (System.Threading)\ 136. ThreadStart (System.Threading)\ 137. ThreadState (System.Threading)\ 138. ThreadStateException (System.Threading)\ 139. Timeout (System.Threading)\ 140. Timer (System.Threading)\ 141. TimerCallback (System.Threading)\ 142. WaitHandle (System.Threading)\ 143. TimeSpan (System)\ 144. Type (System)\ 145. TypeInitializationException (System)\ 146. UInt16 (System)\ 147. UInt32 (System)\ 148. UInt64 (System)\ 149. UnauthorizedAccessException (System)\ 150. ValueType (System)\ 151. Version (System)\ Index", }
@Article{Anonymous:2004:BBM, author = "Anonymous", title = "Building Bridges: {Mainsoft} offers a product that lets companies move applications built in {Microsoft}'s {Visual Basic} and {C#} to {Java} platforms", journal = j-INFORMATION-WEEK, volume = "977", pages = "30--31", year = "2004", CODEN = "INFWE4", ISSN = "8750-6874", ISSN-L = "1938-3371", bibdate = "Sat Apr 3 08:12:24 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Information Week", }
@Article{Anonymous:2004:CGH, author = "Anonymous", title = "{C#} goes head to head with {Java}: When resources are tight, companies try to limit the number of programming languages they support. {Microsoft}'s {C#} and {Sun}'s {Java} both have strengths, so which do you choose?", journal = "Computer Weekly", pages = "48--50", day = "9", month = nov, year = "2004", CODEN = "????", ISSN = "0010-4787", bibdate = "Mon Nov 29 06:56:05 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, }
@Book{Barker:2004:BCO, author = "Jacquie Barker and Grant Palmer", title = "Beginning {C#} objects: from concepts to code", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxvii + 819", year = "2004", ISBN = "1-59059-360-X", ISBN-13 = "978-1-59059-360-8", LCCN = "QA76.73.C154 B375 2004b", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio4997313", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Object-oriented programming (Computer science)", }
@Article{Benton:2004:MCA, author = "Nick Benton and Luca Cardelli and C{'e}dric Fournet", title = "Modern concurrency abstractions for {C#}", journal = j-TOPLAS, volume = "26", number = "5", pages = "769--804", month = sep, year = "2004", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Thu Nov 4 08:07:30 MST 2004", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", }
@Book{Bishop:2004:CC, author = "J. M. (Judith Mary) Bishop and Nigel Horspool", title = "{C#} concisely", publisher = "Pearson/Addison Wesley", address = "Harlow, UK", pages = "xxiii + 442", year = "2004", ISBN = "0-321-15418-5 (paperback)", ISBN-13 = "978-0-321-15418-7 (paperback)", LCCN = "QA76.73.C154 B57 2004", bibdate = "Tue Mar 14 09:53:08 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.nls.uk:7290/voyager", price = "US$29.99", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language)", }
@Book{Bishop:2004:CGC, author = "David Bishop", title = "A complete guide to {C#}", publisher = pub-JONES-BARTLETT, address = pub-JONES-BARTLETT:adr, pages = "xvii + 624", year = "2004", ISBN = "0-7637-2249-9", ISBN-13 = "978-0-7637-2249-4", LCCN = "QA76.73.C154 B55 2004", bibdate = "Sat Apr 8 08:02:42 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Article{Bishop:2004:DPG, author = "Judith Bishop and Nigel Horspool", title = "Developing principles of {GUI} programming using views", journal = j-SIGCSE, volume = "36", number = "1", pages = "373--377", month = mar, year = "2004", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1028174.971429", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:06 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", abstract = "This paper proposes that GUI development is as important as other aspects of programming, such as a sound understanding of control structures and object orientation. Far less attention has been paid to the programming structures for GUIs and certainly there are few cross language principles to aid the programmer. We propose that principles of GUIs can be extracted and learnt, and that they do enhance good programming practice. These principles have been implemented in our Views system which features an XML-based GUI description notation coupled with an engine that shields the programmer from much of the intricate complexity associated with events, listeners and handlers. The system is programmed primarily in C# for .NET, but is available in various forms for Java and for other platforms which support .NET through the SSCLI.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Article{Borger:2004:EAS, author = "E. Borger and R. F. Stark", title = "Exploiting Abstraction for Specification Reuse. The {Java\slash C#} Case Study", journal = j-LECT-NOTES-COMP-SCI, volume = "3188", pages = "42--76", year = "2004", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Mon Dec 20 09:37:20 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", }
@Book{Cazzulino:2004:BVW, editor = "Daniel Cazzulino and Victor Garcia Aprea and James Greenwood and Chris Hart", title = "Beginning {Visual Web} programming in {C#}: from novice to professional", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxiv + 639", year = "2004", ISBN = "1-59059-361-8", ISBN-13 = "978-1-59059-361-5", LCCN = "QA76.625 .B44 2004b", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5326019", acknowledgement = ack-nhfb, subject = "Web site development; C# [C-sharp] (computer programming language)", }
@Book{Chand:2004:GPG, author = "Mahesh Chand", title = "Graphics programming with {GDI+}", publisher = pub-AW, address = pub-AW:adr, pages = "xliv + 740", year = "2004", ISBN = "0-321-16077-0", ISBN-13 = "978-0-321-16077-5", LCCN = "T385 .C4515 2003", bibdate = "Wed Mar 15 08:57:56 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Computer graphics; User interfaces (Computer systems)", }
@Book{Dumbill:2004:MDN, author = "Edd Dumbill and Niel M. Bornstein", title = "{Mono}: a developer's notebook", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "xxii + 278", year = "2004", ISBN = "0-596-00792-2", ISBN-13 = "978-0-596-00792-8", LCCN = "QA76.76.M52 D85 2004", bibdate = "Thu Apr 21 09:28:19 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Microsoft .NET Framework; C# [C-sharp] (computer programming language); Open source software; Compilers (Computer programs)", }
@Book{Foxall:2004:STY, author = "James D. Foxall", title = "{Sams} teach yourself {Microsoft Visual C# .NET 2003} in 24 hours", publisher = pub-SAMS, address = pub-SAMS:adr, edition = "Second", pages = "xxi + 571", year = "2004", ISBN = "0-672-32538-1, 0-7686-6064-5 (electronic book)", ISBN-13 = "978-0-672-32538-0, 978-0-7686-6064-7 (electronic book)", LCCN = "QA76.73.C154 F694 2004eb", bibdate = "Mon Jun 26 11:15:23 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; sirsi.library.utoronto.ca:2200/UNICORN", series = "Sams teach yourself in 24 hours", URL = "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources__ID=367815&T=; resource", acknowledgement = ack-nhfb, remark = "Include DVD.", subject = "Microsoft Visual C# .NET; Visual programming languages (Computer science); C# [C-sharp] (computer programming language)", }
@Article{Hanson:2004:RCC, author = "David R. Hanson and Todd A. Proebsting", title = "A research {C#} compiler", journal = j-SPE, volume = "34", number = "13", pages = "1211--1224", day = "10", month = nov, year = "2004", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.610", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat Apr 16 07:26:34 MDT 2005", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www3.interscience.wiley.com/journalfinder.html", URL = "ftp://ftp.research.microsoft.com/pub/tr/tr-2003-32.pdf; http://research.microsoft.com/research/pubs/view.aspx?msr_tr_id=MSR-TR-2003-32", acknowledgement = ack-nhfb, fjournal = "Software---Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", onlinedate = "12 Jul 2004", }
@Book{Hejlsberg:2004:CPL, author = "Anders Hejlsberg and Scott Wiltamuth and Peter Golde", title = "The {C#} programming language", publisher = pub-AW, address = pub-AW:adr, pages = "xiv + 644", year = "2004", ISBN = "0-321-15491-6 (hardcover)", ISBN-13 = "978-0-321-15491-0 (hardcover)", LCCN = "QA76.76.C154 H45 2004", bibdate = "Wed Mar 8 10:50:27 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; melvyl.cdlib.org:210/CDL90", abstract = "C# is a simple, modern, object-oriented, and type-safe programming language that combines the high productivity of rapid application development languages with the raw power of C and C++. Written by the language's architect and design team members, The C# Programming Language is the definitive technical reference for C#. Moving beyond the online documentation, the book provides the complete specification of the language along with descriptions, reference materials, and code samples from the C# design team. The first part of the book opens with an introduction to the language to bring readers quickly up to speed on the concepts of C#. Next follows a detailed and complete technical specification of the C# 1.0 language, as delivered in Visual Studio .NET 2002 and 2003. Topics covered include Lexical Structure, Types, Variables, Conversions, Expressions, Statements, Namespaces, Exceptions, Attributes, and Unsafe Code. The second part of the book provides an introduction to and technical specification of the four major new features of C# 2.0: Generics, Anonymous Methods, Iterators, and Partial Types. Reference tabs and an exhaustive print index allow readers to easily navigate the text and quickly find the topics that interest them most. An enhanced online index allows readers to quickly and easily search the entire text for specific topics. With the recent acceptance of C# as a standard by both the International Organization for Standardization (ISO) and ECMA, understanding the C# specification has become critical. The C# Programming Language is the definitive reference for programmers who want to acquire an in-depth knowledge of C#.", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", tableofcontents = "Part I: C# 1.0 \ 1: Introduction \ 2: Lexical Structure \ 3: Basic Concepts \ 4: Types \ 5: Variables \ 6: Conversions \ 7: Expressions \ 8: Statements \ 9: Namespaces \ 10: Classes \ 11: Structs \ 12: Arrays", }
@Book{Holzner:2004:MVC, author = "Steven Holzner", title = "{Microsoft Visual C# .NET 2003} kick start", publisher = pub-SAMS, address = pub-SAMS:adr, pages = "xiii + 604", year = "2004", ISBN = "0-672-32547-0", ISBN-13 = "978-0-672-32547-2", LCCN = "QA76.73.C154 H65 2003", bibdate = "Sun Apr 9 14:47:30 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Microsoft Visual C# .NET; C# (Computer program language)", }
@Book{Homer:2004:FLA, author = "Alex Homer and David Sussman and Rob Howard", title = "A first look at {ASP.NET v. 2.0}", publisher = pub-AW, address = pub-AW:adr, pages = "xxviii + 498", year = "2004", ISBN = "0-321-22896-0 (paperback)", ISBN-13 = "978-0-321-22896-3 (paperback)", LCCN = "TK5105.8885.A26 H6598 2004", bibdate = "Wed Mar 15 08:58:34 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "Active Server Pages (ASP); Microsoft .NET; Web sites; Design; Web site development", }
@Book{Jones:2004:STY, author = "Bradley Jones", title = "Sams teach yourself the {C#} language in 21 days", publisher = pub-SAMS, address = pub-SAMS:adr, edition = "Third", pages = "xxi + 779", year = "2004", ISBN = "0-672-32546-2 (paper), 0-7686-6058-0 (electronic)", ISBN-13 = "978-0-672-32546-5 (paper), 978-0-7686-6058-6 (electronic)", LCCN = "QA76.73.C154 J67 2004eb", bibdate = "Tue Mar 14 09:59:09 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; sirsi.library.utoronto.ca:2200/UNICORN", series = "Sams teach yourself in 21 days", URL = "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources__ID=367816 and T=; resource", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language)", tableofcontents = "Getting started with C#\ Understanding C# programs\ Manipulating values in your programs \ Controlling your program's flow\ The core of C# programming: classes\ Packaging functionality: class methods and member functions\ Storing more complex stuff: structures, enumerators, and arrays\ Advanced method access\ Handling problems in your programs: exceptions and errors\ Reusing existing code with inheritance\ Formatting and retrieving information\ Tapping into OOP: interfaces\ Making your programs react with delegates, events, and indexers\ Making operators do your bidding: overloading\ Using existing routines from the .NET base classes\ Creating Windows forms\ Creating Windows applications\ Working with data and databases\ Creating remote procedures: Web services \ Creating Web applications\ A day for reflection and attributes", }
@Article{Kiczales:2004:CLG, author = "G. Kiczales", title = "Crosscut: A Little Goes a Long Way: Attributes in {C#} and annotations in {Java} provide a hook for principled macros and metaprogramming in the {C} family. {Lisp} has had this technology for years, offering many lessons", journal = "Software Development", volume = "12", number = "5", pages = "52--53", year = "2004", CODEN = "????", ISSN = "1070-8588", bibdate = "Mon May 17 14:50:36 MDT 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, }
@Article{Lee:2004:JBN, author = "Y. Lee and S. Na", title = "{Java} Bytecode-to-{.NET} {MSIL} Translator for Construction of Platform Independent Information Systems", journal = j-LECT-NOTES-COMP-SCI, volume = "3215", pages = "826--832", year = "2004", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Thu Nov 11 05:40:33 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", }
@Book{Liberty:2004:PNW, author = "Jesse Liberty and Dan Hurwitz", title = "Programming {.NET Windows} applications", publisher = pub-ORA, address = pub-ORA:adr, pages = "xv + 1228", year = "2004", ISBN = "0-596-00321-8", ISBN-13 = "978-0-596-00321-0", LCCN = "QA76.76.A65 L52 2004", bibdate = "Mon Apr 18 15:05:07 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "Originally published 2003. Covers .NET 1.1 and Visual studio .NET 2003. Rich client applications with C# or FB.NET.", subject = "Application software; Development; User interfaces (Computer systems); Microsoft .NET Framework; Microsoft Windows (Computer file); C# [C-sharp] (computer programming language); Microsoft Visual studio", }
@Book{MacBeth:2004:CPH, author = "Gregory S. MacBeth", title = "{C#} programmer's handbook", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xix + 561", year = "2004", ISBN = "1-59059-270-0", ISBN-13 = "978-1-59059-270-0", LCCN = "QA76.73.C154 M3344 2004b", bibdate = "Tue Mar 14 08:52:53 MST 2006", bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, }
@Article{McCluskey:2004:COO, author = "Glen McCluskey", title = "{C#} Overloaded Operators", journal = j-LOGIN, volume = "29", number = "3", pages = "??--??", month = jun, year = "2004", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:40 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2004-06/index.html", URL = "http://www.usenix.org/publications/login/2004-06/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Article{McCluskey:2004:MUC, author = "Glen McCluskey", title = "Making Use of {C#} Collections", journal = j-LOGIN, volume = "29", number = "5", pages = "??--??", month = oct, year = "2004", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:44 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2004-10/index.html", URL = "http://www.usenix.org/publications/login/2004-10/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Article{McCluskey:2004:UCA, author = "Glen McCluskey", title = "Using {C#} Abstract Classes", journal = j-LOGIN, volume = "29", number = "2", pages = "??--??", month = apr, year = "2004", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:38 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2004-04/index.html", URL = "http://www.usenix.org/publications/login/2004-04/pdfs/McCluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Article{McCluskey:2004:UCR, author = "Glen McCluskey", title = "Using {C#} Reflection", journal = j-LOGIN, volume = "29", number = "4", pages = "??--??", month = aug, year = "2004", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:42 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2004-08/index.html", URL = "http://www.usenix.org/publications/login/2004-08/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Article{McCluskey:2004:WCI, author = "Glen McCluskey", title = "Working with {C#} Interfaces", journal = j-LOGIN, volume = "29", number = "1", pages = "??--??", month = feb, year = "2004", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:36 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2004-02/index.html", URL = "http://www.usenix.org/publications/login/2004-02/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Book{Metsker:2004:DPC, author = "Steven John Metsker", title = "Design patterns in {C#}", publisher = pub-AW, address = pub-AW:adr, pages = "xvii + 456", year = "2004", ISBN = "0-321-12697-1", ISBN-13 = "978-0-321-12697-9", LCCN = "QA76.73.C154 M48 2004", bibdate = "Sun Apr 9 14:32:43 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "The software patterns series", acknowledgement = ack-nhfb, subject = "C# (Computer program language); UML (Computer science); Microsoft .NET; Software patterns; Object-oriented programming (Computer science)", }
@Book{Miller:2004:CLI, author = "James S. Miller and Susann Ragsdale", title = "The {Common Language Infrastructure} Annotated Standard", publisher = pub-AW, address = pub-AW:adr, pages = "xxxii + 891", year = "2004", ISBN = "0-321-15493-2", ISBN-13 = "978-0-321-15493-4", LCCN = "QA76.7 .M52 2003", bibdate = "Wed Mar 15 08:58:53 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Programming languages (Electronic computers); Microsoft .NET Framework", }
@Book{Mossenbock:2004:CP, author = "Hanspeter M{"o}ssenb{"o}ck", title = "{C#} to the point", publisher = "Pearson Education", address = "Harlow, UK", pages = "xiii + 246", year = "2004", ISBN = "0-321-25290-X (paperback)", ISBN-13 = "978-0-321-25290-6 (paperback)", LCCN = "QA76.73.C154 M6713 2005", bibdate = "Sat Apr 8 08:12:58 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", note = "Translated from the German original, {\em Softwareentwicklung mit C#}, by Bedford Translation Ltd with assistance from David Lightfoot (Oxford Brookes University).", price = "UK\pounds 29.99", acknowledgement = ack-nhfb, remark = "The companion CD of this book contains the .NET Framework SDK with the common language run-time, the .NET base class library, the C# compiler, various tools, as well as the complete documentation of C# and .NET. It also contains a variety of other C# development tools such as SharpDevelop, ASP.NET, Web Matrix, Webservice Studio and Coco/R.", subject = "C# (Computer program language); Microsoft .NET", }
@Book{Murach:2004:MC, author = "Joel Murach and Doug Lowe", title = "{Murach}'s {C#}", publisher = "Mike Murach and Associates", address = "Fresno, CA, USA", pages = "xvi + 750", year = "2004", ISBN = "1-890774-22-7", ISBN-13 = "978-1-890774-22-6", LCCN = "QA76.73.C154 M86 2004", bibdate = "Sun Apr 9 14:47:50 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = ".Net developer's guide", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Programming languages (Electronic computers); Microsoft Visual studio; Microsoft .NET Framework", }
@Article{Nodelman:2004:OCC, author = "Vladimir Nodelman", title = "{OOP} via {C++}, {C#}, \ldots{}?", journal = j-SIGCSE, volume = "36", number = "3", pages = "255--255", month = sep, year = "2004", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1026487.1008087", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:09 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", abstract = "This presentation describes our experience in transition from C++ to C# while teaching object-oriented programming.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Book{Robinson:2004:PCS, editor = "Simon Robinson and Christian Nagel and Jay Glynn and Morgan Skinner and Karli Watson and Bill Evjen", title = "Professional {C#}", publisher = pub-WILEY, address = pub-WILEY:adr, edition = "Third", pages = "xxxvii + 1356", year = "2004", ISBN = "0-7645-5759-9", ISBN-13 = "978-0-7645-5759-0", LCCN = "QA76.73.C154P76 2004", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Programmer to programmer", acknowledgement = ack-nhfb, remark = "Pages 1137--1306 are found only on the Internet (www.wrox.com).", subject = "C#; C-Sharp", tableofcontents = "Introduction. \ Part I: The C# Language. \ Chapter 1: .NET Architecture. \ Chapter 2: C# Basics. \ Chapter 3: Objects and Types. \ Chapter 4: Inheritance. \ Chapter 5: Operators and Casts. \ Chapter 6: Delegates and Events. \ Chapter 7: Memory Management and Pointers. \ Chapter 8: Strings and Regular Expressions. \ Chapter 9: Collections. \ Chapter 10: Reflection. \ Chapter 11: Errors and Exceptions. \ Part II: The .NET Environment. \ Chapter 12: Visual Studio .NET. \ Chapter 13: Assemblies \ Chapter 14: .NET Security. \ Chapter 15: Threading. \ Chapter 16: Distributed Applications with .NET Remoting. \ Chapter 17: Localization. \ Chapter 18: Deployment. \ Part III: Windows Forms. \ Chapter 19: Windows Forms. \ Chapter 20: Graphics with GDI+. \ Part IV: Data. \ Chapter 21: Data Access with .NET. \ Chapter 22: Viewing .NET Data. \ Chapter 23: Manipulating XML. \ Chapter 24: Working with Active Directory. \ Part V: Web Programming. \ Chapter 25: ASP.NET Pages. \ Chapter 26: Web Services. \ Chapter 27: User Controls and Custom Controls. \ Part VI: Interop. \ Chapter 28: COM Interoperability. \ Chapter 29: Enterprise Services. \ Part VII: Windows Base Services. \ Chapter 30: File and Registry Operations. \ Chapter 31: Accessing the Internet. \ Chapter 32: Windows Services. \ At www.wrox.com. \ Appendix A: Principles of Object-Oriented Programming. \ Appendix B: C# for Visual Basic 6 Developers. \ Appendix C: C# for Java Developers. \ Appendix D: C# for C++ Developers. \ Index.", xxnote = "Check author list and order??", }
@Book{Ruvalcaba:2004:BYO, author = "Zak Ruvalcaba", title = "Build your own {ASP.NET Website} using {C#} and {VB.NET}", publisher = "SitePoint Pty. Ltd.", address = "Collingwood, Victoria, Australia", pages = "xviii + 746", year = "2004", ISBN = "0-9579218-6-1", ISBN-13 = "978-0-9579218-6-3", LCCN = "TK5105.8885.A26 R89 2004b", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5459110", acknowledgement = ack-nhfb, subject = "Web sites; Design; Active Server Pages (ASP); C# [C-sharp] (Computer programming language); Microsoft .NET; Web servers; Computer programs", }
@Book{Sells:2004:WFPa, author = "Chris Sells", title = "{Windows} forms programming in {C#}", publisher = pub-AW, address = pub-AW:adr, pages = "xliii + 681", year = "2004", ISBN = "0-321-11620-8", ISBN-13 = "978-0-321-11620-8", LCCN = "QA76.76.M52 S45 2004", bibdate = "Wed Mar 15 08:59:31 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "Microsoft .NET Framework; Computer software; Development; C# [C-sharp] (Computer program language)", }
@Book{Sells:2004:WFPb, author = "Chris Sells and Justin Gehtland", title = "{Windows} forms programming in {Visual Basic .NET}", publisher = pub-AW, address = pub-AW:adr, pages = "xlvi + 680", year = "2004", ISBN = "0-321-12519-3", ISBN-13 = "978-0-321-12519-4", LCCN = "QA76.76.M52 S46 2003", bibdate = "Wed Mar 15 08:59:50 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Microsoft .NET Framework; Computer software; Development; Microsoft Visual BASIC", }
@Book{Sestoft:2004:CP, author = "Peter Sestoft and Henrik I. Hansen", title = "{C#} precisely", publisher = pub-MIT, address = pub-MIT:adr, pages = "viii + 204", year = "2004", ISBN = "0-262-69317-8 (paperback)", ISBN-13 = "978-0-262-69317-2 (paperback)", LCCN = "QA76.73.C154.S47 2004; QA76.73.C154.S47", bibdate = "Mon Mar 20 17:05:32 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.mit.edu:9909/mit01", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", tableofcontents = "1. Compiling, loading and executing C# programs\ 2. Names and reserved names\ 3. C# naming conventions\ 4. Comments and program layout\ 5. Data and types\ 6. Variables, parameters, fields, and scope\ 7. Strings\ 8. String builders\ 9. Arrays \ 10. Classes\ 11. The machine model : stack, heap, and garbage collection\ 12. Expressions\ 13. Statements\ 14. Struct types\ 15. Interfaces\ 16. Enum types \ 17. Delegate types\ 18. Nullable types over value type (C# 2.0)\ 19. Exceptions\ 20. Threads, concurrent execution, and synchronization\ 21. Mathematical functions\ 22. Input and output\ 23. Generic types and methods (C# 2.0)\ 24. Generic collections : lists and dictionaries (C# 2.0)\ 25. Namespaces\ 26. Partial type declarations (C# 2.0)\ 27. Assertions and the Debug.Assert method\ 28. Attributes\ 29. Main differences between C# and Java\ 30. References", }
@Book{Teilhet:2004:CC, author = "Stephen Teilhet and Jay Hilyard", title = "{C#} cookbook", publisher = pub-ORA, address = pub-ORA:adr, pages = "xxii + 831", year = "2004", ISBN = "0-596-00339-0", ISBN-13 = "978-0-596-00339-5", LCCN = "QA76.73.C154 T43 2004", bibdate = "Mon Apr 18 15:05:19 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "The definitive collection of solutions and examples.", subject = "C# [C-sharp] (computer programming language)", }
@Book{Ullman:2004:BAN, editor = "Chris Ullman and John Kauffman and Chris Hart and Dave Sussman and Dan Maharry", title = "Beginning {ASP.NET} 1.1 with {Visual C# .NET} 2003", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "????", year = "2004", ISBN = "0-7645-5708-4", ISBN-13 = "978-0-7645-5708-8", LCCN = "TK5105.8885.A26 B452 2004b", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905523", acknowledgement = ack-nhfb, subject = "Active Server Pages (ASP); Web sites; Design; Web servers; Computer programs; Microsoft Visual C# .NET", tableofcontents = "Introduction. \ Chapter 1: Getting Started with ASP.NET. \ Chapter 2: Anatomy of an ASP.NET Page. \ Chapter 3: Server Controls and Variables. \ Chapter 4: Control Structures and Procedural Programming. \ Chapter 5: Functions. \ Chapter 6: Event-Driven Programming and Postback. \ Chapter 7: Objects. \ Chapter 8: Reading from Databases. \ Chapter 9: Advanced Data Handling. \ Chapter 10: ASP.NET Server Controls. \ Chapter 11: Users and Applications. \ Chapter 12: Reusable Code for ASP.NET. \ Chapter 13: .NET Assemblies and Custom Controls. \ Chapter 14: Debugging and Error Handling. \ Chapter 15: Configuration and Optimization. \ Chapter 16: Web Services. \ Chapter 17: ASP.NET Security. \ Appendix A: Exercise Solutions. \ Appendix B: Web Matrix Quick Start. \ Appendix C: The Wrox United Database. \ Appendix D: Web Application Development Using Visual Studio .NET. \ Appendix E: Installing and Configuring IIS. \ Index.", xxnote = "Check author list and order??", }
@Book{Vick:2004:VBN, author = "Paul Vick", title = "The {Visual Basic .NET} programming language", publisher = pub-AW, address = pub-AW:adr, pages = "xxiv + 407", year = "2004", ISBN = "0-321-16951-4", ISBN-13 = "978-0-321-16951-8", LCCN = "QA76.73.B3 V484 2004", bibdate = "Wed Mar 15 09:00:09 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "Microsoft Visual Basic for Windows; BASIC (Computer program language); Microsoft .NET", }
@Article{Winkler:2004:CCJ, author = "J. F. H. Winkler", title = "{C#}: a Competitor of {Java}?", journal = "It", volume = "46", number = "2", pages = "85--93", year = "2004", CODEN = "????", ISSN = "1611-2776", bibdate = "Mon May 17 14:50:36 MDT 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, }
@Book{Worner:2004:ACF, author = "Martin Worner", title = "Applied {C#} in financial markets", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "xviii + 119", year = "2004", ISBN = "0-470-87061-3", ISBN-13 = "978-0-470-87061-7", LCCN = "QA76.73.C15 W67 2004", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "US$45.00", series = "Wiley finance series", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Financial institutions; Computer programs", }
@Book{Yao:2004:NCF, author = "Paul Yao and David Durant", title = "{.NET} Compact Framework programming with {C#}", publisher = pub-AW, address = pub-AW:adr, pages = "xl + 1379", year = "2004", ISBN = "0-321-17403-8", ISBN-13 = "978-0-321-17403-1", LCCN = "QA76.73.C154 Y36 2004", bibdate = "Mon Jun 26 10:50:41 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", URL = "http://www.loc.gov/catdir/toc/ecip0414/2004002429.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Microsoft .NET Framework", }
@Article{Anonymous:2005:COE, author = "Anonymous", title = "{C#} offers an easy-to-use alternative to {Java}", journal = "Computer Weekly", pages = "30--30", day = "18", month = jan, year = "2005", CODEN = "????", ISSN = "0010-4787", bibdate = "Thu Mar 24 17:43:34 MST 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, }
@Article{Anonymous:2005:SAS, author = "Anonymous", title = "Security Audits for Source Code Fortify Source Code: {Analysis Suite 3.0} brings deep, intelligent security analysis to {C}, {C++}, {C#}, {Java}, {JSP}, and {SQL} program code", journal = j-INFOWORLD, volume = "27", number = "3", pages = "24--25", year = "2005", CODEN = "INWODU", ISSN = "0199-6649", bibdate = "Tue Apr 12 05:47:14 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "InfoWorld", }
@Book{Balena:2005:PGB, author = "Francesco Balena and Giuseppe Dimauro", title = "Practical guidelines and best practices for {Microsoft Visual Basic} and {Visual C# developers}", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, pages = "xxxiv + 570", year = "2005", ISBN = "0-7356-2172-1", ISBN-13 = "978-0-7356-2172-5", LCCN = "QA76.73.B3 B344 2005", bibdate = "Sat Apr 8 08:34:04 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Microsoft Visual BASIC; BASIC (Computer program language); C# (Computer program language)", }
@Article{Bishop:2005:EIJ, author = "Judith Bishop and R. Nigel Horspool and Basil Worrall", title = "Experience in integrating {Java} with {C#} and {.NET}", journal = j-CCPE, volume = "17", number = "5--6", pages = "663--680", month = apr # "\slash " # may, year = "2005", CODEN = "CCPEBO", DOI = "https://doi.org/10.1002/cpe.858", ISSN = "1532-0626 (print), 1532-0634 (electronic)", ISSN-L = "1532-0626", bibdate = "Sat May 14 11:30:57 MDT 2005", bibsource = "http://www.interscience.wiley.com/jpages/1532-0626; https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www3.interscience.wiley.com/journalfinder.html; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Concurrency and Computation: Prac-tice and Experience", journal-URL = "http://www.interscience.wiley.com/jpages/1532-0626", onlinedate = "22 Feb 2005", }
@Article{Borger:2005:HLM, author = "Egon B{"o}rger and Nicu G. Fruja and Vincenzo Gervasi and Robert F. St{"a}rk", title = "A high-level modular definition of the semantics of {C#}", journal = j-THEOR-COMP-SCI, volume = "336", number = "2--3", pages = "235--284", day = "26", month = may, year = "2005", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Jul 7 14:28:18 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.sciencedirect.com/science/journal/03043975", URL = "http://www.only4gurus.net/miscellaneous/cs03.pdf", abstract = "We propose a structured mathematical definition of the semantics of C# programs to provide a platform-independent interpreter view of the language for the C# programmer, which can also be used for a precise analysis of the ECMA standard of the language and as a reference model for teaching. The definition takes care to reflect directly and faithfully---as much as possible without becoming inconsistent or incomplete---the descriptions in the C# standard to become comparable with the corresponding models for Java in St{"a}rk et al. (Java and Java Virtual Machine---Definition, Verification, Validation, Springer, Berlin, 2001) and to provide for implementors the possibility to check their basic design decisions against an accurate high-level model. The model sheds light on some of the dark corners of C# and on some critical differences between the ECMA standard and the implementations of the language.", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "C-sharp (C#)", }
@Article{Bruckschlegel:2005:MCC, author = "T. Bruckschlegel", title = "Microbenchmarking {C++}, {C#}, and {Java}", journal = j-CCCUJ, volume = "23", number = "7", pages = "14--21", year = "2005", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Mon Jul 18 09:50:30 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "C/C++ Users Journal", }
@Book{Buono:2005:CGP, author = "Salvatore A. Buono", title = "{C#} and game programming: a beginner's guide", publisher = pub-A-K-PETERS, address = pub-A-K-PETERS:adr, edition = "Second", pages = "xxiii + 505", year = "2005", ISBN = "1-56881-236-1 (paperback)", ISBN-13 = "978-1-56881-236-6 (paperback)", LCCN = "QA76.73.C154 B85 2005", bibdate = "Thu May 3 10:55:48 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Computer games; Programming", }
@Book{Chegwidden:2005:SC, author = "James Chegwidden and Tony Gaddis", title = "Starting out with {C#}", publisher = "Scott/James Publishers", address = "El Granada, CA, USA", pages = "xvi + 790", year = "2005", ISBN = "1-57676-161-4", ISBN-13 = "978-1-57676-161-8", LCCN = "QA76.73.C154 C444 2005", bibdate = "Tue Mar 14 08:33:37 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "ftp://ftp.aw.com/cseng/authors/chegwidden/ ( materials)", acknowledgement = ack-nhfb, remark = "Accompanying CD-ROM: Student CD to accompany Starting out with C#, contains answer files, appendices, source codes, etc.", subject = "C# [C-sharp] (computer programming language)", }
@Book{Davis:2005:CD, author = "Stephanie R. Davis", title = "{C# 2005} for dummies", publisher = pub-WILEY, address = pub-WILEY:adr, edition = "Second", pages = "????", year = "2005", ISBN = "0-7645-9704-3 (paperback)", ISBN-13 = "978-0-7645-9704-6", LCCN = "????", bibdate = "Mon Jun 26 11:43:16 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/enhancements/fy0628/2005927620-d.html", acknowledgement = ack-nhfb, }
@Book{deChamplain:2005:CPG, author = "Michel de Champlain and Brian G. Patrick", title = "{C#} 2.0: practical guide for programmers", publisher = pub-ELSEVIER, address = pub-ELSEVIER:adr, pages = "xix + 251", year = "2005", ISBN = "0-12-167451-7", ISBN-13 = "978-0-12-167451-9", LCCN = "QA76.73.C154 C45 2005; 06.E01641", bibdate = "Mon Jun 26 11:48:19 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.ox.ac.uk:210/ADVANCE; z3950.bibsys.no:2100/BIBSYS; z3950.loc.gov:7090/Voyager", series = "Morgan Kaufmann practical guides series", URL = "http://www.loc.gov/catdir/enhancements/fy0621/2005002332-d.html; http://www.loc.gov/catdir/toc/ecip057/2005002332.html", acknowledgement = ack-nhfb, remark = "Practical guide for programmers.", subject = "C# (Computer program language)", }
@Article{Draheim:2005:GPC, author = "Dirk Draheim and Christof Lutteroth and Gerald Weber", title = "Generative programming for {C#}", journal = j-SIGPLAN, volume = "40", number = "8", pages = "29--33", month = aug, year = "2005", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Oct 5 07:55:13 MDT 2005", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", }
@Book{ECMA-334-3, author = "{ECMA}", title = "{ECMA-334}: {C#} Language Specification", publisher = pub-ECMA, address = pub-ECMA:adr, edition = "Third", pages = "xvii + 523", month = jun, year = "2005", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Sat May 14 22:54:18 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf; http://www.ecma-international.org/publications/standards/Ecma-334.htm", acknowledgement = ack-nhfb, remark = "Also ISO/IEC 23270.", }
@Article{Fossum:2005:CFC, author = "T. V. Fossum", title = "Classes as first class objects in an environment-passing interpreter", journal = j-SIGCSE, volume = "37", number = "3", pages = "261--265", month = sep, year = "2005", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1151954.1067517", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:19 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", abstract = "We describe an expression-based programming language that treats classes as first-class objects. We show an implementation of this language using an environment-passing interpreter accessible to students in a programming language class. We also show how to extend this language with properties (as in the C# programming language).", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Article{Geller:2005:TME, author = "Viktor Geller and Christelle Scharff", title = "Traditional and more ``exotic'' {.NET} languages: {VB .NET}, {J#}, {C#} and {SML .NET}", journal = j-SIGCSE, volume = "37", number = "3", pages = "406--406", month = sep, year = "2005", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1151954.1067610", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:19 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", abstract = "We study the .NET platform, various .NET languages and their interoperability (with an emphasis on C# and SML .NET), compare C# and Java 1.5, and develop related educational material to be used in a Programming Paradigms course. Introducing .NET --- one platform supporting different paradigms --- in such a course seems to be a unique experience in Computer Science Education. It may be a motivating factor for students to learn new programming languages.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Book{Gunnerson:2005:PIC, author = "Eric Gunnerson and Nick Wienholt and Anders Hejlsberg", title = "A programmer's introduction to {C#} 2.0", publisher = pub-APRESS, address = pub-APRESS:adr, edition = "Third", pages = "xxxvii + 529", year = "2005", ISBN = "1-59059-501-7 (paperback)", ISBN-13 = "978-1-59059-501-5 (paperback)", LCCN = "QA76.73.C153 G86 2005", bibdate = "Mon Jun 26 11:51:16 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.mit.edu:9909/mit01; sirsi.library.utoronto.ca:2200/UNICORN; z3950.loc.gov:7090/Voyager", URL = "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources__ID=362636&T=; resource", acknowledgement = ack-nhfb, remark = "Digitized and made available by: Books24x7.com.. Title from title screen. 1st and 2nd eds. have title: A programmer's introduction to C#.", subject = "C# (Computer program language)", tableofcontents = "Ch. 1. Object-oriented basics \ Ch. 2. The .NET runtime environment \ Ch. 3. C# quick start and C# development \ Ch. 4. Exception handling \ Ch. 5. Classes 101 \ Ch. 6. Base classes and inheritance \ Ch. 7. Member accessibility and overloading \ Ch. 8. Other class details \ Ch. 9. Structs (value types) \ Ch. 10. Interfaces \ Ch. 11. Versioning and aliases \ Ch. 12. Statements and flow of execution \ Ch. 13. Variable scoping and definite assignment \ Ch. 14. Operators and expressions \ Ch. 15. Conversions \ Ch. 16. Arrays \ Ch. 17. Generics \ Ch. 18. Strings \ Ch. 19. Properties \ Ch. 20. Indexers, enumerators, and iterators \ Ch. 21. Enumerations \ Ch. 22. Attributes \ Ch. 23. Delegates and anonymous methods \ Ch. 24. Events \ Ch. 25. User-defined conversions \ Ch. 26. Operator overloading \ Ch. 27. Nullable types \ Ch. 28. Other language details \ Ch. 29. Making friends with the .NET framework \ Ch. 30. System.array and the collection classes \ Ch. 31. Threading and asynchronous operations \ Ch. 32. Execution-time code generation \ Ch. 33. Interop \ Ch. 34. .NET framework overview \ Ch. 35. Windows forms \ Ch. 36. DiskDiff : more sophistication \ Ch. 37. Practical DiskDiff \ Ch. 38. Deeper into C# \ Ch. 39. Defensive programming \ Ch. 40. Tips for real-world code \ Ch. 41. The command-line compiler \ Ch. 42. C# compared to other languages \ Ch. 43. C# resources and the future", }
@Book{Huddleston:2005:BCD, editor = "James Huddleston and Ranga Raghuram and Scott Allen and Syed Fahad Gilani and Jacob Hammer Pedersen and Jon Reid", title = "Beginning {C#} databases: from novice to professional", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxiv + 622", year = "2005", ISBN = "1-59059-433-9", ISBN-13 = "978-1-59059-433-9", LCCN = "QA76.73.C154 B445 2005", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5291165", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Object-oriented programming (Computer science); Database management; Microsoft .NET", }
@Book{ISO:2005:IIIa, author = "{International Organization for Standardization}", title = "{ISO\slash IEC 23271:2003}: Information technology --- Common Language Infrastructure", publisher = pub-ISO, address = pub-ISO:adr, pages = "xi + 99 (Part. I), ix + 164 (Part. II), vi + 125 (Part. III), iii + 16 (Part. IV), iv + 79 (Part. V)", year = "2005", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Mon Mar 13 18:31:49 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "328 Sfr (print)", URL = "http://standards.iso.org/ittf/PubliclyAvailableStandards/c036769_ISO_IEC_23271_2003(E).zip; http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36769", acknowledgement = ack-nhfb, }
@Book{ISO:2005:IIIb, author = "{International Organization for Standardization}", title = "{ISO\slash IEC TR 23272}: Information technology --- Common Language Infrastructure --- Profiles and Libraries", publisher = pub-ISO, address = pub-ISO:adr, pages = "6", year = "2005", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Mon Mar 13 18:31:49 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "328 Sfr (print)", URL = "http://standards.iso.org/ittf/PubliclyAvailableStandards/c036770_ISO_IEC_TR_23272_2003(E).zip; http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36770", acknowledgement = ack-nhfb, }
@Book{Kent:2005:VCD, author = "Jeff Kent", title = "{Visual C# 2005} Demystified: a Self-Teaching Guide", publisher = pub-MCGRAW-HILL, address = pub-MCGRAW-HILL:adr, pages = "xxii + 352", year = "2005", ISBN = "0-07-226170-6", ISBN-13 = "978-0-07-226170-7", LCCN = "????", bibdate = "Sat Apr 8 08:42:41 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, }
@Book{Liberty:2005:PC, author = "Jesse Liberty", title = "Programming {C#}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Fourth", pages = "xx + 644", year = "2005", ISBN = "0-596-00699-3", ISBN-13 = "978-0-596-00699-0", LCCN = "QA76.73.C154 L53 2005", bibdate = "Thu Oct 6 07:22:55 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", URL = "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/( ); http://proquest.safaribooksonline.com/0596006993", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Computer programming", tableofcontents = "C# and the .NET framework\ Getting started: ``hello world''\ C# language fundamentals\ Classes and objects\ Inheritance and polymorphism \ Operator overloading\ Structs\ Interfaces\ Arrays, indexers, and collections\ Strings and regular expressions\ Handling exceptions\ Delegates and events\ Building Windows applications \ Accessing data with ADO.NET\ Programming ASP.NET applications and web services\ Putting it all together\ Assemblies and versioning\ Attributes and reflection\ Marshaling and remoting\ Threads and synchronization\ Streams\ Programming .NET and COM\ Appendix. C# keywords.", }
@Book{Liberty:2005:VCD, author = "Jesse Liberty", title = "{Visual C# 2005}: a developer's notebook", publisher = pub-ORA, address = pub-ORA:adr, pages = "xv + 221", year = "2005", ISBN = "0-596-00799-X (paperback)", ISBN-13 = "978-0-596-00799-7 (paperback)", LCCN = "QA76.73.C154 L435 2005", bibdate = "Mon Jun 26 11:49:10 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.mit.edu:9909/mit01; library.ox.ac.uk:210/ADVANCE; melvyl.cdlib.org:210/CDL90; z3950.bibsys.no:2100/BIBSYS; z3950.loc.gov:7090/Voyager", URL = "http://proquest.safaribooksonline.com/059600799X", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language)", }
@Book{MacDonald:2005:BAN, author = "Matthew MacDonald", title = "Beginning {ASP.NET 1.1} in {C#}: from novice to professional", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxii + 1017", year = "2005", ISBN = "1-59059-431-2", ISBN-13 = "978-1-59059-431-5", LCCN = "TK5105.8885.A26 M33 2005b", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5459160", acknowledgement = ack-nhfb, subject = "Active Server Pages (ASP); Microsoft .NET; C# [C-sharp] (Computer programming language); Web sites; Design; Internet programming", }
@Book{MacDonald:2005:PAN, editor = "Matthew MacDonald", title = "{Pro ASP.NET 1.1 in C#}: from professional to expert", publisher = pub-APRESS, address = pub-APRESS:adr, year = "2005", ISBN = "1-59059-351-0", ISBN-13 = "978-1-59059-351-6", LCCN = "TK5105.8885.A26 P76 2005b; **See", bibdate = "Sat Apr 8 08:36:54 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.mit.edu:9909/mit01", URL = "http://library.books24x7.com/library.asp?B&isbn=1590593510", acknowledgement = ack-nhfb, subject = "Active server pages; Microsoft .NET; C# (Computer program language); Web site development; Internet programming", tableofcontents = "Ch. 1. Introducing ASP.NET \ Ch. 2. Internet information services \ Ch. 3. Visual Studio .NET \ Ch. 4. The ASP.NET page \ Ch. 5. ASP.NET controls \ Ch. 6. ASP.NET applications \ Ch. 7. State management \ Ch. 8. ADO.NET fundamentals \ Ch. 9. Disconnected data \ Ch. 10. Data binding \ Ch. 11. Advanced ADO.NET \ Ch. 12. XML \ Ch. 13. Files and streams \ Ch. 14. The ASP.NET security infrastructure \ Ch. 15. Forms authentication \ Ch. 16. Windows authentication \ Ch. 17. Authorization \ Ch. 18. Advanced security \ Ch. 19. User controls \ Ch. 20. Custom server controls \ Ch. 21. Design-time support \ Ch. 22. JavaScript \ Ch. 23. Dynamic graphics with GDI+ \ Ch. 24. Creating Web services \ Ch. 25. Web service standards and extensions \ Ch. 26. Advanced Web services.", xxeditor = "Matthew MacDonald and K. Scott Allen and Robert Lair and others", }
@Book{Marshall:2005:PMV, author = "Donis Marshall", title = "Programming {Microsoft Visual C# 2005}: The Language", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, pages = "????", year = "2005", ISBN = "0-7356-2181-0", ISBN-13 = "978-0-7356-2181-7", LCCN = "????", bibdate = "Sat Apr 8 08:21:53 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "Edited by Valerie Woolley.", xxtitle = "Programming {Microsoft Visual C# 2005} Core Reference", }
@Article{McCluskey:2005:WCS, author = "Glen McCluskey", title = "Working with {C#} Serialization", journal = j-LOGIN, volume = "30", number = "1", pages = "??--??", month = feb, year = "2005", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 10:52:48 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.usenix.org/publications/login/2005-02/index.html", URL = "http://www.usenix.org/publications/login/2005-02/pdfs/mccluskey.pdf", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", }
@Book{Newman:2005:S, author = "Chris Newman", title = "{SQLite}", publisher = pub-SAMS, address = pub-SAMS:adr, pages = "xvi + 313", year = "2005", ISBN = "0-672-32685-X (paperback), 0-7686-6366-0 (e-book)", ISBN-13 = "978-0-672-32685-1 (paperback), 978-0-7686-6366-2 (e-book)", LCCN = "QA76.73.S67 N488 2005eb", bibdate = "Fri Nov 29 07:00:01 MST 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sqlbooks.bib", series = "Developer's library", URL = "http://proquest.safaribooksonline.com/067232685X; http://proquestcombo.safaribooksonline.com/067232685X; http://www.contentreserve.com/TitleInfo.asp?ID={5D380338-820F-4EC3-BAA3-668B6BF49170}%26Format=50; http://www.myilibrary.com?id=108361", acknowledgement = ack-nhfb, subject = "SQL (Computer program language); PHP (Computer program language); Relational databases; Database management; COMPUTERS; Programming Languages; C#; Java; Pascal", tableofcontents = "I: General SQLite use \ 1: Getting started \ 2: Working with data \ 3: SQLite syntax and use \ 4: Query optimization \ II: Using SQLite programming interfaces \ 5: PHP interface \ 6: C/C++ interface \ 7: Perl interface \ 8: Tcl interface \ 9: Python interface \ III: SQLite administration \ 10: General database administration \ IV: Appendixes \ A: Downloading and installing SQLite \ B: Command reference for the sqlite tool \ C: SQL syntax reference \ D: PHP interface reference \ E: C interface reference \ F: Perl interface reference \ G: Tcl interface reference \ H: Python interface reference \ I: future of SQLite", }
@Book{Pelland:2005:MVC, author = "Patrice Pelland", title = "{Microsoft Visual C# 2005} Express Edition: build a program now!", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, pages = "????", year = "2005", ISBN = "0-7356-2229-9", ISBN-13 = "978-0-7356-2229-6", LCCN = "????", bibdate = "Mon Jun 26 11:42:38 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, xxeditor = "Sandra Haynes", }
@Book{Penton:2005:BCG, author = "Ron Penton", title = "Beginning {C#} game programming", publisher = "Course Technology PTR", address = "Boston, MA, USA", pages = "xix + 318", year = "2005", ISBN = "1-59200-517-9", ISBN-13 = "978-1-59200-517-8", LCCN = "QA76.73.C15 P46 2005eb", bibdate = "Tue Mar 14 09:39:49 MST 2006", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5389454", acknowledgement = ack-nhfb, subject = "C# [C-sharp] (computer programming language); Programming languages (Electronic computers)", }
@MastersThesis{Shu:2005:FCD, author = "Ge Shu", title = "{F#} and {C#} on the {.NET} platform", school = "Department of Computer Science, University of Wales", address = "Swansea, UK", year = "2005", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, subject = "{C#} (computer program language); F# (computer program language); Microsoft .NET Framework", }
@Article{Stark:2005:FSV, author = "Robert F. St{"a}rk", title = "Formal specification and verification of the {C#} thread model", journal = j-THEOR-COMP-SCI, volume = "343", number = "3", pages = "482--508", day = "17", month = oct, year = "2005", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Mar 29 06:48:50 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.sciencedirect.com/science/journal/03043975", abstract = "We present a high-level Abstract State Machine (ASM) model of C# threads and the .NET memory model. We focus on purely managed, fully portable threading features of C#. The sequential model interleaves the computation steps of the currently running threads and is suitable for uniprocessors. The parallel model addresses problems of true concurrency on multi-processor systems. The models provide a sound basis for the development of multi-threaded applications in C#. The thread and memory models complete the abstract operational semantics of C# in [B{"o}rger et al. Theoret. Comput. Sci., to appear]. The main invariants of the thread model concerning locks, monitors and mutual exclusion are formally verified in the AsmTP system, an interactive proof assistant based on ASM logic.", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", }
@Book{Subramaniam:2005:NGW, author = "Venkat Subramaniam", title = "{.NET} gotchas: 75 ways to improve your {C#} and {VB.NET} programs", publisher = pub-ORA, address = pub-ORA:adr, pages = "xviii + 372", year = "2005", ISBN = "0-596-00909-7", ISBN-13 = "978-0-596-00909-0", LCCN = "QA76.625 .S93 2005", bibdate = "Thu Oct 6 07:24:00 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", acknowledgement = ack-nhfb, subject = "Microsoft Visual BASIC; Microsoft .NET Framework; C# [C-sharp] (computer programming language)", }
@Book{Troelsen:2005:PCN, author = "Andrew W. Troelsen", title = "Pro {C# 2005} and the {.NET 2.0} platform", publisher = pub-APRESS, address = pub-APRESS:adr, edition = "Third", pages = "xlv + 982", year = "2005", ISBN = "1-59059-419-3", ISBN-13 = "978-1-59059-419-3", LCCN = "QA76.73.C153 T764 2005", bibdate = "Sat Apr 8 09:29:16 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "Previous ed. has title: C# and the .NET platform.", subject = "C# (Computer program language); Microsoft .NET; Internet programming", tableofcontents = "* Introduction to the .NET platform \ * Common Language Runtime (CLR) \ * The Common Type Specification (CTS) \ * The Common Language Specifications (CLS) \ * Assemblies \ * Basics of C# classes \ * Constructors \ * Flow control and iteration \ * Arrays and strings \ * Boxing and unboxing \ * Object-oriented programming in C# (encapsulation, inheritance, and polymorphism explained) \ * Exception handling \ * Garbage collection \ * Implementing the ICloneable and IComparable interfaces \ * Introduction to .NET collections (including custom collections) \ * Custom indexers, delegates, and events explained \ * XML-based documentation \ * In-depth guide to .NET assemblies (including shared assemblies) \ * Versioning techniques for side-by-side deployment \ * Multithreading and synchronization \ * Type reflection and attributes \ * Windows Forms tutorial (design options, survey of components, menus and other UI widgets) \ * Programming the Windows registry \ * GDI+ graphics tutorial (including fonts, brushes, images, and using .NET resources) \ * Input and output (directories, files, and streams) \ * COM, COM+, and .NET interoperability \ * Tutorial to ADO.NET for database programming (including DataSets and XML basics) \ * Introduction to ASP and ASP.NET programming for Web development \ * Web services basics (including SOAP, WSDL, and the Discovery Service Protocol, DISCO)", }
@Book{Wagner:2005:ECS, author = "Bill Wagner", title = "Effective {C#}: 50 specific ways to improve your {C#}", publisher = pub-AW, address = pub-AW:adr, pages = "xviii + 307", year = "2005", ISBN = "0-321-24566-0", ISBN-13 = "978-0-321-24566-3", LCCN = "QA76.73.C154 W343 2005", bibdate = "Sun Apr 9 14:33:03 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Effective software development series", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Database management; Microsoft .NET", }
@Book{Watson:2005:BVC, editor = "Karli Watson and others", title = "Beginning {Visual C# 2005}", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "????", year = "2005", ISBN = "(paper/website), 0-7645-7847-2 (paper/website)", ISBN-13 = "978-0-7645-7847-2", LCCN = "QA76.73.C154 B483 2005", bibdate = "Mon Jun 26 11:41:58 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/enhancements/fy0622/2005010692-d.html; http://www.loc.gov/catdir/toc/ecip0511/2005010692.html", acknowledgement = ack-nhfb, remark = "Updated ed. of: Beginning Visual C#. 2003", subject = "C# (Computer program language); Microsoft .NET Framework", }
@Article{Willcock:2005:UMC, author = "Jeremiah Willcock and Andrew Lumsdaine and Arch Robison", title = "Using {MPI} with {C#} and the {Common Language Infrastructure}", journal = j-CCPE, volume = "17", number = "7--8", pages = "895--917", month = jun # "\slash " # jul, year = "2005", CODEN = "CCPEBO", DOI = "https://doi.org/10.1002/cpe.861", ISSN = "1532-0626 (print), 1532-0634 (electronic)", ISSN-L = "1532-0626", bibdate = "Sat May 14 11:30:57 MDT 2005", bibsource = "http://www.interscience.wiley.com/jpages/1532-0626; https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www3.interscience.wiley.com/journalfinder.html", acknowledgement = ack-nhfb, fjournal = "Concurrency and Computation: Prac-tice and Experience", journal-URL = "http://www.interscience.wiley.com/jpages/1532-0626", onlinedate = "23 Feb 2005", }
@Book{Bakharia:2006:MVC, author = "Aneesha Bakharia", title = "{Microsoft Visual C# 2005} Express Edition: programming for the absolute beginner", publisher = "Thomson Course Technology PTR", address = "Boston, MA, USA", pages = "xix + 259", year = "2006", ISBN = "1-59200-818-6 (paperback)", ISBN-13 = "978-1-59200-818-6 (paperback)", LCCN = "QA76.73.C154 B35 2006", bibdate = "Mon Jun 26 11:51:44 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.mit.edu:9909/mit01; library.ox.ac.uk:210/ADVANCE; sirsi.library.utoronto.ca:2200/UNICORN", series = "For the absolute beginner", URL = "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources__ID=370659&T=; resource", acknowledgement = ack-nhfb, subject = "Microsoft Visual C# .NET; C# (Computer program language); Visual programming languages (Computer science)", tableofcontents = "Ch. 1. Getting started with Visual C# Express \ Ch. 2. C# basics \ Ch. 3. Controlling code flow \ Ch. 4. Designing a user interface \ Ch. 5. Strings, random numbers, and arrays \ Ch. 6. Drawing graphics and building games \ Ch. 7. Designing advanced Windows forms and applications \ Ch. 8. Object-oriented programming for the absolute beginner \ Ch. 9. Working with databases \ Ch. 10. Error handling and debugging \ Ch. 11. Reading and writing files", }
@Book{Baldwin:2006:ECS, author = "Kenneth Baldwin and Andrew Gray and Trevor Misfeldt", title = "The elements of {C#} style", publisher = pub-CAMBRIDGE, address = pub-CAMBRIDGE:adr, pages = "x + 146", year = "2006", ISBN = "0-521-67159-0 (paperback)", ISBN-13 = "978-0-521-67159-0 (paperback)", LCCN = "QA76.73.C154 B36 2006", bibdate = "Mon Oct 6 18:00:17 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/enhancements/fy0633/2006008307-d.html; http://www.loc.gov/catdir/enhancements/fy0642/2006008307-t.html; http://www.loc.gov/catdir/enhancements/fy0732/2006008307-b.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Book{Balena:2006:PMV, author = "Francesco Balena", title = "Programming {Microsoft Visual C# 2005}: The Base Class Library", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, pages = "????", year = "2006", ISBN = "0-7356-2308-2", ISBN-13 = "978-0-7356-2308-8", LCCN = "????", bibdate = "Sat Apr 8 08:24:01 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "Edited by Kathleen Atkins.", }
@Book{Balzert:2006:CEP, author = "Helmut Balzert and Michael Ricken and Thomas Erler", title = "{CSharp 2 --- der Einstieg in die Programmierung: strukturiert und prozedural programmieren}. ({German}). [{CSharp 2} --- the entrance into programming: structured and procedural programming", publisher = "W3L-Verlag", address = "Herdecke, Germany", year = "2006", ISBN = "3-937137-18-1", ISBN-13 = "978-3-937137-18-6", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "German", }
@Book{Balzert:2006:COP, author = "Helmut Balzert and Michael Ricken and Thomas Erler", title = "{CSharp 2 --- objektorientiert programmieren: vom objektorientierten Analysemodell bis zum objektorientierten Programm}. ({German}) [{CSharp 2} -- object-oriented programming: from object-oriented analysis models to object-oriented programs", publisher = "W3L-Verlag", address = "Herdecke, Germany", year = "2006", ISBN = "3-937137-19-X", ISBN-13 = "978-3-937137-19-3", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "German", }
@Book{Barker:2006:VCE, author = "F. Scott Barker", title = "{Visual C#} 2005 Express Edition Starter Kit", publisher = pub-WROX, address = pub-WROX:adr, pages = "336 (est.)", year = "2006", ISBN = "0-7645-8955-5", ISBN-13 = "978-0-7645-8955-3", LCCN = "????", bibdate = "Sun Apr 09 15:24:45 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, }
@TechReport{Beebe:2006:BPAa, author = "Nelson H. F. Beebe", title = "A Bibliography of Publications about the {C#} Programming Language", institution = inst-UTAH-MATH, address = inst-UTAH-MATH:adr, pages = "19", day = "15", month = mar, year = "2006", bibdate = "Wed Mar 15 15:09:41 2006", bibsource = "ftp://ftp.math.utah.edu/pub/bibnet/authors/b/beebe-nelson-h-f.bib; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "https://www.math.utah.edu/pub/tex/bib/index-table-c.html#csharp", acknowledgement = ack-nhfb, }
@Book{Braden:2006:UMC, author = "Richard P. Braden", title = "Unlocking {Microsoft C# v2.0} programming secrets", publisher = pub-WORDWARE, address = pub-WORDWARE:adr, pages = "xx + 375", year = "2006", ISBN = "1-55622-097-9 (paperback)", ISBN-13 = "978-1-55622-097-5 (paperback)", LCCN = "QA76.65 B73 2006", bibdate = "Mon Jun 26 11:45:30 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/ecip055/2004030069.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Compilers (Computer programs)", }
@Article{Chilimbi:2006:CCC, author = "Trishul M. Chilimbi and Ran Shaham", title = "Cache-conscious coallocation of hot data streams", journal = j-SIGPLAN, volume = "41", number = "6", pages = "252--262", month = jun, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1133255.1134011", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:42:48 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "The memory system performance of many programs can be improved by coallocating contemporaneously accessed heap objects in the same cache block. We present a novel profile-based analysis for producing such a layout. The analysis achieves cache-conscious coallocation of a hot data stream H (i.e., a regular data access pattern that frequently repeats) by isolating and combining allocation sites of object instances that appear in H such that intervening allocations coming from other sites are separated. The coallocation solution produced by the analysis is enforced by an automatic tool, cminstr, that redirects a program's heap allocations to a run-time coallocation library comalloc. We also extend the analysis to coallocation at object field granularity. The resulting field coallocation solution generalizes common data restructuring techniques, such as field reordering, object splitting, and object merging, and allows their combination. Furthermore, it provides insight into object restructuring by breaking down the coallocation benefit on a per-technique basis, which provides the opportunity to pick the 'sweet spot' for each program. Experimental results using a set of memory-performance-limited benchmarks, including a few SPECInt2000 programs, and Microsoft VisualFoxPro, indicate that programs possess significant coallocation opportunities. Automatic object coallocation improves execution time by 13% on average in the presence of hardware prefetching. Hand-implemented field coallocation solutions for two of the benchmarks produced additional improvements (12% and 22%) but the effort involved suggests implementing an automated version for type-safe languages, such as Java and C#.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "cache optimization; data locality; data profiling; dynamic allocation; hot data streams; memory layout", }
@Article{Clifton:2006:MDR, author = "Curtis Clifton and Todd Millstein and Gary T. Leavens and Craig Chambers", title = "{MultiJava}: {Design} rationale, compiler implementation, and applications", journal = j-TOPLAS, volume = "28", number = "3", pages = "517--575", month = may, year = "2006", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/1133651.1133655", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Tue May 30 16:33:23 MDT 2006", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "MultiJava is a conservative extension of the Java programming language that adds symmetric multiple dispatch and open classes. Among other benefits, multiple dispatch provides a solution to the binary method problem. Open classes provide a solution to the extensibility problem of object-oriented programming languages, allowing the modular addition of both new types and new operations to an existing type hierarchy. This article illustrates and motivates the design of MultiJava and describes its modular static typechecking and modular compilation strategies. Although MultiJava extends Java, the key ideas of the language design are applicable to other object-oriented languages, such as C# and C++, and even, with some modifications, to functional languages such as ML. This article also discusses the variety of application domains in which MultiJava has been successfully used by others, including pervasive computing, graphical user interfaces, and compilers. MultiJava allows users to express desired programming idioms in a way that is declarative and supports static typechecking, in contrast to the tedious and type-unsafe workarounds required in Java. MultiJava also provides opportunities for new kinds of extensibility that are not easily available in Java.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", }
@Book{Davis:2006:CD, author = "Stephen R. Davis and Chuck Sphar", title = "{C# 2005} for dummies", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "xviii + 406", year = "2006", ISBN = "0-7645-9704-3 (paperback)", ISBN-13 = "978-0-7645-9704-6 (paperback)", LCCN = "06.E03130; QA76.73.C154 DAV; QA76.73.C154 D34 2006; CD06.S00117", bibdate = "Mon Jun 26 11:47:13 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.ox.ac.uk:210/ADVANCE", note = "Includes CD-ROM.", series = "For dummies", acknowledgement = ack-nhfb, remark = "System requirements for accompanying CD-ROM: PC with 600MHz Pentium or faster processor (1 GHz recommended); Microsoft Windows XP, Service Pack 2 (Home or Professional); Windows 2000, Service Pack 4, or Windows 2003 Server; at least 128 MB of total RAM installed (for best performance, at least 256 MB recommended); at least 1 MB of hard drive space without installing MSDN documentation to hard drive, about 2 MB of hard drive space if documentation is installed, plus about 2 MB if book's example programs are installed; CD-ROM drive; monitor capable of displaying at least 256 colors at 800 x 600 screen resolution or better.", subject = "C# (Computer program language)", }
@Book{Deitel:2006:CP, author = "Harvey M. Deitel and Paul J. Deitel", title = "{C#} for programmers", publisher = pub-PEARSON-PH, address = pub-PEARSON-PH:adr, edition = "Second", pages = "xxxvii + 1317", year = "2006", ISBN = "0-13-134591-5", ISBN-13 = "978-0-13-134591-1", LCCN = "QA76.73.C154 D455 2006", bibdate = "Sat Apr 8 08:29:53 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", series = "Deitel developer series", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Book{Deitel:2006:VCH, author = "Harvey M. Deitel and Paul J. Deitel", title = "{Visual C#}: how to program", publisher = pub-PEARSON-PH, address = pub-PEARSON-PH:adr, edition = "Second", pages = "xxxviii + 1591", year = "2006", ISBN = "0-13-152523-9", ISBN-13 = "978-0-13-152523-8", LCCN = "QA76.73.C154 D46 2006", bibdate = "Sat Apr 8 08:32:41 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Article{Drossopoulou:2006:FMD, author = "Sophia Drossopoulou and Giovanni Lagorio and Susan Eisenbach", title = "A flexible model for dynamic linking in {Java} and {C#}", journal = j-THEOR-COMP-SCI, volume = "368", number = "1--2", pages = "1--29", day = "5", month = dec, year = "2006", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Mar 29 08:55:29 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.sciencedirect.com/science/journal/03043975", abstract = "Dynamic linking supports flexible code deployment, allowing partially linked code to link further code on the fly, as needed. Thus, end-users enjoy the advantage of automatically receiving any updates, without any need for any explicit actions on their side, such as re-compilation, or re-linking. On the down side, two executions of a program may link in different versions of code, which in some cases causes subtle errors, and may mystify end-users.\par
Dynamic linking in Java and C\# are similar: the same
linking phases are involved, soundness is based on
similar ideas, and executions which do not throw
linking errors give the same result. They are, however,
not identical: the linking phases are combined
differently, and take place in different order.
Consequently, linking errors may be detected at
different times by Java and C\# runtime systems.\par
We develop a non-deterministic model, which describes
the behaviour of both Java and C\# program executions.
The non-determinism allows us to describe the design
space, to distill the similarities between the two
languages, and to use one proof of soundness for both.
We also prove that all execution strategies are
equivalent with respect to terminating executions that
do not throw link errors: they give the same results.",
acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", }
@Book{ECMA-334-4, author = "{ECMA}", title = "{ECMA-334}: {C#} Language Specification", publisher = pub-ECMA, address = pub-ECMA:adr, edition = "Fourth", pages = "xix + 531", month = jun, year = "2006", bibdate = "Sat May 14 22:54:18 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf; http://www.ecma-international.org/publications/standards/Ecma-334.htm", acknowledgement = ack-nhfb, remark = "Also ISO/IEC 23270.", xxISBN = "????", xxLCCN = "????", }
@Book{Fahnenstich:2006:REP, author = "Klaus Fahnenstich and Rainer G.. Haselier", title = "{Richtig einsteigen: programmieren lernen mit Visual C# 2005}", publisher = "Microsoft Press", address = "Unterschleicheim, Germany", pages = "384", year = "2006", ISBN = "3-86645-201-2", ISBN-13 = "978-3-86645-201-5", LCCN = "????", bibdate = "Mon Oct 6 18:11:46 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.gbv.de:20011/gvk", price = "EUR 24.90", series = "Richtig einsteigen \ldots{}", acknowledgement = ack-nhfb, language = "German", subject = "Visual C sharp 2005 Express Edition", }
@Book{Foxall:2006:STY, author = "James Foxall", title = "{Sams} teach yourself {Visual C# 2005} in 24 hours: complete starter kit", publisher = pub-SAMS, address = pub-SAMS:adr, pages = "????", year = "2006", ISBN = "0-672-32740-6", ISBN-13 = "978-0-672-32740-7", LCCN = "????", bibdate = "Mon Jun 26 10:58:00 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, xxeditor = "Neil Rowe and Mark Renfrow and Andy Beaster", }
@Book{Hejlsberg:2006:CPL, author = "Anders Hejlsberg and Scott Wiltamuth and Peter Golde", title = "The {C#} programming language", publisher = pub-AW, address = pub-AW:adr, edition = "Second", pages = "xiv + 704", year = "2006", ISBN = "0-321-33443-4 (hardback)", ISBN-13 = "978-0-321-33443-5 (hardback)", LCCN = "QA76.73.C154 H45 2006", bibdate = "Mon Jun 26 10:49:42 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/ecip0613/2006015047.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", tableofcontents = "Preface \ C#1.0 \ Introduction \ Lexical structure \ Basic concepts \ Types \ Variables \ Conversions \ Expressions \ Statements \ Namespaces \ Classes \ Structs \ Arrays \ Interfaces \ Enums \ Delegates \ Exceptions \ Attributes \ Unsafe code \ C# 2.0 \ Introduction to C# 2.0 \ Generics \ Anonymous methods \ Iterators \ Partial types \ Nullable types \ Other features \ Appendixes \ Appendix A: documentation comments \ Appendix B: grammar \ Index", }
@Article{Hertz:2006:GOL, author = "Matthew Hertz and Stephen M. Blackburn and J. Eliot B. Moss and Kathryn S. McKinley and Darko Stefanovi{'c}", title = "Generating object lifetime traces with {Merlin}", journal = j-TOPLAS, volume = "28", number = "3", pages = "476--516", month = may, year = "2006", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/1133651.1133654", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Tue May 30 16:33:23 MDT 2006", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Programmers are writing a rapidly growing number of programs in object-oriented languages, such as Java and C#, that require garbage collection. Garbage collection traces and simulation speed up research by enabling deeper understandings of object lifetime behavior and quick exploration and design of new garbage collection algorithms. When generating perfect traces, the brute-force method of computing object lifetimes requires a whole-heap garbage collection at every potential collection point in the program. Because this process is prohibitively expensive, researchers often use granulated traces by collecting only periodically, for example, every 32 KB of allocation. We extend the state of the art for simulating garbage collection algorithms in two ways. First, we develop a systematic methodology for simulation studies of copying garbage collection and present results showing the effects of trace granularity on these simulations. We show that trace granularity often distorts simulated garbage collection results compared with perfect traces. Second, we present and measure the performance of a new algorithm called Merlin for computing object lifetimes. Merlin timestamps objects and later uses the timestamps of dead objects to reconstruct when they died. The Merlin algorithm piggybacks on garbage collections performed by the base system. Experimental results show that Merlin can generate traces over two orders of magnitude faster than the brute-force method which collects after every object allocation. We also use Merlin to produce visualizations of heap behavior that expose new object lifetime behaviors.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", }
@Book{Hilyard:2006:CC, author = "Jay Hilyard and Stephen Teilhet", title = "{C#} cookbook", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "xxviii + 1154", year = "2006", ISBN = "0-596-10063-9", ISBN-13 = "978-0-596-00339-5", LCCN = "QA76.73.C154 T43 2004", bibdate = "Mon Apr 18 15:05:19 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "The definitive collection of solutions and examples.", subject = "C# [C-sharp] (computer programming language)", }
@Book{Hoffman:2006:MVC, author = "Kevin Hoffman", title = "{Microsoft Visual C# 2005} unleashed", publisher = pub-SAMS, address = pub-SAMS:adr, pages = "xix + 692", year = "2006", ISBN = "0-672-32776-7 (paperback)", ISBN-13 = "978-0-672-32776-6 (paperback)", LCCN = "????", bibdate = "Mon Jun 26 11:47:29 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.ox.ac.uk:210/ADVANCE", acknowledgement = ack-nhfb, remark = ". Includes code for 45-day access to online edition.", subject = "C# (Computer program language); Microsoft .NET Framework", }
@Book{Hummel:2006:LFD, author = "Joe Hummel", title = "{LINQ}, the future of data access in {C# 3.0}", publisher = pub-ORA, address = pub-ORA:adr, pages = "64", year = "2006", ISBN = "0-596-52841-8", ISBN-13 = "978-0-596-52841-6", LCCN = "QA76.73.C154; QA76.73.C154 H86 2006eb", bibdate = "Tue Aug 5 18:10:11 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", URL = "http://www.oreilly.com/catalog/9780596528416", acknowledgement = ack-nhfb, subject = "C{"A} (Computer program language); Query languages (Computer science)", }
@Book{ISO:2006:IIIb, author = "{International Organization for Standardization}", key = "C#", title = "{ISO\slash IEC 23270:2006}: Information technology --- Programming languages --- {C#}", publisher = pub-ISO, address = pub-ISO:adr, year = "2006", bibdate = "Thu Nov 25 08:48:27 2010", bibsource = "http://www.iso.org/iso/search.htm; https://www.math.utah.edu/pub/tex/bib/csharp.bib", series = "Technical report", URL = "http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=42926", acknowledgement = ack-nhfb, subject = "programming languages (electronic computers)", xxauthor = "{ISO}", xxLCCN = "????", }
@Book{Jones:2006:VCR, author = "Allen Jones and Matthew MacDonald", title = "{Visual C# 2005} Recipes: a Problem-Solution Approach", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxi + 565", year = "2006", ISBN = "1-59059-589-0", ISBN-13 = "978-1-59059-589-3", LCCN = "????", bibdate = "Sun Apr 09 15:09:45 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, }
@Article{Kaiser:2006:CJC, author = "Claude Kaiser and Jean-Fran{\c{c}}ois Pradat-Peyre and Sami {'E}vangelista and Pierre Rousseau", title = "Comparing {Java}, {C#} and {Ada} monitors queuing policies: a case study and its {Ada} refinement", journal = j-SIGADA-LETTERS, volume = "26", number = "2", pages = "23--37", month = aug, year = "2006", CODEN = "AALEE5", DOI = "https://doi.org/10.1145/1165678.1165681", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "1094-3641", bibdate = "Tue Jun 17 09:16:14 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Learning concurrency paradigms is necessary but it is not sufficient since the choice of run-time semantics may introduce subtle programming errors. It is the aim of this paper to exemplify the importance of process queuing and awaking policies resulting from possible choices of the monitor concept implementation.The first part of the paper compares the behaviour of concurrent processes sharing a unique waiting queue for condition synchronization when implemented in Java or in Ada. A particular solution of the dining philosophers paradigm will be used to show how the difference in the monitor semantics may lead or not to deadlock. This comparison provides insight for deriving a correct Java implementation. The second part of the paper shows how the implementation can be refined when using Ada entry families and requeue with requeue once restriction. The result is elegant, safe and fair, and deterministic. This paper ends with quantitative comparisons of concurrency complexity and of concurrency effectiveness.We conclude that Java and C# multithreading need defensive concurrent programming while Ada allows more latitude for developing correct concurrent programs.", acknowledgement = ack-nhfb, fjournal = "ACM SIGAda Ada Letters", }
@Book{Lewis:2006:CSS, author = "John Lewis", title = "{C#} software solutions: foundations of program design", publisher = "Pearson/Addison-Wesley", address = "Boston, MA, USA", pages = "xxi + 712", year = "2006", ISBN = "0-321-26716-8, 0-321-41720-8 (International ed.)", ISBN-13 = "978-0-321-26716-0, 978-0-321-41720-6 (International ed.)", LCCN = "QA76.73.C154 L38 2006", bibdate = "Mon Jun 26 11:47:17 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.ox.ac.uk:210/ADVANCE; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/ecip064/2005035820.html", acknowledgement = ack-nhfb, remark = "One computer disc inside back cover", subject = "C# (Computer program language); Computer software; Development", }
@Book{Lhotka:2006:ECB, author = "Rockford Lhotka", title = "{Expert C# 2005} Business Objects", publisher = pub-APRESS, address = pub-APRESS:adr, edition = "Second", pages = "696 (est.)", year = "2006", ISBN = "1-59059-632-3", ISBN-13 = "978-1-59059-632-6", LCCN = "????", bibdate = "Mon Jun 26 11:33:48 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "US$59.99", URL = "http://www.apress.com/book/bookDisplay.html?bID=10091", acknowledgement = ack-nhfb, }
@Book{Liberty:2006:LC, author = "Jesse Liberty and Brian MacDonald", title = "Learning {C#} 2005: Get Started with {C#} 2005 and {.NET} Programming", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "544 (est.)", year = "2006", ISBN = "1-59059-589-0, 0-596-10209-7", ISBN-13 = "978-1-59059-589-3, 978-0-596-10209-8", LCCN = "????", bibdate = "Sun Apr 09 15:13:29 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, }
@Article{Liu:2006:II, author = "Jed Liu and Aaron Kimball and Andrew C. Myers", title = "Interruptible iterators", journal = j-SIGPLAN, volume = "41", number = "1", pages = "283--294", month = jan, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1111037.1111063", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:39:41 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "This paper introduces interruptible iterators, a language feature that makes expressive iteration abstractions much easier to implement. Iteration abstractions are valuable for software design, as shown by their frequent use in well-designed data structure libraries such as the Java Collections Framework. While Java iterators support iteration abstraction well from the standpoint of client code, they are awkward to implement correctly and efficiently, especially if the iterator needs to support imperative update of the underlying collection, such as removing the current element. Some languages, such as CLU and C# 2.0, support iteration through a limited coroutine mechanism, but these mechanisms do not support imperative updates. Interruptible iterators are more powerful coroutines in which the loop body is able to interrupt the iterator with requests to perform updates. Interrupts are similar to exceptions, but propagate differently and have resumption semantics. Interruptible iterators have been implemented as part of the JMatch programming language, an extended version of Java. A JMatch reimplementation of the Java Collections Framework shows that implementations can be made substantially shorter and simpler; performance results show that this language mechanism can also be implemented efficiently.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "coroutine; exception; Java; JMatch; logic programming", }
@Book{Matthew:2006:PNW, author = "Matthew MacDonald", title = "{Pro.NET 2.0 Windows} forms and custom controls in {C#}", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxxix + 1037", year = "2006", ISBN = "1-59059-439-8", ISBN-13 = "978-1-59059-439-1", LCCN = "????", bibdate = "Mon Jun 26 17:26:53 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; zeus.statsbiblioteket.dk:210/Horizon", acknowledgement = ack-nhfb, }
@Article{Menon:2006:VSP, author = "Vijay S. Menon and Neal Glew and Brian R. Murphy and Andrew McCreight and Tatiana Shpeisman and Ali-Reza Adl-Tabatabai and Leaf Petersen", title = "A verifiable {SSA} program representation for aggressive compiler optimization", journal = j-SIGPLAN, volume = "41", number = "1", pages = "397--408", month = jan, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1111037.1111072", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:39:41 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "We present a verifiable low-level program representation to embed, propagate, and preserve safety information in high performance compilers for safe languages such as Java and C#. Our representation precisely encodes safety information via static single-assignment (SSA) [11, 3] proof variables that are first-class constructs in the program. We argue that our representation allows a compiler to both (1) express aggressively optimized machine-independent code and (2) leverage existing compiler infrastructure to preserve safety information during optimization. We demonstrate that this approach supports standard compiler optimizations, requires minimal changes to the implementation of those optimizations, and does not artificially impede those optimizations to preserve safety. We also describe a simple type system that formalizes type safety in an SSA-style control-flow graph program representation. Through the types of proof variables, our system enables compositional verification of memory safety in optimized code. Finally, we discuss experiences integrating this representation into the machine-independent global optimizer of STARJIT, a high-performance just-in-time compiler that performs aggressive control-flow, data-flow, and algebraic optimizations and is competitive with top production systems.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "check elimination; intermediate representations; proof variables; safety dependences; SSA formalization; type systems; typeability preservation; typed intermediate languages", }
@Book{Mossenbock:2006:SCK, author = "Hanspeter M{"o}ssenb{"o}ck", title = "{Softwareentwicklung mit C# 2.0: ein kompakter Lehrgang}", publisher = pub-DPUNKT-VERLAG, address = pub-DPUNKT-VERLAG:adr, edition = "Second", pages = "xiii + 272", year = "2006", ISBN = "3-89864-406-5", ISBN-13 = "978-3-89864-406-8", LCCN = "????", bibdate = "Mon Oct 6 18:11:34 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.gbv.de:20011/gvk", price = "EUR 29.00", series = "dpunkt.lehrbuch", URL = "http://deposit.ddb.de/cgi-bin/dokserv?id=2791467&prov=M&dok_var=1&dok_ext=htm; http://www.gbv.de/dms/ilmenau/toc/508849624moess.PDF", acknowledgement = ack-nhfb, language = "German", subject = "C sharp 2.0", }
@Book{Murach:2006:MC, author = "Joel Murach", title = "{Murach}'s {C# 2005}", publisher = "Mike Murach and Associates", address = "Fresno, CA, USA", pages = "812 (est.)", year = "2006", ISBN = "1-890774-37-5", ISBN-13 = "978-1-890774-37-0", LCCN = "????", bibdate = "Mon Jun 26 17:51:31 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "US$52.50", URL = "http://www.murach.com/books/csh5/index.htm", acknowledgement = ack-nhfb, }
@Book{Nagel:2006:PC, editor = "Christian Nagel and Bill Evjen and Jay Glynn and Karli Watson and Morgan Skinner and Allen Jones", title = "Professional {C#} 2005", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "xlvi + 1540", year = "2006", ISBN = "0-7645-7534-1", ISBN-13 = "978-0-7645-7534-1", LCCN = "QA76.73.C154 P82 2005", bibdate = "Tue Mar 14 08:32:38 MST 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", URL = "http://www.wiley.com/WileyCDA/WileyTitle/productCd-0764575341.html", acknowledgement = ack-nhfb, subject = "C# [C-sharp] computer programs", }
@Book{Nilsson:2006:ADD, author = "Jimmy Nilsson", title = "Applying domain-driven design and patterns with examples in {C#} and {.NET}", publisher = pub-AW, address = pub-AW:adr, pages = "????", year = "2006", ISBN = "0-321-26820-2", ISBN-13 = "978-0-321-26820-4", LCCN = "QA76.76.D47 N645 2006", bibdate = "Mon Jun 26 11:41:39 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/ecip068/2006004371.html", acknowledgement = ack-nhfb, subject = "Computer software; Development; C# (Computer program language); Microsoft .NET", }
@Book{Pelland:2006:MVC, author = "Patrice Pelland", title = "{Microsoft Visual C# 2005}: express edition", publisher = "Academic Service", address = "Den Haag, The Netherlands", pages = "xiii + 178", year = "2006", ISBN = "90-395-2439-4", ISBN-13 = "978-90-395-2439-8", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "Dutch", }
@Book{Pelland:2006:PJM, author = "Patrice Pelland", title = "{Programmieren Sie jetzt! --- Microsoft Visual {C#} 2005 Express Edition}", publisher = "Microsoft Press", address = "Unterschleicheim, Germany", pages = "xi + 211", year = "2006", ISBN = "3-86063-569-7", ISBN-13 = "978-3-86063-569-8", LCCN = "????", bibdate = "Mon Oct 6 18:11:23 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.gbv.de:20011/gvk", price = "EUR 19.90 (DE)", series = "Programmieren Sie jetzt!", URL = "http://deposit.ddb.de/cgi-bin/dokserv?id=2669514&prov=M&dok_var=1&dok_ext=htm", acknowledgement = ack-nhfb, language = "German", remark = "CD-ROM-Beil. u.d.T.: Microsoft Visual C# 2005 Express Edition.", subject = "Visual C sharp 2005 Express Edition", }
@Book{Perry:2006:CCN, author = "Stephen C. Perry", title = "Core {C#} and {.NET}", publisher = pub-PHPTR, address = pub-PHPTR:adr, pages = "xxx + 972", year = "2006", ISBN = "0-13-147227-5", ISBN-13 = "978-0-13-147227-3", LCCN = "QA76.73.C153 P468 2005", bibdate = "Sun Apr 9 15:05:55 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/ecip0516/2005021301.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Microsoft .NET", }
@Book{Richter:2006:CCS, author = "Jeffrey Richter", title = "{CLR} via {C#}", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, edition = "Second", pages = "xxviii + 693", year = "2006", ISBN = "0-7356-2163-2", ISBN-13 = "978-0-7356-2163-3", LCCN = "????", bibdate = "Sun Apr 9 14:41:10 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", note = "Edited by Devon Musgrave", acknowledgement = ack-nhfb, }
@Book{Schildt:2006:CCR, author = "Herbert Schildt", title = "{C# 2.0}: the complete reference", publisher = pub-OSBORNE-MCGRAW-HILL, address = pub-OSBORNE-MCGRAW-HILL:adr, edition = "Second", pages = "xxi + 890", year = "2006", ISBN = "0-07-226209-5 (paperback), 0-07-148373-X (electronic)", ISBN-13 = "978-0-07-226209-4 (paperback), 978-0-07-148373-5 (electronic)", LCCN = "QA76.73.C154 S35 2006", bibdate = "Sat Apr 8 08:03:35 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Book{Schumann:2006:VCK, author = "Hans-Georg Schumann", title = "{Visual C# 2005 f{"u}r Kids}", publisher = "bhv", address = "Heidelberg, Germany", pages = "361", year = "2006", ISBN = "3-8266-8626-8", ISBN-13 = "978-3-8266-8626-9", LCCN = "????", bibdate = "Mon Oct 6 18:11:58 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.gbv.de:20011/gvk", price = "EUR 24.95", acknowledgement = ack-nhfb, language = "German", }
@Book{Sharp:2006:MVCa, author = "John Sharp", title = "{Microsoft Visual C# 2005} step by step", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, edition = "2005", pages = "xxvii + 555", year = "2006", ISBN = "0-7356-2129-2 (paperback)", ISBN-13 = "978-0-7356-2129-9 (paperback)", LCCN = "QA76.73.C154 S53 2006", bibdate = "Mon Jun 26 11:48:41 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90; z3950.bibsys.no:2100/BIBSYS; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "Accompanying CD-ROM contains practice files.", subject = "C# (Computer program language)", }
@Book{Sharp:2006:MVCb, author = "John Sharp", title = "{Microsoft Visual C# 2005}: {'e}tape par {'e}tape. ({French}) [{Microsoft Visual C# 2005}: Step by step]", publisher = "Microsoft Press", address = "Les Ulis, France", pages = "x + 522", year = "2006", ISBN = "2-10-049606-9", ISBN-13 = "978-2-10-049606-8", LCCN = "????", bibdate = "Sat Apr 08 08:07:18 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", note = "Translated by Chantal Kolb, Doroth{'e}e Sittler, and Christine Eberhardt.", acknowledgement = ack-nhfb, language = "French", }
@Article{Sweeney:2006:NMP, author = "Tim Sweeney", title = "The next mainstream programming language: a game developer's perspective", journal = j-SIGPLAN, volume = "41", number = "1", pages = "269--269", month = jan, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1111037.1111061", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:39:41 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Game developers have long been early adopters of new technologies. This is so because we are largely unburdened by legacy code: With each new hardware generation, we are free to rethink our software assumptions and develop new products using new tools and even new programming languages. As a result, games are fertile ground for applying academic advances in these areas. And never has our industry been in need of such advances as it is now! The scale and scope of game development has increased more than ten-fold over the past ten years, yet the underlying limitations of the mainstream C/C++/Java/C# language family remain largely unaddressed. The talk begins with a high-level presentation of the game developer's world: the kinds of algorithms we employ on modern CPUs and GPUs, the difficulties of componentization and concurrency, and the challenges of writing very complex software with real-time performance requirements. The talk then outlines the ways that future programming languages could help us write better code, providing examples derived from experience writing games and software frameworks that support games. The major areas covered are abstraction facilities -- how we can use them to develop more extensible frameworks and components; practical opportunities for employing stronger typing to reduce run-time failures; and the need for pervasive concurrency support, both implicit and explicit, to effectively exploit the several forms of parallelism present in games and graphics.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", }
@Book{Telles:2006:VCB, author = "Matthew Telles", title = "{Visual C#} 2005 Black Book", publisher = pub-PAGINA, address = pub-PAGINA:adr, pages = "680", year = "2006", ISBN = "1-933097-16-7", ISBN-13 = "978-1-933097-16-9", LCCN = "????", bibdate = "Sun Jun 18 01:56:36 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.libris.kb.se:210/libr", acknowledgement = ack-nhfb, }
@Book{Watson:2006:BCD, author = "Karli Watson", title = "Beginning {C# 2005} Databases", publisher = "Wiley/Wrox", address = "Indianapolis, IN, USA", pages = "xxiii + 501", year = "2006", ISBN = "0-470-04406-3 (paperback)", ISBN-13 = "978-0-470-04406-3 (paperback)", LCCN = "QA76.73.C154 W39 2006", bibdate = "Mon Oct 6 18:02:04 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Wrox beginning guides", URL = "http://www.loc.gov/catdir/enhancements/fy0741/2006025170-b.html; http://www.loc.gov/catdir/enhancements/fy0741/2006025170-d.html; http://www.loc.gov/catdir/toc/ecip0618/2006025170.html", acknowledgement = ack-nhfb, remark = ". ``Programmer to programmer''--Cover.", subject = "C# (Computer program language); Databases", }
@Book{Watson:2006:BVC, editor = "Karli Watson and others", title = "Beginning {Visual C# 2005}", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "xxxix + 1062", year = "2006", ISBN = "0-7645-7847-2 (paper/website)", ISBN-13 = "978-0-7645-7847-2 (paper/website)", LCCN = "QA76.73.C154 B483 2006eb; **See", bibdate = "Mon Jun 26 11:51:34 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; library.mit.edu:9909/mit01; melvyl.cdlib.org:210/CDL90; sirsi.library.utoronto.ca:2200/UNICORN", series = "Wrox beginning guides", URL = "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources__ID=369413&T=; http://www.loc.gov/catdir/toc/ecip0511/2005010692.html; resource", acknowledgement = ack-nhfb, remark = "Updated editor of Beginning Visual C#. 2003", subject = "C# (Computer program language); Microsoft .NET Framework; Internet programming; Web site development; Computer programs", tableofcontents = "Part 1. The C# language \ Chapter 1. Introducing C# \ Chapter 2. Writing a C# program \ Chapter 3. Variables and expressions \ Chapter 4. Flow control \ Chapter 5. More about variables \ Chapter 6. Functions \ Chapter 7. Debugging and error handling \ Chapter 8. Introduction to object-oriented programming \ Chapter 9. Defining classes \ Chapter 10. Defining class members \ Chapter 11. Collections, comparisons, and conversions \ Chapter 12. Generics \ Chapter 13. Additional OOP techniques \ Part 2. Windows programming \ Chapter 14. Basic windows programming \ Chapter 15. Advanced windows forms features \ Chapter 16. Using common dialogs \ Chapter 17. Deploying windows applications \ Part 3. Web programming \ Chapter 18. Basic Web programming \ Chapter 19. Advanced Web programming \ Chapter 20. Web services \ Chapter 21. Deploying Web applications \ Part 4. Data access \ Chapter 22. File system data \ Chapter 23. XML \ Chapter 24. Databases and ADO.NET \ Chapter 25. Data binding \ Part 5. Additional techniques \ Chapter 26. .NET assemblies \ Chapter 27. Attributes \ Chapter 28. XML documentation \ Chapter 29. Networking \ Chapter 30. Introduction to GDI+\ldots{}", }
@Book{Albahari:2007:CN, author = "Joseph Albahari and Ben Albahari and Peter Drayton", title = "{C# 3.0} in a nutshell", publisher = pub-ORA, address = pub-ORA:adr, edition = "Third", pages = "xviii + 838", year = "2007", ISBN = "0-596-52757-8 (paperback)", ISBN-13 = "978-0-596-52757-0 (paperback)", LCCN = "QA76.73.C154 D73 2007; QA76.73.C154; QA76.73.C154 D73 2007eb", bibdate = "Tue Aug 5 18:07:22 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", series = "In a nutshell", URL = "http://www.oreilly.com/catalog/9780596527570", abstract = "Offers a reference to key C# programming concepts covering language elements, syntax, datatypes, and tasks.", acknowledgement = ack-nhfb, remark = "Covers LINQ and .NET 3.5 CLR and Core classes. Previous edition C# 3.0 in a nutshell / Peter Drayton, Ben Albahari, and Ted Neward.", subject = "C{"A} (Computer program language)", tableofcontents = "Introducing C# and the .NET framework \ C# language basics \ Creating types in C# \ Advanced C# \ Framework overview \ Framework fundamentals \ Collections \ LINQ queries \ LINQ operators \ LINQ to XML \ Other XML technologies \ Disposal and garbage collection \ Streams and I/O \ Networking \ Serialization \ Assemblies \ Reflection and metadata \ Security \ Threading \ Asynchronous methods \ Application domains \ Integrating with native DLLs \ Diagnostics \ Regular expressions", }
@Book{Bayer:2007:CCH, editor = "J{"u}rgen Bayer", title = "{Das C#-2005-Codebook}. ({German}) [The {C#} Codebook]", publisher = "Addison-Wesley", address = "M{"u}nchen, Germany", pages = "????", year = "2007", ISBN = "3-8273-6118-4", ISBN-13 = "978-3-8273-6118-9", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", series = "eBook", acknowledgement = ack-nhfb, language = "German", subject = "C sharp", }
@Article{Bierman:2007:LTF, author = "Gavin M. Bierman and Erik Meijer and Mads Torgersen", title = "Lost in translation: formalizing proposed extensions to {C#}", journal = j-SIGPLAN, volume = "42", number = "10", pages = "479--498", month = oct, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1297105.1297063", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:00:28 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Current real-world software applications typically involve heavy use of relational and XML data and their query languages. Unfortunately object-oriented languages and database query languages are based on different semantic foundations and optimization strategies. The resulting ''ROX (Relations, Objects, XML) impedance mismatch'' makes life very difficult for developers.\par
Microsoft Corporation is developing extensions to the
.NET framework to facilitate easier processing of
non-object-oriented data models. Part of this project
(known as 'LINQ') includes various extensions to the
.NET languages to leverage this support.\par
In this paper we consider proposals for C$^\# $ 3.0,
the next version of the C$^\# $ programming language.
We give both an informal introduction to the new
language features, and a precise formal account by
defining a translation from C$^\# $ 3.0 to C$^\# $ 2.0.
This translation also demonstrates how these language
extensions do not require any changes to the underlying
CLR.",
acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "C#; LINQ", }
@Book{Bishop:2007:CDP, author = "J. M. (Judith Mary) Bishop", title = "{C#} design patterns", publisher = pub-ORA, address = pub-ORA:adr, pages = "xxi + 290", year = "2007", ISBN = "0-596-52773-X (paperback)", ISBN-13 = "978-0-596-52773-0 (paperback)", LCCN = "Internet", bibdate = "Tue Aug 5 18:07:57 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", URL = "http://www.oreilly.com/catalog/9780596527730", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Software patterns", }
@Article{Bond:2007:TBA, author = "Michael D. Bond and Nicholas Nethercote and Stephen W. Kent and Samuel Z. Guyer and Kathryn S. McKinley", title = "Tracking bad apples: reporting the origin of null and undefined value errors", journal = j-SIGPLAN, volume = "42", number = "10", pages = "405--422", month = oct, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1297027.1297057", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:00:28 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Programs sometimes crash due to unusable values, for example, when Java and C# programs dereference null pointers and when C and C++ programs use undefined values to affect program behavior. A stack trace produced on such a crash identifies the effect of the unusable value, not its cause, and is often not much help to the programmer.\par
This paper presents efficient origin tracking of
unusable values; it shows how to record where these
values come into existence, correctly propagate them,
and report them if they cause an error. The key idea is
value piggybacking: when the original program stores an
unusable value, value piggybacking instead stores
origin information in the spare bits of the unusable
value. Modest compiler support alters the program to
propagate these modified values through operations such
as assignments and comparisons. We evaluate two
implementations: the first tracks null pointer origins
in a JVM, and the second tracks undefined value origins
in a memory-checking tool built with Valgrind. These
implementations show that origin tracking via value
piggybacking is fast and often useful, and in the Java
case, has low enough overhead for use in a production
environment.",
acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "debugging; Java; low-overhead run-time support; managed languages; null pointer exceptions; undefined values; valgrind", }
@Article{Fahndrich:2007:EOI, author = "Manuel Fahndrich and Songtao Xia", title = "Establishing object invariants with delayed types", journal = j-SIGPLAN, volume = "42", number = "10", pages = "337--350", month = oct, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1297027.1297052", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:00:28 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Mainstream object-oriented languages such as C# and Java provide an initialization model for objects that does not guarantee programmer controlled initialization of fields. Instead, all fields are initialized to default values (0 for scalars and null for non-scalars) on allocation. This is in stark contrast to functional languages, where all parts of an allocation are initialized to programmer-provided values. These choices have a direct impact on two main issues: 1) the prevalence of null in object oriented languages (and its general absence in functional languages), and 2) the ability to initialize circular data structures. This paper explores connections between these differing approaches and proposes a fresh look at initialization. Delayed types are introduced to express and formalize prevalent initialization patterns in object-oriented languages.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "initialization; non-null types; object invariants", }
@Article{Goulding:2007:CGD, author = "Tom Goulding and Rita DiTrolio", title = "Complex game development by freshman computer science majors", journal = j-SIGCSE, volume = "39", number = "4", pages = "92--99", month = dec, year = "2007", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1345375.1345423", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:39 MST 2012", bibsource = "DBLP; http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#GouldingD07; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", URL = "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib", abstract = "This case study reveals Daniel Webster College's experience of increasing enrollments dramatically and igniting student enthusiasm for the computer sciences by combining complex game development with innovative classroom management techniques and non traditional student assessments. In this paper we discuss the classroom methods which favor independent study, cooperative learning and teamwork over lectures and individual achievement. This provides the basis for freshmen computer science majors to experience the pressures and motivations found in the game development industry. Those pressures include mandatory independent study, massive knowledge assimilation, rapid product development and tight schedules developing complex gaming systems. Thus, the cachet of complex game development in C# .NET is exploited, but at the same time the development of core programming skills remains the target goal.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Book{Hilyard:2007:CC, author = "Jay Hilyard and Stephen Teilhet", title = "{C# 3.0} cookbook", publisher = pub-ORA, address = pub-ORA:adr, edition = "Third", pages = "xxvi + 857", year = "2007", ISBN = "0-596-51610-X (paperback)", ISBN-13 = "978-0-596-51610-9 (paperback)", LCCN = "QA76.73.C154; QA76.73.C154eb", bibdate = "Tue Aug 5 18:00:16 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", URL = "http://www.oreilly.com/catalog/9780596516109", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Microsoft .NET Framework", }
@Book{Jagger:2007:ACS, author = "Jon Jagger and Nigel Perry and Peter Sestoft", title = "Annotated {C#} standard", publisher = pub-MORGAN-KAUFMANN, address = pub-MORGAN-KAUFMANN:adr, pages = "xxiii + 825", year = "2007", ISBN = "0-12-372511-9", ISBN-13 = "978-0-12-372511-0", LCCN = "QA76.73.C154 J35 2007", bibdate = "Sat Sep 8 16:31:37 MDT 2007", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Article{Jimeno:2007:CYO, author = "Roberto Jimeno and M. S. Jorge and L. Ortega-Arjona", title = "Curb your objects!: an orthodox form for {C#} classes", journal = j-SIGCSE, volume = "39", number = "2", pages = "138--141", month = jun, year = "2007", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1272848.1272897", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:35 MST 2012", bibsource = "DBLP; http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#JimenoJO07; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", URL = "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib", abstract = "The Orthodox Form for C# Classes (OFC#C) is an idiom proposed for the C# programming language that intends to provide its classes with a basic structure that assures a predictable behavior for creation, copy, and destruction of instances. When classes in C# are written it is desirable to build them in such a way that their instances produce objects which behave in predictable ways. Programmers tend to make mistakes when their objects behave at run time in the same way the they expect them to behave at write/compile time.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Article{McCreight:2007:GFC, author = "Andrew McCreight and Zhong Shao and Chunxiao Lin and Long Li", title = "A general framework for certifying garbage collectors and their mutators", journal = j-SIGPLAN, volume = "42", number = "6", pages = "468--479", month = jun, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1273442.1250788", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:55:30 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Garbage-collected languages such as Java and C# are becoming more and more widely used in both high-end software and real-time embedded applications. The correctness of the GC implementation is essential to the reliability and security of a large portion of the world's mission-critical software. Unfortunately, garbage collectors--especially incremental and concurrent ones--are extremely hard to implement correctly. In this paper, we present a new uniform approach to verifying the safety of both a mutator and its garbage collector in Hoare-style logic. We define a formal garbage collector interface general enough to reason about a variety of algorithms while allowing the mutator to ignore implementation-specific details of the collector. Our approach supports collectors that require read and write barriers. We have used our approach to mechanically verify assembly implementations of mark-sweep, copying and incremental copying GCs in Coq, as well as sample mutator programs that can be linked with any of the GCs to produce a fully-verified garbage-collected program. Our work provides a foundation for reasoning about complex mutator-collector interaction and makes an important advance toward building fully certified production-quality GCs.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "abstract data type; assembly code verification; garbage collection; proof-carrying code; separation logic", }
@Book{Michaelis:2007:EC, author = "Mark Michaelis", title = "Essential {C# 2.0}", publisher = pub-AW, address = pub-AW:adr, pages = "xli + 720", year = "2007", ISBN = "0-321-15077-5 (paperback)", ISBN-13 = "978-0-321-15077-6", LCCN = "QA76.73.C154 M523 2007", bibdate = "Thu Mar 9 08:29:39 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", URL = "http://www.loc.gov/catdir/toc/ecip0611/2006009699.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Article{Shankar:2007:DAI, author = "Ajeet Shankar and Rastislav Bod{'\i}k", title = "{DITTO}: automatic incrementalization of data structure invariant checks (in {Java)}", journal = j-SIGPLAN, volume = "42", number = "6", pages = "310--319", month = jun, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1250734.1250770", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:55:30 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "We present DITTO, an automatic incrementalizer for dynamic, side-effect-free data structure invariant checks. Incrementalization speeds up the execution of a check by reusing its previous executions, checking the invariant anew only the changed parts of the data structure. DITTO exploits properties specific to the domain of invariant checks to automate and simplify the process without restricting what mutations the program can perform. Our incrementalizer works for modern imperative languages such as Java and C#. It can incrementalize,for example, verification of red-black tree properties and the consistency of the hash code in a hash table bucket. Our source-to-source implementation for Java is automatic, portable, and efficient. DITTO provides speedups on data structures with as few as 100 elements; on larger data structures, its speedups are characteristic of non-automatic incrementalizers: roughly 5-fold at 5,000 elements,and growing linearly with data structure size.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "automatic; data structure invariants; dynamic optimization; incrementalization; optimistic memoization; program analysis", }
@Book{Albahari:2008:CPR, author = "Joseph Albahari and Ben Albahari", title = "{C# 3.0} pocket reference", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "xi + 230", year = "2008", ISBN = "0-596-51922-2 (paperback)", ISBN-13 = "978-0-596-51922-3 (paperback)", LCCN = "QA76.73.C154 A4185 2008", bibdate = "Mon Oct 12 10:11:15 MDT 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", abstract = "Offers a reference to key C# programming concepts, covering language elements, syntax, datatypes, and tasks.", acknowledgement = ack-nhfb, subject = "C# (computer program language)", }
@Book{Albahari:2008:LPR, author = "Joseph Albahari and Ben Albahari", title = "{LINQ} pocket reference", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "ix + 161", year = "2008", ISBN = "0-596-51924-9 (paperback)", ISBN-13 = "978-0-596-51924-7 (paperback)", LCCN = "QA76.73.L228 A43 2008", bibdate = "Mon Oct 12 10:09:56 MDT 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/fy0805/2008299898.html", acknowledgement = ack-nhfb, remark = "LINQPad enabled.", subject = "Microsoft LINQ; C# (computer program language); Microsoft .NET Framework; query languages (computer science)", }
@Book{Bayer:2008:CCH, author = "J{"u}rgen Bayer", title = "{Das {C#} 2008 Codebook}. ({German}) [The {C#} Codebook]", publisher = "Addison Wesley", address = "M{"u}nchen, Germany", pages = "????", year = "2008", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "German", }
@Article{Chen:2008:TPC, author = "Juan Chen and Chris Hawblitzel and Frances Perry and Mike Emmi and Jeremy Condit and Derrick Coetzee and Polyvios Pratikaki", title = "Type-preserving compilation for large-scale optimizing object-oriented compilers", journal = j-SIGPLAN, volume = "43", number = "6", pages = "183--192", month = jun, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1379022.1375604", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:04:53 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Type-preserving compilers translate well-typed source code, such as Java or C#, into verifiable target code, such as typed assembly language or proof-carrying code. This paper presents the implementation of type-preserving compilation in a complex, large-scale optimizing compiler. Compared to prior work, this implementation supports extensive optimizations, and it verifies a large portion of the interface between the compiler and the runtime system. This paper demonstrates the practicality of type-preserving compilation in complex optimizing compilers: the generated typed assembly language is only 2.3% slower than the base compiler's generated untyped assembly language, and the type-preserving compiler is 82.8% slower than the base compiler.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "object-oriented compilers; type-preserving compilation", }
@Book{Doyle:2008:CPP, author = "Barbara Doyle", title = "{C#} programming: from problem analysis to program design", publisher = "Course Technology", address = "Boston, MA, USA", edition = "Second", pages = "xxxi + 1000", year = "2008", ISBN = "1-4239-0146-0 (paperback)", ISBN-13 = "978-1-4239-0146-4 (paperback)", LCCN = "QA76.73.C154 D58 2008", bibdate = "Mon Jul 5 08:25:55 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, remark = "Previous edition published as Microsoft Visual C# .NET programming. 2004.", subject = "C# (Computer program language); Internet programming; Object-oriented programming (Computer science)", }
@Article{Faxen:2008:WWS, author = "Karl-Filip Fax{'e}n", title = "{Wool} --- a work stealing library", journal = j-COMP-ARCH-NEWS, volume = "36", number = "5", pages = "93--100", month = dec, year = "2008", CODEN = "CANED2", DOI = "https://doi.org/10.1145/1556444.1556457", ISSN = "0163-5964 (print), 1943-5851 (electronic)", ISSN-L = "0163-5964", bibdate = "Fri Jun 26 11:50:56 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "This paper presents some preliminary results on a small light weight user level task management library called Wool. The Wool task scheduler is based on work stealing. The objective of the library is to provide a reasonably convenient programming interface (in particular by not forcing the programmer to write in continuation passing style) in ordinary C while still having a very low task creation overhead. Several task scheduling systems based on work stealing exists, but they are typically either programming languages like Cilk-5 or based on C++ like the Intel TBB or C# as in the Microsoft TPL. Our main conclusions are that such a direct style interface is indeed possible and yields performance that is comparable to that of the Intel TBB.", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", }
@Article{Fekete:2008:TSD, author = "Alan D. Fekete", title = "Teaching students to develop thread-safe {Java} classes", journal = j-SIGCSE, volume = "40", number = "3", pages = "119--123", month = sep, year = "2008", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1597849.1384304", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 15:44:14 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", note = "Proceedings of ITiCSE '08.", abstract = "Concurrent programming was once the preserve of experts writing systems internals; but recently the growing importance of application servers, and the excellent support in Java and C# for thread handling, has brought threads and locking as topics that every software developer might experience, and therefore every computer science graduate ought to know. In this paper we report on several years of experience teaching this material in the early years of the curriculum. We focus on one aspect of multi-threaded code, namely how to write sensible thread-safe classes. We identify the learning outcomes we aim to deliver, and we discuss the main pedagogic difficulties students find. We present some examples that can help students avoid common erroneous views.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Article{Ferrara:2008:SUC, author = "Pietro Ferrara and Francesco Logozzo and Manuel Fahndrich", title = "Safer unsafe code for {.NET}", journal = j-SIGPLAN, volume = "43", number = "10", pages = "329--346", month = sep, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1449955.1449791", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Oct 22 09:57:37 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "The .NET intermediate language (MSIL) allows expressing both statically verifiable memory and type safe code (typically called managed), as well as unsafe code using direct pointer manipulations. Unsafe code can be expressed in C# by marking regions of code as {\em unsafe}. Writing unsafe code can be useful where the rules of managed code are too strict. The obvious drawback of unsafe code is that it opens the door to programming errors typical of C and C++, namely memory access errors such as buffer overruns. Worse, a single piece of unsafe code may corrupt memory and destabilize the entire runtime or allow attackers to compromise the security of the platform.\par
We present a new static analysis based on abstract
interpretation to check memory safety for unsafe code
in the .NET framework. The core of the analysis is a
new numerical abstract domain, Strp, which is used to
efficiently compute memory invariants. Strp is combined
with lightweight abstract domains to raise the
precision, yet achieving scalability.\par
We implemented this analysis in Clousot, a generic
static analyzer for .NET. In combination with contracts
expressed in FoxTrot, an MSIL based annotation language
for .NET, our analysis provides {\em static\/} safety
guarantees on memory accesses in unsafe code. We tested
it on all the assemblies of the .NET framework. We
compare our results with those obtained using existing
domains, showing how they are either too imprecise
({\em e.g.}, Intervals or Octagons) or too expensive
(Polyhedra) to be used in practice.",
acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = ".NET; abstract domains; abstract interpretation; bounds checking; design by contract; pointer indexing; static analysis", }
@Book{Foxall:2008:STY, author = "James D. Foxall", title = "{Sams} teach yourself {Visual C# 2008} in 24 hours: complete starter kit", publisher = pub-SAMS, address = pub-SAMS:adr, pages = "xi + 512", year = "2008", ISBN = "0-672-32990-5", ISBN-13 = "978-0-672-32990-6", LCCN = "QA76.73.C154 F68 2008", bibdate = "Mon Jul 5 08:26:03 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/ecip0819/2008022406.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Microsoft Visual C#", }
@Article{Goulding:2008:CGD, author = "Tom Goulding", title = "Complex game development throughout the college curriculum", journal = j-SIGCSE, volume = "40", number = "4", pages = "68--71", month = dec, year = "2008", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1473195.1473223", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 15:44:17 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", abstract = "This case study discusses the incorporation of game development throughout the Daniel Webster College computer science curriculum. During the freshman year all computer science majors develop complex games in C#.net while participating in an instructional game motif method we call the GM method. This freshman educational method combines agile software engineering techniques with an inquiry based, neo-Socratic classroom. The GM method provides freshmen with the core skills necessary to develop complex games throughout their college career. This freshman program of study is followed by more traditional project courses which begin with an encryption system project in the sophomore year. XNA 2-D and XNA 3-D game development soon follow and a C++ game engine development capstone project is undertaken in the senior year.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Book{Hejlsberg:2008:CPL, editor = "Anders Hejlsberg and Mads Togersen and Scott Wiltamuth and Peter Golde", title = "The {C#} Programming Language", publisher = pub-AW, address = pub-AW:adr, edition = "Third", pages = "xviii + 754", year = "2008", ISBN = "0-321-56299-2", ISBN-13 = "978-0-321-56299-9", LCCN = "QA76.73.C154 H45 2008", bibdate = "Mon Oct 6 17:37:12 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Article{Huang:2008:ESS, author = "Shan Shan Huang and Yannis Smaragdakis", title = "Expressive and safe static reflection with {MorphJ}", journal = j-SIGPLAN, volume = "43", number = "6", pages = "79--89", month = jun, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1375581.1375592", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:04:53 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Recently, language extensions have been proposed for Java and C# to support pattern-based reflective declaration. These extensions introduce a disciplined form of meta-programming and aspect-oriented programming to mainstream languages: They allow members of a class (i.e., fields and methods) to be declared by statically iterating over and pattern-matching on members of other classes. Such techniques, however, have been unable to safely express simple, but common, idioms such as declaring getter and setter methods for fields.\par
In this paper, we present a mechanism that addresses
the lack of expressiveness in past work without
sacrificing safety. Our technique is based on the idea
of nested patterns that elaborate the outer-most
pattern with blocking or enabling conditions. We
implemented this mechanism in a language, MorphJ. We
demonstrate the expressiveness of MorphJ with
real-world applications. In particular, the MorphJ
reimplementation of DSTM2, a software transactional
memory library, reduces 1,107 lines of Java reflection
and bytecode engineering library calls to just 374
lines of MorphJ code. At the same time, the MorphJ
solution is both high level and safer, as MorphJ can
separately type check generic classes and catch errors
early. We present and formalize the MorphJ type system,
and offer a type-checking algorithm.",
acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "aspect-oriented programming; class morphing; language extensions; meta-programming; object-oriented programming; structural abstraction", }
@Article{Jacobs:2008:PMC, author = "Bart Jacobs and Frank Piessens and Jan Smans and K. Rustan M. Leino and Wolfram Schulte", title = "A programming model for concurrent object-oriented programs", journal = j-TOPLAS, volume = "31", number = "1", pages = "1:1--1:48", month = dec, year = "2008", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/1452044.1452045", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Tue Dec 23 11:52:52 MST 2008", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", abstract = "Reasoning about multithreaded object-oriented programs is difficult, due to the nonlocal nature of object aliasing and data races. We propose a programming regime (or {\em programming model/}) that rules out data races, and enables local reasoning in the presence of object aliasing and concurrency. Our programming model builds on the multithreading and synchronization primitives as they are present in current mainstream programming languages. Java or C# programs developed according to our model can be annotated by means of stylized comments to make the use of the model explicit. We show that such annotated programs can be formally verified to comply with the programming model. If the annotated program verifies, the underlying Java or C# program is guaranteed to be free from data races, and it is sound to reason locally about program behavior. Verification is modular: a program is valid if all methods are valid, and validity of a method does not depend on program elements that are not visible to the method. We have implemented a verifier for programs developed according to our model in a custom build of the Spec# programming system, and we have validated our approach on a case study.", acknowledgement = ack-nhfb, articleno = "1", fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "Aliasing; data races; local reasoning; modular reasoning; ownership; verification condition generation", }
@Book{Liberty:2008:LC, author = "Jesse Liberty and Brian MacDonald", title = "Learning {C#}", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "704 (est.)", year = "2008", ISBN = "0-596-15501-8", ISBN-13 = "978-0-596-15501-8", LCCN = "QA76.73.C153 L53 2008", bibdate = "Sat Nov 13 10:17:50 MST 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; prodorbis.library.yale.edu:7090/voyager", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Internet programming; Microsoft .NET Framework; Object-oriented methods (Computer science)", }
@Book{Liberty:2008:PC, author = "Jesse Liberty and Donald Xie", title = "Programming {C# 3.0}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Fifth", pages = "xviii + 587", year = "2008", ISBN = "0-596-52743-8", ISBN-13 = "978-0-596-52743-3", LCCN = "QA76.73.C154", bibdate = "Tue Aug 5 18:06:53 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", URL = "http://www.oreilly.com/catalog/9780596527433", acknowledgement = ack-nhfb, remark = "Covers Visual Studio 2008, LINQ, .NET 3.5, and more.", subject = "C# (Computer program language); Microsoft .NET Framework", }
@Book{MacDonald:2008:PWC, author = "Matthew MacDonald", title = "{Pro WPF} in {C# 2008}: {Windows Presentation Foundation} with {.NET 3.5}", publisher = pub-APRESS, address = pub-APRESS:adr, edition = "Second", pages = "xxix + 1040", year = "2008", ISBN = "1-59059-955-1", ISBN-13 = "978-1-59059-955-6", LCCN = "????", bibdate = "Sat Oct 25 15:37:24 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, }
@Book{Mayo:2008:CNF, author = "Joseph Mayo", title = "{C# 3.0}: with the {.NET Framework 3.5} unleashed", publisher = pub-SAMS, address = pub-SAMS:adr, edition = "Second", pages = "xxiv + 1022", year = "2008", ISBN = "0-672-32981-6", ISBN-13 = "978-0-672-32981-4", LCCN = "QA76.73.C154 M38 2008", bibdate = "Thu May 3 10:52:57 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/ecip0820/2008026117.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Microsoft .NET Framework", }
@Article{Moors:2008:GHK, author = "Adriaan Moors and Frank Piessens and Martin Odersky", title = "Generics of a higher kind", journal = j-SIGPLAN, volume = "43", number = "10", pages = "423--438", month = sep, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1449764.1449798", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Oct 22 09:57:37 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "With Java 5 and C# 2.0, first-order parametric polymorphism was introduced in mainstream object-oriented programming languages under the name of generics. Although the first-order variant of generics is very useful, it also imposes some restrictions: it is possible to abstract over a type, but the resulting type constructor cannot be abstracted over. This can lead to code duplication. We removed this restriction in Scala, by allowing type constructors as type parameters and abstract type members. This paper presents the design and implementation of the resulting type constructor polymorphism. Furthermore, we study how this feature interacts with existing object-oriented constructs, and show how it makes the language more expressive.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "higher-kinded types; higher-order genericity; Scala; type constructor polymorphism", }
@Article{Naugler:2008:RPL, author = "David Naugler", title = "Review of {{\em Pro LINQ Object Relational Mapping in C# 2008} by Vijay Mehta, Apress, 2008, $49.99, ISBN: 978-1-59059-965-5}", journal = j-QUEUE, volume = "6", number = "7", pages = "41--41", month = nov # "/" # dec, year = "2008", CODEN = "AQCUAE", DOI = "https://doi.org/10.1145/1483101.1483112", ISSN = "1542-7730 (print), 1542-7749 (electronic)", ISSN-L = "1542-7730", bibdate = "Fri Jan 9 12:44:34 MST 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, fjournal = "ACM Queue: Tomorrow's Computing Today", }
@Article{Naugler:2008:RPW, author = "David Naugler", title = "Review of {{\em Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5}, (2nd ed.),' Apress, 2008, $54.99, ISBN 1-59059-955-1}", journal = j-QUEUE, volume = "6", number = "5", pages = "59--59", month = sep, year = "2008", CODEN = "AQCUAE", ISSN = "1542-7730 (print), 1542-7749 (electronic)", ISSN-L = "1542-7730", bibdate = "Sat Oct 25 15:26:21 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, fjournal = "ACM Queue: Tomorrow's Computing Today", }
@Article{Pizlo:2008:SCR, author = "Filip Pizlo and Erez Petrank and Bjarne Steensgaard", title = "A study of concurrent real-time garbage collectors", journal = j-SIGPLAN, volume = "43", number = "6", pages = "33--44", month = jun, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1379022.1375587", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:04:53 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Concurrent garbage collection is highly attractive for real-time systems, because offloading the collection effort from the executing threads allows faster response, allowing for extremely short deadlines at the microseconds level. Concurrent collectors also offer much better scalability over incremental collectors. The main problem with concurrent real-time collectors is their complexity. The first concurrent real-time garbage collector that can support fine synchronization, STOPLESS, has recently been presented by Pizlo et al. In this paper, we propose two additional (and different) algorithms for concurrent real-time garbage collection: CLOVER and CHICKEN. Both collectors obtain reduced complexity over the first collector STOPLESS, but need to trade a benefit for it. We study the algorithmic strengths and weaknesses of CLOVER and CHICKEN and compare them to STOPLESS. Finally, we have implemented all three collectors on the Bartok compiler and runtime for C# and we present measurements to compare their efficiency and responsiveness.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "concurrent garbage collection; garbage collection; lock-free computation; memory management; real-time", }
@Article{Russo:2008:JPV, author = "Claudio V. Russo", title = "Join patterns for {Visual Basic}", journal = j-SIGPLAN, volume = "43", number = "10", pages = "53--72", month = sep, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1449764.1449770", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Oct 22 09:57:37 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "We describe an extension of Visual Basic 9.0 with asynchronous concurrency constructs --- join patterns --- based on the join calculus. Our design of Concurrent Basic (CB) builds on earlier work on Polyphonic C# and Comega. Since that work, the need for language-integrated concurrency has only grown, both due to the arrival of commodity, multi-core hardware, and the trend for Rich Internet Applications that rely on asynchronous client-server communication to hide latency. Unlike its predecessors, CB adopts an event-like syntax that should be familiar to existing VB programmers. Coupled with Generics, CB allows one to declare re-usable concurrency abstractions that were clumsy to express previously. CB removes its ancestors' inconvenient inheritance restriction, while providing new extensibility points useful in practical applications that must co-exist with or want to exploit alternative threading models available on the platform. CB is implemented as an extension of the production VB 9.0 compiler.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "asynchronous message passing; join patterns; visual basic", }
@Book{Sauer:2008:VCH, editor = "Florian Sauer and Joachim Karl", title = "Visual {C#} 2008", publisher = "Addison-Wesley", address = "M{"u}nchen, Germany", pages = "????", year = "2008", ISBN = "3-8273-6114-1", ISBN-13 = "978-3-8273-6114-1", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "German", subject = "Visual C sharp 2008", }
@Article{Sestoft:2008:PLC, author = "Peter Sestoft", title = "Programming language concepts for software developers", journal = j-SIGPLAN, volume = "43", number = "11", pages = "119--123", month = nov, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1480828.1480854", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Dec 31 12:36:25 MST 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "This note describes and motivates our current plans for an undergraduate course on programming language concepts for software development students. We describe the competences we expect students to acquire as well as the topics covered by the course. We plan to use C# and Scheme as instruction languages, and will study the implementation of Java and C# with their underlying platforms, the Java Virtual Machine and .NET Common Language Runtime. We emphasize implementation exercises and experiments. This comes at the expense of classical compiler course subjects such as register allocation and optimization of imperative loop-intensive code.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "programming languages curriculum", }
@Book{Sphar:2008:CD, author = "Chuck Sphar and Stephen R. Davis", title = "{C# 2008} for dummies", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "xx + 434", year = "2008", ISBN = "0-470-19109-0 (paperback)", ISBN-13 = "978-0-470-19109-5 (paperback)", LCCN = "QA76.73.C154 S68 2008", bibdate = "Thu May 3 09:28:23 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "For dummies", URL = "http://www.loc.gov/catdir/enhancements/fy0808/2008920770-b.html; http://www.loc.gov/catdir/enhancements/fy0808/2008920770-d.html; http://www.loc.gov/catdir/enhancements/fy0810/2008920770-t.html", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Book{Stellman:2008:HFC, author = "Andrew Stellman and Jennifer Greene", title = "Head first {C#}", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "xl + 738", year = "2008", ISBN = "0-596-51482-4 (paperback)", ISBN-13 = "978-0-596-51482-2 (paperback)", LCCN = "QA76.73.C154; QA76.73.C154eb", bibdate = "Tue Aug 5 17:58:27 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", series = "O'Reilly's Head first series", URL = "http://www.oreilly.com/catalog/9780596514822", acknowledgement = ack-nhfb, remark = "A learner's guide to real-world programming with C# and .NET. Covers C# 3.0 and Visual Studio 2008.", subject = "Microsoft Visual C# .NET; C# (Computer program language)", }
@Book{Stubblebine:2008:RAK, author = "Toni Stubblebine and Peter Klicman and Lars Schulten", title = "{Regul{"a}re Ausdr{"u}cke --- kurz and gut [f{"u}r Perl, Ruby, PHP, C#, Python, Java and .NET]}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "131", year = "2008", ISBN = "3-89721-535-7", ISBN-13 = "978-3-89721-535-1", LCCN = "????", bibdate = "Thu Jul 15 18:31:10 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.gbv.de:20011/gvk", price = "EUR 9.90", series = "O'Reillys Taschenbibliothek", acknowledgement = ack-nhfb, }
@Article{Abadi:2009:TMS, author = "Mart{'\i}n Abadi and Tim Harris and Mojtaba Mehrara", title = "Transactional memory with strong atomicity using off-the-shelf memory protection hardware", journal = j-SIGPLAN, volume = "44", number = "4", pages = "185--196", month = apr, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1504176.1504203", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 9 08:40:49 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "This paper introduces a new way to provide strong atomicity in an implementation of transactional memory. Strong atomicity lets us offer clear semantics to programs, even if they access the same locations inside and outside transactions. It also avoids differences between hardware-implemented transactions and software-implemented ones. Our approach is to use off-the-shelf page-level memory protection hardware to detect conflicts between normal memory accesses and transactional ones. This page-level mechanism ensures correctness but gives poor performance because of the costs of manipulating memory protection settings and receiving notifications of access violations. However, in practice, we show how a combination of careful object placement and dynamic code update allows us to eliminate almost all of the protection changes. Existing implementations of strong atomicity in software rely on detecting conflicts by conservatively treating some non-transactional accesses as short transactions. In contrast, our page-level mechanism lets us be less conservative about how non-transactional accesses are treated; we avoid changes to non-transactional code until a possible conflict is detected dynamically, and we can respond to phase changes where a given instruction sometimes generates conflicts and sometimes does not. We evaluate our implementation with C# versions of many of the STAMP benchmarks, and show how it performs within 25% of an implementation with weak atomicity on all the benchmarks we have studied. It avoids pathological cases in which other implementations of strong atomicity perform poorly.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "memory protection; STM; strong atomicity; transactional memory", }
@Article{Axelsen:2009:GPT, author = "Eyvind W. Axelsen and Stein Krogdahl", title = "{Groovy} package templates: supporting reuse and runtime adaption of class hierarchies", journal = j-SIGPLAN, volume = "44", number = "12", pages = "15--26", month = dec, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1640134.1640139", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Aug 31 22:04:07 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "We show how package templates, a modularization mechanism originally developed for statically typed languages like Java and C#, can be applied to and implemented in a dynamic language like Groovy, by using the language's capabilities for meta-programming. We then consider a set of examples and discuss dynamic PT from the viewpoints of code modularization and reuse, and dynamic adaption of classes at runtime.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "dynamic languages; modularization; OOP; templates", }
@Article{Brosgol:2009:ICL, author = "Ben Brosgol", title = "An introduction to the {C#} language and {.NET} infrastructure", journal = j-SIGADA-LETTERS, volume = "29", number = "3", pages = "3--4", month = dec, year = "2009", CODEN = "AALEE5", DOI = "https://doi.org/10.1145/1647420.1647423", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "1094-3641", bibdate = "Mon Jun 21 14:04:37 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Prerequisites: Familiarity with Object Oriented Programming principles in a language such as Ada, Java, or C++. No previous experience with C# or .NET is assumed. This tutorial will describe the main elements of the C# programming language and the Common Language Infrastructure (whose implementation by Microsoft is knows as .NET). It will focus on C#'s more novel language features, using examples and comparisons with other languages (in particular, Ada and Java) to describe the semantics. Specific C# language topics to be covered include the compilation model, namespaces, types, generics, exception handling, and threading. Common Language Infrastructure / .NET topics include summaries of the Base Class Library, Common Intermediate Language, Common Language System, Common Type System and Virtual Execution System. In short, this tutorial may be considered as the presenter's response to the following question: 'C# is sometimes described as Microsoft's answer to Java. Is this an accurate assessment, and in any event how do C# and .NET relate to Ada?'", acknowledgement = ack-nhfb, fjournal = "ACM SIGAda Ada Letters", keywords = "Ada; infrastructure; interfacing; languages; object-oriented; programming; real-time; software; systems", }
@Book{Deitel:2009:CP, author = "Harvey M. Deitel and Paul J. Deitel", title = "{C# 2008} for programmers", publisher = pub-PH, address = pub-PH:adr, edition = "Third", pages = "xlii + 1251", year = "2009", ISBN = "0-13-714415-6", ISBN-13 = "978-0-13-714415-0", LCCN = "QA76.73.C154 D455 2009", bibdate = "Thu May 3 10:51:06 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Deitel developer series", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Article{Farrell-Vinay:2009:BRM, author = "Peter Farrell-Vinay", title = "Book review: {{\booktitle{Model-based software testing and analysis in C#}} by Jonathan Jacky, Margus Veanes, Colin Campbell, and Wolfram Schulte, and published by CUP, 2008, (paperback) ISB-10: 0-521-68761-6, 349 pp.}", journal = j-SIGSOFT, volume = "34", number = "5", pages = "60--60", month = sep, year = "2009", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/1598732.1598746", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:15:47 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", }
@Article{Hawblitzel:2009:AVP, author = "Chris Hawblitzel and Erez Petrank", title = "Automated verification of practical garbage collectors", journal = j-SIGPLAN, volume = "44", number = "1", pages = "441--453", month = jan, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1594834.1480935", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 9 08:40:38 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Garbage collectors are notoriously hard to verify, due to their low-level interaction with the underlying system and the general difficulty in reasoning about reachability in graphs. Several papers have presented verified collectors, but either the proofs were hand-written or the collectors were too simplistic to use on practical applications. In this work, we present two mechanically verified garbage collectors, both practical enough to use for real-world C# benchmarks. The collectors and their associated allocators consist of x86 assembly language instructions and macro instructions, annotated with preconditions, postconditions, invariants, and assertions. We used the Boogie verification generator and the Z3 automated theorem prover to verify this assembly language code mechanically. We provide measurements comparing the performance of the verified collector with that of the standard Bartok collectors on off-the-shelf C# benchmarks, demonstrating their competitiveness.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "garbage collection; verification", }
@Article{Kliot:2009:LFC, author = "Gabriel Kliot and Erez Petrank and Bjarne Steensgaard", title = "A lock-free, concurrent, and incremental stack scanning mechanism for garbage collectors", journal = j-OPER-SYS-REV, volume = "43", number = "3", pages = "3--13", month = jul, year = "2009", CODEN = "OSRED8", DOI = "https://doi.org/10.1145/1618525.1618527", ISSN = "0163-5980", ISSN-L = "0163-5980", bibdate = "Tue Sep 22 12:51:49 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Two major efficiency parameters for garbage collectors are the throughput overheads and the pause times that they introduce. Highly responsive systems need to use collectors with as short as possible pause times. Pause times have decreased significantly over the years, especially through the use of concurrent garbage collectors. For modern concurrent collectors, the longest pause is typically created by the need to atomically scan the runtime stack. All practical concurrent collectors that we are aware of must obtain a snapshot of the pointers on each thread's runtime stack, in order to reclaim objects correctly. To further reduce the duration of the collector pauses, incremental stack scans were proposed. However, previous such methods employ locks to stop the mutator from accessing a stack frame while it is being scanned. Thus, these methods introduce potentially long and unpredictable pauses for a mutator thread. In this work we propose the first concurrent, incremental, and lock-free stack scanning mechanism for garbage collectors, that allows high responsiveness and support for programs that employ fine-grain synchronization to avoid locks. Our solution can be employed by all concurrent collectors that we are aware of, it is lock-free, it imposes a negligible overhead on the program execution, and it supports intra-stack references as found in languages like C#.", acknowledgement = ack-nhfb, fjournal = "ACM SIGOPS Operating Systems Review", keywords = "incremental and concurrent garbage collection; lock-free data structures; stack scanning", }
@Book{Michaelis:2009:ECN, author = "Mark Michaelis", title = "Essential {C# 3.0}: for {.NET Framework 3.5}", publisher = pub-AW, address = pub-AW:adr, pages = "xlv + 826", year = "2009", ISBN = "0-321-53392-5 (paperback)", ISBN-13 = "978-0-321-53392-0 (paperback)", LCCN = "QA76.73.C154 M5235 2009", bibdate = "Mon Oct 6 17:37:34 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", series = "Microsoft .NET development series", acknowledgement = ack-nhfb, subject = "C# (Computer program language); Microsoft .NET Framework", }
@Article{Miura:2009:AGI, author = "Motoki Miura and Taro Sugihara and Susumu Kunifuji", title = "{Anchor Garden}: an interactive workbench for basic data concept learning in object oriented programming languages", journal = j-SIGCSE, volume = "41", number = "3", pages = "141--145", month = sep, year = "2009", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1595496.1562925", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 15:44:23 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib", note = "Proceedings of ITiCSE '09.", abstract = "We propose Anchor Garden (AG), an interactive workbench software for learning fundamentals of data structures with the concepts of type, variable, object, and their relations in a strongly typed object-oriented programming language (OOPL) such as Java or C#. Learners can approach the basic data-handling concepts of OOPLs by direct manipulation of graphical models in AG. In addition, the learner can correlate his/her manipulation and notation of source code because AG automatically generates appropriate source-code corresponding to this manipulation. Experimental results showed a tendency of a learning effect with AG and high correlations between concept understanding and programming ability. Thus, AG has the potential to enhance the programming ability of novice programmers.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", }
@Article{Saxena:2009:PEO, author = "Vipin Saxena and Deepak Arora", title = "Performance evaluation for object oriented software systems", journal = j-SIGSOFT, volume = "34", number = "2", pages = "1--5", month = mar, year = "2009", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/1507195.1507213", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:15:42 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib", abstract = "Distributed computing has become an integral part of large and complex computation used in large organizations. It not only hides the complexities of processing from its user but it also delivers high-level security, reliability and availability. In this regard, software and hardware competence must be considered as a performance parameter for any distributed computer system. For maximum throughput, the software running on any hardware architecture should be capable enough to utilize the available resources at its highest efficiency. The main objective of this paper is to measure the performance of processors for different object-oriented software system frameworks. The authors have chosen two types of object oriented software system frameworks: C#, based on Microsoft {.NET} Framework and Visual C++, based on Microsoft Foundation Classes. For processing needs, two processors: Pentium D and Core 2 Duo are considered, each having multiple execution cores in it. Before evaluating the performance of these processors, a UML model is presented for the process execution in a distributed computing scenario. Along with UML class and sequence diagram, a comparative study between performances of aforesaid software system is also reported.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", }
@Article{Shacham:2009:CAS, author = "Ohad Shacham and Martin Vechev and Eran Yahav", title = "{Chameleon}: adaptive selection of collections", journal = j-SIGPLAN, volume = "44", number = "6", pages = "408--418", month = jun, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1542476.1542522", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Jun 16 14:41:16 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Languages such as Java and C#, as well as scripting languages like Python, and Ruby, make extensive use of Collection classes. A collection implementation represents a fixed choice in the dimensions of operation time, space utilization, and synchronization. Using the collection in a manner not consistent with this fixed choice can cause significant performance degradation. In this paper, we present CHAMELEON, a low-overhead automatic tool that assists the programmer in choosing the appropriate collection implementation for her application. During program execution, CHAMELEON computes elaborate trace and heap-based metrics on collection behavior. These metrics are consumed on-the-fly by a rules engine which outputs a list of suggested collection adaptation strategies. The tool can apply these corrective strategies automatically or present them to the programmer. We have implemented CHAMELEON on top of a IBM's J9 production JVM, and evaluated it over a small set of benchmarks. We show that for some applications, using CHAMELEON leads to a significant improvement of the memory footprint of the application.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "bloat; collections; Java; semantic profiler", }
@Article{Tsafrir:2009:MDW, author = "Dan Tsafrir and Robert W. Wisniewski and David F. Bacon and Bjarne Stroustrup", title = "Minimizing dependencies within generic classes for faster and smaller programs", journal = j-SIGPLAN, volume = "44", number = "10", pages = "425--444", month = oct, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1640089.1640121", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jun 21 18:01:56 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Generic classes can be used to improve performance by allowing compile-time polymorphism. But the applicability of compile-time polymorphism is narrower than that of runtime polymorphism, and it might bloat the object code. We advocate a programming principle whereby a generic class should be implemented in a way that minimizes the dependencies between its members (nested types, methods) and its generic type parameters. Conforming to this principle (1) reduces the bloat and (2) gives rise to a previously unconceived manner of using the language that expands the applicability of compile-time polymorphism to a wider range of problems. Our contribution is thus a programming technique that generates faster and smaller programs. We apply our ideas to GCC's STL containers and iterators, and we demonstrate notable speedups and reduction in object code size (real application runs 1.2x to 2.1x faster and STL code is 1x to 25x smaller). We conclude that standard generic APIs (like STL) should be amended to reflect the proposed principle in the interest of efficiency and compactness. Such modifications will not break old code, simply increase flexibility. Our findings apply to languages like C++, C#, and D, which realize generic programming through multiple instantiations.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "generalized hoisting; generics; scary assignments and initializations; templates", }
@Article{Xu:2009:SCC, author = "Dana N. Xu and Simon Peyton Jones and Koen Claessen", title = "Static contract checking for {Haskell}", journal = j-SIGPLAN, volume = "44", number = "1", pages = "41--52", month = jan, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1594834.1480889", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 9 08:40:38 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Program errors are hard to detect and are costly both to programmers who spend significant efforts in debugging, and for systems that are guarded by runtime checks. Static verification techniques have been applied to imperative and object-oriented languages, like Java and C#, but few have been applied to a higher-order lazy functional language, like Haskell. In this paper, we describe a sound and automatic static verification framework for Haskell, that is based on contracts and symbolic execution. Our approach is modular and gives precise blame assignments at compile-time in the presence of higher-order functions and laziness.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "contract satisfaction; static contract checking", }
@Book{Albahari:2010:CN, author = "Joseph Albahari and Ben Albahari", title = "{C# 4.0} in a nutshell", publisher = pub-ORA, address = pub-ORA:adr, edition = "Fourth", pages = "xviii + 1025", year = "2010", ISBN = "0-596-80095-9", ISBN-13 = "978-0-596-80095-6", LCCN = "????", bibdate = "Mon Jul 5 08:35:06 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, }
@Book{Albahari:2010:CPR, author = "Joseph Albahari and Ben Albahari", title = "{C# 4.0} pocket reference", publisher = pub-ORA, address = pub-ORA:adr, edition = "Third", pages = "????", year = "2010", ISBN = "1-4493-9401-9 (paperback)", ISBN-13 = "978-1-4493-9401-1 (paperback)", LCCN = "????", bibdate = "Wed Nov 24 19:13:26 MST 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Book{Doyle:2010:CPP, author = "Barbara Doyle", title = "{C#} Programming: From Problem Analysis to Program Design", publisher = "Course Technology", address = "Boston, MA, USA", edition = "Third", pages = "832 (est.)", year = "2010", ISBN = "0-538-45302-8", ISBN-13 = "978-0-538-45302-8", LCCN = "????", bibdate = "Mon Jul 05 08:17:48 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "US$129.95", acknowledgement = ack-nhfb, }
@Book{Evjen:2010:PAN, author = "Bill Evjen and Devin Rader and Scott Hanselman", title = "Professional {ASP.NET 4} in {C#} and {VB}", publisher = pub-WROX, address = pub-WROX:adr, pages = "lviii + 1477", year = "2010", ISBN = "0-470-50220-7", ISBN-13 = "978-0-470-50220-4", LCCN = "TK5105.8885.A26 E96 2010", bibdate = "Mon Jul 5 08:40:20 MDT 2010", bibsource = "aubrey.tamu.edu:7090/voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, subject = "Active Server Pages; C# (computer program language); Microsoft Visual BASIC; Web sites; design; Web site development; Microsoft .NET", }
@Article{Fruja:2010:TPT, author = "Nicu G. Fruja", title = "Towards proving type safety of {C#}", journal = j-COMP-LANGS-SYS-STRUCT, volume = "36", number = "1", pages = "60--95", month = apr, year = "2010", CODEN = "????", DOI = "https://doi.org/10.1016/j.cl.2009.03.001", ISSN = "1477-8424 (print), 1873-6866 (electronic)", ISSN-L = "1477-8424", bibdate = "Thu Mar 8 08:39:20 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www.sciencedirect.com/science/journal/14778424", URL = "http://www.sciencedirect.com/science/article/pii/S1477842409000128", acknowledgement = ack-nhfb, fjournal = "Computer Languages, Systems & Structures", journal-URL = "http://www.sciencedirect.com/science/journal/14778424", }
@Book{Griffiths:2010:PC, author = "Ian Griffiths and Matthew Adams and Jesse Liberty", title = "Programming {C# 4.0}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Sixth", pages = "xxi + 830", year = "2010", ISBN = "0-596-15983-8", ISBN-13 = "978-0-596-15983-2", LCCN = "????", bibdate = "Wed Nov 24 18:55:22 MST 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, }
@Article{Grossu:2010:CCC, author = "I. V. Grossu and C. Besliu and Al. Jipa and C. C. Bordeianu and D. Felea and E. Stan and T. Esanu", title = "{Code C#} for chaos analysis of relativistic many-body systems", journal = j-COMP-PHYS-COMM, volume = "181", number = "8", pages = "1464--1470", month = aug, year = "2010", CODEN = "CPHCBZ", DOI = "https://doi.org/10.1016/j.cpc.2010.04.015", ISSN = "0010-4655 (print), 1879-2944 (electronic)", ISSN-L = "0010-4655", bibdate = "Sat Feb 11 09:54:30 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0010465510001384", acknowledgement = ack-nhfb, fjournal = "Computer Physics Communications", journal-URL = "http://www.sciencedirect.com/science/journal/00104655", }
@Book{Jones:2010:VCR, editor = "Allen Jones and Adam Freeman", title = "{Visual C# 2010} recipes: a problem-solution approach", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxiii + 987", year = "2010", ISBN = "1-4302-2525-4", ISBN-13 = "978-1-4302-2525-6", LCCN = "????", bibdate = "Mon Jul 5 08:29:07 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, }
@Book{Lerman:2010:PEF, author = "Julia Lerman", title = "Programming {Entity Framework}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "????", year = "2010", ISBN = "0-596-80727-9, 0-596-80726-0", ISBN-13 = "978-0-596-80727-6, 978-0-596-80726-9", LCCN = "????", bibdate = "Wed Nov 24 18:56:01 MST 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, subject = "Microsoft .NET Framework; Querying (Computer science)", }
@Book{Lowy:2010:PWS, author = "Juval L{"o}wy", title = "Programming {WCF} services", publisher = pub-ORA, address = pub-ORA:adr, edition = "Third", pages = "????", year = "2010", ISBN = "1-4493-8247-9, 0-596-80548-9", ISBN-13 = "978-1-4493-8247-6, 978-0-596-80548-7", LCCN = "????", bibdate = "Wed Nov 24 18:56:09 MST 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, subject = "Web servers; Computer programs", }
@Book{MacDonald:2010:WC, author = "Matthew MacDonald", title = "{WPF} in {C# 2010}", publisher = pub-APRESS, address = pub-APRESS:adr, edition = "Third", year = "2010", ISBN = "1-4302-7205-8 (paperback)", ISBN-13 = "978-1-4302-7205-2 (paperback)", LCCN = "????", bibdate = "Mon Jul 5 13:11:04 MDT 2010", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "US$54.99", acknowledgement = ack-nhfb, }
@Book{Magennis:2010:LOU, author = "Troy Magennis", title = "{LINQ} to objects using {C# 4.0}: using and extending {LINQ} to objects and {Parallel LINQ} ({PLINQ})", publisher = pub-AW, address = pub-AW:adr, pages = "xx + 312", year = "2010", ISBN = "0-321-63720-8, 0-321-63700-3", ISBN-13 = "978-0-321-63720-8, 978-0-321-63700-0", LCCN = "????", bibdate = "Mon Jul 5 08:39:52 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "The Addison-Wesley Microsoft technology series", acknowledgement = ack-nhfb, subject = "Microsoft LINQ; Microsoft .NET Framework; C{#} (Computer program language); Query languages (Computer science)", }
@Article{McSherry:2010:PIQ, author = "Frank McSherry", title = "Privacy integrated queries: an extensible platform for privacy-preserving data analysis", journal = j-CACM, volume = "53", number = "9", pages = "89--97", month = sep, year = "2010", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/1810891.1810916", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Thu Aug 26 16:49:59 MDT 2010", bibsource = "http://www.acm.org/pubs/contents/journals/cacm/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Privacy Integrated Queries (PINQ) is an extensible data analysis platform designed to provide unconditional privacy guarantees for the records of the underlying data sets. PINQ provides analysts with access to records through an SQL-like declarative language (LINQ) amidst otherwise arbitrary C# code. At the same time, the design of PINQ's analysis language and its careful implementation provide formal guarantees of {\em differential privacy/} for any and all uses of the platform. PINQ's guarantees require no trust placed in the expertise or diligence of the analysts, broadening the scope for design and deployment of privacy-preserving data analyses, especially by privacy nonexperts.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J79", }
@Book{Michaelis:2010:ECH, author = "Mark Michaelis", title = "Essential {C# 4.0}", publisher = pub-AW, address = pub-AW:adr, edition = "Third", pages = "li + 930", year = "2010", ISBN = "0-321-69563-1, 0-321-69469-4", ISBN-13 = "978-0-321-69563-5, 978-0-321-69469-0", LCCN = "QA76.73.C154 M5237 2010", bibdate = "Mon Jul 5 08:40:10 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Book{Nagel:2010:PCN, editor = "Christian Nagel and Bill Evjen and Jay Glynn and Karli Watson and Morgan Skinner", title = "Professional {C# 4} and {.NET 4}", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "lix + 1474", year = "2010", ISBN = "0-470-50225-8", ISBN-13 = "978-0-470-50225-9", LCCN = "QA76.73.C154", bibdate = "Mon Jul 5 08:40:28 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Wrox programmer to programmer", acknowledgement = ack-nhfb, }
@Article{Pizlo:2010:SFT, author = "Filip Pizlo and Lukasz Ziarek and Petr Maj and Antony L. Hosking and Ethan Blanton and Jan Vitek", title = "{SCHISM}: fragmentation-tolerant real-time garbage collection", journal = j-SIGPLAN, volume = "45", number = "6", pages = "146--159", month = jun, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1806596.1806615", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 8 17:53:18 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Managed languages such as Java and C# are being considered for use in hard real-time systems. A hurdle to their widespread adoption is the lack of garbage collection algorithms that offer predictable space-and-time performance in the face of fragmentation. We introduce SCHISM/CMR, a new concurrent and real-time garbage collector that is fragmentation tolerant and guarantees time-and-space worst-case bounds while providing good throughput. SCHISM/CMR combines mark-region collection of fragmented objects and arrays (arraylets) with separate replication-copying collection of immutable arraylet spines, so as to cope with external fragmentation when running in small heaps. We present an implementation of SCHISM/CMR in the Fiji VM, a high-performance Java virtual machine for mission-critical systems, along with a thorough experimental evaluation on a wide variety of architectures, including server-class and embedded systems. The results show that SCHISM/CMR tolerates fragmentation better than previous schemes, with a much more acceptable throughput penalty.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "fragmentation; mark-region; mark-sweep; real-time; replication-copying", }
@Article{Prabhu:2010:SPS, author = "Prakash Prabhu and Ganesan Ramalingam and Kapil Vaswani", title = "Safe programmable speculative parallelism", journal = j-SIGPLAN, volume = "45", number = "6", pages = "50--61", month = jun, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1806596.1806603", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 8 17:53:18 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Execution order constraints imposed by dependences can serialize computation, preventing parallelization of code and algorithms. Speculating on the value(s) carried by dependences is one way to break such critical dependences. Value speculation has been used effectively at a low level, by compilers and hardware. In this paper, we focus on the use of speculation {\em by programmers/} as an algorithmic paradigm to parallelize seemingly sequential code.\par
We propose two new language constructs, {\em
speculative composition\/} and {\em speculative
iteration}. These constructs enable programmers to
declaratively express speculative parallelism in
programs: to indicate when and how to speculate,
increasing the parallelism in the program, without
concerning themselves with mundane implementation
details.\par
We present a core language with speculation constructs
and mutable state and present a formal operational
semantics for the language. We use the semantics to
define the notion of a correct speculative execution as
one that is equivalent to a non-speculative execution.
In general, speculation requires a runtime mechanism to
undo the effects of speculative computation in the case
of mis predictions. We describe a set of conditions
under which such rollback can be avoided. We present a
static analysis that checks if a given program
satisfies these conditions. This allows us to implement
speculation efficiently, without the overhead required
for rollbacks.\par
We have implemented the speculation constructs as a C\#
library, along with the static checker for safety. We
present an empirical evaluation of the efficacy of this
approach to parallelization.",
acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "purity; rollback freedom; safety; speculative parallelism; value speculation", }
@Article{Rajan:2010:GPM, author = "Kaushik Rajan and Sriram Rajamani and Shashank Yaduvanshi", title = "{GUESSTIMATE}: a programming model for collaborative distributed systems", journal = j-SIGPLAN, volume = "45", number = "6", pages = "210--220", month = jun, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1809028.1806621", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 8 17:53:18 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "We present a new programming model GUESSTIMATE for developing collaborative distributed systems. The model allows atomic, isolated operations that transform a system from consistent state to consistent state, and provides a shared transactional store for a collection of such operations executed by various machines in a distributed system. In addition to 'committed state' which is identical in all machines in the distributed system, GUESSTIMATE allows each machine to have a replicated local copy of the state (called 'guesstimated state') so that operations on shared state can be executed locally without any blocking, while also guaranteeing that eventually all machines agree on the sequences of operations executed. Thus, each operation is executed multiple times, once at the time of issue when it updates the guesstimated state of the issuing machine, once when the operation is committed (atomically) to the committed state of all machines, and several times in between as the guesstimated state converges toward the committed state. While we expect the results of these executions of the operation to be identical most of the time in the class of applications we study, it is possible for an operation to succeed the first time when it is executed on the guesstimated state, and fail when it is committed. GUESSTIMATE provides facilities that allow the programmer to deal with this potential discrepancy. This paper presents our programming model, its operational semantics, its realization as an API in C#, and our experience building collaborative distributed applications with this model.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "collaborative applications; concurrency; distributed systems; language extensions", }
@Book{Richter:2010:CCH, author = "Jeffrey Richter", title = "{CLR} via {C#}", publisher = pub-MICROSOFT, address = pub-MICROSOFT:adr, edition = "Third", pages = "xviii + 873", year = "2010", ISBN = "0-7356-4046-7, 0-7356-2704-5", ISBN-13 = "978-0-7356-4046-7, 978-0-7356-2704-8", LCCN = "????", bibdate = "Mon Jul 5 08:40:55 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, remark = "Full coverage of multicore programming.", subject = "Microsoft .NET Framework; C# (computer program language); compiling (electronic computers); Common Language Runtime (computer science)", }
@Book{Schildt:2010:CCR, author = "Herbert Schildt", title = "{C# 4.0}: the complete reference", publisher = pub-MCGRAW-HILL, address = pub-MCGRAW-HILL:adr, pages = "xxv + 949", year = "2010", ISBN = "0-07-174116-X (paperback)", ISBN-13 = "978-0-07-174116-3 (paperback)", LCCN = "QA76.73.C154", bibdate = "Mon Jul 5 09:17:10 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.gbv.de:20011/gvk", price = "US$34.99", acknowledgement = ack-nhfb, remark = "Covers the entie {C#} language; details new 4.0 features, such as the Task Parallel library, {PLINQ}, the dynamic type, and more; hundreds of easy to follow examples.", subject = "C# (Computer program language)", }
@Book{Skeet:2010:CD, author = "Jon Skeet", title = "{C#} in Depth", publisher = pub-MANNING, address = pub-MANNING:adr, pages = "xxx + 554", year = "2010", ISBN = "1-935182-47-1", ISBN-13 = "978-1-935182-47-4", LCCN = "QA76.73.C154 S58 2011", bibdate = "Mon Jul 05 12:28:57 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", price = "US$49.99", acknowledgement = ack-nhfb, }
@Article{Spring:2010:RAI, author = "Jesper Honig Spring and Filip Pizlo and Jean Privat and Rachid Guerraoui and Jan Vitek", title = "{Reflexes}: {Abstractions} for integrating highly responsive tasks into {Java} applications", journal = j-TECS, volume = "10", number = "1", pages = "4:1--4:??", month = aug, year = "2010", CODEN = "????", DOI = "https://doi.org/10.1145/1814539.1814543", ISSN = "1539-9087", ISSN-L = "1539-9087", bibdate = "Mon Aug 30 15:29:45 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Achieving submillisecond response times in a managed language environment such as Java or C# requires overcoming significant challenges. In this article, we propose Reflexes, a programming model and runtime system infrastructure that lets developers seamlessly mix highly responsive tasks and timing-oblivious Java applications. Thus enabling gradual addition of real-time features, to a non-real-time application without having to resort to recoding the real-time parts in a different language such as C or Ada. Experiments with the Reflex prototype implementation show that it is possible to run a real-time task with a period of 45$ \mu $ s with an accuracy of 99.996% (only 0.001% worse than the corresponding C implementation) in the presence of garbage collection and heavy load ordinary Java threads.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Embedded Computing Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J840", keywords = "Java virtual machine; memory management; Real-time systems", }
@Book{Stellman:2010:HFC, author = "Andrew Stellman and Jennifer Greene", title = "Head first {C#}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "????", year = "2010", ISBN = "1-4493-8034-4 (paperback)", ISBN-13 = "978-1-4493-8034-2 (paperback)", LCCN = "????", bibdate = "Mon Jul 5 11:51:25 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.gbv.de:20011/gvk", price = "US$35.50", acknowledgement = ack-nhfb, }
@Article{Tate:2010:IOO, author = "Ross Tate and Juan Chen and Chris Hawblitzel", title = "Inferable object-oriented typed assembly language", journal = j-SIGPLAN, volume = "45", number = "6", pages = "424--435", month = jun, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1806596.1806644", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 8 17:53:18 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "A certifying compiler preserves type information through compilation to assembly language programs, producing typed assembly language (TAL) programs that can be verified for safety independently so that the compiler does not need to be trusted. There are two challenges for adopting certifying compilation in practice. First, requiring every compiler transformation and optimization to preserve types is a large burden on compilers, especially when adopting certifying compilation into existing optimizing non-certifying compilers. Second, type annotations significantly increase the size of assembly language programs.\par
This paper proposes an alternative to traditional
certifying compilers. It presents iTalX, the first
inferable TAL type system that supports existential
types, arrays, interfaces, and stacks. We have proved
our inference algorithm is complete, meaning if an
assembly language program is typeable with iTalX then
our algorithm will infer an iTalX typing for that
program. Furthermore, our algorithm is guaranteed to
terminate even if the assembly language program is
untypeable. We demonstrate that it is practical to
infer such an expressive TAL by showing a prototype
implementation of type inference for code compiled by
Bartok, an optimizing C\# compiler. Our prototype
implementation infers complete type annotations for
98\% of functions in a suite of realistic C\#
benchmarks. The type-inference time is about 8\% of the
compilation time. We needed to change only 2.5\% of the
compiler code, mostly adding new code for defining
types and for writing types to object files. Most
transformations are untouched. Type-annotation size is
only 17\% of the size of pure code and data, reducing
type annotations in our previous certifying compiler
[4] by 60\%. The compiler needs to preserve only
essential type information such as method signatures,
object-layout information, and types for static data
and external labels. Even non-certifying compilers have
most of this information available.",
acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "certifying compiler; existential quantification; object-oriented compiler; type inference; typed assembly language (tal)", }
@Book{Troelsen:2010:PCN, author = "Andrew Troelsen", title = "{Pro C# 2010} and the {.Net 4.0} platform", publisher = pub-APRESS, address = pub-APRESS:adr, edition = "Fifth", pages = "xxxviii + 1712", year = "2010", DOI = "https://doi.org/10.1007/978-1-4302-2550-8", ISBN = "1-4302-2550-5, 1-4302-2549-1", ISBN-13 = "978-1-4302-2550-8, 978-1-4302-2549-2", LCCN = "QA76.73.C154 T764 2010", bibdate = "Wed Nov 24 18:53:46 MST 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", acknowledgement = ack-nhfb, remark = "Exploring the .NET universe using curly brackets.", subject = "C# (Computer program language); Microsoft .NET Framework", }
@Book{Wagner:2010:ECH, author = "Bill Wagner", title = "Effective {C#}: 50 specific ways to improve your {C#}", publisher = pub-AW, address = pub-AW:adr, edition = "Second", pages = "xviii + 328", year = "2010", ISBN = "0-321-65914-7, 0-321-65870-1", ISBN-13 = "978-0-321-65914-9, 978-0-321-65870-8", LCCN = "????", bibdate = "Mon Jul 5 08:40:02 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", series = "Effective software development series", acknowledgement = ack-nhfb, subject = "Database management; Microsoft .NET Framework; C# (Computer program language)", }
@Book{Watson:2010:BMV, author = "Karli Jane Watson", title = "Beginning {Microsoft Visual C# 2010}", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "????", year = "2010", ISBN = "0-470-50226-6 (paperback)", ISBN-13 = "978-0-470-50226-6 (paperback)", LCCN = "????", bibdate = "Mon Jul 5 08:24:57 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, }
@Book{Watson:2010:CH, author = "Ben Watson", title = "{C# 4.0} how-to: Real Solutions for {C# 4.0} programs", publisher = pub-SAMS, address = pub-SAMS:adr, pages = "xiii + 653", year = "2010", ISBN = "0-672-33063-6 (paperback)", ISBN-13 = "978-0-672-33063-6 (paperback)", LCCN = "QA76.73.C154 W38 2010", bibdate = "Mon Jul 5 08:25:41 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C# (Computer program language)", }
@Article{Wehr:2010:JBP, author = "Stefan Wehr and Peter Thiemann", title = "{JavaGI} in the battlefield: practical experience with generalized interfaces", journal = j-SIGPLAN, volume = "45", number = "2", pages = "65--74", month = feb, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1621607.1621619", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Aug 31 22:37:56 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Generalized interfaces are an extension of the interface concept found in object-oriented languages such as Java or C#. The extension is inspired by Haskell's type classes. It supports retroactive and type-conditional interface implementations, binary methods, symmetric multimethods, interfaces over families of types, and static interface methods.\par
This article reports practical experience with
generalized interfaces as implemented in the JavaGI
language. Several real-world case studies demonstrate
how generalized interfaces provide solutions to
extension and integration problems with components in
binary form, how they make certain design patterns
redundant, and how they eliminate various run-time
errors. In each case study, the use of JavaGI results
in elegant and highly readable code.\par
Furthermore, the article discusses the implementation
of a compiler and a run-time system for JavaGI.
Benchmarks show that our implementation offers
acceptable performance.",
acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "case studies; external methods; JavaGI; multimethods; retroactive interface implementation", }
@Article{Yang:2010:SLI, author = "Jean Yang and Chris Hawblitzel", title = "Safe to the last instruction: automated verification of a type-safe operating system", journal = j-SIGPLAN, volume = "45", number = "6", pages = "99--110", month = jun, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1809028.1806610", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 8 17:53:18 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "Typed assembly language (TAL) and Hoare logic can verify the absence of many kinds of errors in low-level code. We use TAL and Hoare logic to achieve highly automated, static verification of the safety of a new operating system called Verve. Our techniques and tools mechanically verify the safety of every assembly language instruction in the operating system, run-time system, drivers, and applications (in fact, every part of the system software except the boot loader). Verve consists of a 'Nucleus' that provides primitive access to hardware and memory, a kernel that builds services on top of the Nucleus, and applications that run on top of the kernel. The Nucleus, written in verified assembly language, implements allocation, garbage collection, multiple stacks, interrupt handling, and device access. The kernel, written in C# and compiled to TAL, builds higher-level services, such as preemptive threads, on top of the Nucleus. A TAL checker verifies the safety of the kernel and applications. A Hoare-style verifier with an automated theorem prover verifies both the safety and correctness of the Nucleus. Verve is, to the best of our knowledge, the first operating system mechanically verified to guarantee both type and memory safety. More generally, Verve's approach demonstrates a practical way to mix high-level typed code with low-level untyped code in a verifiably safe manner.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "operating system; run-time system; type safety; verification", }
@Article{Zyulkyarov:2010:DPU, author = "Ferad Zyulkyarov and Tim Harris and Osman S. Unsal and Adr{'\i}an Cristal and Mateo Valero", title = "Debugging programs that use atomic blocks and transactional memory", journal = j-SIGPLAN, volume = "45", number = "5", pages = "57--66", month = may, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1837853.1693463", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Aug 31 22:39:18 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "With the emergence of research prototypes, programming using atomic blocks and transactional memory (TM) is becoming more attractive. This paper describes our experience building and using a debugger for programs written with these abstractions. We introduce three approaches: ({\em i/}) debugging at the level of atomic blocks, where the programmer is shielded from implementation details (such as exactly what kind of TM is used, or indeed whether lock inference is used instead), ({\em ii/}) debugging at the level of transactions, where conflict rates, read sets, write sets, and other TM internals are visible, and ({\em iii/}) debug-time transactions, which let the programmer manipulate synchronization from within the debugger - e.g., enlarging the scope of an atomic block to try to identify a bug.\par
In this paper we explain the rationale behind the new
debugging approaches that we propose. We describe the
design and implementation of an extension to the WinDbg
debugger, enabling support for C\# programs using
atomic blocks and TM. We also demonstrate the design of
a 'conflict point discovery' technique for identifying
program statements that introduce contention between
transactions. We illustrate how these techniques can be
used by optimizing a C\# version of the Genome
application from STAMP TM benchmark suite.",
acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "debugging; transactional memory", }
@Article{Barnett:2011:SVS, author = "Mike Barnett and Manuel F{"a}hndrich and K. Rustan M. Leino and Peter M{"u}ller and Wolfram Schulte and Herman Venter", title = "Specification and verification: the {Spec#} experience", journal = j-CACM, volume = "54", number = "6", pages = "81--91", month = jun, year = "2011", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/1953122.1953145", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Wed Jun 1 18:12:20 MDT 2011", bibsource = "http://www.acm.org/pubs/contents/journals/cacm/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J79", }
@Book{Deitel:2011:VCH, author = "Paul J. Deitel and Harvey M. Deitel", title = "{Visual C# 2010}: how to program", publisher = "Pearson Prentice Hall", address = "Upper Saddle River, NJ, USA", edition = "Fourth", pages = "xxx + 959", year = "2011", ISBN = "0-13-215142-1 (paperback)", ISBN-13 = "978-0-13-215142-9 (paperback)", LCCN = "QA76.73.C154 D46 2011", bibdate = "Tue May 12 16:19:49 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib; z3950.loc.gov:7090/Voyager", series = "How to program", acknowledgement = ack-nhfb, remark = "Revised edition of: \booktitle{Visual C# 2008} / P.J. Deitel, H.M. Deitel. 2009.", subject = "C# (Computer program language)", tableofcontents = "Introduction to computers, the internet and Visual C# \ Dive into Visual C# 2010 express \ Introduction to C# applications \ Introduction to classes, objects, methods and strings \ Control statements: part 1 \ Control statements: part 2 \ Methods: a deeper look \ Arrays \ Introduction to LINQ and the list collection \ Classes and objects: a deeper look \ Object-oriented programming: inheritance \ OOP: polymorphism, interfaces and operator overloading \ Exception handling: a deeper look \ Graphical user interfaces with windows forms: part 1 \ Graphical user interfaces with windows forms: part 2 \ Strings and characters \ Files and streams \ Databases and LINQ \ Web App development with ASP.NET \ Searching and sorting \ Data structures \ Generics \ Collections \ Chapters on the web \ Operator precedence chart \ Simple types \ ASCII character set \ Appendices on the web \ GUI with windows presentation foundation \ WPF graphics and multimedia \ XML and LINQ to XML \ Web App development with ASP.NET: a deeper look \ Windows communication foundation (WCF) web services \ Silverlight and rich internet applications \ ATM case study, part 1: object-oriented design with the UML \ ATM case study, part 2: implementing an object-oriented design \ Number systems \ UML 2: additional diagram types \ Unicode \ Using the Visual C# 2010 debugger", }
@Book{Hejlsberg:2011:CPL, editor = "Anders Hejlsberg and Mads Togersen and Scott Wiltamuth and Peter Golde", title = "The {C#} Programming Language", publisher = pub-AW, address = pub-AW:adr, edition = "Fourth", pages = "xviii + 844", year = "2011", ISBN = "0-321-74176-5", ISBN-13 = "978-0-321-74176-9", LCCN = "QA76.73.C154", bibdate = "Mon Oct 6 17:37:12 MDT 2008", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib", price = "US$44.99", URL = "http://www.pearsonhighered.com/bookseller/product/C-Programming-Language-Covering-C-40-The/9780321741769.page", acknowledgement = ack-nhfb, remark = "Expected publication date 2010-10-22.", subject = "C# (Computer program language)", tableofcontents = "Chapter 1: Introduction \ Chapter 2: Lexical Structure \ Chapter 3: Basic Concepts \ Chapter 4: Types \ Chapter 5: Variables \ Chapter 6: Conversions \ Chapter 7: Expressions \ Chapter 8: Statements \ Chapter 9: Namespaces \ Chapter 10: Classes \ Chapter 11: Structs \ Chapter 12: Arrays \ Chapter 13: Interfaces \ Chapter 14: Enums \ Chapter 15: Delegates \ Chapter 16: Exceptions \ Chapter 17: Attributes \ Chapter 18: Unsafe Code \ Appendix A: Documentation Comments \ Appendix B: Grammar \ Appendix C: References", }
@Article{Kalibera:2011:SRT, author = "Tomas Kalibera and Filip Pizlo and Antony L. Hosking and Jan Vitek", title = "Scheduling real-time garbage collection on uniprocessors", journal = j-TOCS, volume = "29", number = "3", pages = "8:1--8:??", month = aug, year = "2011", CODEN = "ACSYEC", DOI = "https://doi.org/10.1145/2003690.2003692", ISSN = "0734-2071", ISSN-L = "0734-2071", bibdate = "Wed Aug 24 18:08:12 MDT 2011", bibsource = "http://www.acm.org/pubs/contents/journals/tocs/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/tocs.bib", abstract = "Managed languages such as Java and C# are increasingly being considered for hard real-time applications because of their productivity and software engineering advantages. Automatic memory management, or garbage collection, is a key enabler for robust, reusable libraries, yet remains a challenge for analysis and implementation of real-time execution environments. This article comprehensively compares leading approaches to hard real-time garbage collection. There are many design decisions involved in selecting a real-time garbage collection algorithm. For time-based garbage collectors on uniprocessors one must choose whether to use periodic, slack-based or hybrid scheduling. A significant impediment to valid experimental comparison of such choices is that commercial implementations use completely different proprietary infrastructures.", acknowledgement = ack-nhfb, articleno = "8", fjournal = "ACM Transactions on Computer Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J774", }
@Article{Karaci:2011:PCM, author = "Abdulkadir Karaci", title = "Performance Comparison of Managed {C#} and {Delphi Prism} in {Visual Studio} and Unmanaged {Delphi 2009} and {C++ Builder 2009} Languages", journal = j-INT-J-COMP-APPL, volume = "26", number = "??", pages = "9--15", month = jul, year = "2011", CODEN = "????", DOI = "https://doi.org/10.5120/3070-4199", ISSN = "0975-8887", ISSN-L = "0975-8887", bibdate = "Fri Jan 24 08:38:03 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/intjcompappl.bib", URL = "https://www.ijcaonline.org/archives/volume26/number1/3070-4199/", acknowledgement = ack-nhfb, ajournal = "Intern. J. of Computer Applications", articleno = "1", fjournal = "International Journal of Computer Applications", journal-URL = "https://www.ijcaonline.org/", }
@Article{Wang:2011:EEU, author = "Alf Inge Wang", title = "Extensive Evaluation of Using a Game Project in a Software Architecture Course", journal = j-TOCE, volume = "11", number = "1", pages = "5:1--5:??", month = feb, year = "2011", CODEN = "????", ISSN = "1946-6226", bibdate = "Mon Feb 28 16:08:34 MST 2011", bibsource = "http://www.acm.org/pubs/toce; https://www.math.utah.edu/pub/tex/bib/csharp.bib", abstract = "This article describes an extensive evaluation of introducing a game project to a software architecture course. In this project, university students have to construct and design a type of software architecture, evaluate the architecture, implement an application based on the architecture, and test this implementation. In previous years, the domain of the software architecture project has been a robot controller for navigating a maze. In 2008, the students on the software architecture course chose between the two domains: Khepera robot simulation in Java and XNA game development in C#. Independent of the domain chosen, the students had to go through the same phases, produce the same documents based on the same templates, and follow exactly the same process.", acknowledgement = ack-nhfb, articleno = "5", fjournal = "ACM Transactions on Computing Education", }
@Article{Cao:2012:YYP, author = "Ting Cao and Stephen M. Blackburn and Tiejun Gao and Kathryn S. McKinley", title = "The yin and yang of power and performance for asymmetric hardware and managed software", journal = j-COMP-ARCH-NEWS, volume = "40", number = "3", pages = "225--236", month = jun, year = "2012", CODEN = "CANED2", DOI = "https://doi.org/10.1145/2366231.2337185", ISSN = "0163-5964 (print), 1943-5851 (electronic)", ISSN-L = "0163-5964", bibdate = "Thu Sep 6 10:21:07 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigarch.bib", note = "ISCA '12 conference proceedings.", abstract = "On the hardware side, asymmetric multicore processors present software with the challenge and opportunity of optimizing in two dimensions: performance and power. Asymmetric multicore processors (AMP) combine general-purpose big (fast, high power) cores and small (slow, low power) cores to meet power constraints. Realizing their energy efficiency opportunity requires workloads with differentiated performance and power characteristics. On the software side, managed workloads written in languages such as C#, Java, JavaScript, and PHP are ubiquitous. Managed languages abstract over hardware using Virtual Machine (VM) services (garbage collection, interpretation, and/or just-in-time compilation) that together impose substantial energy and performance costs, ranging from 10% to over 80%. We show that these services manifest a differentiated performance and power workload. To differing degrees, they are parallel, asynchronous, communicate infrequently, and are not on the application?s critical path. We identify a synergy between AMP and VM services that we exploit to attack the 40% average energy overhead due to VM services. Using measurements and very conservative models, we show that adding small cores tailored for VM services should deliver, at least, improvements in performance of 13%, energy of 7%, and performance per energy of 22%. The yin of VM services is overhead, but it meets the yang of small cores on an AMP. The yin of AMP is exposed hardware complexity, but it meets the yang of abstraction in managed languages. VM services fulfill the AMP requirement for an asynchronous, non-critical, differentiated, parallel, and ubiquitous workload to deliver energy efficiency. Generalizing this approach beyond system software to applications will require substantially more software and hardware investment, but these results show the potential energy efficiency gains are significant.", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", }
@Article{Derezinska:2012:OOT, author = "Anna Derezi{'n}ska and Anna Szustek", title = "Object-Oriented Testing Capabilities and Performance Evaluation of the {C#} Mutation System", journal = j-LECT-NOTES-COMP-SCI, volume = "7054", pages = "229--242", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-28038-2_18", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:23:17 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/lncs2012a.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-28038-2_18/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-28038-2", book-URL = "http://www.springerlink.com/content/978-3-642-28038-2", fjournal = "Lecture Notes in Computer Science", }
@Article{Derezinska:2012:QEO, author = "Anna Derezi{'n}ska and Marcin Rudnik", title = "Quality Evaluation of Object-Oriented and Standard Mutation Operators Applied to {C#} Programs", journal = j-LECT-NOTES-COMP-SCI, volume = "7304", pages = "42--57", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-30561-0_5", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Mon Dec 24 07:30:41 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/lncs2012e.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-30561-0_5/; http://link.springer.com/content/pdf/10.1007/978-3-642-30561-0_5", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-30561-0Objects, Models, Components, Patterns", book-URL = "http://www.springerlink.com/content/978-3-642-30561-0", fjournal = "Lecture Notes in Computer Science", }
@Article{Gordon:2012:URI, author = "Colin S. Gordon and Matthew J. Parkinson and Jared Parsons and Aleks Bromfield and Joe Duffy", title = "Uniqueness and reference immutability for safe parallelism", journal = j-SIGPLAN, volume = "47", number = "10", pages = "21--40", month = oct, year = "2012", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2398857.2384619", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Nov 15 16:40:23 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "A key challenge for concurrent programming is that side-effects (memory operations) in one thread can affect the behavior of another thread. In this paper, we present a type system to restrict the updates to memory to prevent these unintended side-effects. We provide a novel combination of immutable and unique (isolated) types that ensures safe parallelism (race freedom and deterministic execution). The type system includes support for polymorphism over type qualifiers, and can easily create cycles of immutable objects. Key to the system's flexibility is the ability to recover immutable or externally unique references after violating uniqueness without any explicit alias tracking. Our type system models a prototype extension to C# that is in active use by a Microsoft team. We describe their experiences building large systems with this extension. We prove the soundness of the type system by an embedding into a program logic.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "OOPSLA '12 conference proceedings.", }
@Book{Griffiths:2012:PC, author = "Ian Griffiths", title = "Programming {C# 5.0}", publisher = pub-ORA, address = pub-ORA:adr, pages = "886", year = "2012", ISBN = "1-4493-2041-4", ISBN-13 = "978-1-4493-2041-6", LCCN = "????", bibdate = "Wed Nov 21 15:34:47 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, }
@Book{Griffiths:2012:PCB, author = "Ian Griffiths", title = "Programming {C# 5.0}: Building {Windows 8 Metro}, {Web}, and Desktop Applications for the {.NET 4.5 Framework}", publisher = pub-ORA, address = pub-ORA:adr, pages = "800", year = "2012", ISBN = "1-4493-2041-4 (paperback)", ISBN-13 = "978-1-4493-2041-6 (paperback)", LCCN = "????", bibdate = "Wed Nov 21 15:45:21 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; library.ox.ac.uk:210/ADVANCE; z3950.gbv.de:20011/gvk", price = "EUR 45.00, UK \pounds 42.50", acknowledgement = ack-nhfb, subject = "C (Computer program language); Microsoft .NET Framework", }
@Article{Grossu:2012:CCC, author = "I. V. Grossu and C. Besliu and Al. Jipa and E. Stan and T. Esanu and D. Felea and C. C. Bordeianu", title = "{Code C#} for chaos analysis of relativistic many-body systems with reactions", journal = j-COMP-PHYS-COMM, volume = "183", number = "4", pages = "1055--1059", month = apr, year = "2012", CODEN = "CPHCBZ", DOI = "https://doi.org/10.1016/j.cpc.2012.01.009", ISSN = "0010-4655 (print), 1879-2944 (electronic)", ISSN-L = "0010-4655", bibdate = "Sat Feb 11 10:11:02 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0010465512000124", acknowledgement = ack-nhfb, fjournal = "Computer Physics Communications", journal-URL = "http://www.sciencedirect.com/science/journal/00104655", }
@Article{Hashmi:2012:CNI, author = "Atif Hashmi and Andrew Nere and James Jamal Thomas and Mikko Lipasti", title = "A case for neuromorphic {ISAs}", journal = j-SIGPLAN, volume = "47", number = "4", pages = "145--158", month = apr, year = "2012", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2248487.1950385", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Jun 7 08:15:03 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "The desire to create novel computing systems, paired with recent advances in neuroscientific understanding of the brain, has led researchers to develop neuromorphic architectures that emulate the brain. To date, such models are developed, trained, and deployed on the same substrate. However, excessive co-dependence between the substrate and the algorithm prevents portability, or at the very least requires reconstructing and retraining the model whenever the substrate changes. This paper proposes a well-defined abstraction layer --- the Neuromorphic instruction set architecture, or NISA --- that separates a neural application's algorithmic specification from the underlying execution substrate, and describes the Aivo framework, which demonstrates the concrete advantages of such an abstraction layer. Aivo consists of a NISA implementation for a rate-encoded neuromorphic system based on the cortical column abstraction, a state-of-the-art integrated development and runtime environment (IDE), and various profile-based optimization tools. Aivo's IDE generates code for emulating cortical networks on the host CPU, multiple GPGPUs, or as boolean functions. Its runtime system can deploy and adaptively optimize cortical networks in a manner similar to conventional just-in-time compilers in managed runtime systems (e.g. Java, C#). We demonstrate the abilities of the NISA abstraction by constructing a cortical network model of the mammalian visual cortex, deploying on multiple execution substrates, and utilizing the various optimization tools we have created. For this hierarchical configuration, Aivo's profiling based network optimization tools reduce the memory footprint by 50% and improve the execution time by a factor of 3x on the host CPU. Deploying the same network on a single GPGPU results in a 30x speedup. We further demonstrate that a speedup of 480x can be achieved by deploying a massively scaled cortical network across three GPGPUs. Finally, converting a trained hierarchical network to C/C++ boolean constructs on the host CPU results in 44x speedup.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ASPLOS '12 conference proceedings.", }
@Article{Kanig:2012:HLC, author = "Johannes Kanig and Edmond Schonberg and Claire Dross", title = "{Hi-Lite}: the convergence of compiler technology and program verification", journal = j-SIGADA-LETTERS, volume = "32", number = "3", pages = "27--34", month = dec, year = "2012", CODEN = "AALEE5", DOI = "https://doi.org/10.1145/2402709.2402690", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "1094-3641", bibdate = "Sun May 5 10:05:12 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigada.bib", note = "HILT '12 conference proceedings.", abstract = "Formal program verification tools check that a program correctly implements its specification. Existing specification languages for well-known programming languages (Ada, C, Java, C#) have been developed independently from the programming language to which they apply. As a result, specifications are expressed separately from the code, typically as stylized comments, and the verification tools often bear no direct relation to the production compiler. We argue that this approach is problematic, and that the compiler and the verification tools should be integrated seamlessly. Based on our current work on the Hi-Lite project to develop a formal verification tool for Ada2012, we show that in an integrated setting, the compiler becomes the centerpiece of the verification architecture, and supports both static proofs and run-time assertion checking. Such an environment does much to simplify software certification.", acknowledgement = ack-nhfb, fjournal = "ACM SIGAda Ada Letters", journal-URL = "http://portal.acm.org/citation.cfm?id=J32", }
@Article{Perelman:2012:TDC, author = "Daniel Perelman and Sumit Gulwani and Thomas Ball and Dan Grossman", title = "Type-directed completion of partial expressions", journal = j-SIGPLAN, volume = "47", number = "6", pages = "275--286", month = jun, year = "2012", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2345156.2254098", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Aug 6 16:31:49 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", note = "PLDI '12 proceedings.", abstract = "Modern programming frameworks provide enormous libraries arranged in complex structures, so much so that a large part of modern programming is searching for APIs that surely exist somewhere in an unfamiliar part of the framework. We present a novel way of phrasing a search for an unknown API: the programmer simply writes an expression leaving holes for the parts they do not know. We call these expressions partial expressions. We present an efficient algorithm that produces likely completions ordered by a ranking scheme based primarily on the similarity of the types of the APIs suggested to the types of the known expressions. This gives a powerful language for both API discovery and code completion with a small impedance mismatch from writing code. In an automated experiment on mature C# projects, we show our algorithm can place the intended expression in the top 10 choices over 80% of the time.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", }
@Article{Sallenave:2012:LGE, author = "Olivier Sallenave and Roland Ducournau", title = "Lightweight generics in embedded systems through static analysis", journal = j-SIGPLAN, volume = "47", number = "5", pages = "11--20", month = may, year = "2012", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2345141.2248421", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Aug 6 16:31:46 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib", note = "LCTES '12 proceedings.", abstract = "Low-end embedded systems are still programmed in C and assembly, and adopting high-level languages such as C# should reduce the length of their development cycles. For these systems, code size is a major concern, but run-time efficiency should also be reasonable --- programmers will not migrate to C# unless the overhead compared with C is insignificant. In this paper, we propose a static approach based on whole program optimization for implementing .Net generics in such systems. Indeed, the implementation of run-time generics involves a tradeoff between size and run-time efficiency. In this proposal, generic instances are detected through a generalization of RTA to parametric polymorphism. Also, we propose an implementation scheme which employs code sharing and more effective coercions than boxing. Unlike existing implementation schemes, it is scalable in the number of generic instances without involving boxing and unboxing in a systematic way.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", }
@Article{Choi:2013:PAC, author = "Byoung K. Choi and Donghun Kang and Taesik Lee and Arwa A. Jamjoom and Maysoon F. Abulkhair", title = "Parameterized activity cycle diagram and its application", journal = j-TOMACS, volume = "23", number = "4", pages = "24:1--24:??", month = oct, year = "2013", CODEN = "ATMCEZ", DOI = "https://doi.org/10.1145/2501593", ISSN = "1049-3301 (print), 1558-1195 (electronic)", ISSN-L = "1049-3301", bibdate = "Mon Dec 23 10:25:01 MST 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tomacs/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/tomacs.bib", abstract = "The classical activity cycle diagram (ACD), which is a bipartite directed graph, is easy to learn and use for describing the dynamic behavior of a discrete-event system. However, the complexity of the classical ACD model increases rapidly as the system size increases. This article presents an enriched ACD called the parameterized ACD (P-ACD). In P-ACD, each node is allowed to have parameter variables, and parameter values are passed to the parameter variables through a directed arc. This article demonstrates how a single P-ACD model can be used to represent an entire class of very large-scale systems instead of requiring different ACD models for every instance. We also illustrate that the well-known activity scanning algorithm can be used to execute a P-ACD model. A prototype P-ACD simulator implemented in C# programming language is provided, and an illustrative example of a conveyor-driven serial production line with the prototype simulator is presented to illustrate construction and execution of a P-ACD model. In addition, it is demonstrated that the proposed P-ACD allows an effective and concise modeling of a job shop, which was not possible with the classical ACD.", acknowledgement = ack-nhfb, articleno = "24", fjournal = "ACM Transactions on Modeling and Computer Simulation", journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J781", }
@Article{Grossu:2013:CMB, author = "I. V. Grossu and C. Besliu and Al. Jipa and D. Felea and T. Esanu and E. Stan and C. C. Bordeianu", title = "{Chaos Many-Body Engine v03}: a new version of code {C#} for chaos analysis of relativistic many-body systems with reactions", journal = j-COMP-PHYS-COMM, volume = "184", number = "4", pages = "1346--1347", month = apr, year = "2013", CODEN = "CPHCBZ", DOI = "https://doi.org/10.1016/j.cpc.2012.12.012", ISSN = "0010-4655 (print), 1879-2944 (electronic)", ISSN-L = "0010-4655", bibdate = "Mon Feb 4 10:51:11 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0010465512004080", acknowledgement = ack-nhfb, fjournal = "Computer Physics Communications", journal-URL = "http://www.sciencedirect.com/science/journal/00104655", }
@Article{Jantz:2013:ESM, author = "Michael R. Jantz and Prasad A. Kulkarni", title = "Exploring single and multilevel {JIT} compilation policy for modern machines 1", journal = j-TACO, volume = "10", number = "4", pages = "22:1--22:??", month = dec, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2541228.2541229", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Mon Dec 23 10:31:41 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", abstract = "Dynamic or Just-in-Time (JIT) compilation is essential to achieve high-performance emulation for programs written in managed languages, such as Java and C#. It has been observed that a conservative JIT compilation policy is most effective to obtain good runtime performance without impeding application progress on single-core machines. At the same time, it is often suggested that a more aggressive dynamic compilation strategy may perform best on modern machines that provide abundant computing resources, especially with virtual machines (VMs) that are also capable of spawning multiple concurrent compiler threads. However, comprehensive research on the best JIT compilation policy for such modern processors and VMs is currently lacking. The goal of this work is to explore the properties of single-tier and multitier JIT compilation policies that can enable existing and future VMs to realize the best program performance on modern machines. In this work, we design novel experiments and implement new VM configurations to effectively control the compiler aggressiveness and optimization levels ( if and when methods are compiled) in the industry-standard Oracle HotSpot Java VM to achieve this goal. We find that the best JIT compilation policy is determined by the nature of the application and the speed and effectiveness of the dynamic compilers. We extend earlier results showing the suitability of conservative JIT compilation on single-core machines for VMs with multiple concurrent compiler threads. We show that employing the free compilation resources (compiler threads and hardware cores) to aggressively compile more program methods quickly reaches a point of diminishing returns. At the same time, we also find that using the free resources to reduce compiler queue backup (compile selected hot methods early ) significantly benefits program performance, especially for slower (highly optimizing) JIT compilers. For such compilers, we observe that accurately prioritizing JIT method compiles is crucial to realize the most performance benefit with the smallest hardware budget. Finally, we show that a tiered compilation policy, although complex to implement, greatly alleviates the impact of more and early JIT compilation of programs on modern machines.", acknowledgement = ack-nhfb, articleno = "22", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", }
@Article{Ramalingam:2013:FTI, author = "Ganesan Ramalingam and Kapil Vaswani", title = "Fault tolerance via idempotence", journal = j-SIGPLAN, volume = "48", number = "1", pages = "249--262", month = jan, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2480359.2429100", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jul 1 17:15:03 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Building distributed services and applications is challenging due to the pitfalls of distribution such as process and communication failures. A natural solution to these problems is to detect potential failures, and retry the failed computation and/or resend messages. Ensuring correctness in such an environment requires distributed services and applications to be idempotent. In this paper, we study the inter-related aspects of process failures, duplicate messages, and idempotence. We first introduce a simple core language (based on lambda calculus) inspired by modern distributed computing platforms. This language formalizes the notions of a service, duplicate requests, process failures, data partitioning, and local atomic transactions that are restricted to a single store. We then formalize a desired (generic) correctness criterion for applications written in this language, consisting of idempotence (which captures the desired safety properties) and failure-freedom (which captures the desired progress properties). We then propose language support in the form of a monad that automatically ensures failfree idempotence. A key characteristic of our implementation is that it is decentralized and does not require distributed coordination. We show that the language support can be enriched with other useful constructs, such as compensations, while retaining the coordination-free decentralized nature of the implementation. We have implemented the idempotence monad (and its variants) in F# and C# and used our implementation to build realistic applications on Windows Azure. We find that the monad has low runtime overheads and leads to more declarative applications.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '13 conference proceedings.", }
@Article{Singh:2013:TGC, author = "Pavitdeep Singh and Satwinder Singh and Jatinder Kaur", title = "Tool for generating code metrics for {C#} source code using abstract syntax tree technique", journal = j-SIGSOFT, volume = "38", number = "5", pages = "1--6", month = sep, year = "2013", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/2507288.2507312", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:16:29 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib", abstract = "Software maintenance is one of the key activities in any software engineering process in which source code analysis plays a crucial role. Due to the high cost of maintenance, it has become quite necessary to produce high quality software. Over time, numerous analyses have been performed on source code to determine complexity and other metrics. Lots of papers have been published for object oriented languages but mostly concentrating on C++ and Java, very few has been published for more modern languages like C#. This paper proposes a Software Quality Assurance Tool for measuring the different code metrics for the object oriented language C# at the class and method levels. The technique consists of generating the abstract syntax tree of the source code using Nfactory libraries. The Interface is built using the Win Form application which provides an impressive GUI for the tool.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", }
@Article{Swamy:2013:VHO, author = "Nikhil Swamy and Joel Weinberger and Cole Schlesinger and Juan Chen and Benjamin Livshits", title = "Verifying higher-order programs with the {Dijkstra} monad", journal = j-SIGPLAN, volume = "48", number = "6", pages = "387--398", month = jun, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2499370.2491978", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jul 1 17:15:38 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Modern programming languages, ranging from Haskell and ML, to JavaScript, C# and Java, all make extensive use of higher-order state. This paper advocates a new verification methodology for higher-order stateful programs, based on a new monad of predicate transformers called the Dijkstra monad. Using the Dijkstra monad has a number of benefits. First, the monad naturally yields a weakest pre-condition calculus. Second, the computed specifications are structurally simpler in several ways, e.g., single-state post-conditions are sufficient (rather than the more complex two-state post-conditions). Finally, the monad can easily be varied to handle features like exceptions and heap invariants, while retaining the same type inference algorithm. We implement the Dijkstra monad and its type inference algorithm for the F* programming language. Our most extensive case study evaluates the Dijkstra monad and its F* implementation by using it to verify JavaScript programs. Specifically, we describe a tool chain that translates programs in a subset of JavaScript decorated with assertions and loop invariants to F*. Once in F*, our type inference algorithm computes verification conditions and automatically discharges their proofs using an SMT solver. We use our tools to prove that a core model of the JavaScript runtime in F* respects various invariants and that a suite of JavaScript source programs are free of runtime errors.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '13 conference proceedings.", }
@Article{Titzer:2013:HCF, author = "Ben L. Titzer", title = "Harmonizing classes, functions, tuples, and type parameters in {Virgil III}", journal = j-SIGPLAN, volume = "48", number = "6", pages = "85--94", month = jun, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2499370.2491962", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jul 1 17:15:38 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Languages are becoming increasingly multi-paradigm. Subtype polymorphism in statically-typed object-oriented languages is being supplemented with parametric polymorphism in the form of generics. Features like first-class functions and lambdas are appearing everywhere. Yet existing languages like Java, C#, C++, D, and Scala seem to accrete ever more complexity when they reach beyond their original paradigm into another; inevitably older features have some rough edges that lead to nonuniformity and pitfalls. Given a fresh start, a new language designer is faced with a daunting array of potential features. Where to start? What is important to get right first, and what can be added later? What features must work together, and what features are orthogonal? We report on our experience with Virgil III, a practical language with a careful balance of classes, functions, tuples and type parameters. Virgil intentionally lacks many advanced features, yet we find its core feature set enables new species of design patterns that bridge multiple paradigms and emulate features not directly supported such as interfaces, abstract data types, ad hoc polymorphism, and variant types. Surprisingly, we find variance for function types and tuple types often replaces the need for other kinds of type variance when libraries are designed in a more functional style.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '13 conference proceedings.", }
@Article{Jagannathan:2014:ARV, author = "Suresh Jagannathan and Vincent Laporte and Gustavo Petri and David Pichardie and Jan Vitek", title = "Atomicity Refinement for Verified Compilation", journal = j-TOPLAS, volume = "36", number = "2", pages = "6:1--6:??", month = jul, year = "2014", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/2601339", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Sat Aug 9 08:13:32 MDT 2014", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", abstract = "We consider the verified compilation of high-level managed languages like Java or C# whose intermediate representations provide support for shared-memory synchronization and automatic memory management. Our development is framed in the context of the Total Store Order relaxed memory model. Ensuring compiler correctness is challenging because high-level actions are translated into sequences of nonatomic actions with compiler-injected snippets of racy code; the behavior of this code depends not only on the actions of other threads but also on out-of-order executions performed by the processor. A na{"\i}ve proof of correctness would require reasoning over all possible thread interleavings. In this article, we propose a refinement-based proof methodology that precisely relates concurrent code expressed at different abstraction levels, cognizant throughout of the relaxed memory semantics of the underlying processor. Our technique allows the compiler writer to reason compositionally about the atomicity of low-level concurrent code used to implement managed services. We illustrate our approach with examples taken from the verification of a concurrent garbage collector.", acknowledgement = ack-nhfb, articleno = "6", fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", }
@Article{Liu:2014:FFL, author = "Peng Liu and Omer Tripp and Xiangyu Zhang", title = "{Flint}: fixing linearizability violations", journal = j-SIGPLAN, volume = "49", number = "10", pages = "543--560", month = oct, year = "2014", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2714064.2660217", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue May 12 17:41:21 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Writing concurrent software while achieving both correctness and efficiency is a grand challenge. To facilitate this task, concurrent data structures have been introduced into the standard library of popular languages like Java and C#. Unfortunately, while the operations exposed by concurrent data structures are atomic (or linearizable), compositions of these operations are not necessarily atomic. Recent studies have found many erroneous implementations of composed concurrent operations. We address the problem of fixing nonlinearizable composed operations such that they behave atomically. We introduce Flint, an automated fixing algorithm for composed Map operations. Flint accepts as input a composed operation suffering from atomicity violations. Its output, if fixing succeeds, is a composed operation that behaves equivalently to the original operation in sequential runs and is guaranteed to be atomic. To our knowledge, Flint is the first general algorithm for fixing incorrect concurrent compositions. We have evaluated Flint on 48 incorrect compositions from 27 popular applications, including Tomcat and MyFaces. The results are highly encouraging: Flint is able to correct 96% of the methods, and the fixed version is often the same as the fix by an expert programmer and as efficient as the original code.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "OOPSLA '14 conference proceedings.", }
@Article{Nagel:2014:CGE, author = "Fabian Nagel and Gavin Bierman and Stratis D. Viglas", title = "Code generation for efficient query processing in managed runtimes", journal = j-PROC-VLDB-ENDOWMENT, volume = "7", number = "12", pages = "1095--1106", month = aug, year = "2014", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Feb 4 17:20:26 MST 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "In this paper we examine opportunities arising from the convergence of two trends in data management: in-memory database systems (imdbs), which have received renewed attention following the availability of affordable, very large main memory systems; and language-integrated query, which transparently integrates database queries with programming languages (thus addressing the famous 'impedance mismatch' problem). Language-integrated query not only gives application developers a more convenient way to query external data sources like imdbs, but also to use the same querying language to query an application's in-memory collections. The latter offers further transparency to developers as the query language and all data is represented in the data model of the host programming language. However, compared to imdbs, this additional freedom comes at a higher cost for query evaluation. Our vision is to improve in-memory query processing of application objects by introducing database technologies to managed runtimes. We focus on querying and we leverage query compilation to improve query processing on application objects. We explore different query compilation strategies and study how they improve the performance of query processing over application data. We take C# as the host programming language as it supports language-integrated query through the linq framework. Our techniques deliver significant performance improvements over the default linq implementation. Our work makes important first steps towards a future where data processing applications will commonly run on machines that can store their entire datasets in-memory, and will be written in a single programming language employing language-integrated query and imdb-inspired runtimes to provide transparent and highly efficient querying.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", }
@Article{Zhao:2014:CSP, author = "Zhijia Zhao and Bo Wu and Mingzhou Zhou and Yufei Ding and Jianhua Sun and Xipeng Shen and Youfeng Wu", title = "Call sequence prediction through probabilistic calling automata", journal = j-SIGPLAN, volume = "49", number = "10", pages = "745--762", month = oct, year = "2014", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2714064.2660221", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue May 12 17:41:21 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Predicting a sequence of upcoming function calls is important for optimizing programs written in modern managed languages (e.g., Java, Javascript, C#.) Existing function call predictions are mainly built on statistical patterns, suitable for predicting a single call but not a sequence of calls. This paper presents a new way to enable call sequence prediction, which exploits program structures through Probabilistic Calling Automata (PCA), a new program representation that captures both the inherent ensuing relations among function calls, and the probabilistic nature of execution paths. It shows that PCA-based prediction outperforms existing predictions, yielding substantial speedup when being applied to guide Just-In-Time compilation. By enabling accurate, efficient call sequence prediction for the first time, PCA-based predictors open up many new opportunities for dynamic program optimizations.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "OOPSLA '14 conference proceedings.", }
@Article{Armoni:2015:SRP, author = "Michal Armoni and Orni Meerbaum-Salant and Mordechai Ben-Ari", title = "From Scratch to ``Real'' Programming", journal = j-TOCE, volume = "14", number = "4", pages = "25:1--25:??", month = feb, year = "2015", CODEN = "????", DOI = "https://doi.org/10.1145/2677087", ISSN = "1946-6226", bibdate = "Tue Feb 24 18:20:55 MST 2015", bibsource = "http://www.acm.org/pubs/toce; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/toce.bib", abstract = "Computer science (CS) activities for young students are widely used, particularly visual programming environments. We investigated the use of the Scratch environment for teaching CS concepts to middle school students. In a previous article [Meerbaum-Salant et al. 2013], we reported on the extent to which the CS concepts were successfully learned. In this article, we look at the transition from studying CS with the visual Scratch environment in middle school to studying CS with a professional textual programming language (C# or Java) in secondary school. We found that the programming knowledge and experience of students who had learned Scratch greatly facilitated learning the more advanced material in secondary school: less time was needed to learn new topics, there were fewer learning difficulties, and they achieved higher cognitive levels of understanding of most concepts (although at the end of the teaching process, there were no significant differences in achievements compared to students who had not studied Scratch). Furthermore, there was increased enrollment in CS classes, and students were observed to display higher levels of motivation and self-efficacy. This research justifies teaching CS in general and visual programming in particular in middle schools.", acknowledgement = ack-nhfb, articleno = "25", fjournal = "ACM Transactions on Computing Education", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1193", }
@Article{Gatrell:2015:ERC, author = "M. Gatrell and S. Counsell", title = "The effect of refactoring on change and fault-proneness in commercial {C#} software", journal = j-SCI-COMPUT-PROGRAM, volume = "102", number = "??", pages = "44--56", day = "1", month = may, year = "2015", CODEN = "SCPGD4", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Mon Feb 23 09:10:32 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167642314005711", acknowledgement = ack-nhfb, fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423/", }
@Article{Siek:2015:BCT, author = "Jeremy Siek and Peter Thiemann and Philip Wadler", title = "Blame and coercion: together again for the first time", journal = j-SIGPLAN, volume = "50", number = "6", pages = "425--435", month = jun, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2813885.2737968", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Feb 16 12:01:41 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "C#, Dart, Pyret, Racket, TypeScript, VB: many recent languages integrate dynamic and static types via gradual typing. We systematically develop three calculi for gradual typing and the relations between them, building on and strengthening previous work. The calculi are: \lambda B, based on the blame calculus of Wadler and Findler (2009); \lambda C, inspired by the coercion calculus of Henglein (1994); \lambda S inspired by the space-efficient calculus of Herman, Tomb, and Flanagan (2006) and the threesome calculus of Siek and Wadler (2010). While \lambda B is little changed from previous work, \lambda C and \lambda S are new. Together, \lambda B, \lambda C, and \lambda S provide a coherent foundation for design, implementation, and optimisation of gradual types. We define translations from \lambda B to \lambda C and from \lambda C to \lambda S. Much previous work lacked proofs of correctness or had weak correctness criteria; here we demonstrate the strongest correctness criterion one could hope for, that each of the translations is fully abstract. Each of the calculi reinforces the design of the others: \lambda C has a particularly simple definition, and the subtle definition of blame safety for \lambda B is justified by the simple definition of blame safety for \lambda C. Our calculus \lambda S is implementation-ready: the first space-efficient calculus that is both straightforward to implement and easy to understand. We give two applications: first, using full abstraction from \lambda C to \lambda S to validate the challenging part of full abstraction between \lambda B and \lambda C; and, second, using full abstraction from \lambda B to \lambda S to easily establish the Fundamental Property of Casts, which required a custom bisimulation and six lemmas in earlier work.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '15 conference proceedings.", }
@InProceedings{Cimler:2016:CRC, author = "Richard Cimler and Ond{\v{r}}ej Dole{\v{z}}al and Pavel Pscheidl", booktitle = "{Computational Collective Intelligence: 8th International Conference, ICCCI 2016, Halkidiki, Greece, September 28--30, 2016. Proceedings, Part II}", title = "Comparison of {RUST} and {C#} as a Tool for Creation of a Large Agent-Based Simulation for Population Prediction of Patients with {Alzheimer}'s Disease in {EU}", publisher = pub-SV, address = pub-SV:adr, pages = "252--261", year = "2016", DOI = "https://doi.org/10.1007/978-3-319-45246-3_24", bibdate = "Fri Apr 9 11:06:38 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/rust.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-319-45246-3_24", acknowledgement = ack-nhfb, keywords = "Rust programming language", }
@Article{McKinley:2016:PWU, author = "Kathryn S. McKinley", title = "Programming the world of uncertain things (keynote)", journal = j-SIGPLAN, volume = "51", number = "1", pages = "1--2", month = jan, year = "2016", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2914770.2843895", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Jun 9 17:13:57 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Computing has entered the era of uncertain data, in which hardware and software generate and reason about estimates. Applications use estimates from sensors, machine learning, big data, humans, and approximate hardware and software. Unfortunately, developers face pervasive correctness, programmability, and optimization problems due to estimates. Most programming languages unfortunately make these problems worse. We propose a new programming abstraction called {Uncertain$<$T$>$} embedded into languages, such as C#, C++, Java, Python, and JavaScript. Applications that consume estimates use familiar discrete operations for their estimates; overloaded conditional operators specify hypothesis tests and applications use them control false positives and negatives; and new compositional operators express domain knowledge. By carefully restricting the expressiveness, the runtime automatically implements correct statistical reasoning at conditionals, relieving developers of the need to implement or deeply understand statistics. We demonstrate substantial programmability, correctness, and efficiency benefits of this programming model for GPS sensor navigation, approximate computing, machine learning, and xBox.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '16 conference proceedings.", }
@Article{Anonymous:2017:BRG, author = "Anonymous", title = "Book Review: {{\booktitle{Gray Hat C#}}, by Brandon Perry. No Starch Press. ISBN 978-1-59327-759-8}", journal = j-NETWORK-SECURITY, volume = "2017", number = "7", pages = "4--4", month = jul, year = "2017", CODEN = "NTSCF5", DOI = "https://doi.org/10.1016/S1353-4858(17)30068-5", ISSN = "1353-4858 (print), 1872-9371 (electronic)", ISSN-L = "1353-4858", bibdate = "Mon Dec 4 17:01:47 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/network-security.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1353485817300685", acknowledgement = ack-nhfb, fjournal = "Network Security", journal-URL = "https://www.sciencedirect.com/journal/network-security", }
@Article{Kedia:2017:SFS, author = "Piyus Kedia and Manuel Costa and Matthew Parkinson and Kapil Vaswani and Dimitrios Vytiniotis and Aaron Blankstein", title = "Simple, fast, and safe manual memory management", journal = j-SIGPLAN, volume = "52", number = "6", pages = "233--247", month = jun, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3140587.3062376", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10🔞17 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Safe programming languages are readily available, but many applications continue to be written in unsafe languages because of efficiency. As a consequence, many applications continue to have exploitable memory safety bugs. Since garbage collection is a major source of inefficiency in the implementation of safe languages, replacing it with safe manual memory management would be an important step towards solving this problem. Previous approaches to safe manual memory management use programming models based on regions, unique pointers, borrowing of references, and ownership types. We propose a much simpler programming model that does not require any of these concepts. Starting from the design of an imperative type safe language (like Java or C#), we just add a delete operator to free memory explicitly and an exception which is thrown if the program dereferences a pointer to freed memory. We propose an efficient implementation of this programming model that guarantees type safety. Experimental results from our implementation based on the C# native compiler show that this design achieves up to 3x reduction in peak working set and run time.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '17 conference proceedings.", }
@Article{Kiselyov:2017:SFC,
author = "Oleg Kiselyov and Aggelos Biboudis and Nick Palladinos
and Yannis Smaragdakis",
title = "Stream fusion, to completeness",
journal = j-SIGPLAN,
volume = "52",
number = "1",
pages = "285--299",
month = jan,
year = "2017",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/3093333.3009880",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sat Sep 16 10🔞14 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Stream processing is mainstream (again): Widely-used
stream libraries are now available for virtually all
modern OO and functional languages, from Java to C# to
Scala to OCaml to Haskell. Yet expressivity and
performance are still lacking. For instance, the
popular, well-optimized Java 8 streams do not support
the zip operator and are still an order of magnitude
slower than hand-written loops. We present the first
approach that represents the full generality of stream
processing and eliminates overheads, via the use of
staging. It is based on an unusually rich semantic
model of stream interaction. We support any combination
of zipping, nesting (or flat-mapping), sub-ranging,
filtering, mapping-of finite or infinite streams. Our
model captures idiosyncrasies that a programmer uses in
optimizing stream pipelines, such as rate differences
and the choice of a for'' vs.
while'' loops. Our
approach delivers hand-written-like code, but
automatically. It explicitly avoids the reliance on
black-box optimizers and sufficiently-smart compilers,
offering highest, guaranteed and portable performance.
Our approach relies on high-level concepts that are
then readily mapped into an implementation.
Accordingly, we have two distinct implementations: an
OCaml stream library, staged via MetaOCaml, and a Scala
library for the JVM, staged via LMS. In both cases, we
derive libraries richer and simultaneously many tens of
times faster than past work. We greatly exceed in
performance the standard stream libraries available in
Java, Scala and OCaml, including the well-optimized
Java 8 streams.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "POPL '17 conference proceedings.",
}
@Article{Lauwens:2017:PRC, author = "Ben Lauwens", title = "\pkg{ResumableFunctions}: {C#} sharp style generators for {Julia}", journal = j-J-OPEN-SOURCE-SOFT, volume = "2", number = "18", pages = "400:1--400:2", month = oct, year = "2017", CODEN = "????", DOI = "https://doi.org/10.21105/joss.00400", ISSN = "2475-9066", ISSN-L = "2475-9066", bibdate = "Thu Sep 13 08:09:35 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/joss.bib", URL = "http://joss.theoj.org/papers/10.21105/joss.00400", acknowledgement = ack-nhfb, fjournal = "Journal of Open Source Software", journal-URL = "http://joss.theoj.org/; https://github.com/openjournals/joss-papers/", onlinedate = "31 October 2017", ORCID-numbers = "Ben Lauwens / 0000-0003-0761-6265", }
@Article{Perez:2017:UCP, author = "Alejandro P{'e}rez and Pablo S{'a}nchez", title = "On the Use of {C#} Partial Classes for the Implementation of Software Product Lines", journal = j-COMP-J, volume = "60", number = "1", pages = "86--109", month = jan, year = "2017", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxw068", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Mon Jan 23 10:49:51 MST 2017", bibsource = "http://comjnl.oxfordjournals.org/content/60/1.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "September 8, 2016", }
@Article{Rauniyar:2017:DDR, author = "Ashish Rauniyar and Mohammad Irfan and Oka Danil Saputra and Jin Woo Kim and Ah Ra Lee and Jae Min Jang and Soo Young Shin", title = "Design and Development of a Real-Time Monitoring System for Multiple Lead-Acid Batteries Based on {Internet of Things}", journal = j-FUTURE-INTERNET, volume = "9", number = "3", pages = "28", day = "29", month = jun, year = "2017", CODEN = "????", DOI = "https://doi.org/10.3390/fi9030028", ISSN = "1999-5903", ISSN-L = "1999-5903", bibdate = "Thu Nov 21 16:50:57 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/future-internet.bib", URL = "https://www.mdpi.com/1999-5903/9/3/28", abstract = "In this paper, real-time monitoring of multiple lead-acid batteries based on Internet of things is proposed and evaluated. Our proposed system monitors and stores parameters that provide an indication of the lead acid battery's acid level, state of charge, voltage, current, and the remaining charge capacity in a real-time scenario. To monitor these lead-acid battery parameters, we have developed a data acquisition system by building an embedded system, i.e., dedicated hardware and software. The wireless local area network is used as the backbone network. The information collected from all the connected battery clients in the system is analyzed in an asynchronous transmission control protocol/user datagram protocol-based C# server program running on a personal computer (server) to determine important parameters like the state of charge of the individual battery, and if required, appropriate action can be taken in advance to prevent excessive impairment to the battery. Further, data are also displayed on an Android mobile device and are stored in an SQL server database. We have developed a real prototype to devise an end product for our proposed system.", acknowledgement = ack-nhfb, journal-URL = "https://www.mdpi.com/journal/futureinternet", remark = "Special Issue Big Data and Internet of Thing.", }
@Article{Santhiar:2017:SDD, author = "Anirudh Santhiar and Aditya Kanade", title = "Static deadlock detection for asynchronous {C#} programs", journal = j-SIGPLAN, volume = "52", number = "6", pages = "292--305", month = jun, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3140587.3062361", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10🔞17 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Asynchronous programming is a standard approach for designing responsive applications. Modern languages such as C# provide async/await primitives for the disciplined use of asynchrony. In spite of this, programs can deadlock because of incorrect use of blocking operations along with non-blocking (asynchronous) operations. While developers are aware of this problem, there is no automated technique to detect deadlocks in asynchronous programs. We present a novel representation of control flow and scheduling of asynchronous programs, called continuation scheduling graph and formulate necessary conditions for a deadlock to occur in a program. We design static analyses to construct continuation scheduling graphs of asynchronous C# programs and to identify deadlocks in them. We have implemented the static analyses in a tool called DeadWait. Using DeadWait, we found 43 previously unknown deadlocks in 11 asynchronous C# libraries. We reported the deadlocks to the library developers. They have confirmed and fixed 40 of them.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '17 conference proceedings.", }
@Article{Alon:2018:GPB, author = "Uri Alon and Meital Zilberstein and Omer Levy and Eran Yahav", title = "A general path-based representation for predicting program properties", journal = j-SIGPLAN, volume = "53", number = "4", pages = "404--419", month = apr, year = "2018", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3296979.3192412", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Oct 16 14:12:57 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib", abstract = "Predicting program properties such as names or expression types has a wide range of applications. It can ease the task of programming, and increase programmer productivity. A major challenge when learning from programs is how to represent programs in a way that facilitates effective learning. We present a general path-based representation for learning from programs. Our representation is purely syntactic and extracted automatically. The main idea is to represent a program using paths in its abstract syntax tree (AST). This allows a learning model to leverage the structured nature of code rather than treating it as a flat sequence of tokens. We show that this representation is general and can: (i) cover different prediction tasks, (ii) drive different learning algorithms (for both generative and discriminative models), and (iii) work across different programming languages. We evaluate our approach on the tasks of predicting variable names, method names, and full types. We use our representation to drive both CRF-based and word2vec-based learning, for programs of four languages: JavaScript, Java, Python and C#. Our evaluation shows that our approach obtains better results than task-specific handcrafted representations across different tasks and programming languages.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '18 proceedings.", }
@Article{Kennedy:2018:TGC, author = "Andrew J. Kennedy and Claudio V. Russo", title = "Transposing {G} to {C$^\sharp $}: {Expressivity} of generalized algebraic data types in an object-oriented language", journal = j-THEOR-COMP-SCI, volume = "741", number = "??", pages = "1--2", month = "????", year = "2018", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2018.02.030", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Sep 7 14:29:03 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397518301270", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", }
@InProceedings{Lehoczky:2018:HLN, author = "Zolt{'a}n Leh{'o}czky and Andr{'a}s Retzler and Rich{'a}rd T{'o}th and {'A}lmos Szab{'o} and Benedek Farkas and Kriszti{'a}n Somogyi", title = "High-level {.NET} Software Implementations of Unum {Type I} and Posit with Simultaneous {FPGA} Implementation Using {Hastlayer}", crossref = "ACM:2018:CNG", pages = "1--7", year = "2018", DOI = "https://doi.org/10.1145/3190339.3190343", bibdate = "Mon Dec 11 09:02:49 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/fparith.bib", abstract = "The unum arithmetic framework has been proposed by Gustafson, D. J. to address the short-comings of the IEEE 754 Standard's floating-point. In this paper, we present our software and hardware implementations of Type I and posit unums. The software implementation is built on the .NET platform as an open source library written in the C# programming language. We automatically create hardware implementations using our .NET to FPGA converter tool called Hastlayer. The amount of hardware resources needed for addition operations are quantified, and the performance of software and prototype hardware for posits are compared. We show that posits are significantly more hardware friendly than Type I unums. Furthermore, our posit FPGA implementation is about 2.04 times more efficient per clock cycle than its software implementation.", acknowledgement = ack-nhfb, articleno = "4", keywords = "posit arithmetic; universal number arithmetic", }
@Article{Montanari:2018:OCC, author = "Mattia Montanari and Nik Petrinic", title = "{OpenGJK} for {C}, {C#} and {Matlab}: {Reliable} solutions to distance queries between convex bodies in three-dimensional space", journal = j-SOFTWAREX, volume = "7", number = "??", pages = "352--355", month = jan # "\slash " # jun, year = "2018", CODEN = "????", ISSN = "2352-7110", ISSN-L = "2352-7110", bibdate = "Mon Oct 14 09:45:41 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/matlab.bib; https://www.math.utah.edu/pub/tex/bib/softwarex.bib", URL = "http://www.sciencedirect.com/science/article/pii/S2352711018300591", acknowledgement = ack-nhfb, fjournal = "SoftwareX", journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues", }
@Article{Pinheiro:2020:MCA, author = "Pedro Pinheiro and Jos{'e} Carlos Viana and M{'a}rcio Ribeiro and Leo Fernandes and Fabiano Ferrari and Rohit Gheyi and Baldoino Fonseca", title = "Mutating code annotations: an empirical evaluation on {Java} and {C#} programs", journal = j-SCI-COMPUT-PROGRAM, volume = "191", number = "??", pages = "??--??", day = "1", month = jun, year = "2020", CODEN = "SCPGD4", DOI = "https://doi.org/10.1016/j.scico.2020.102418", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Wed May 26 13:33:20 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/java2020.bib; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167642320300290", acknowledgement = ack-nhfb, articleno = "102418", fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", }
@Article{Garcia:2021:IHG, author = "Andr{'e}s Amaya Garc{'\i}a and David May and Ed Nutting", title = "Integrated Hardware Garbage Collection", journal = j-TECS, volume = "20", number = "5", pages = "40:1--40:25", month = jul, year = "2021", CODEN = "????", DOI = "https://doi.org/10.1145/3450147", ISSN = "1539-9087 (print), 1558-3465 (electronic)", ISSN-L = "1539-9087", bibdate = "Tue Aug 10 13:35:00 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib", URL = "https://dl.acm.org/doi/10.1145/3450147", abstract = "Garbage collected programming languages, such as Python and C#, have accelerated software development. These modern languages increase productivity and software reliability as they provide high-level data representation and control structures. Modern languages are widely used in software development for mobile, desktop, and server devices, but their adoption is limited in real-time embedded systems.\par
There is clear interest in supporting modern languages
in embedded devices as emerging markets, like the
Internet of Things, demand ever smarter and more
reliable products. Multiple commercial and open-source
projects, such as Zerynth and MicroPython, are
attempting to provide support. But these projects rely
on software garbage collectors that impose high
overheads and introduce unpredictable pauses,
preventing their use in many embedded applications.
These limitations arise from the unsuitability of
conventional processors for performing efficient,
predictable garbage collection.\par
We propose the Integrated Hardware Garbage Collector
(IHGC); a garbage collector tightly coupled with the
processor that runs continuously in the background.
Further, we introduce a static analysis technique to
guarantee that real-time programs are never paused by
the collector. Our design allocates a memory cycle to
the collector when the processor is not using the
memory. The IHGC achieves this by careful division of
collection work into single-memory-access steps that
are interleaved with the processor's memory accesses.
As a result, our collector eliminates run-time
overheads and enables real-time program
analysis.\par
The principles behind the IHGC can be used in
conjunction with existing architectures. For example,
we simulated the IHGC alongside the ARMv6-M
architecture. Compared to a conventional processor, our
experiments indicate that the IHGC offers 1.5--7 times
better performance for programs that rely on garbage
collection. The IHGC delivers the benefits of
garbage-collected languages with real-time performance
but without the complexity and overheads inherent in
software collectors.",
acknowledgement = ack-nhfb, articleno = "40", fjournal = "ACM Transactions on Embedded Computing Systems", journal-URL = "https://dl.acm.org/loi/tecs", }
@Book{Albahari:2022:CND, author = "Joseph Albahari", title = "{C# 10} in a Nutshell: the Definitive Reference", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "xv + 1041", year = "2022", ISBN = "1-0981-2195-3 (paperback), 1-0981-2191-0 (e-book), 1-0981-2192-9 (e-book)", ISBN-13 = "978-1-0981-2195-2 (paperback), 978-1-0981-2191-4 (e-book), 978-1-0981-2192-1 (e-book)", LCCN = "QA76.73.C154 A5325 2022", bibdate = "Thu Feb 1 12:46:00 MST 2024", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib", abstract = "When you have questions about C#10 or .NET 6, this best-selling guide has the answers you need. C# is a language of unusual flexibility and breadth, and with its continual growth, there's always so much more to learn. In the tradition of O'Reilly's nutshell guides, this thoroughly updated edition is simply the best one-volume reference to the C# language available today. Organized around concepts and use cases, this comprehensive and complete reference provides intermediate and advanced programmers with a concise map of C# and .NET also plumbs significant depths.", acknowledgement = ack-nhfb, subject = "MATHEMATICS / General.", tableofcontents = "Introducing C# and .NET \ C# language basics \ Creating types in C# \ Advanced C# \ .NET overview \ .NET fundamentals \ Collections \ LINQ queries \ LINQ operators \ LINQ to XNL \ Other XML and JSON technologies \ Disposal and garbage collection \ Diagnostics \ Concurrency and asynchrony \ Streams and I/O \ Networking \ Assemblies \ Reflection and metadata \ Dynamic programming \ Cryptography \ Advanced threading \ Parallel programming \ Span and memory \ Native and COM interoperability \ Regular expressions", }
@Article{Grossu:2022:MHF, author = "I. V. Grossu", title = "Migration of hyper-fractal analysis from {Visual Basic 6} to {C# .Net}", journal = j-COMP-PHYS-COMM, volume = "271", number = "??", pages = "Article 108189", month = feb, year = "2022", CODEN = "CPHCBZ", DOI = "https://doi.org/10.1016/j.cpc.2021.108189", ISSN = "0010-4655 (print), 1879-2944 (electronic)", ISSN-L = "0010-4655", bibdate = "Mon Dec 20 16:41:52 MST 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib; https://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0010465521003015", acknowledgement = ack-nhfb, fjournal = "Computer Physics Communications", journal-URL = "http://www.sciencedirect.com/science/journal/00104655", }
@Proceedings{ACM:2001:PAJ, editor = "{ACM}", booktitle = "Proceedings of the {ACM 2001 Java Grande\slash ISCOPE Conference: Palo Alto, Calif., June 2--4, 2001}", title = "Proceedings of the {ACM 2001 Java Grande\slash ISCOPE Conference: Palo Alto, Calif., June 2--4, 2001}", publisher = pub-ACM, address = pub-ACM:adr, pages = "vi + 186", year = "2001", ISBN = "1-58113-359-6", ISBN-13 = "978-1-58113-359-2", LCCN = "QA76.9.O35 A26 2001", bibdate = "Mon May 6 06:26:30 MDT 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, keywords = "Java (computer program language) -- congresses; object-oriented methods (computer science) -- congresses", }
@Proceedings{ACM:2018:CNG, editor = "{ACM}", booktitle = "Conference for Next Generation Arithmetic ({Resorts World Convention Centre, Singapore}): ({CoNGA '18})", title = "Conference for Next Generation Arithmetic ({Resorts World Convention Centre, Singapore}): ({CoNGA '18})", publisher = pub-ACM, address = pub-ACM:adr, pages = "37", year = "2018", bibdate = "Sun Dec 10 14:24:09 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/fparith.bib", acknowledgement = ack-nhfb, remark = "No ISBN seems to have been assigned.", tableofcontents = "1: A Matrix-Multiply Unit for Posits in Reconfigurable Logic Using (OPEN)CAPI / Jianyu Chen, Zaid Al-Ars \ 2: Provably Correct Posit Arithmetic with Fixed-Point Big Integer / Shin Yee Chung \ 3: The Slide Number Format / Ignaz Kohlbecker \ 4: High-level .NET Software Implementations of Unum Type I and Posit with Simultaneous FPGA Implementation Using Hastlayer / Zolt{'a}n Leh{'o}czky, Andr{'a}s Retzler, Rich{'a}rd T{'o}th, {'A}lmos Szab{'o}, Benedek Farkas and Kriszti{'a}n Somogyi \ 5: Universal Coding of the Reals: Alternatives to IEEE Floating Point / Peter Lindstrom, Scott Lloyd and Jeffrey Hittinger", }