C#是一种专有的编程语言? [英] C# is a proprietary programming language ??

查看:72
本文介绍了C#是一种专有的编程语言?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有些人认为Microsoft C#是专有编程语言。

什么是专有编程语言呢?它与其他语言(例如C ++或Java)有什么区别?


Some people identify Microsoft C# is Proprietary programming language.
What is Proprietary programming language then? How does it differ
from other languages such as C++, or Java??

Please advise. thanks!!

推荐答案

这曾经意味着什么...当每个公司都拥有自己的Fortran

编译器时,并且每个人都试图在一个Fortran编译器中编写代码,

可以被其他所有人使用......(写一次,随处运行......听起来很熟悉?)


Java当然也试过这个。每个人都应该拥有相同的

Java。不同的是,SUN保留了Java的知识产权,

因此,当微软为该语言添加一些扩展以使其有用

来调用Windows API时,SUN起诉,并荣获。微软不得不放弃使用Java平台(尽管大多数人都认为微软JVM比当时任何其他JVM都要快得多)。


因此,Java是一种语言,您可以在一个操作系统上编写代码

(比如LINUX)并在另一个操作系统上运行它(比如WINDOWS)。在大多数情况下,它是

true。


缺点是语言的任何更改都必须由
完成。
母舰(SUN)或者它们必须在Java类库中交付,

用Java编写。这有效地防止语言改变以满足新的需求。 Java已经完成。要么它是完美的,要么它不是b $ b,但它并没有改变。


C#是微软的心血结晶。 MS拥有它。确实,

语言的规范已作为标准发布,MS并不反对第三个创建将在UNIX上运行的C#编译器的
派对。另一方面,MS

并不会在任何操作系统上投入太多资金而是Windows(除了Mac之外的次要

)。但是C#正在发生变化。新版本即将发布带有主要新功能的
。通过添加库来完成的基本功能无法实现
。这是一个公司拥有并且关心的语言的优势。


当然,如果你在Windows上用C#编写代码,你可以不要在UNIX上运行它。

它是专有的。一家公司拥有该语言,他们决定不支持UNIX,因此您的代码不会在那里运行。你受到限制。这个

是专有的限制。无论如何,在理论上。实际上,在UNIX上开发的C#实现是由开源人员编写的。所以

虽然收费是真的,但并不意味着太多。


鉴于超过90%的台式机运行Windows,点

相当薄。 Java在多个平台上运行的能力有效地统一了所有UNIX风格,并允许一些软件公司向UNIX和Windows客户提供
。这是微软对基于PC的软件主导地位的最大挑战。但是对于你应该选择做你工作的语言来说,这并不是真的很重要。


这些天来,专有"并不意味着锁定喜欢

曾经。可以说Java是专有的,因为它归SUN所有。

可以说Java程序员被锁定了,因为你无法开发一些库中的某些库VB,一些在C#中,一些在COBOL中,一些在Forte中等(所有在.NET风格中都可用的b $ b),并使它们一起工作。在许多平台上,您被锁定为一种语言的
。使用.NET,您可以使用多种语言锁定一个

平台。


我知道一家软件公司正在移动其庞大的代码库

(目前在COBOL中)到Java。对我没有意义。如果他们将它移动到.NET,他们可以重新编译60%的代码(Fujitsu

COBOL),并且可以使用他们现有的编程人员将完成转换。
完成转换。通过迁移到Java,他们不得不丢弃工作代码并重新开始,可能是通过替换人员和模块。我希望他们的财务状况能够超越他们的非理性行为,因为他们的财产很好,即使他们的公司运营不佳。


回到原来的问题:什么是专有?我的回答:一切

是专有的......没关系。从长远来看,选择适用于

的语言。


至于我,我坚持使用.NET。


--- Nick Malik

Biztalk Bum


" Matt" <毫安******* @ hotmail.com>在消息中写道

新闻:例如************** @ TK2MSFTNGP09.phx.gbl ...
This used to mean something... back when every company had their own Fortran
compiler, and everyone was trying to write code in one Fortran compiler that
could be used by all others... (write once, run anywhere... sound familiar?)

Java tried this too, of course. Everyone was supposed to have the same
"Java." Difference is, SUN kept the intellectual property rights for Java,
so when Microsoft added some extensions to the language to make it useful
for calling the Windows API, SUN sued, and won. Microsoft had to drop the
Java platform (even though most folks agree that the Microsoft JVM was
head-and-shoulders faster than any other JVM at the time).

So, Java is the language where you can write code on one operating system
(say LINUX) and run it on another (say WINDOWS). For the most part, it''s
true.

The downside is that any changes to the language have to be made either by
the mothership (SUN) or they have to be delivered in Java class libraries,
written in Java itself. This effectively prevents the language from
changing to meet new needs. Java is done. Either it''s perfect, or it
isn''t, but it isn''t changing.

C# is the brainchild of Microsoft. MS owns it. True, a spec for the
language has been released as a standard, and MS doesn''t object to third
parties creating a C# compiler that will run on UNIX. On the other hand, MS
isn''t going to invest much money in any OS but Windows (with the minor
exception of the Mac). But C# is changing. A new version is about to be
released with major new features. Fundamental features that couldn''t be
done by just adding a library. This is the strength of a language that one
company owns, and cares for.

Of course, if you write code in C# on Windows, you can''t run it on UNIX.
It''s proprietary. One company owns the language, and they have decided not
to support UNIX, so your code doesn''t run there. You are restricted. This
is the limitation of "proprietary." In theory, anyway. In practice, there
are C# implementations growing on UNIX, written by open source folks. So
while the charge is true, it doesn''t mean much.

Given the fact that over 90% of all desktop machines run Windows, the point
is pretty thin. Java''s ability to run on multiple platforms has effectively
unified all the UNIX flavors, and has allowed some software companies to
deliver to both UNIX and Windows customers. This is the greatest challenge
to the Microsoft dominance of PC-based software. But it doesn''t really
matter when it comes to the language you should choose to do your work.

These days, the notion of "proprietary" doesn''t mean "locked in" like it
used to. One can say that Java is proprietary, since it is owned by SUN.
One can say that a Java programmer is locked in, in that you cannot develop
some libraries in VB, some in C#, some in COBOL, some in Forte, etc (all
available in .NET flavors), and make them all work together. You are locked
in to one language on many platforms. With .NET, you are locked in to one
platform, with many languages.

I know of a software company that is moving their substantial code base
(currently in COBOL) to Java. Doesn''t make sense to me. If they''d move it
to .NET, they could recompile 60% of their code out of the box (Fujitsu
COBOL), and could use the skills of their existing programming staff to
complete the conversion. By moving to Java, they have to throw away working
code and start over, probably by replacing people, as well as modules. I
hope that their finances outlast their irrational behavior, because their
stuff is good, even if their company is poorly run.

Back to the original question: What is proprietary? My answer: Everything
is proprietary... it doesn''t matter. Pick the language that will work for
you in the long run.

As for me, I''m sticking with .NET.

--- Nick Malik
Biztalk Bum

"Matt" <ma*******@hotmail.com> wrote in message
news:eg**************@TK2MSFTNGP09.phx.gbl...
有些人认出Microsoft C#是专有的编程语言。
什么是专有编程语言呢?它与其他语言如C ++或Java有何不同?

请指教。谢谢!!
Some people identify Microsoft C# is Proprietary programming language.
What is Proprietary programming language then? How does it differ
from other languages such as C++, or Java??

Please advise. thanks!!



这曾经意味着...当每个公司都拥有自己的Fortran

时编译器,每个人都试图在一个Fortran编译器中编写代码,

可以被其他所有人使用......(写一次,随处运行......听起来很熟悉?)


Java当然也试过这个。每个人都应该拥有相同的

Java。不同的是,SUN保留了Java的知识产权,

因此,当微软为该语言添加一些扩展以使其有用

来调用Windows API时,SUN起诉,并荣获。微软不得不放弃使用Java平台(尽管大多数人都认为微软JVM比当时任何其他JVM都要快得多)。


因此,Java是一种语言,您可以在一个操作系统上编写代码

(比如LINUX)并在另一个操作系统上运行它(比如WINDOWS)。在大多数情况下,它是

true。


缺点是语言的任何更改都必须由
完成。
母舰(SUN)或者它们必须在Java类库中交付,

用Java编写。这有效地防止语言改变以满足新的需求。 Java已经完成。要么它是完美的,要么它不是b $ b,但它并没有改变。


C#是微软的心血结晶。 MS拥有它。确实,

语言的规范已作为标准发布,MS并不反对第三个创建将在UNIX上运行的C#编译器的
派对。另一方面,MS

并不会在任何操作系统上投入太多资金而是Windows(除了Mac之外的次要

)。但是C#正在发生变化。新版本即将发布带有主要新功能的
。通过添加库来完成的基本功能无法实现
。这是一个公司拥有并且关心的语言的优势。


当然,如果你在Windows上用C#编写代码,你可以不要在UNIX上运行它。

它是专有的。一家公司拥有该语言,他们决定不支持UNIX,因此您的代码不会在那里运行。你受到限制。这个

是专有的限制。无论如何,在理论上。实际上,在UNIX上开发的C#实现是由开源人员编写的。所以

虽然收费是真的,但并不意味着太多。


鉴于超过90%的台式机运行Windows,点

相当薄。 Java在多个平台上运行的能力有效地统一了所有UNIX风格,并允许一些软件公司向UNIX和Windows客户提供
。这是微软对基于PC的软件主导地位的最大挑战。但是对于你应该选择做你工作的语言来说,这并不是真的很重要。


这些天来,专有"并不意味着锁定喜欢

曾经。可以说Java是专有的,因为它归SUN所有。

可以说Java程序员被锁定了,因为你无法开发一些库中的某些库VB,一些在C#中,一些在COBOL中,一些在Forte中等(所有在.NET风格中都可用的b $ b),并使它们一起工作。在许多平台上,您被锁定为一种语言的
。使用.NET,您可以使用多种语言锁定一个

平台。


我知道一家软件公司正在移动其庞大的代码库

(目前在COBOL中)到Java。对我没有意义。如果他们将它移动到.NET,他们可以重新编译60%的代码(Fujitsu

COBOL),并且可以使用他们现有的编程人员将完成转换。
完成转换。通过迁移到Java,他们不得不丢弃工作代码并重新开始,可能是通过替换人员和模块。我希望他们的财务状况能够超越他们的非理性行为,因为他们的财产很好,即使他们的公司运营不佳。


回到原来的问题:什么是专有?我的回答:一切

是专有的......没关系。从长远来看,选择适用于

的语言。


至于我,我坚持使用.NET。


--- Nick Malik

Biztalk Bum


" Matt" <毫安******* @ hotmail.com>在消息中写道

新闻:例如************** @ TK2MSFTNGP09.phx.gbl ...
This used to mean something... back when every company had their own Fortran
compiler, and everyone was trying to write code in one Fortran compiler that
could be used by all others... (write once, run anywhere... sound familiar?)

Java tried this too, of course. Everyone was supposed to have the same
"Java." Difference is, SUN kept the intellectual property rights for Java,
so when Microsoft added some extensions to the language to make it useful
for calling the Windows API, SUN sued, and won. Microsoft had to drop the
Java platform (even though most folks agree that the Microsoft JVM was
head-and-shoulders faster than any other JVM at the time).

So, Java is the language where you can write code on one operating system
(say LINUX) and run it on another (say WINDOWS). For the most part, it''s
true.

The downside is that any changes to the language have to be made either by
the mothership (SUN) or they have to be delivered in Java class libraries,
written in Java itself. This effectively prevents the language from
changing to meet new needs. Java is done. Either it''s perfect, or it
isn''t, but it isn''t changing.

C# is the brainchild of Microsoft. MS owns it. True, a spec for the
language has been released as a standard, and MS doesn''t object to third
parties creating a C# compiler that will run on UNIX. On the other hand, MS
isn''t going to invest much money in any OS but Windows (with the minor
exception of the Mac). But C# is changing. A new version is about to be
released with major new features. Fundamental features that couldn''t be
done by just adding a library. This is the strength of a language that one
company owns, and cares for.

Of course, if you write code in C# on Windows, you can''t run it on UNIX.
It''s proprietary. One company owns the language, and they have decided not
to support UNIX, so your code doesn''t run there. You are restricted. This
is the limitation of "proprietary." In theory, anyway. In practice, there
are C# implementations growing on UNIX, written by open source folks. So
while the charge is true, it doesn''t mean much.

Given the fact that over 90% of all desktop machines run Windows, the point
is pretty thin. Java''s ability to run on multiple platforms has effectively
unified all the UNIX flavors, and has allowed some software companies to
deliver to both UNIX and Windows customers. This is the greatest challenge
to the Microsoft dominance of PC-based software. But it doesn''t really
matter when it comes to the language you should choose to do your work.

These days, the notion of "proprietary" doesn''t mean "locked in" like it
used to. One can say that Java is proprietary, since it is owned by SUN.
One can say that a Java programmer is locked in, in that you cannot develop
some libraries in VB, some in C#, some in COBOL, some in Forte, etc (all
available in .NET flavors), and make them all work together. You are locked
in to one language on many platforms. With .NET, you are locked in to one
platform, with many languages.

I know of a software company that is moving their substantial code base
(currently in COBOL) to Java. Doesn''t make sense to me. If they''d move it
to .NET, they could recompile 60% of their code out of the box (Fujitsu
COBOL), and could use the skills of their existing programming staff to
complete the conversion. By moving to Java, they have to throw away working
code and start over, probably by replacing people, as well as modules. I
hope that their finances outlast their irrational behavior, because their
stuff is good, even if their company is poorly run.

Back to the original question: What is proprietary? My answer: Everything
is proprietary... it doesn''t matter. Pick the language that will work for
you in the long run.

As for me, I''m sticking with .NET.

--- Nick Malik
Biztalk Bum

"Matt" <ma*******@hotmail.com> wrote in message
news:eg**************@TK2MSFTNGP09.phx.gbl...
有些人认出Microsoft C#是专有的编程语言。
什么是专有编程语言呢?它与其他语言如C ++或Java有何不同?

请指教。谢谢!!
Some people identify Microsoft C# is Proprietary programming language.
What is Proprietary programming language then? How does it differ
from other languages such as C++, or Java??

Please advise. thanks!!



Nick,

声称编写C#或任何.NET语言代码可以防止它来自在UNIX上运行的
是不正确的。 C#将编译为中间语言

IL代码编译为实际机器代码的问题。 Linux上的MONO项目是在这样做的过程中进行的,所以在/ b $ b UNIX上做同样的事情不应该是一个问题。


克里斯


" Nick Malik" < NI ******* @ hotmail.nospam.com>在消息中写道

news:vetFc.613
Nick,
Claiming that writing C#, or any .NET language, code prevents it from
running on UNIX is not true. C# will be compiled to Intermediate Language
(IL), similar to Java''s bytecode. It is then a question of JIT compiling the
IL code to the actual machine code. The MONO project on Linux is in the
process of doing this, so it shouldn''t be a problem of doing the same on
UNIX.

Chris

"Nick Malik" <ni*******@hotmail.nospam.com> wrote in message
news:vetFc.613


这篇关于C#是一种专有的编程语言?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆