你为什么还坚持.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/Invoke
,C++ Interop
,坑不少,但是也能用下。
Newtonsoft.Json
, EF
, Dapper
, dotnetty
, supersocket
...这些东西潜移默化在脑子里,会用能用,至少知道该找些什么。
这形成了你的一种体系,虽然品类众多,但是互联互通,迷茫但不迷失。当你决定弃船的时候,放弃的不仅是一艘船,而是一个体系。
不愿意重新来过,是不是意味着要耗死在这条船上了?
我们都害怕没有选择,很正常,牢牢捆在船上听上去不是个好主意。
兴趣和工作需要,这些都是契机,当你需要用的东西用另外一种语言,另外一种体积比较合适的话,可以先试水用一用。但我建议不要轻易弃船。
有时候兴趣只是一时的,很多年前,我就很喜欢单片机,STM32正开始火,当时整了很多教程,看了很多资料,买了开发板。后来结果并没有坚持下去,我并不是真的喜欢。工作需要也是一样的,前阵子,工作需要,我学了下python,写了个脚本操作excel的,B格可高了,然后发现我还是不习惯,写了个监控程序,发现费半天劲也摸不着门道,还是用C#来的直接。
这并不是说排斥其他语言,我现在时不时还要写python,但是这不是我主要的语言。我这行为...应该叫“脚踏两条船吧”。说不定哪天python用的多了用的熟了,有必要了,我就换船。
你要TensorFlow,学点Java,Python,还要加点深度学习的知识。3D图像、Lidar,整点C++吧。上面的领域.NET也能做,但是不是强项.
很多小伙伴希望能掌握一种语言,学会了就能够吃遍天下了,愿望是美好的,我也希望有这么一天,可惜现在的现实...有取有舍,磨砺好一个技能就很不错了。
.NET是不是好船(nice boat?),说说个人意见。
- 语言支持丰富(C#,VB.NET,F#);
- 商业支持好,近期开源生态圈也好;
- 支持桌面开发、WEB开发、移动开发(Xamarin),基本上除了前端都能做了(当然有方案生成前端代码的,不讨论);
- 组件丰富,轮子也多。
不能算完美的船,但也不错了。(佛系佛系)
你为什么还坚持.NET?
我搞客运的,客轮,我觉得对我来说挺好...
好好考船员适任证书,往远洋方面发展,也希望客轮的船长越来越多,船队发展越来越好。
你为什么还坚持.NET的更多相关文章
- static,你还敢用吗?(二)
为了压系统,昨天小组在测试环境模拟了一大批订单数据.今天上午查看记录的账单计息日志,发现了一大堆的MySqlException MySql.Data.MySqlClient.MySqlExceptio ...
- 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...
- 微软新神器-Power BI横空出世,一个简单易用,还用得起的BI产品,你还在等什么???
在当前互联网,由于大数据研究热潮,以及数据挖掘,机器学习等技术的改进,各种数据可视化图表层出不穷,如何让大数据生动呈现,也成了一个具有挑战性的可能,随之也出现了大量的商业化软件.今天就给大家介绍一款逆 ...
- [修正] Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在)
问题:Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在) 解决:(暂时方法) type TTestFrame = class(TFrame) public const ...
- VS2010 release编译下进行调试,“当前不会命中任何断点,还没有为文档加载”问题解决方案
在release模式下调试程序,经常出现"当前不会命中任何断点,还没有为文档加载"的问题,可尝试以下方法: 1. 属性 → 配置属性 → C/C++ → 常规 → 调试信息格式:选 ...
- 你还可以再诡异点吗——SQL日志文件不断增长
前言 今天算是遇到了一个罕见的案例. SQL日志文件不断增长的各种实例不用多说,园子里有很多牛人有过介绍,如果我再阐述这些陈谷子芝麻,想必已会被无数次吐槽. 但这次我碰到的问题确实比较诡异,其解决方式 ...
- static,你还敢用吗?
我用火狐的HttpRequester测试开发组里一个同学发布的Web API接口,遇到了一个奇怪的问题. 我测试边界情况时,第一次调用响应的结果是正常的,但当再次及以后的请求时,却返回了异常“Syst ...
- java中异常抛出后代码还会继续执行吗
今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element){ i ...
- redis-cli中那些或许我们还不知道的一些实用小功能
玩过redis的朋友都知道,redis中有一个叫做redis-cli的小工具,我们可以利用它在test和develop环境下进行高效的模拟测试,然而在现实环境中, 我们只知道直接键入redis-cli ...
- html你可能还不知道的一些知识点
一.标签语义化 html标签语义化是让大家直观的认识标签和属性的用途和作用,好处最主要的是对搜索引擎友好. Eg: 1.如果你想在页面中突出"奥巴马"这三个字,让搜索引擎重视它,如 ...
随机推荐
- 巧用ecshop做淘宝客
一.第一步 下载文件,可以在http://www.ecshop.com/下载ecshop各个版本的安装包,安装好ECSHOP,然后通过PTF工具下载2个文件到本地进行修改.这个2个文件分别是goods ...
- (二)springboot整合thymeleaf模板
在我们平时的开发中,用了很久的jsp作view显示层,但是标签库和JSP缺乏良好格式的一个副作用就是它很少能够与其产生的HTML类似.所以,在Web浏览器或HTML编辑器中查看未经渲染的JSP模板是非 ...
- cursor() — 数据库连接操作 python
python 操作数据库,要安装一个Python和数据库交互的包MySQL-python-1.2.2.win32-py2.5.exe,然后我们就可以使用MySQLdb这个包进行数据库操作了. ...
- linux 内存 大于 jvm xmx
文章来源: http://www.cnblogs.com/guozp/p/7845605.html 1.虽然你jvm参数设置了-Xms6g -Xmx6g,但操作系统不并会马上分配6G的物理内存,而是确 ...
- Python ---------- Tensorflow (二)学习率
假设最小化函数 y = x2 , 选择初始点 x0= 5 1. 学习率为1的时候,x在5和-5之间震荡. #学习率为1 import tensorflow as tf training_steps = ...
- 【转】MYSQL DBA知识了解-面试准备
http://www.itpub.net/forum.php?mod=viewthread&tid=1825849 公司招聘MySQL DBA,也面试了10个2年MySQL DBA工作经验的朋 ...
- Android Task 任务
关于Android中的组件和应用,之前涉及,大都是静态的概念.而当一个应用运行起来,就难免会需要关心进程.线程这样的概念.在Android中,组件的动态运行,有一个最与众不同的概念,就是Task,翻译 ...
- 图片转换base64数据上传,并且实现预览的简便方法
对于很多新手来说,实现上传图片并且预览功能,都会感到不知所可,然后开始在网站搜索各种各样的图片上传预览插件,但是有的时候我们只是想简单的实现判断格式,以及预览的功能,使用插件的话,会使得项目的资源空间 ...
- linux下高可用LVS搭建及配置方法
一,安装与配置ipvsadm ipvsadm --help #查询是否安装成功 二,配置Director Server服务器 1. ifconifg eth0:0 183.61.87.4 ...
- 分享一篇vue项目规范
最近 Vue 用的比较多,而且因为公司里有实习生,当几个人写一个项目的时候,会出现很多问题,最麻烦的就是规范不统一,之前我有一篇文章是说, vue 是比较有规范的一种框架了,但是也会出现很多问题,所以 ...