对编程的困惑:软件半路出家,本科只学过C。本科毕设做过wince的驱动及用MFC写界面程序,后跟师兄用C#弄了个连接数据库的界面程序。明年找工作,跟科班没法比。编程语言平台这么多,请问各位大神对于基础很薄弱的我,把精力花在哪个方向上比较好?

2013-08-06 22:23:59 +08:00
 cherryodd
研究生一枚,搞软件半路出家。本科就只学过C,只限于书本上的知识。本科毕设是用VS2008写过wince&arm的驱动,包括LCD,SPI,FRAM,GPRS,ZIGBEE驱动,LCD驱动的话也就是针对某个型号的屏改了一些参数,后面几个是自己写的。做完这个,对怎么搭建VS08、基于wince的软硬件系统、怎么调试、怎么写一个MFC智能设备的应用测试程序有了基本的了解。。
正式进入研究生后,研一上基本又是蛋疼的修学分上各种课,有时间或的编一些简单的小程序,用C。研一下,老师要求接一个研三师兄的项目,用C#写的一个界面程序,与数据库连接起来。对了,忘了介绍,我们教研室本来是做硬件的,后来又对软件的需求,才有做这方面的,但是没有一个搞软件的老师带。师兄也是研究生后才半路出家搞软件,很聪明,但是编程规范各方面都做得不好,又没人带,所以师兄的这个C#界面程序看得蛮痛苦,再加上当时老师规定了时间,当时看得我欲仙欲死,不过现在想想还是挺有收获。
后来接触过一点Python,不过也是看书,动手动得少。
最近在模仿网上挺流行的那个CnComm串口测试程序,有源代码,用VC写的。C++基础很薄,看得又是很痛苦,也是边看边写代码。但现在看来真的觉得MFC很庞大,需要很多时间去搞。包括搞了3-4年的C++的程序猿也不敢说最近对C++足够了解。
所以,我的困惑是到底动手跟看书学理论,是先学理论还是边动手边学。边动手边学,必然在学的过程中,有很多概念不知,遇到问题不知从何解决,特别是你百度了别人也不知道。先学理论就怕纸上谈兵,等到动手实际做的时候,就发现自己根本就没把某个概念吃透。所以,这还是一个方法的问题,关键是现在方向不明,也没有一个懂得比较多的老师来带,所以这个就很忧伤了。
明年这个时候就要找工作了,而且招聘情况这么严峻,虽说本科和现在研究生都是985,但是人家科班出生所应必须学的基础课都没学过,顶多零星的看看。编程语言这么多,编译平台这么多,开发方向这么多,就想请问各位大神,对于还只有一年就要找工作,基础很薄弱的我来说,怎么投入时间成本,把精力花在哪个方向上比较好?
6262 次点击
所在节点    问与答
24 条回复
stranbird
2013-08-06 22:25:00 +08:00
web
chemhack
2013-08-06 22:31:12 +08:00
@stranbird 别坑人家了。做web的廉价码农多的事,硬件和嵌入式门槛很高,非科班的基本玩不来。楼主继续搞嵌入式方向吧。
rwx
2013-08-06 22:38:36 +08:00
有硬件基础就继续硬件相关吧。。纯软件的人已经泛滥了
另外楼主也不必妄自菲薄,科班出身的直到毕业也没写过1K行代码的人多了去了
momou
2013-08-06 22:42:10 +08:00
现在那么多的开源硬件项目,搞两个玩玩多好。。。
timonwong
2013-08-06 22:50:45 +08:00
搞硬件的话专攻C,代码的结构化我推荐看一本C Interfaces and Implementations,这本书虽然名气不是特别高但是对入门了C的初学者帮助很大。

C++就算了,我用了8年C++也不敢说啥,这门语言范式太多容易入歧途。
cherryodd
2013-08-06 23:00:58 +08:00
@timonwong 请问你说的搞硬件相关的,是做什么呢?举个比较具体的例子呗~3Q~
acalarolo
2013-08-07 00:10:24 +08:00
无论那个方向,赶紧独立完成一二个项目,真正的项目,明年你毕业时争取卖个好价钱。
至于你未来从事什么,外部因素其实更多,不必过于操心。
echo1937
2013-08-07 00:17:09 +08:00
@chemhack

很赞同你的观点,科班出生的,研究生层次的应届就不要扎进来搞web了.

学了那么长时间的计算机,总比一般码农的理论基础好一点.

跳进web里面就是下泥潭和人比力气,放弃了自己的优势.

建议还是多考虑C和硬件方向.
Ultratude
2013-08-07 00:20:37 +08:00
底层挺好的,我就觉得 web 方面是坑,愚见。
FrankFang128
2013-08-07 01:14:35 +08:00
不要跟着微软走!
iveney
2013-08-07 01:50:00 +08:00
楼主,其实科班出身的人不一定有你写的代码那么多。所以你要有自信。
Hyperion
2013-08-07 02:11:46 +08:00
选门槛高一点的硬件/嵌入式开发吧, 别地儿都是坑... 语言c就差不多了, 偏向linux内核方向就够吃十年了...

另外推荐可以去知乎逛逛, 人生咨询那边相对靠谱一些.
cherryodd
2013-08-07 09:47:42 +08:00
@Hyperion 嗯嗯~感谢指导,现在老师让弄wince下的跟项目有关的算法,wince跟linux相比应用面肯定要窄得多,你觉得有没有必要跟老师商量下换成linux,然后主攻linux呢?
cherryodd
2013-08-07 09:57:10 +08:00
@acalarolo 你说的也有道理,不过对于研究生来说,现在做什么项目完全不是自己说了算,都是导师为了赚钱在外拉的项目,而且项目含金量就只能呵呵了,能卖个好价钱关键是靠自己私下里学。组里没有一个可以带的老师,老师擅长的方向偏微波射频的硬件,但他现在带的项目都跟这个无关,全是能填满他们腰包的低端项目。所以我才有疑惑发起这个帖子,就是想知道单打独斗的话什么方向对长期发展来说更好。
cherryodd
2013-08-07 09:58:43 +08:00
@FrankFang128 “不要跟着微软走”,你的意思是不要继续搞MFC了么?还是指嵌入式不要继续搞wince了?
Hyperion
2013-08-07 10:06:09 +08:00
@cherryodd = =+ 擦汗, 我不是学这行的, 具体行情不是非常清楚, 只是了解. 不过wince国内机会不会少就是了, 不过就像10楼说的, 跟着微软走最终还是要坑的. 学点linux 来"防身"我觉得还是必要的, 起码我会这么做...

国内一些行业吧, 技术更新不是大环境使然就是别的什么原因致使现在的技术不够用了才更新, 要么就是某个解决方案成本更优秀才回去考虑. 嗯, 仅供参考.
cherryodd
2013-08-07 10:07:12 +08:00
@echo1937 额。。。我码代码的时间也不长,本科是光通信方向的,就只从本科毕设开始接触wince,写驱动,现在研一结束。
fangzhzh
2013-08-07 10:26:44 +08:00
不要跟着微软走+1
硬件不用wince,那就arm, 做驱动的除了掉头发, 其他的好多很

威盛, 在2011年底的时候, 硬件驱动组被挖墙角了很多. 猎头给我这软件也打了N多的电话, 说android火了,驱动需求非常大, 你转行学学硬件,驱动吧.......
cherryodd
2013-08-07 10:40:28 +08:00
@fangzhzh 继续问:“不要跟着微软走+1”是指摈弃MFC了么?
fangzhzh
2013-08-07 10:44:21 +08:00
@cherryodd 没错 absolute right

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/78228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX