C Sharp (programming language) and Willa Ford: Difference between pages

(Difference between pages)
Content deleted Content added
remove ''(This may not be visible in all browsers, such as Opera)'' from top. # is part of ASCII, so is visible in any imaginible system
 
 
Line 1:
{{cleanup-verify}}
{{wrongtitle|title=C#}}
{{unreferenced}}
 
'''Willa Ford''' (born '''Amanda Lee Williford''' on [[January 22]], [[1981]]) is an [[United States|American]] [[pop singer]].
: ''This article is about the C# programming language. For information about the musical note C#, see [[musical notation]].''
 
[[Image:Willaford.jpeg|right|thumbnail|Willa Ford]]
'''C#''' ([[#Language name|see section on naming, pronunciation]]) is an [[object-oriented programming|object-oriented]] [[programming language]] developed by [[Microsoft]] as part of their [[Microsoft .NET|.NET]] initiative. Microsoft based C# on [[C plus plus|C++]] and [[Java programming language|Java]]. C# was designed as a language that would provide [[syntax]] that would be comfortable for C++ and Java programmers, with [[rapid application development|rapid development]] functionality that would suit [[Visual Basic]] and [[Delphi programming language|Delphi]] programmers.
 
==Biography==
== Language features ==
Willa was born and raised in [[Ruskin, Florida]]. She began pursuing her dream of becoming a singer at the age of 8, when she started singing with the ''Tampa Bay Children's Choir''. By the time she reached age 11, she had moved on from the children’s choir to the Tampa-based children’s performing arts troupe, ''Entertainment Revue''. This group consisted of 20 girls ages 5-16. The tour the area and sang at such places as, [[Walt Disney World]] and Busch Gardens. Willa worked hard in the group and moved her way up from a chorus member to the role of featured soloist. When Willa was 15, she left the troupe and landed spot with a local foursome ''FLA''. She didn’t stay long with the group before deciding to head out to Los Angeles.
 
In 1999 Willa while performing under the stage name '''Mandah''', she was signed to [[MCA]]. While with MCA she released a song on the double-platinum soundtrack ‘''Pokémon The First Movie’'' called ‘''Lullaby''’. She also landed a spot as an opening act for the [[Backstreet Boys]]. Which managed to attract a lot of attention, for her performances as well as her relationship with one of its members. Soon Willa’s label changed her stage name from Mandah, to avoid confusion with another female singer, to Willa Ford and tried to promote a beautiful singer with a good-girl image. After some negative publicity that tainted their clean-cut image for Willa, MCA decided to drop her, letting her move on to a label that would embrace her bad-girl image.
C# is, in some sense, the programming language which most directly reflects the underlying .NET Framework on which all .NET programs run, and it depends strongly on this framework; there is no such thing as an [http://msdn.microsoft.com/library/en-us/csref/html/vcwlkunsafecodetutorial.asp unmanaged C# program]. Its primitive datatypes are objects of the corresponding .NET types, it is [[garbage collection (computer science)|garbage-collected]], and many of its abstractions, such as its classes, interfaces, delegates, exceptions, and so on, expose explicit features of the .NET runtime.
 
It wasn’t long before [[Lava/Atlantic]] would give Willa a deal and put her in to studio with a diverse variety of writers and producers. Although she had many talented writers working with her, Willa was determined to write most of the lyrics herself, which was unlike other teen singers at the time. She would use her life for material or make up a character that she would want to be.
Compared to C and C++, the language is restricted or enhanced in a number of ways, including but not limited to the following:
* Raw pointers can only be used in a special ''unsafe mode''. Most object access is done through safe references, which cannot be made invalid, and most arithmetic is checked for overflow. Pointers can only be made to so-called ''value types''; objects managed by the garbage collector can only be ''referred'' to.
* Objects cannot be explicitly freed, but instead are garbage collected when no more references to them exist. (Objects representing unmanaged resources, though, can be instructed to release those resources through the standard <code>IDisposable</code> interface.)
* Only single inheritance is available, but a class can implement any number of abstract interfaces. This functions mainly to simplify the runtime's implementation.
* C# is more [[typesafe]] than C++. The only implicit conversions by default are safe conversions, such as widening of integers and conversion from a derived type to a base type. There are no implicit conversions between booleans and integers, between enumeration members and integers, no void pointers (although references to ''Object'' are similar), and any user-defined implicit conversion must be explicitly marked as such, unlike C++'s [[copy constructor|copy constructors]].
* Syntax for [[array]] [[declaration]] is different ("<code>int[] a = new int[5]</code>" instead of "<code>int a[5]</code>").
* [[Enumeration]] members are placed in their own [[namespace]].
* C# has no [[Generic programming#Templates|templates]].
* Properties are available, which enable methods to be called using syntax that resembles data member access.
* Full [[reflection (computer science)|reflection]] is available.
 
On July 17, 2001 Willa released her debut album ‘''Willa Was Here''’. The album contained the single (with a hyper link to the sexy video), ‘''I Wanna Be Bad''’. The album used smooth pop/R&B grooves, hot dance beats and vocoders. Although Willa has the beauty and talent mixed in with a hit single, her album only reached #56 on the [[Billboard Charts]].
=== C# 2.0 new language features ===
New features in C# 2.0 are:
* [[Partial type]]s (separation of class implementation into more than one file)
* [[Generic programming|Generics]] or parameterized types. They support some features not supported by C++ templates such as type constraints on generic parameters. On the other hand, expressions cannot be used as generic parameters, as with C++ templates. Also, they differ from Java in that parameterized types are first-class citizens in the Virtual Machine, which allows for optimizations and preservation of the type information. See [[Insertion_sort_implementations#C.23_2.0|a simple example of C# 2.0 generics]].
* A new form of [[iterator]] that employs [[coroutine]]s via a functional-style <code>yield</code> keyword similar to <code>yield</code> in [[Python programming language|Python]]
* [[Anonymous method]]s providing [[closure (computer science)|closure]] functionality
* Nullable value types (denoted by a question mark, ie 'int? i = null;', allowing improved interaction with SQL databases
 
While promoting her album, Willa did a Mall tour for ''Nautica Kids'', served as the spokesperson for ''Pantene Pro-V’s ‘Pro-Voice’'' campaign, and appeared on the in-concert cable special, ''Teensation''. Also [[MTV]] got Willa to host their reality series ‘''I Bet You Will''’. MTV was impressed by Willa’s hosting they got her to also host their Spring Break series, which included ‘''The Morning After''’. Willa’s song ‘''I Wanna Be Bad''’ became the theme song for ''Six-Flags'' theme parks and was also use by ''7-UP'' for one of their campaigns. Willa also became a model for ''Bongo'' Ads. In 2002 Willa co-wrote and sang a duet with [[Koreans|Korean]] Pop star [[Park Ji Yoon]] intitled ‘''Nastified''’, which was on Park's 5th album ''Man''.
[[Anders Hejlsberg]], C#'s creator, discusses the difference between the implementations of generics in C#, Java, and C++ in [http://www.artima.com/intv/generics2.html this interview].
 
In 2003 Willa came back with a hot dance song that forever immortalized a sorority chant, ‘''A Toast To Men''’, which featured a special guest rapper [[Lady May]]. The single was from her unreleased sophomore album ‘''Sexysexobsessive''’. The single did well, but cause of some legalities at her label her album wasn’t released. This also caused Willa to leave the label and go in search for a new one.
Nullable types received an 11th hour improvement at the end of August 2005 (only weeks before the official launch), to improve their [[Boxing (Computer science)|boxing]] characteristics: a nullable variable which is assigned null is not actually a null reference (it's a value type). Hence boxing this value would result in a non-null reference! The following code illustrates the flaw:
 
While fans wait for a her sophomore release, Willa has made some appearances. In 2005 Willa was chosen from many candidates to host the fighting competition reality show ‘''The Ultimate Fighter''’. After the show’s finale Willa got a shot at being the summers guest doll, for the Vegas ''Pussy Cat Dolls'' show. As well as being one of the celebrity quarterbacks in the upcoming ''2006 Lingerie Bowl III''. Which will air during the ''Super Bowl'' halftime.
int? i = null;
object o = i;
if (o == null)
Console.WriteLine("Correct behaviour - you are running a version from Sept 05 or later");
else
Console.WriteLine("Incorrect behaviour, prior to Sept 05 releases");
 
==Discography==
The late nature of this fix caused some controversy, since it required core-[[Common Language Runtime|CLR]] changes affecting not only .NET2, but all dependent technologies (including C#, VB, SQL Server 2005 and Visual Studio 2005).
 
===Albums===
=== C# 3.0 new language features ===
In C# 3.0 there will be radical additions:
* "<code>select</code>, <code>from</code>, <code>where</code>" keywords allowing to query from collections, sql and more (called LINQ - Language INtegrated Query)
* Object initialization : <code>Customer c = new Customer(); c.Name="James";</code> becomes <code>Customer c = new Customer { Name="James" };</code>
* Lambda expressions : <code>listOfFoo.Where(delegate(Foo x) { return x.size>10;})</code> becomes <code>listOfFoo.Where(x => x.size>10);</code>
* Local variable type inference: <code>var x = "hello";</code> is interchangeable with <code>string x = "hello";</code>
* Extension methods (adding methods to classes by including the <code>this</code> keyword in the first parameter)
 
*2001: Willa Was Here
C# 3.0 was unveiled at the PDC 2005, and a Preview, with specifications is available [http://msdn.microsoft.com/netframework/future/linq/ From the MSDN Page (MSDN)].
 
===Singles===
Language researchers at Microsoft have emphasized that C# 3.0 is bytecode-compatible with C# 2.0 &mdash; essentially the improvements are purely syntactic or compile-time improvements. For example, many of the most common integrated queries can already be implemented using anonymous delegates in combination with predicate-based container methods such as <code>List.FindAll</code> and <code>List.RemoveAll</code>.
 
*2001: I Wanna Be Bad (feat. Royce Da 5'9)
== Code libraries ==
*2001: Did Ya Understand That
*2001: Santa Baby (Gimme, Gimme, Gimme)
*2003: A Toast To Men (feat. Lady May)
 
===Soundtracks/Others===
The ECMA C# specification details a minimum set of types and class libraries that the compiler expects to have available and they define the basics required. Most implementations in the open ship with the larger set of libraries.
 
*1999: Pokémon: The First Movie [Soundtrack]
The .NET Framework is a [[class (computer science)|class]] library which can be used from a .NET language to perform tasks from simple data representation and string manipulation to generating [[dynamic web page]]s (ASP.NET), [[XML]] parsing and [[Reflection (computer science)|reflection]]. The code is organized into a set of [[Namespace (programming)|namespace]]s which group together classes with a similar function, e.g. <code>System.Drawing</code> for graphics, <code>System.Collections</code> for data structures and <code>System.Windows.Forms</code> for the Windows Forms system.
*2001: Pantene Pro Voice Vol 1
*2001: Spyder Games [Soundtrack]
*2001: Totally Hits 2001
*2001: MTV: TRL Christams
*2002: Park Ji Yoon - Man
*2002: MTV-The Best Of Trl Pop
*2002: Undercover Brother [Soundtrack]
*2003: What A Girl Wants [Soundtrack]
*2003: Dickie Roberts: Former Child Star [Soundtrack]
*2004: Gay.com: Winter 2004 Hits
 
==Filmography==
A further level of organisation is provided by the concept of an ''assembly''. An assembly can be a single file or multiple files linked together (through al.exe) which may contain many namespaces and objects. Programs needing classes to perform a particular function might reference assemblies such as System.Drawing.dll and System.Windows.Forms.dll as well as the core library (known as mscorlib.dll in Microsoft's implementation).
 
===Music Videos===
== Hello world example ==
 
*2001 I Wanna Be Bad
The following is a very simple C# program, a version of the classic "[[hello world]]" example.
*2001 Did Ya Understand That
*2001 Santa Baby (Gimme, Gimme, Gimme)
*2002 Uncle Kracker's: In A Little While -"Girlfriend"
*2003 A Toast To Men
 
===TV===
'''public''' '''class''' ExampleClass
{
'''public''' '''static''' '''void''' Main()
{
System.Console.WriteLine("Hello world!");
}
}
 
*2001 Pantene Pro-Voice Featuring Jewel - Herself
The effect is to write the text ''Hello world!'' to the output console. Each line serves a specific purpose, as follows:
*2001 The Mind of the Married Man - Herself
*2002 Six Flags Commercial - Herself
*2002 Rasing Dad - Edie "Bully"
*2002 I Bet You Will - Herself
*2002 The Miss Teen USA Pageant - Co-host
*2003 Morning After - Herself
*2004 VH1's 100 Most Outrageous Celebrity Moments - Herself "commentator"
*2004 VH1's My Coolest Years: Bad Girls - Herself "featured"
*2005 VH1's 100 Greatest Kids Stars - Herself "commentator"
*2005 WB Morning Show - Herself "featured"
*2005 The Ultimate Fighter - Host
*2005 My Fair Brady: Episode 3 - Herself "model"
*2005 The Fabulous Life Of: Las Vegas - Herself "featured"
*2005 ESPN Hollywood: Lingerie Bowl - Herself "featured"
*2005 Last Call With Carson Daly: Lingerie Bowl Event - Herself "featured"
 
==References==
'''public''' '''class''' ExampleClass
 
===Biography===
This is a class definition. It is ''public'', meaning objects in other projects can freely use this class. All the information between the following braces describes this class.
 
*http://www.mtv.com/bands/az/ford_willa/bio.jhtml
'''public''' '''static''' '''void''' Main()
*http://www.spiketv.com/shows/series/ultimatefighter/
*http://www.lingeriebowl.com/
*http://www.scopemag.com/2005/06/30/pussycats.html
 
===Albums===
This is the entry point where the program begins execution. It could be called from other code using the syntax <code>ExampleClass.Main()</code>. (The '''public''' '''static''' '''void''' portion is a subject for a slightly more advanced discussion.)
 
*http://www.amazon.com/exec/obidos/search-handle-form/103-3054812-9291015
System.Console.WriteLine("Hello world!");
 
===Singles===
This line performs the actual task of writing the output. ''Console'' is a system object, representing a command-line console where a program can input and output text. The program calls the ''Console'' method ''WriteLine'', which causes the string passed to it to be displayed on the console.
 
*http://www.amazon.com/exec/obidos/search-handle-form/103-3054812-9291015
== Standardization ==
 
===Soundtracks/Others===
Microsoft has submitted C# to the [[European Computer Manufacturers Association|ECMA]] for formal [[standardization]]. In December [[2001]], ECMA released ECMA-334 ''C# Language Specification''. C# became an [[ISO]] standard in 2003 (ISO/IEC 23270). There are independent implementations being worked on, including:
* [[Mono development platform|Mono]], [[Novell]]'s [[open source]] .NET implementation (originally by [[Ximian]]).
* [[dotGNU]], and [[Portable.NET]] from the [[Free Software Foundation]]
 
*http://us.yesasia.com/gb/PrdDept.aspx/pid-1001822521/aid-561/section-music/code-k/version-all
More recently, Microsoft has added support in beta releases of Visual Studio 2005 for [[Generic_programming|generics]] (similar to C++ [[template (programming)|templates]]), [[partial type]]s and some other new features. ECMA/ISO standardization of these new features has been proposed, but they are not currently part of the standard language definition.
 
==Politics=Music Videos===
 
*http://www.mtv.com/bands/az/ford_willa/audvid.jhtml
Many of Microsoft's products and initiatives generate political attention, and C# is no exception. Owing to C#'s close relationship with a commercial institution, political discussions continue regarding the legitimacy of C# standardization, its Java similarities, its future as a general-purpose language, and other issues. Some security experts express skepticism as to the efficacy of the CLR's security mechanisms, and criticise their complexity. At the same time, the language is praised for its clear and programmer-friendly grammar, in addition to dramatic drops in application development time (as opposed to C++).
*http://www.mtv.com/bands/az/uncle_kracker/audvid.jhtml
 
===TV===
Unlike proprietary languages such as Visual Basic or Java, Microsoft chose to open up C# to the standardization process. However, Microsoft is still a primary force driving changes and innovation in the language. Additionally, Microsoft has made it clear that C#, as well as the other .NET languages, is an important part of its software strategy for both internal use and external consumption. Microsoft takes an active role in marketing the language as part of its overall business strategies.
 
*http://www.vh1.com/artists/az/ford_willa/artist.jhtml
== Language name ==
*http://www.spiketv.com/shows/series/ultimatefighter/
The name "C#" may have been chosen by Microsoft to imply progression from the C++ language, with the # symbol resembling two + symbols merged together, or four + symbols arranged in a square.
*http://www.lingeriebowl.com/
 
[[Category:1981 births|Ford, Willa]]
[[Image:C sharp.gif|thumb|100px|right|C Sharp]]
[[Category:Solo artist|Ford, Willa]]
According to Microsoft [http://msdn.microsoft.com/vcsharp/productinfo/faq/default.aspx], the symbol in the name "C#" is ♯, the musical sharp symbol (see graphic at right if the symbol is not visible). Therefore, the proper representation is "C♯". It follows then that the name of the language is pronounced "''see-sharp''", like the [[Note|musical note]].
[[Category:Pop music|Ford, Willa]]
[[Category:Pop singers|Ford, Willa]]
[[Category:Female singers|Ford, Willa]]
[[Category:American pop singers|Ford, Willa]]
[[Category:American songwriters|Ford, Willa]]
[[Category:People from Florida|Ford, Willa]]
 
[[de:Willa Ford]]
However, according to the ECMA-334 C# Language Specification, section 6, ''Acronyms and abbreviations'' [http://www.ecma-international.org/publications/standards/Ecma-334.htm] the name of the language is written C# ("LATIN CAPITAL LETTER C (U+0043) followed by the NUMBER SIGN # (U+0023)") and pronounced "C Sharp".
[[no:Willa Ford]]
 
[[sv:Willa Ford]]
Due to technical limitations of display (fonts, browsers, etc.) and the fact that ♯ sharp symbol is not present on the standard keyboard, the # hash symbol is often used. Unfortunately, the hash symbol is often used in books as well [http://www.microsoft.com/MSPress/books/imgt/5029.gif], presumably leading to more confusion regarding the name of the language. Users have been known to call the language "''see-pound''" (in the US the #-key on telephones is pronounced as the "''pound''"-key) or "''see-hash''". Also in the US the # symbol is also occasionally referred to as the "''gate''" symbol on a telephone, leading to a pronunciation of the language as "''see-gate''", which could be confused with the brand name of hard-drive manufacturer, [[Seagate]].
 
Another name for the # symbol is "''[[octothorpe]]''", which when combined with a hard C sound, results in the pronunciation "''cock-toe-thorp''". This form, spoken emphasising the first syllable, is occasionally used as an [[expletive]] by programmers.
 
The "sharp" suffix has been emulated by a number of other .NET languages that are variants of existing languages, including [[J Sharp|J#]] (Microsoft's implementation of Java, [[A Sharp (.NET)|A#]] (from [[Ada programming language|Ada]]), [[F Sharp|F#]] (presumably from [[System F]], the type system used by the [[ML programming language|ML]] family), and Gtk# (a .NET wrapper for [[GIMP Toolkit|GTK+]]).
 
== See also ==
{{Wikibookspar|Programming|C_sharp}}
*[[Mono development platform|Mono]], an open source implementation of C# and .NET
*[[F Sharp programming language|F# programming language]]
*[[Cω|C&omega; programming language]], extension to C#
*[[D programming language]]
*[[Spec_sharp|Spec♯]]
*[[Sing_sharp|Sing♯]]
*[[Nemerle|Nemerle programming language]]
*[[Boo programming language]], a cross between C# and [[Python programming language|Python]]
*[[IronPython]], a [[Microsoft]]-supported, .NET-compliant version of [[Python programming language|Python]]
*[[Polyphonic C sharp|Polyphonic C#]]
*[[Comparison of C Sharp to Java|Comparison of C# to Java]]
*[[Common Language Runtime]]
*[[Anders Hejlsberg]]
*[[C_Plus_Plus_CLI|C++/CLI]]
 
== External links ==
*[http://msdn.microsoft.com/vcsharp/team/language/default.aspx C# Language (MSDN)]
*[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csspec/html/CSharpSpecStart.asp C# Specification]
*[http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf ECMA-334 C# Language Specification (.pdf)]
*[http://msdn.microsoft.com/vcsharp/ Microsoft Visual C# .NET]
*[http://www.computer-books.us/csharp.php Computer-Books.us] - A collection of C# books available for free download.
*[http://www.csharpfriends.com C# Community Site]
*[http://www.mono-project.com/using/mcs.html MCS: The Mono C# compiler]
*[http://www.southern-storm.com.au/portable_net.html Portable.NET]
*[http://www.borland.com/csharpbuilder/ Borland's C# Builder for the Microsoft® .NET Framework]
*[http://www.icsharpcode.net SharpDevelop: Open Source C# IDE]
*news://msnews.microsoft.com/microsoft.public.dotnet.languages.csharp
 
{{Major programming languages small}}
 
[[Category:Programming languages|C#]]
[[Category:Class-based programming languages]]
[[Category:.NET programming languages]]
[[Category:Concurrent programming languages]]
[[Category:C programming language family]]
[[Category:Curly bracket programming languages]]
[[Category:ISO standards]]
[[Category:IEC standards]]
 
[[bg:C Sharp]]
[[cs:Csharp]]
[[da:C Sharp]]
[[de:C-Sharp]]
[[es:C Sharp]]
[[eo:C dieso (programlingvo)]]
[[fr:C sharp]]
[[ko:C 샤프]]
[[it:C sharp]]
[[he:C Sharp]]
[[lt:C sharp]]
[[hu:C Sharp programozási nyelv]]
[[nl:C sharp]]
[[ja:C Sharp]]
[[no:C Sharp]]
[[pl:C Sharp]]
[[pt:C sharp]]
[[ru:C Sharp]]
[[sk:C Sharp (programovací jazyk)]]
[[sr:C Sharp]]
[[fi:C sharp]]
[[sv:C-sharp]]
[[th:ภาษาซีชาร์ป]]
[[vi:C thăng]]
[[tr:C Sharp programlama dili]]
[[uk:C Sharp]]
[[zh:C#]]