发发牢骚,觉得走c#这条路,不该太浮躁

morocco 2010-02-08 09:16:20
借了个跟我一样杯具的哥们的号来发个牢骚。
校园招聘结束了,腾讯,华为,百度,完美时空,网易,阿里,让我觉得.NET很受歧视。清一色的C/C++,JAVA,只有网易有一点.Net的,但是都是非核心的运维工作。
不错,招.NET的也很多,但是些小公司,小作坊,又有点心有不甘。在面试支付宝的时候,对方要的纯JAVA,而且看到我的项目经验多是.Net,c#,vb的时候的表情,我现在都记得。当时我就很不服,顶了一句:“java的c#也能做啊”。对方态度倒是很和蔼,而且一直有笑容,说因为架构已经定下来了,再改成本太高,而且要考虑到公司人员更熟悉JAVA,综合来考虑还是用JAVA,不过语言不是问题,关键看个人计算机编程的综合水平。接下来他考了我一些问题,本来以为无非是什么MVC,数据库,javascript之类的,没想到全是算法,甚至还有数据库连接池的实现什么的。我知道我水平很菜,给C#众丢脸了,在这里对不起大家了。
接下来的阿里研究院(阿里云)的招聘会更不用说了,软件开发统一试卷,只有c和java均通的人才可能通过。
我同学里有的是做C的,还有做JAVA的,做C的不用说了,完美时空去了,税后工资都有15k,那个做JAVA的不仅拿到了腾讯的offer还把阿里巴巴旗下公司来了个一锅端,照理说平时他做的玩意儿看起来功能也不比我的好,本来我心理很不平衡,但是跟他聊到支付宝的面试,他说到连接池和线程池这些东西的时候,那一套套理论,什么策略,还有什么东西,听得我一愣一愣的时候我才知道差距。
照理说研究生这么三年来我的努力不比他少,怎么懂得就少那么多?感觉好像我不是研究生,而是什么计算机培训学校出来的一样。想来想去,也许是我定力不佳,总是沉浸在.NET各种方便的组件中,只知其然而不知其所以然,会做点网站就觉得很了不起了。我上一届的师兄有个去了微软亚洲研究院,他说其实微软在学校里更多是招c/c++,他们更看重思维能力,解决问题能力和对计算机本质的认知。到这里我才知道,平时那些组件玩再熟,都只不过玩的是微软给我们的积木,我们积木搭得再好,也只不过是微软的客户而已。如果不能看到积木背后的力学,物理学,我就永远不能加入他们的圈子。
哎,太后悔了,总之也是告诫这里的高校学生,学好数据结构和算法,操作系统原理,计算机原理,c/c++,设计模式才是王道,才是你区别于专业速成学校出来的码农的地方。接下来才是工程上的.net,php什么的,学会基础和原理,再来这些上手自然就快了,本末倒置不可取啊。看看我,只能去一些小外包公司混日子,估计以后技术做不长了,我还是乘早转行吧,我不是做这个的料



感慨之余,语无伦次,断断续续打出本文。自己都没有勇气重新读一遍,只想快点发完早些下线像鸵鸟一样把自己的脑袋埋到土里。
...全文
990 80 打赏 收藏 转发到动态 举报
写回复
用AI写文章
80 条回复
切换为时间正序
请发表友善的回复…
发表回复
ighack 2011-07-27
  • 打赏
  • 举报
回复
我也是做.net开发的,找工作的时候还真没有看到有什么好公司招.NET的。多数都是JAVA PHP的,现在想转去做DBA
enin_dqc 2011-04-29
  • 打赏
  • 举报
回复
我觉得学计算机重要的不在于语言,真要学精髓却在于算法.但我们真正的项目中又有多少的挑战是与算法相关的呢.实际上很少,即使是百度或google,我也不相信招进去的每个人都天天与算法打交到.
我不是HR,也不知道企业想招什么人.我只是说说我学计算机的一些想法.我觉得对于大部分从事技术的人来说,重要的是一种培养用计算机解决问题的思维.至少在一些础基问题上要去明白它的实质,建立一种对计算机系统结构的全局认识.我们遇到的问题是什么,属于计算机那个层次的问题,如何去解决它.这需要接触计算机的很多方面,才能构建起一种这样完整的轮廓.这种认识是抽象的,但你却需要实实在在地结合实例去学习.
传统的计算机教育,太注于理论,想把大家都培养成科学家.这显然是不现实的.但那些知识真很重要,可以说一定程度上决定了我们未来在技术路线上能走多远.所以应能尽量学习.
例如:计算机上的文字是怎么显示出来的,图形是怎么显示出来的.如果你告诉我说是用XXX函数画出来的,那么你可以学得更进一步.例如图形系统.当你了解到这个的时候,你会发现,不光是PC,像其它如:手机,冰箱,数码相机,数码相框.它们都有类似的图形系统结构.
我可以不知道某个函数是怎么用的,但你不能不知道它的原理.原理的东西具有持续性,具体的工程现实却是多变的.真的实际用时,我们只不过是熟悉一套东西的过程.而实质的东西早已手握其中了.
我自已最初学的是VB.NET,那是为做网页.又学了C#. 又学了JAVA, C/C++.我没有一样精的,当然我很侧佩服那些把一门语言用得很精的人.但我并不羡慕,因为如果我从事的工作只需某种语言,不见得就比他们差.问题的关健在于,如何去抓住语言的特性,语言的本质,以及如何用这种语言去解决的问题.
如何用去分析问题,并用这计算机去解决这个问题,团队的协作与沟通,个人兴趣等等因素这些东西常常被我们忽略,然而这恰恰是非常重要(至少我这么看).所以我觉得,不要在乎你所学的语言,而在于是否已经掌握了它的实质与精髓.
xuan.ye 2010-12-04
  • 打赏
  • 举报
回复
面试官说的挺对的,如果一个人只会拖拽组件,会点c#用处确实不大,毕竟没有那么多网站需要开发。

c的话确实难学,起码拖拽一个控件到页面上,还要自己生成页面类,和控件属性,通过变量才能给控件赋值,这点java 的bean到有些类似。

研究生的话如果还不会c++的MFC好像真的不太像话的说。而且现在211的本科好像也没有开c#这门课,何况研究生。所以来面试的企业原本也没有打算去这种正规大学用c#进行面试。
laomengzi 2010-12-03
  • 打赏
  • 举报
回复
路过,个人觉得打好基础是关键!
threenewbee 2010-12-03
  • 打赏
  • 举报
回复
研究生,是CS背景的么?如果是的,真的觉得悲哀。因为你在打算做一个操作工的工作。
  • 打赏
  • 举报
回复
[Quote=引用楼主 morocco 的回复:]
照理说研究生这么三年来我的努力不比他少,怎么懂得就少那么多?感觉好像我不是研究生,而是什么计算机培训学校出来的一样。
[/Quote]

你说对了。就凭你这句“接下来他考了我一些问题,本来以为无非是什么MVC,数据库,javascript之类的,没想到......”这句话,你所想的事情也就是培训班的那些东西啊。
pig2884 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhaoweiting0609 的回复:]
引用 5 楼 yangglemu 的回复:
你才知道啊
.Net一般是小公司,只要结果,糊弄客户拿到钱才是真的,别的东西能有.Net这么生产效率高吗?
再说这里还有个面子的问题在:大公司都用一些开源免费(至少省钱)的系统,比如服务器是Linux(Unix),做开发当然Java好啊,如果用又微又软的系统,是用正版还是盗版?正版可能在他们看来要不了几个钱,可是明明有不花钱的又开源的(开源对安全性……
[/Quote]

跟不上会不会饿死?
a260881071 2010-11-03
  • 打赏
  • 举报
回复
听您这么一说,还真是。。哎。大学时候没好好学习理论知识。后来培训出来了。现在应该从哪里看起呢?
让爱延续 2010-11-02
  • 打赏
  • 举报
回复
唉,两个字:无语。
xu_diligent 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 namhyuk 的回复:]
这个贴子相当有意思,包括5楼、8楼的回复。
继续关注。。。
[/Quote]
+1
Justmeh 2010-11-02
  • 打赏
  • 举报
回复
程序是什么?算法+数据结构
绝代坏坏 2010-02-11
  • 打赏
  • 举报
回复
你同学会的不是基础知识那是他在开发过程中学会的必要的知识。这方面.net已经给你封装了。
ilove8 2010-02-11
  • 打赏
  • 举报
回复
继续关注。。。
回复内容太短了!
lizhiyong 2010-02-10
  • 打赏
  • 举报
回复
很有道理,微软自己都用的汇编和C呢,其他大公司还要看是干什么的,如果是嵌入式,还得汇编和C,如果是大型网站等,那是JAVA的天下,因为后台都是UNIX和linux,微软擅长的是桌面系统,在服务器领域属于不入流的级别,因此要一心跟着微软走,还是关注微软擅长的桌面系统吧。
但是桌面是面向个人的,个人又是以什么为主呢?无非就是游戏啊娱乐啊什么之类的,所以还得回到C上来,就连C++都嫌效率不高,更别说dotnet了,总而言之一句话,打牢基础,汇编、C、数据结构,操作系统原理,网络、数据通讯原理,一个都不能少,至于dotnet,看样子确实是民工的活。
没有诽谤dotnet的意思,但是dotnet类库也是汇编和c写出来的,所以底层强大才是真正强大。可惜中国的程序员太浮躁,这个现象也是拜不尊重知识产权的结果吧?如果尊重版权,打击盗版的话,相信扎扎实实做底层开发的程序员会更多。
peter125521 2010-02-10
  • 打赏
  • 举报
回复
引用 5 楼 yangglemu 的回复:
你才知道啊
.Net一般是小公司,只要结果,糊弄客户拿到钱才是真的,别的东西能有.Net这么生产效率高吗?
再说这里还有个面子的问题在:大公司都用一些开源免费(至少省钱)的系统,比如服务器是Linux(Unix),做开发当然Java好啊,如果用又微又软的系统,是用正版还是盗版?正版可能在他们看来要不了几个钱,可是明明有不花钱的又开源的(开源对安全性有好处)东西,还拿钱买个不开源的来?用盗版?堂堂大公司,还上市的,用个盗版好没面子,走向国际市场人家都不相信你的诚信啊!

现在的服务器买来,有多少是安装的Windows Server? 这么长时间以来,各自的地盘早就划分好了,相对固定了,学Java的就是做分布式应用,学C/C++的就搞嵌入式或者桌面客户端,系统集成

学.Net的就只能在中小公司中穿梭了,跳来跳去的,再不行就单干,快速拿个东西给客户看,瞧,行不?不行!立马再改改,瞧,行了不? 差不多,用用再说.哈哈,.Net

放眼望去,国家哪个部门的网站是用.Net做的? 都在PhP和Jsp里打滚

Windows的唯一优点就是用户数众多(平民百姓),针对Windows做些桌面客户端还是有前途,比如网络游戏等,要是这些讲究底层的东西,用.Net成吗? 还不是C/C++的天下! (当然Java也不行)

建议楼主改行学C++吧,开发个驱动程序吧,可以(底层),做个UI吧,也行(虽然没有.Net做界面牛B),讲设计模式吧,一点问题没有,那个四个帮的书不少是以C++来描述的,做个Web吧,也成,不是有ISAPI吗?做手机或者嵌入式,也行啊,诺基亚不是有个QT吗?跨平台的C++,不少人用它做手机的二次开发赚死了(不少手机或者嵌入式系统的平台是Linux)

万金油,是不是?


严重同意!!!!
ElevenBen 2010-02-10
  • 打赏
  • 举报
回复
精!专!不信趟不出一条路来!
zhoujiao2008 2010-02-09
  • 打赏
  • 举报
回复
支持5楼说的~~可以我现在刚学习C#觉得挺不错的~~很好用~~看来还是要把C学好~~
xray2005 2010-02-09
  • 打赏
  • 举报
回复
的确是这样。
symbol441 2010-02-09
  • 打赏
  • 举报
回复
引用 21 楼 vrhero 的回复:
这问题也月经了...

其实很简单...主要是因为.NET出来的晚,而且从面世以来一直有大量以前用ASP、VB6、Delphi的老程序员转向这个平台...所以很多大公司不太缺人,招聘也优先招这些有经验的人...跟我们这些老菜鸟比你们是没有竞争力的...

另一个原因也说过很多次了...近几年的计算机类高等教育有问题,不重视基础快变成技校了,加上大部分年轻人的心态也有问题,眼高手低...所以很多公司不愿意用这类毕业生,学C/C++的相对基础较好还有培养价值...只有那些做些小项目恨不得把程序员当民工的小公司(不是所有小公司)才会考虑只学.NET的毕业生...

楼主既然醒悟了还不晚,比很多已经工作的都强...抓紧补基础吧,机会还是很多的...

此楼正解,鉴定完毕
zsz1001 2010-02-09
  • 打赏
  • 举报
回复
引用 45 楼 doulestring 的回复:
只有中小型的需求才是真正的需求,只有大众都能明白的东西,才是市场的需求,
要了解中国行情,不是说你哪个语言牛B,就学哪种,我自己本来才毕业,只能做做小型企业网站,
但我现在基本一个4个小型企业网站,每个也就2000,20天全部搞定,收入8000,休息10天,没事打打魔兽,
我技术菜的很,什么数据结构,什么YY我不懂,我只知道做网站,

以应用为目的。也挺厉害能保证每个月都能接4个吗?
加载更多回复(60)

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧