C++程序员应该学习什么技术?
我做过一年的网站BS开发,客户端是Ajax,服务器是C#和SQL Server。本来从来没有接触过编程,工作后就去开发网站,感觉这个工作门槛比较低,一般一个月就会掌握了相关的开发技术。例如:C#,ASP.NET,SQL,Javascript,CSS等。当会了这些后就是一些业务逻辑,感觉没什么技术含量,一个页面,一个页面的写前端,后端就是不停的操作数据库。我怀疑难道做BS的所挣钱的高低就是看编程的速度,那岂不是真正的代码民工了。
一年后。我转去做Windows应用程序开发。使用的语言是C和C++。当时我连malloc都不知道,C的确比C#难了几个等级。在此期间我使用了一些Windows平台的一些API相关的东西。例如MFC,GDI,Socket,多线程,同时学习数据结构等。总结我所做过的东西,我对做windows自定义控件的开发比较感兴趣。
但是工作中自己感兴趣的开发比较少,而且UI方面毕竟不是软件的核心。服务器和客户端的相关工作我都做过,发现大部分的工作就是写业务逻辑,定制消息,服务器和客户端通信,挺没意思的。
我觉得平台相关的API,什么GUI,GDI等 以及编程语言C++,C#等都是一个工具而已。程序员会用就可以,一个程序员真正要掌握处理这些API和编程语言外的另外一门技术。例如:我了解过数字图像学,以及3D计算机图形学方面的东西。感觉他们才算是正把语言以及平台相关API当作工具,进行钻研提高的技术。
我了解自己,是喜欢钻研性质的工作,而不是重复的写逻辑代码。希望大家给些建议,有什么比较有价值的技术可以让程序员掌握并获得职位?