C#很简单,学学就会了。 melonm 发表于 2022-03-12 22:49
问题是学了以后还要用,码农的压力可能大很多,还要学.NET什么的。组里天天开会,有时候一天几个会,每个任务来了都是全体组员开会讨论确定难度值,然后个人认领。现在Pyhon势头很强,C#的工作机会估计会越来越少(对这行不了解,只是猜测) Peperomia 发表于 2022-03-12 22:57
C++用得多么 ezf 发表于 2022-03-13 00:22
可惜C#这么好的语言,framework 其实也不错,就是生态日渐消减。 chengyixiaohao 发表于 2022-03-13 00:32
嗯,看趋势还是 Python,C# 已经落到好几名以后了,估计以后还会降,所以有点犹豫要不要学 Peperomia 发表于 2022-03-13 08:34
语言有什么学不学的,工作让用哪个用哪个呗……withbighope 发表于 2022-03-13 08:36
C#可以说是比较全能的语言,不论是桌面应用开发(windows)还是web应用,又或者是嵌入式等领域都均有涉及,加上微软作为亲爹卖力推广,可靠性还是有,但论就业而言,还是要分领域看 由于早期微软拿到了很多工控领域(机械设备、自动化制造等)的许多专利权,所以目前市面上大部分的工控领域大部分都有C#的立锥之地,因为微软对这些专利用C#来做的话是免授权费的,许多采集器、打印设备或扫描部件等等都基本是用微软免费授权的C#来写SDK,加上这几年微软又推出了WPF用于更丰富的UI开发包,使得目前越来越多的工控领域app还是继续依附C#发展着,最常见的HIS系统,ERP系统等等使用量和前途还是有的 如果是走web方向的话,C#已经落后web世界至少10年了,目前java在web领域一家独大,在经历了前后端分离-》云计算-》容器化之后,java在web领域已经独霸天下,C#在这行,还处于前后端分离的分化时代中(至今都没有一个官方较好的前后端分离方案,反而是随着前端的日益蓬勃发展,C#的APS.NET作为后端开发作用和效率越来越弱化了),云计算、容器化基本都是试验阶段(脱离azure环境个人或公司很难control,如果一定要用,那么就必须强依赖于azure),可以说,C#在web领域基本就是大清朝末期的存在 对于移动开发领域,C#一直在推xamarin,试图在这个领域有所作为,但是最新消息是xamarin的负责人跑路了,苹果自家的swift、谷歌的kotlin、flutter(dart语言)都做得风生水起,即使是fackbook的React Native方案都吊着xamarin打,C#在这个领域的存在感可以忽略不去,沧海一粟 最后就是最近几年爆火的AI、ML,这块不用多说大家也知道,python才是王道 综合下来,目前C#勉强靠着微软早期的专利霸权在工控领域一家独大(至少占据了80%以上的),其他领域几乎没有什么未来可言 所以,得看楼主所在的领域,如果是工控领域相关(强制造业硬件相关),那么可以考虑下,毕竟特斯也得招C#程序员去给他们写工控程序 如果是工控领域里的嵌入式(智能家电等)新兴行业的话,就不必考虑了,嵌入式领域有C++才是王者或者是python未来也会比C#光明很多 不过,C#作为上手语言还是很友好的,但是习惯了C#的便捷,再转到其他语言开发上就会产生很多落差,visual studio号称宇宙第一IDE使得C#一键式开发环境搭建,难度相比于其他语言小了N个数量级 英文不会念 发表于 2022-03-13 09:16
回复 29楼不娶何撩的帖子 乖乖,果然马工口气都不一样,看C#简单得跟啥似的。非码转码没那么容易的好么。 公司比较小,不是巨硬(要是巨硬的话要偷笑了,不过也可能压力更大,谁知道呢) Peperomia 发表于 2022-03-13 17:47
C#的优点是在windows上的performance好于Java,但又比C++简单,GUI制作快捷,对于performance有要求的windows applications 仍然是首选。 Python的问题是太buggy,Python没有严格的strong type,造成很难re-factor code,不适合large project,比较适合做简单的数据分析等。我觉得现在越来越多的人感觉到Python的问题, Python 3.9后也开始搞type hint (Pycharm上有使用),但很不可靠。 Java的问题一个是performance, 另一个是不肯overload operator,这个会使数学code很繁琐,很难搞懂debug,特别讨厌。 nj_guy 发表于 2022-03-13 10:58
C#新一代的程序员都不会用了吧?或者你是致力在微软大力发展?Geofan 发表于 2022-03-13 21:15
作为用c++多年,偶尔用c#,学过Java, swift等,所有语言虽然运用不同,其实都差不多。作为初学者,你从一个语言入手,把基础概念都学了,其实没差别。 扶苏 发表于 2022-03-13 21:43
看来本身做马工的对学这个都不当回事,不过对我来说是转行,BI收入跟码农不能比,压力不大,节奏上也没那么紧张。我先了解下看吧,现在新组涉及的business方面对我来说也是新领域,刚开始要先熟悉business,把自己的这块先做好,然后看看组里马工们的工作难度和工作压力怎么样,有精力有余力的话就多学点 多谢各位马工的指点 Peperomia 发表于 2022-03-13 09:00
刚才看到有个类似的帖子,是DA转码,情况跟我差不多,回帖各种意见都有。我工作很认真,不过现在毕业太久,精力和记忆力都不如上学的时候,学习可能要是被逼还能学学,不然可能也就这样了。要是组里用python也就不用想了,本来学过,现成的环境可以利用,不用都浪费;C#好像用的不是那么广,要是学得费劲巴拉、然后前景也不咋滴的话,可能就不值得费那个劲了
问题是学了以后还要用,码农的压力可能大很多,还要学.NET什么的。组里天天开会,有时候一天几个会,每个任务来了都是全体组员开会讨论确定难度值,然后个人认领。现在Pyhon势头很强,C#的工作机会估计会越来越少(对这行不了解,只是猜测)
不懂这行,马公刷题用python 吗?那为啥高中生竞赛都是c 或者Java ?
看做什么,看什么组。做开发的组用java的很多。 在ds之类的org肯定python多。
Btw 可能也要看年纪和工作经验(年数)
Python用得非常精一样管用
多,但是更多是SDE范畴。 而且难。
python 用的地方还是蛮多的, C++ 其实也就 FB 之类的大公司在用, 不过自动驾驶好像是个新契机。 大部分刚毕业的都是 java + python.
时代的眼泪了。
BI是business intelligence,以前是Data Warehouse(包括ETL和BI)中的reporting部分,现在很多公司把ETL也包含在BI里面,提Data Warehouse的反而少了。
“普通马工, 学一本语言, 也就两天的事吧”,这么牛?换个语言用法和结构都不一样,能两天就上手应该也不是普通马工了吧
嗯,看趋势还是 Python,C# 已经落到好几名以后了,估计以后还会降,所以有点犹豫要不要学
Python 有结构性的问题,是不会成为主流hard core programing language的,当然如果不是码工,可能不care. C#虽然不popular,但只要window operating system还存在, C#就会有home court advantage, 会有一席位置。
另外:Window不会在短期内使用Linux core. https://boxofcables.dev/no-microsoft-is-not-rebasing-windows-to-linux/
看来本身做马工的对学这个都不当回事,不过对我来说是转行,BI收入跟码农不能比,压力不大,节奏上也没那么紧张。我先了解下看吧,现在新组涉及的business方面对我来说也是新领域,刚开始要先熟悉business,把自己的这块先做好,然后看看组里马工们的工作难度和工作压力怎么样,有精力有余力的话就多学点
多谢各位马工的指点
当时学Python纯粹是跟风,看这个最热门就学了,不过工作中还没接触过编码,一直都是外行
由于早期微软拿到了很多工控领域(机械设备、自动化制造等)的许多专利权,所以目前市面上大部分的工控领域大部分都有C#的立锥之地,因为微软对这些专利用C#来做的话是免授权费的,许多采集器、打印设备或扫描部件等等都基本是用微软免费授权的C#来写SDK,加上这几年微软又推出了WPF用于更丰富的UI开发包,使得目前越来越多的工控领域app还是继续依附C#发展着,最常见的HIS系统,ERP系统等等使用量和前途还是有的
如果是走web方向的话,C#已经落后web世界至少10年了,目前java在web领域一家独大,在经历了前后端分离-》云计算-》容器化之后,java在web领域已经独霸天下,C#在这行,还处于前后端分离的分化时代中(至今都没有一个官方较好的前后端分离方案,反而是随着前端的日益蓬勃发展,C#的APS.NET作为后端开发作用和效率越来越弱化了),云计算、容器化基本都是试验阶段(脱离azure环境个人或公司很难control,如果一定要用,那么就必须强依赖于azure),可以说,C#在web领域基本就是大清朝末期的存在
对于移动开发领域,C#一直在推xamarin,试图在这个领域有所作为,但是最新消息是xamarin的负责人跑路了,苹果自家的swift、谷歌的kotlin、flutter(dart语言)都做得风生水起,即使是fackbook的React Native方案都吊着xamarin打,C#在这个领域的存在感可以忽略不去,沧海一粟
最后就是最近几年爆火的AI、ML,这块不用多说大家也知道,python才是王道
综合下来,目前C#勉强靠着微软早期的专利霸权在工控领域一家独大(至少占据了80%以上的),其他领域几乎没有什么未来可言
所以,得看楼主所在的领域,如果是工控领域相关(强制造业硬件相关),那么可以考虑下,毕竟特斯也得招C#程序员去给他们写工控程序
如果是工控领域里的嵌入式(智能家电等)新兴行业的话,就不必考虑了,嵌入式领域有C++才是王者或者是python未来也会比C#光明很多
不过,C#作为上手语言还是很友好的,但是习惯了C#的便捷,再转到其他语言开发上就会产生很多落差,visual studio号称宇宙第一IDE使得C#一键式开发环境搭建,难度相比于其他语言小了N个数量级
强顶一下. 说的在理。
Python的问题是太buggy,Python没有严格的strong type,造成很难re-factor code,不适合large project,比较适合做简单的数据分析等。我觉得现在越来越多的人感觉到Python的问题, Python 3.9后也开始搞type hint (Pycharm上有使用),但很不可靠。
Java的问题一个是performance, 另一个是不肯overload operator,这个会使数学code很繁琐,很难搞懂debug,特别讨厌。
这么详细,太感谢了。这边是web开发,环境是用visual studio, Azure, AWS。 大学的时候学过工控,不过毕业这么久早就忘光了。工控涉及的课程也特别多,个人感觉现在把工控捡起来的难度比转码要大多了,不打算考虑
现在对我来说是因为有环境才考虑要不要转码,目前只有C#可以考虑。Python虽然学过,直接靠这个找工作的话没什么把握。其实以前有个组里有几个Java developer,不过那时候是组长单线安排工作,各做各的,组里其他人干啥完全不了解。现在这个组是所有问题全员开会讨论,组员合作比较多,想转的话相对友好一些
楼主给巨硬打工啊
mark总结分析
乖乖,果然马工口气都不一样,看C#简单得跟啥似的。非码转码没那么容易的好么。
公司比较小,不是巨硬(要是巨硬的话要偷笑了,不过也可能压力更大,谁知道呢)
C# 和 VS ide 真的是编程界的bless. 我自己是很喜欢。入门容易,Java跟它极其类似,学了一样,另一样上手快。我两样都用过了,C# 和它的.net core 构架比Java springboot 更intuitive. .net core 的 package 管理我更喜欢, 以及对dependency injection 的实现. 虽然二者在后者有些区别,但是还是很类似,DI 是现代编程必须的。所以学C# 不算什么负担。.net core 的web app 和Java构架没什么大区别,现在都是流行后台真程序,前台各种script 平台。.net core 还搞了个什么blazer, 就是把真代码编译成script 送给client 端执行。这个如果搞得好,大家真的可以摆脱script 平台的折磨。
同意,我没用过python,队友说python语言本身就是一堆狗屎,差ruby 几条街,就是大家AI的package 已经很多是python 了。java 本身也是比不过c#的, 但是据说毛子搞的kotlin 又很好。
没想到C# 在工业界用得这么好,谢科普。
收藏。
组里至少一半是毕业没几年的小年轻,还有几个开会没露脸不清楚年纪。我对微软没啥特别的兴趣,这不是赶上组里有这个环境了么
扶苏姐妹原来也是同行啊,我一直以为是学文科的呢。
楼主如果需要在工作中应用还是学C#吧。本人当年是资深Java程序员架构师,现在已经转管理多年了。
其实最能学到东西的是你经常用的,所有的成熟语言都有现成框架,很多时候解决问题就是用比如写好的程序库。工作上别人用C#你用Java,虽然概念相似,没法一起讨论。另外你可以看看别人写的各种程序,学会了调试,能在生产机出问题的时候出来振臂一呼解决问题大家就对你刮目相看了。
作为Java老程序员,很多人说C#就是当年微软搞的自己那一套Java,后来被Sun打官司,对IT届的IP影响还是很大的。不过后来Java过度强调兼容(byte code backward compatible),从functional programming开始流行的时候C#赶超上来(因为他不在乎兼容的问题,新版本出来有操作系统那边的队友强推)。早期C#里面很多library都是从Java port 过去的。不过业界Java程序员的工资一直比C#程序员高百分之20,30.
不过楼主做BI出身的现在不是应该向Cloud native data warehouse 方向转吗?现在流行的是spark streaming, Databricks, Snowflake之类的,你学C#有点路线错误。难道你说的BI 仅仅是reporting?有没有做过比较大的data warehouse,这里面值得学习的东西很多啊,master data management, data quality, data governance很多方向都大有可为,比C#程序员挣钱多多了。
这么资深,难怪对这一行这么清楚。您说的应该是 Data Engineer 方面的,适合ETL出身并且有编程经验的。也有以前做 Java Developer 的同事现在做了 Data Engineer,这一行也还是需要一些编程基础,不过可能编程用的不像码农那么多。
我之前做过一些大的data warehouse,不过都没上云,主要是 modeling 和 reporting 方面,ETL也有,做的不多。有些项目的数据极其敏感,出于安全性考虑,几年内应该都不会上云。去年除了 Pyhon 还上过Big data的课,讲Hadoop+Spark,有很多练习和project,因为工作中用不到,没上完。现在转行的话各个公司基本上都是要求有经验的,感觉靠培训转方向转成功的可能性不大,除非编简历,我又不想编,所以在这方面没有很积极。打算看以后工作中内部有什么需求再说。对我来说转码也是一样的情况,不编简历的话只有等内部机会,不过转哪个都比BI强一点。
有认识的人组里招聘,面了10个,都是印度人,简历都超级漂亮,10年以上经验,结果面试一问具体技术问题全完蛋。现在外面的中介也至少90%以上都是印度人,而且工作作风都完全不靠谱。有这些人在市场上,招聘的和找工作的双方的难度都大多了
那就好好学python,学懂了就够了。
当年我还是Java码农的时候,把JDK和主要library的源代码都看过一遍,经常和人讨论"茴香豆的茴字有几种写法这种问题", 经常喜欢追踪Doug Lea, Josh Bloch这种大神。。。现在是没有那个时间精力了
误会你了。你是想问继续做data还是往software engineer 转。这个就是个人兴趣了,要不你整个项目试试看喜欢不?我觉得你组里人干啥不重要,你喜欢干啥最重要。大不了换工作。我从来不过分压抑自己的兴趣,工作跟老公一样,不合适可以离婚……基本合适可以谈一个大家都接受的点。