Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2017-03-04, 03:03
  #1
Medlem
abcabcs avatar
Jag har noterat i Svenska wikipedia så står det att "Officiellt är språket baserat på C++", jag tycker det låter lite konstigt, nästan som ett skrivfel, då det så uppenbart är Java.

Om man kollar i den ursprungliga specifikationen för C# så är den i stort sett identisk med Java vid samma tidpunkt, men inte alls med C++. (I C# finns en funktion att stänga av skräphanteraren, inget mer jämfört med Java, i övrigt identiskt.)

Något som vet vad som orsaken kan vara, att mycket hellre bli förknippad med C++ än med Java?
__________________
Senast redigerad av abcabc 2017-03-04 kl. 03:11.
Citera
2017-03-04, 05:04
  #2
Medlem
Antagligen för att Java är skräp och hemskt att arbeta med.
Citera
2017-03-04, 10:38
  #3
Medlem
Sunimods avatar
Min övertygelse är att C# är byggt på Visual Basic (NET)

Microsoft har alltid vurmat för Basic men var tvungen att ta fram en C liknande dialekt för att få acceptans bland alla C och C++ fanatiker

Både C# och VB i deras utvecklingsmiljö kompileras till CLI kod och vad jag tror blir det relativt lika kod av detta.
Citera
2017-03-04, 11:15
  #4
Medlem
Java och C# är byggt på c/C++, C# är Microsofts 'version' av Java. Språken är väldigt lika, just på grund av att de bygger på samma underliggande språk och syntax. På senare tid har C# dragit iväg ofantligt från att vara ett 'java' till att vara ett betydligt bättre och enklare språk, ett bättre utvecklat språk. Java verkar ha stannat i utvecklingen, nästan som att det enda det lever på är att en massa redan är skrivet i java, och således behöver underhållas.
Citera
2017-03-04, 12:29
  #5
Medlem
Det är inte bra för ett programpaket att ägas av Oracle.

Java mådde bäst medan Sun basade.
Citera
2017-03-04, 12:42
  #6
Moderator
vhes avatar
Citat:
Ursprungligen postat av abcabc
Jag har noterat i Svenska wikipedia så står det att "Officiellt är språket baserat på C++", jag tycker det låter lite konstigt, nästan som ett skrivfel, då det så uppenbart är Java.

Just det påståendet har ju till och med en källhänvisning, och i den står att läsa:
Citat:
Hejlsberg: First of all, C# is not a Java clone. In the design of C#, we looked at a lot of languages. We looked at C++, we looked at Java, at Modula 2, C, and we looked at Smalltalk. There are just so many languages that have the same core ideas that we're interested in, such as deep object-orientation, object-simplification, and so on.

One of the key differences between C# and these other languages, particularly Java, is that we tried to stay much closer to C++ in our design. C# borrows most of its operators, keywords, and statements directly from C++. We have also kept a number of language features that Java dropped. Why are there no enums in Java, for example? I mean, what's the rationale for cutting those? Enums are clearly a meaningful concept in C++. We've preserved enums in C# and made them type-safe as well. In C#, enums are not just integers. They're actually strongly typed value types that derive from System.Enum in the .NET base-class library. An enum of type "foo" is not interchangeable with an enum of type "bar" without a cast. I think that's an important difference. We've also preserved operator overloading and type conversions. Our whole structure for name spaces is much closer to C++.

Vilket språk C# är mest likt kan ju givetvis diskuteras, men givet att en av huvudmännen bakom språket säger rakt ut att den primära inspirationskällan är C++, snarare än Java, så kan man nog utgå från att det i alla fall inte är ett skrivfel från wikipedias sida.
Citera
2017-03-11, 18:24
  #7
Medlem
fatattacks avatar
C# är oändligt mycket trevligare än både Java o C++. Mitt favoritspråk fn. Enkelt, trevlig syntax, ger snygg & läsbar kod, hjälpsamt o kraftfullt. Inlärningströskeln är extremt låg. Har föga gemensamt med vare sig C++ o Java. Mer en städad Visual Basic skulle jag vilja säga och väldigt mycket från Delphi (Pascal) - inte så konstigt fö.

Sitter fn o kodar c# hela dagarna och produktiviteten är klart (mycket) högre än andra språk jag använt.
Citera
2017-03-25, 01:18
  #8
Medlem
abcabcs avatar
Citat:
Ursprungligen postat av vhe
Just det påståendet har ju till och med en källhänvisning, och i den står att läsa:

Vilket språk C# är mest likt kan ju givetvis diskuteras, men givet att en av huvudmännen bakom språket säger rakt ut att den primära inspirationskällan är C++, snarare än Java, så kan man nog utgå från att det i alla fall inte är ett skrivfel från wikipedias sida.
Innan Microsoft lanserade C# så hade man förinstallerat Java i Windows men kom på något sätt i konflikt med Sun, och Java togs bort. I samband med det betalade Microsoft ett saftigt skadestånd till Sun. I efterdyningarna eller i samband med det lanserades C#, men Microsoft ville distansera sig och låtsades att C# var inspirerad av C++ (som var mer öppen och mer harmlös). Det är så jag har förstått det, andra som är mer insatta kan säkert förklara mer precist.
Citera
2017-03-25, 19:26
  #9
Medlem
Microserfs avatar
Citat:
Ursprungligen postat av abcabc
Innan Microsoft lanserade C# så hade man förinstallerat Java i Windows men kom på något sätt i konflikt med Sun, och Java togs bort. I samband med det betalade Microsoft ett saftigt skadestånd till Sun. I efterdyningarna eller i samband med det lanserades C#, men Microsoft ville distansera sig och låtsades att C# var inspirerad av C++ (som var mer öppen och mer harmlös). Det är så jag har förstått det, andra som är mer insatta kan säkert förklara mer precist.

Är inte mera insatt men jag tror du har rätt. Det blev en konflikt mellan Microsoft och vem som nu styrde Java och Microsoft valde att gå sin egen väg. Jag tror t.ex. att Microsoft ville lägga till "delegates" i Java men fick Nej och då valde de att göra sin egen, mycket bättre, Java.

C# ska ju ses som C++++ men jag antar att det bara är politik som gjorde att Microsoft ville ha distans mellan Java och C#/.NET.
Citera
2017-03-25, 22:38
  #10
Medlem
Microsoft valde att införa språkförändringar.
Sun sa att man inte fick.
Microsoft envisades.
Sun visade de licensavtal som användare var tvugna att godkänna.
Microsoft fick för en gångs skull ge upp att ta över existerande standard.
Slutade med att man skapade eget programspråk.

Vad som i slutändan är bäst språk beror på förutsättningar, behov mm. Finns inget "bästa" språk.
Citera
2017-03-26, 00:58
  #11
Medlem
Trillskes avatar
Citat:
Ursprungligen postat av Microserf
C# ska ju ses som C++++ men jag antar att det bara är politik som gjorde att Microsoft ville ha distans mellan Java och C#/.NET.
Knappast bara. Java har en del hyfsade brister som MS kunde passa på att göra bättre från början i C#. Från stora till små saker.

Vidare har du det faktum att MS i C# försöker vara tilltalande för folk som aldrig skulle använda Java. Unsafe känns som en ren flört. Det är inte användbart i speciellt många situationer där man vill använda ett språk som C# och det introducerar rejäla hazards i ett annars väldigt robust språk, ändå finns det där med stöd rakt upp och ner i VS.

Finns väl inte på världskartan att Java skulle introducera något som Unsafe (med flit, alltså, jag vet att folk hackar sig till det).

Jag tycker det är rätt naturligt att C# kommer från C++. Men det gäller ju även Java. Och eftersom båda språken anammar samma OOP-filosofi är det ju rätt självklart att de blir väldigt liknande i många aspekter.
__________________
Senast redigerad av Trillske 2017-03-26 kl. 01:01.
Citera
2017-03-27, 13:46
  #12
Medlem
Sane?s avatar
Alla verkar glömma bort J# som följde med Visual Studio på den tiden;
https://en.wikipedia.org/wiki/J_Sharp
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback