日期:2014-05-20  浏览次数:20906 次

c# 初级程序员的困惑
每年这个时候,都是单位招人的阶段,今年也是一样。就是新的一批成员的到来,给了我很多困惑。

  首先自我介绍下,我只是刚到单位一年的新人,项目组中学历是最低的,只有本科。新招的同事们至少都是研究生。不过

这不是重点。我所问的问题是这样的:
 
  在与新同事的交流中,我发现他们并不是计算机专业的,大多是通信或者网络安全方面的。他们熟悉C语言,汇编。但同

时不懂得面向对象,因为没有用到过吧。不知道设计模式等。他们喜欢专注于算法的研究。

  我的困惑在于——作为一个程序员,对于算法到底应有多少了解,这里指的是一些专业领域的算法,如RSA, SHA-1, ECC

等。对于底层的原理我认为是知道的越多越好,但是,两者不能兼顾,对于上层应用开发者来说,应该知道多深呢?大家能不

能说说自己看法呢?哪怕是骂我也好,让我看看前面的道路,谢谢了。

------解决方案--------------------
没什么好困惑的,你和他们可以算是不同行的人,做好自己这一行的事情就行。

他们专注于算法原因非常简单,他们搞的不是PC编程,所以对这方面要求很高。像我以前在一家电子公司工作,里面一位师傅用C开发单片机,对性能要求很高,天天在改算法,数据类型不能随便用,乘法得全部弄成位运算,标识符得八个凑成一字节……有时候ROM只有16K,代码多几行都写不进去,天天搞得快崩溃

虽然都是在写程序,但你的方向和他们不一样,算法是很重要没错,但还没像他们的专业那样到了如扼咽喉的地步。
------解决方案--------------------
关键看专业和做的事情,和学历无关
比如你是电子通信专业的,要做的是用C或者汇编写驱动啊单片机程序啊,那肯定要天天钻算法
但如果是计算机专业的,要做的是用C#写Winform调用这些驱动啊,与其他设备通讯啊,那你本身程序对算法速度的要求相较之下就没有那么严格,反倒是你的程序要兼顾性能、稳定性、易用性等方面。
------解决方案--------------------
还是了解一点,其实语言对你来说应该不难吧,我们公司是做工控的,主要开发是用c,部分汇编,上位机用delphi,当然我现在想了解下c#,觉得c#跟delphi太像了,一妈生的!你说的他们不懂面向对象,这太正常了,做底层都用c,怎么面向对象。就一main函数,中断,我觉得他们应该也不是就只注重算法,应该要具备一定硬件知识,对芯片的应用要很了解,各种通信协议,例如canbus,modbus等等。AD,基本的配置芯片,还有你说的算法。这些,我觉得你可以,有计划的学学底层方面,毕竟c语言对你来说,语言本身不是什么问题。呵呵。。跟你说这么多,其实也是跟自己说的!
------解决方案--------------------
探讨
没什么好困惑的,你和他们可以算是不同行的人,做好自己这一行的事情就行。

他们专注于算法原因非常简单,他们搞的不是PC编程,所以对这方面要求很高。像我以前在一家电子公司工作,里面一位师傅用C开发单片机,对性能要求很高,天天在改算法,数据类型不能随便用,乘法得全部弄成位运算,标识符得八个凑成一字节……有时候ROM只有16K,代码多几行都写不进去,天天搞得快崩溃

虽然都是在写程序,但你的方向和他们不一样,算法是很重要没错,但还没像他们的专业那样到了如扼咽喉的地步。