%%% -*-BibTeX-*- %%% ==================================================================== %%% BibTeX-file{ %%% author = "Nelson H. F. Beebe", %%% version = "1.26", %%% date = "03 May 2012", %%% time = "11:32:25 MDT", %%% filename = "csharp.bib", %%% address = "University of Utah %%% Department of Mathematics, 110 LCB %%% 155 S 1400 E RM 233 %%% Salt Lake City, UT 84112-0090 %%% USA", %%% telephone = "+1 801 581 5254", %%% FAX = "+1 801 581 4148", %%% URL = "http://www.math.utah.edu/~beebe", %%% checksum = "16548 8261 34577 351398", %%% email = "beebe at math.utah.edu, beebe at acm.org, %%% beebe at computer.org (Internet)", %%% codetable = "ISO/ASCII", %%% keywords = "C# [C-sharp]; Common Intermediate Language; %%% Microsoft Intermediate Language (MSIL); Mono %%% Project; .NET Project", %%% license = "public domain", %%% supported = "yes", %%% docstring = "This bibliography covers publications about %%% the C# [C-sharp] programming language and the %%% underlying virtual machines: Microsoft .NET %%% (also known as Common Intermediate Language %%% or Microsoft Intermediate Language (MSIL)), %%% and the free software Mono Project. %%% %%% The bibliography includes members of %%% publisher's Microsoft .NET series, so there %%% are a few entries that are about Visual %%% Basic, rather than C#. Since a major goal of %%% .NET is interlanguage operability, there is %%% still some connection to C#. %%% %%% At version 1.26, the year coverage looked %%% like this: %%% %%% 2000 ( 2) 2004 ( 41) 2008 ( 24) %%% 2001 ( 22) 2005 ( 32) 2009 ( 10) %%% 2002 ( 51) 2006 ( 47) 2010 ( 30) %%% 2003 ( 42) 2007 ( 10) 2011 ( 4) %%% %%% Article: 99 %%% Book: 211 %%% InProceedings: 1 %%% Manual: 1 %%% MastersThesis: 1 %%% Proceedings: 1 %%% TechReport: 1 %%% %%% Total entries: 315 %%% %%% BibTeX citation tags are uniformly chosen as %%% name:year:abbrev, where name is the family %%% name of the first author or editor, year is a %%% 4-digit number, and abbrev is a 3-letter %%% condensation of important title words. %%% Citation tags were automatically generated by %%% software developed for the BibNet Project. %%% %%% In this bibliography, entries are sorted %%% first by ascending year, and within each %%% year, alphabetically by author or editor, %%% and then, if necessary, by the 3-letter %%% abbreviation at the end of the BibTeX %%% citation tag, using the bibsort -byyear %%% utility. Year order has been chosen to %%% make it easier to identify the most recent %%% work. %%% %%% The checksum field above contains a CRC-16 %%% checksum as the first value, followed by the %%% equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert %%% Solovay's checksum utility.", %%% } %%% ==================================================================== %%% ==================================================================== %%% Institution abbreviations: @String{inst-UTAH-MATH = "University of Utah, Department of Mathematics"} @String{inst-UTAH-MATH:adr = "Salt Lake City, UT 84112-0090, USA"} %%% ==================================================================== %%% Journal abbreviations: @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-LANGS-SYS-STRUCT = "Computer Languages, Systems and Structures"} @String{j-COMPUTER = "Computer"} @String{j-DDJ = "Dr. Dobb's Journal of Software Tools"} @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-LECT-NOTES-COMP-SCI = "Lecture Notes in Computer Science"} @String{j-LOGIN = ";login: the USENIX Association newsletter"} @String{j-OPER-SYS-REV = "Operating Systems Review"} @String{j-QUEUE = "ACM Queue: Tomorrow's Computing Today"} @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-TECS = "ACM Transactions on Embedded Computing Systems"} @String{j-SPE = "Soft\-ware\emdash Prac\-tice and Experience"} @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-TOPLAS = "ACM Transactions on Programming Languages and Systems"} %%% ==================================================================== %%% Publishers and their addresses: @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-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"} %%% ==================================================================== %%% Bibliography entries, sorted by ascending year and then by citation %%% key: @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 = "http://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 = "http://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, } @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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, } @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 = "http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", acknowledgement = ack-nhfb, } @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 = "http://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 = "http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", acknowledgement = ack-nhfb, } @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; http://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, } @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 = "http://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, } @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 = "http://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, } @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 = "????", LCCN = "????", bibdate = "Sat May 14 22:54:18 2005", bibsource = "http://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 = "http://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, } @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 = "http://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; http://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 = "http://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; http://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, } @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 = "http://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; http://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 = "http://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, } @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 = "http://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, 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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio3333214 ( text.)", 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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, } @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 = "http://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, } @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 = "http://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", } @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 = "http://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 = "http://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 = "http://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; http://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 = "http://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 = "http://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 = "http://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/; http://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, } @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 = "http://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 = "http://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 = "http://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 = "http://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 = "http://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 = "http://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 = "????", LCCN = "????", bibdate = "Sat May 14 22:54:18 2005", bibsource = "http://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 = "http://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 = "http://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 = "http://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; http://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 = "http://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 = "http://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 = "http://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 = "http://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, } @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 = "http://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 = "http://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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5385247 ( text.)", 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 = "http://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 = "http://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 = "http://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)", bibdate = "Fri Apr 5 15:49:45 MST 2002", bibsource = "http://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, } @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 = "http://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; http://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 = "http://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", bibdate = "Tue Nov 12 06:13:25 MST 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, } @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/; http://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, } @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; http://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 = "http://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; http://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 = "http://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; http://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 = "http://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/; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.ddj.com/", acknowledgement = ack-nhfb, } @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 = "http://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, } @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; http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5390553 ( text.)", 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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905480 ( text.)", 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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", series = "Little black book", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5375250 ( text.)", 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 = "http://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:18:52 MST 2003", bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, } @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 = "http://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 = "http://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/; http://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, } @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 = "http://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 = "http://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 = "http://doi.acm.org/10.1145/1066404.589456", ISSN = "0736-721X", bibdate = "Tue Jun 17 11:55:50 MDT 2008", bibsource = "http://portal.acm.org/; http://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; http://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 = "http://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 = "http://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 = "http://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 = "http://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 = "http://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)", bibdate = "Wed Oct 15 08:31:41 MDT 2003", bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, } @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 = "http://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 = "http://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 = "http://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/; http://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, } @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 = "http://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 = "http://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 = "http://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 = "http://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)", bibdate = "Fri Dec 12 19:53:46 MST 2003", bibsource = "http://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, } @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 = "http://computer.org/software/so2003/; http://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, } @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", bibdate = "Sat Jan 03 14:59:06 2004", bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://dsonline.computer.org/0302/f/sp1lap.htm", acknowledgement = ack-nhfb, } @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 = "http://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 = "http://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 = "http://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, } @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 = "http://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, } @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 = "http://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, } @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 = "http://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, } @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 = "http://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, } @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 = "http://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 = "http://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 = "http://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 = "http://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??", } @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 = "http://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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905456 ( text.)", 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; http://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 = "http://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; http://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 = "http://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 = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, } @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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio4997313 ( text.)", 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)", bibdate = "Thu Nov 4 08:07:30 MST 2004", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; http://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, } @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 = "http://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 = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C\# (Computer program language)", } @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)", bibdate = "Mon Dec 20 09:37:20 MST 2004", bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, } @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; http://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 = "http://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 = "http://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 = "http://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 = "http://dx.doi.org/10.1002/spe.610", ISSN = "0038-0644 (print), 1097-024X (electronic)", bibdate = "Sat Apr 16 07:26:34 MDT 2005", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://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, 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", ISBN-13 = "978-0-321-15491-0", LCCN = "QA76.76.C154 H45 2004", bibdate = "Wed Mar 8 10:50:27 MST 2006", bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; melvyl.cdlib.org:210/CDL90", acknowledgement = ack-nhfb, subject = "C\# [C-sharp] (computer programming language)", } @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 = "http://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 = "http://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 and Bradley Sams teach yourself C\# in 21 days 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 = "http://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 = "http://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)", bibdate = "Thu Nov 11 05:40:33 MST 2004", bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, } @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 = "http://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; http://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 = "http://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, } @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 = "http://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, } @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 = "http://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, } @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 = "http://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, } @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 = "http://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, } @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 = "http://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 = "http://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 = "http://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 = "http://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", } @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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5459110 ( text.)", 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 = "http://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 = "http://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 = "http://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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905523 ( text.)", 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 = "http://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 = "http://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; http://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 = "http://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 = "http://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 = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, } @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 = "http://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 = "http://dx.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; http://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www3.interscience.wiley.com/journalfinder.html; Ingenta database", acknowledgement = ack-nhfb, 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 = "http://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, 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 = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; Ingenta database", acknowledgement = ack-nhfb, } @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 = "http://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 = "http://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 = "9780764597046", LCCN = "????", bibdate = "Mon Jun 26 11:43:16 MDT 2006", bibsource = "http://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 = "http://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/; http://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, } @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 = "????", LCCN = "????", bibdate = "Sat May 14 22:54:18 2005", bibsource = "http://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{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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5291165 ( text.)", 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 = "http://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 = "http://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 = "http://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 = "http://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 = "http://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; http://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 = "http://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 = "http://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 = "http://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, } @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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://www.columbia.edu/cgi-bin/cul/resolve?clio5389454 ( text.)", 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; http://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 = "http://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, } @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 = "http://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 = "http://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 = "http://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 = "9780764578472", LCCN = "QA76.73.C154 B483 2005", bibdate = "Mon Jun 26 11:41:58 MDT 2006", bibsource = "http://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 = "http://dx.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; http://www.math.utah.edu/pub/tex/bib/csharp.bib; http://www3.interscience.wiley.com/journalfinder.html", acknowledgement = ack-nhfb, 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 = "http://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 = "http://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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, language = "German", } @Book{Balzert:2006:COP, author = "Helmut Balzert and Michael $4 aut Ricken and Thomas $4 aut 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 = "9783937137193", LCCN = "????", bibdate = "Mon May 17 09:06:55 MDT 2010", bibsource = "fsz3950.oclc.org:210/WorldCat; http://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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", URL = "http://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 = "http://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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.org/10.1145/1133651.1133655", ISSN = "0164-0925 (print), 1558-4593 (electronic)", bibdate = "Tue May 30 16:33:23 MDT 2006", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; http://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, } @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 = "http://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 = "http://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 = "http://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 = "http://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, } @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 = "http://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 = "http://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 = "http://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 = "http://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 = "http://doi.acm.org/10.1145/1133651.1133654", ISSN = "0164-0925 (print), 1558-4593 (electronic)", bibdate = "Tue May 30 16:33:23 MDT 2006", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; http://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, } @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 = "http://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 = "http://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 = "http://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, 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; http://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 = "http://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 = "http://doi.acm.org/10.1145/1165678.1165681", ISSN = "0736-721X", bibdate = "Tue Jun 17 09:16:14 MDT 2008", bibsource = "http://portal.acm.org/; http://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 = "http://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 = "http://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 = "http://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 = "http://doi.acm.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/; http://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, 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 = "http://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 = "http://doi.acm.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/; http://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, 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 = "http://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 = "http://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 = "http://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 = "http://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; http://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 = "http://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 = "http://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 = "http://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 = "http://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\"ur 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 = "http://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 = "http://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 = "http://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 = "http://doi.acm.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/; http://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, } @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 = "http://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 = "http://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 = "http://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 = "http://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; http://www.math.utah.edu/pub/tex/bib/csharp.bib", series = "eBook", acknowledgement = ack-nhfb, 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 = "http://doi.acm.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/; http://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, 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 = "http://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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.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/; http://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, keywords = "initialization; non-null types; object invariants", } @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 = "http://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 = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "C\# (Computer program language)", } @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 = "http://doi.acm.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/; http://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, keywords = "abstract data type; assembly code verification; garbage collection; proof-carrying code; separation logic", } @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 = "http://doi.acm.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/; http://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, 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 = "http://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 = "http://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; http://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 = "http://doi.acm.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/; http://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, keywords = "object-oriented compilers; type-preserving compilation", } @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 = "http://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{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 = "http://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 = "http://doi.acm.org/10.1145/1556444.1556457", ISSN = "0163-5964 (print), 1943-5851 (electronic)", bibdate = "Fri Jun 26 11:50:56 MDT 2009", bibsource = "http://portal.acm.org/; http://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, } @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 = "http://doi.acm.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/; http://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, 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 = "http://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\#", } @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 = "http://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 = "http://doi.acm.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/; http://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, keywords = "aspect-oriented programming; class morphing; language extensions; meta-programming; object-oriented programming; structural abstraction", } @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 = "http://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 = "http://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 = "http://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 = "http://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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.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/; http://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/; http://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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.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/; http://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, 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; http://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 = "http://doi.acm.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/; http://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, 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 = "http://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-d.html; http://www.loc.gov/catdir/enhancements/fy0808/2008920770-b.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 = "http://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 = "http://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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.org/10.1145/1647420.1647423", ISSN = "0736-721X", bibdate = "Mon Jun 21 14:04:37 MDT 2010", bibsource = "http://portal.acm.org/; http://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", } @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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.org/10.1145/1618525.1618527", ISSN = "0163-5980", bibdate = "Tue Sep 22 12:51:49 MDT 2009", bibsource = "http://portal.acm.org/; http://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 = "http://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{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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.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/; http://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, 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 = "http://doi.acm.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/; http://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, 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 = "http://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; http://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 = "http://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; http://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 = "????", ISSN = "1477-8424 (print), 1873-6866 (electronic)", ISSN-L = "1477-8424", bibdate = "Thu Mar 8 08:39:20 MST 2012", bibsource = "http://www.math.utah.edu/pub/tex/bib/complngs.bib; http://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", } @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 = "9780-596-1598-3-2", LCCN = "????", bibdate = "Wed Nov 24 18:55:22 MST 2010", bibsource = "http://www.math.utah.edu/pub/tex/bib/csharp.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, } @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 = "http://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 = "http://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 = "http://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 Author 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; http://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 = "http://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 = "http://doi.acm.org/10.1145/1810891.1810916", ISSN = "0001-0782 (print), 1557-7317 (electronic)", bibdate = "Thu Aug 26 16:49:59 MDT 2010", bibsource = "http://www.acm.org/pubs/contents/journals/cacm/; http://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", } @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 = "http://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 = "http://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 = "http://doi.acm.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/; http://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", 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 = "http://doi.acm.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/; http://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", 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 = "http://doi.acm.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/; http://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", 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 = "http://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 = "http://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 = "http://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 = "http://doi.acm.org/10.1145/1814539.1814543", ISSN = "1539-9087", bibdate = "Mon Aug 30 15:29:45 MDT 2010", bibsource = "http://portal.acm.org/; http://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", 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 = "http://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 = "http://doi.acm.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/; http://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", 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 = "http://dx.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 = "http://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 = "http://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 = "http://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 = "http://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 = "http://doi.acm.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/; http://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", 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 = "http://doi.acm.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/; http://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", 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 = "http://doi.acm.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/; http://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", 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 = "http://dx.doi.org/10.1145/1953122.1953145", ISSN = "0001-0782 (print), 1557-7317 (electronic)", bibdate = "Wed Jun 1 18:12:20 MDT 2011", bibsource = "http://www.acm.org/pubs/contents/journals/cacm/; http://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", } @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; http://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 = "http://dx.doi.org/10.1145/2003690.2003692", ISSN = "0734-2071", bibdate = "Wed Aug 24 18:08:12 MDT 2011", bibsource = "http://www.acm.org/pubs/contents/journals/tocs/; http://www.math.utah.edu/pub/tex/bib/csharp.bib; http://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", } @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; http://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", } %%% ===================================================================== %%% Cross-referenced entries must come last: @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 = "http://www.math.utah.edu/pub/tex/bib/csharp.bib", acknowledgement = ack-nhfb, keywords = "Java (computer program language) -- congresses; object-oriented methods (computer science) -- congresses", }