search
HomeBackend DevelopmentC#.Net TutorialWhy are so few people using c#?
Why are so few people using c#?Jun 08, 2020 am 09:44 AM
c#

Why are so few people using c#?

#c# is used by few people because:

#C# is planned by Anders Hejlsberg, a god-level figure in the programming world. In many ways, it is better than JAVA is better. There is no doubt that it is a very good computer language. However, the development of a programming language cannot be supported by a certain company or a few companies, but by the strategic development of the main company and the promotion of the ecosystem. C# does not have an advantage in these two points.

First of all, let’s talk about the opportunities that C# has lost during the development of the language.

First, the mistakes of C# cross-channel policy

C# can only run on the Windows platform at first. During the transformation from the PC Internet era to the mobile Internet era, C# did not make the same progress as JAVA Habitual transformation makes C# unable to run on Android machines.

The Windows platform is easy to use and is indeed attractive to non-IT small and medium-sized enterprises with few technical personnel. But for IT companies in Silicon Valley, technology is not a problem. They have a large number of professional server managers, so IT companies in Silicon Valley prefer to use free Linux systems, such as CentOS or Ubuntu.

One move affects the whole body

Free Linux provides a fairly complete server operating environment and a complete set of tool chains, such as Apache web server, Mysql/postgresSQL database, Memcache, Redis cache server, etc. . Although Linux seems to lag behind Windows' windowed graphical interface in terms of intuitive management, its performance is comparable or even more outstanding. Therefore, even though the configuration is more cumbersome, more companies still choose the Linux system as the server operating environment. C# has basically no use under Linux, which greatly limits the popularity of the C# language.

Although C# later launched Xamarin in a roundabout way and made it free and open source, the best mobile development opportunity has been lost, just like Microsoft's own WP mobile operating system has not competed with Apple and Android. C# in the field of mobile development has also lost its era of mobile Internet.

Second, C# was born after JAVA, but it failed to surpass JAVA in terms of big data and artificial intelligence

C#’s biggest competitor, JAVA, is actually the father of C# . JAVA was born in 1995. Its concept of writing once and running anywhere set off an innovation. C# was born in 2000 and is part of Microsoft's .Net solution. It was developed by Microsoft to replace JAVA.

In other words, C# can be replaced. C# and JAVA are very similar in syntax and architecture. What C# can do, JAVA can do too. And JAVA itself is designed for cross-channel, is more flexible than C#, and has good support under Linux. In terms of library support, JAVA is much better than C#. There may be some good C# libraries on Windows, but they are almost impossible to work on Linux/.Netcore.

In the process of transformation from traditional development to big data and artificial intelligence development, since the emergence of Google's Hadoop, the development language for big data seems to be naturally JAVA, although Hadoop provides interfaces in multiple languages ​​at the same time. , but due to the structural operation of the underlying JVM, the JAVA language far surpasses C# in the era of big data. The development of artificial intelligence and the demand for data processing have made Python catch up with C# and become an artifact of data processing, so that it is often embraced Changing programmers are more invested in JAVA and Python.

Although Microsoft has provided many tool libraries for C# programmers to better collaborate with the Hadoop platform in order to adapt to the advent of the big data era, it is undeniable that the legitimacy and convenience of JAVA have made C#’s position in the big data era The data age is increasingly marginalized.

Secondly, we have to say that the closed nature of C# is also an important reason why it has lost popularity.

First, due to the closed nature of the C# running environment, the C# language is restricted to the Windows platform.

Before Microsoft President Nadella, Microsoft adopted a hostile attitude toward Linux and the open source software industry. Bill Gates once denounced open source software as viruses, and naturally refused to provide software support for Linux systems. At the same time, Microsoft has deeply bundled C# with tool software such as Windows system, IIS server, and MSSQL. If you want to use C#, you must purchase Microsoft's systems, databases and other family buckets. These costs and entanglements make IT in Silicon Valley very unhappy, and invisibly form an anti-Microsoft trend.

Analysis of windows server licensing fees

When Microsoft realized that it had been marginalized among new companies in Silicon Valley, it began to want to cooperate with open source software and systems such as Linux to make C# available on Linux. At the time of operation, Silicon Valley has already formed its own open source operating software production atmosphere: a complete skill stack, community and learning environment. In other words, Silicon Valley basically does not need C#. Therefore, the closure of the operating environment led to the decline of C#.

Second, due to the closed nature of the development environment, the cost of C# language development is high.

C# development not only relies on the Windows system, but also relies heavily on the Visual Studio development platform. In addition, because C# is chosen, database development inevitably involves the SQL Server database. The most fatal thing is that these are all chargeable, and Microsoft’s The products are quite expensive, including fees for IDEs and databases. This is a large expense for the company, so many large companies will choose to abandon C# due to cost issues. If you use the Linux Eclipse JAVA development environment, you can completely solve it for free. This is a serious development environment closure problem faced by C#.

Let’s take a look at the skill stacks represented by general IT companies in Silicon Valley:

Uber’s skill stack

There is also no trace of C# in Facebook’s skill stack

Third, due to the closed nature of the community, the experience of using C# is not so good.

At present, with the advent of the big data era, with the development of the Python open source community, the open source of the JAVA development community has also become stronger, but C# is still closed source. In today's world, service comes first and experience comes first. In the era of the 1990s, the idea of ​​closed source was eliminated by the times without being changed in time.

The latest ranking of the language and structural technology stacks of major IT companies in Silicon Valley: there is no place for C# in the top ten

If there is no company application, no one will learn, and if no one learns, there will be no one. Recruitment is a chicken-and-egg problem.

In summary, C# is an excellent language. Due to the missed opportunities in the early stages of development, it did not form a trend, an industry chain and a good learning atmosphere. However, with Microsoft's changes to the open source community and its cooperative attitude, the adoption of C# The number of companies has also begun to gradually increase, especially the upsurge of U3D, which may further promote the popularity of C#. I believe that as time goes by, C# may have a place in IT companies in Silicon Valley.

Recommended tutorial: "c#"

The above is the detailed content of Why are so few people using c#?. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何使用C#编写时间序列预测算法如何使用C#编写时间序列预测算法Sep 19, 2023 pm 02:33 PM

如何使用C#编写时间序列预测算法时间序列预测是一种通过分析过去的数据来预测未来数据趋势的方法。它在很多领域,如金融、销售和天气预报中有广泛的应用。在本文中,我们将介绍如何使用C#编写时间序列预测算法,并附上具体的代码示例。数据准备在进行时间序列预测之前,首先需要准备好数据。一般来说,时间序列数据应该具有足够的长度,并且是按照时间顺序排列的。你可以从数据库或者

如何使用Redis和C#开发分布式事务功能如何使用Redis和C#开发分布式事务功能Sep 21, 2023 pm 02:55 PM

如何使用Redis和C#开发分布式事务功能引言分布式系统的开发中,事务处理是一项非常重要的功能。事务处理能够保证在分布式系统中的一系列操作要么全部成功,要么全部回滚。Redis是一种高性能的键值存储数据库,而C#是一种广泛应用于开发分布式系统的编程语言。本文将介绍如何使用Redis和C#来实现分布式事务功能,并提供具体代码示例。I.Redis事务Redis

如何实现C#中的人脸识别算法如何实现C#中的人脸识别算法Sep 19, 2023 am 08:57 AM

如何实现C#中的人脸识别算法人脸识别算法是计算机视觉领域中的一个重要研究方向,它可以用于识别和验证人脸,广泛应用于安全监控、人脸支付、人脸解锁等领域。在本文中,我们将介绍如何使用C#来实现人脸识别算法,并提供具体的代码示例。实现人脸识别算法的第一步是获取图像数据。在C#中,我们可以使用EmguCV库(OpenCV的C#封装)来处理图像。首先,我们需要在项目

Redis在C#开发中的应用:如何实现高效的缓存更新Redis在C#开发中的应用:如何实现高效的缓存更新Jul 30, 2023 am 09:46 AM

Redis在C#开发中的应用:如何实现高效的缓存更新引言:在Web开发中,缓存是提高系统性能的常用手段之一。而Redis作为一款高性能的Key-Value存储系统,能够提供快速的缓存操作,为我们的应用带来了不少便利。本文将介绍如何在C#开发中使用Redis,实现高效的缓存更新。Redis的安装与配置在开始之前,我们需要先安装Redis并进行相应的配置。你可以

如何使用C#编写动态规划算法如何使用C#编写动态规划算法Sep 20, 2023 pm 04:03 PM

如何使用C#编写动态规划算法摘要:动态规划是求解最优化问题的一种常用算法,适用于多种场景。本文将介绍如何使用C#编写动态规划算法,并提供具体的代码示例。一、什么是动态规划算法动态规划(DynamicProgramming,简称DP)是一种用来求解具有重叠子问题和最优子结构性质的问题的算法思想。动态规划将问题分解成若干个子问题来求解,通过记录每个子问题的解,

如何实现C#中的图像压缩算法如何实现C#中的图像压缩算法Sep 19, 2023 pm 02:12 PM

如何实现C#中的图像压缩算法摘要:图像压缩是图像处理领域中的一个重要研究方向,本文将介绍在C#中实现图像压缩的算法,并给出相应的代码示例。引言:随着数字图像的广泛应用,图像压缩成为了图像处理中的重要环节。压缩能够减小存储空间和传输带宽,并能提高图像处理的效率。在C#语言中,我们可以通过使用各种图像压缩算法来实现对图像的压缩。本文将介绍两种常见的图像压缩算法:

C#开发中如何处理跨域请求和安全性问题C#开发中如何处理跨域请求和安全性问题Oct 08, 2023 pm 09:21 PM

C#开发中如何处理跨域请求和安全性问题在现代的网络应用开发中,跨域请求和安全性问题是开发人员经常面临的挑战。为了提供更好的用户体验和功能,应用程序经常需要与其他域或服务器进行交互。然而,浏览器的同源策略导致了这些跨域请求被阻止,因此需要采取一些措施来处理跨域请求。同时,为了保证数据的安全性,开发人员还需要考虑一些安全性问题。本文将探讨C#开发中如何处理跨域请

如何实现C#中的遗传算法如何实现C#中的遗传算法Sep 19, 2023 pm 01:07 PM

如何在C#中实现遗传算法引言:遗传算法是一种模拟自然选择和基因遗传机制的优化算法,其主要思想是通过模拟生物进化的过程来搜索最优解。在计算机科学领域,遗传算法被广泛应用于优化问题的解决,例如机器学习、参数优化、组合优化等。本文将介绍如何在C#中实现遗传算法,并提供具体的代码示例。一、遗传算法的基本原理遗传算法通过使用编码表示解空间中的候选解,并利用选择、交叉和

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version