4.5 KiB
title | tags | date | ||
---|---|---|---|---|
.net从入门到放弃再到入门 |
|
2022-08-21 16:59:08 |
.net从入门到放弃再到入门
我宣布下面的内容都是我在胡扯。在写了一学期的Java
和Springboot
之后,我的评价是Java
是什么垃圾东西,C#
才是永远的神!
这是一篇专业的.net劝退指南,详细记述了我为啥选择了.net又为啥选择了放弃。
开端——WPF桌面应用
在今年年初的时候,受到通知大全启发,我决定编写一款自己的DDL管理应用程序。在一开始,我打算先在Windows平台上编写,当时我了解到Windows上最正统的桌面应用程序开发方式就是采用微软自家的.net平台开发,同时在知乎上一群人在吹C#
在设计上是如何如何的优于JAVA
,当然在这里没有说他们的观点错误的意思,把我忽悠的一愣一愣的。.net在当时已经有了比较老旧的WinForms
框架、比较流行的WPF
框架和最新的MAUI
框架。秉持着中国人中庸的思想潮流,我选择了WPF
图形框架作为我当时开发的框架,从此入了.net平台的坑。
如今这个桌面端的项目已经基本烂尾,项目开源在github,算是警醒后来的我在技术选型时应该更加的慎重
说实话,在开发的一开始,我就感觉力不从心。
第一,官方文档好但不完全好。微软虽然提供了本地化过的文档,但是有很大比例都是机翻的文档。我觉得吧,放机翻的文档还不如直接放英文原文的文档。同时,文档的大部分都是API列表一类的参考资料,对于初学者来说比较重要的“实用教程”等等部分内容较少,虽然文档全面而详细,但对于初学者来说并没有很大的帮助。毕竟我们不知道在数以万计的API中,哪个才能实现自己的需求。
第二,国内缺少.net相关的社区氛围。这点也是最为劝退的地方,相比于JAVA
在国内广泛的应用和丰富的社区内容,国内.net和C#
相关的内容除了在Unity
游戏开发中还算广泛,其他称得上是乏善可陈。
在一堆好几年前的博客和半懂不懂的英文文档中沉浮一个月之后,我总算是写出了一个可以运行的成品。随着新学期的到来,以学业繁忙为借口,我停止了这个应用的开发。
重启——服务器开发
在经历了桌面应用的失败之后,我转移了自己的开发重心,开始了移动应用的开发,这次我没有坚持被微软的MAUI
那八字还没有一撇的技术忽悠进去,选择了flutter
框架搞开发。有应用自然就得有提供数据的后端,在开发服务器时,我又被微软的ASP.NET
给“忽悠”了进去。
平心而论,ASP.NET
开发的过程比上文中的桌面应用程序的开发还是要顺利不少。毕竟现在采用B/S
架构的服务更多,个人感觉国内应用这项技术的人也不少,相关的技术资料也就不少,我入门的过程也就流畅许多。
虽然但是,在开发的过程中劝退的地方也不少。第一是微软自己的版本更迭,尤其是在微软宣布dotnet core
,将.net开源之后,个人感觉国内的开发者似乎不是很感冒,还是用着原来的老一套。第二是和现在的技术流行方向不同,原本采用JAVA
搞服务器的开发不太可能再更换语言,第二新入行的开发者也会选择当下流行的GO
等语言,这就导致在开发中有一种单打独斗的感觉,很难找到人同你合作。
放弃
在坚持学习.net八个月之后,我还是决定放弃,转向学习JAVA
。
没人用的技术的技术不要硬刚,即使是好技术也不要。没人用的技术就像一潭死水,只有流动起来,才能孕育生机和活力,否则只能在原地腐烂。之于我而言,语言不仅仅是开发软件的工具,更是需要计算机相关知识的工具。转向JAVA
的原因之一就是我目前学习的数据结合课——伯克利的CS61b
就是采用JAVA
作为编程语言的。
~~虽然我已经决定将我的主力语言转向JAVA
,~~但不得不承认C#
在语言上的特性还是很不错的,以后我的重心不会放在C#
上,但是他也不会从的技能树上消失。也许在若干年之后,我的主力语言又变回C#
了(笑)。
全文的最后一句话可能是我现在唯一认同的了