你为什么还坚持.NET

C#换什么比较合适?

从TIOBE来看,Java、C++、C、Python都好,对了,还不能忘了JS。

Sql Server换什么比较合适?

MySql挺好,Oracle也不错,也还有不少选择。


都挺好,那问题来了,你为什么要换呢?

最初踏进.NET的世界,很多人都是为了能够快速开发一个程序,解决一个问题。参观各大造船厂,巨硬造船厂给了一个近乎衣来伸手饭来张口的平台,通过这个,很快就能搞定了。

随后你就上了一条巨硬造船厂的客轮,从水手干起,进入了这个行当,干了一年两年很多年,当了船长,船没沉,还能开。

一天,船上有人要去北冰洋了,觉得破冰船更合适,就下船了,上了破冰船;
又过一阵子,有人要运大型龙门吊了,半潜船合适,也下船了;
过两天打仗了,有人去了战列舰。

你还在原来的船上,船上的人越来越少,你怀疑,MDZZ,哥们是不是上了贼船?自己开始焦虑,我应该学点什么好,应该换条什么船。

JS很火,Node.js,react native等技术把js从前端拉到的后端,移动端,感觉什么都能做。仿佛js的船就是航空母舰一样,匆匆上了js的船,开航母,真开心。
“语言都是相通的”,学个语法而已,一个礼拜两个礼拜差不多了,航母一样开。

航母是船,但是不是客轮,好多地方和客轮不一样,没控制好,撞沉了。我靠这什么鬼航母!下船,准备找另一条船...


入行很多年,最近一直在管理和开发两个角色上切换,.NET的技术也算是碰了不少。

Winform -> ASP.NET -> ASP.NET MVC -> WPF -> OPENTK -> Accord.net

回头一看,造船厂一直在出新的船,Xamarin, .Net Core,要被技术淹没了。我觉得...有点迷茫?

  • 今天,需要开发一个服务程序,那么Windows Service
  • 需要开发一个3D程序,OPENTK + Winform,外观再复杂一些?OPENTK + WPF
  • 在加点图像处理吧,+ Emgucv
  • 再加点机器学习啥的 + Accord.net
  • 组态软件?俄语会不会,会的话可以试试RapidScada,不会,那会英语也行啊。
  • 要调用C++?P/InvokeC++ Interop,坑不少,但是也能用下。

Newtonsoft.Json, EF, Dapper, dotnetty, supersocket...这些东西潜移默化在脑子里,会用能用,至少知道该找些什么。

这形成了你的一种体系,虽然品类众多,但是互联互通,迷茫但不迷失。当你决定弃船的时候,放弃的不仅是一艘船,而是一个体系。

不愿意重新来过,是不是意味着要耗死在这条船上了?

我们都害怕没有选择,很正常,牢牢捆在船上听上去不是个好主意。

兴趣和工作需要,这些都是契机,当你需要用的东西用另外一种语言,另外一种体积比较合适的话,可以先试水用一用。但我建议不要轻易弃船。

有时候兴趣只是一时的,很多年前,我就很喜欢单片机,STM32正开始火,当时整了很多教程,看了很多资料,买了开发板。后来结果并没有坚持下去,我并不是真的喜欢。工作需要也是一样的,前阵子,工作需要,我学了下python,写了个脚本操作excel的,B格可高了,然后发现我还是不习惯,写了个监控程序,发现费半天劲也摸不着门道,还是用C#来的直接。

这并不是说排斥其他语言,我现在时不时还要写python,但是这不是我主要的语言。我这行为...应该叫“脚踏两条船吧”。说不定哪天python用的多了用的熟了,有必要了,我就换船。

你要TensorFlow,学点Java,Python,还要加点深度学习的知识。3D图像、Lidar,整点C++吧。上面的领域.NET也能做,但是不是强项.

很多小伙伴希望能掌握一种语言,学会了就能够吃遍天下了,愿望是美好的,我也希望有这么一天,可惜现在的现实...有取有舍,磨砺好一个技能就很不错了。

.NET是不是好船(nice boat?),说说个人意见。

  1. 语言支持丰富(C#,VB.NET,F#);
  2. 商业支持好,近期开源生态圈也好;
  3. 支持桌面开发、WEB开发、移动开发(Xamarin),基本上除了前端都能做了(当然有方案生成前端代码的,不讨论);
  4. 组件丰富,轮子也多。

不能算完美的船,但也不错了。(佛系佛系)

你为什么还坚持.NET?

我搞客运的,客轮,我觉得对我来说挺好...
好好考船员适任证书,往远洋方面发展,也希望客轮的船长越来越多,船队发展越来越好。

原文地址:https://www.cnblogs.com/podolski/p/8111734.html