我的迷茫,将在何方结束-——程序员?科学家?

 

我的迷茫,将在何方结束-

——程序员?科学家?

 

首先,留给我的时间已经不多了,一年就快毕业了。对自己过去的迷茫稍微做一总结。

 

 

首先简单地枚举下瞄过的语言:

         C:

         C++

         Java

         PHP

         JS

C是最初接触的语言了,可是却不是很精通。其高效,精简。

C++也许是语法看似最复杂的语言了。

Java也许是语法不复杂,但体系最庞大的了。

对于PHP,与C可以比比,其语法也比较简单。

Js已经变成网络的宠儿脚本了,其与PHP颇有些相像,但js的事件处理机制无疑占上风了,我接触PHP的那些日子,从没接触过PHP的事件处理机制。随着网络盛行,用户体验需求逐渐日涨,js的开源库也越来越贴心程序员们了,如JQueryExtDojoprototype等等。

对于C,我更是越来越热爱它了。只要懂得其基本语法,我们在解决问题时,没在必要太关注语法上的东西,而把注意力放在算法上面,当然C能让我从底层更好地认识计算机。  我们知道,linux是用C做的系统,而对网络上的大型系统,企业应用,Java.Net是更好的选择了。这让我们从一个高层抽象地高度去构建人类社会生活中的系统,这不同于C构造的底层操作系统。Java已经是一个很庞大的体系了,其开源的类库,在各方面的类库已经很多,Sun自己的,包括Apache的,还有其他开源项目等等。Springstrutshibernate是最常用的开源架构了。在GUI上,其除了AWTSwingSWT外,又推出JavaFX技术。技术是越来越多,什么JSFEJB,只让人学得喘不过气来,时间久了,学了这个,忘了那个。

 

语言除了上面说的外,大家也许都了解过其他一些语言,PythonScalaRuby等等。

 

现在在重点谈谈C++吧。说真的,C++是曾经让我很痴迷,可是最后还是因为WinAPIMFC中奇观的类型和数据结构的定义,以及一大堆方便而无聊的工具,开始让我思考,整天学这么一大堆工具,有意思么。自己从思想上能够提高多少呢? 最后逐渐倾向Linux、倾向Java。现在又反而感觉Java又是一大堆库,哎,其GUI又不是其专注的。想想C++,系统、游戏、桌面软件、嵌入式,它的身影也是无处不在啊。

 

 

 

不扯这些东西了。说说我最近我总结的一些方向吧。

 算法方向:

 Java企业应用方向:

 密码与安全方向:

嵌入式方向:

C++游戏方向:

 

 

算法方向:算法还是最本质的吧,技术再怎么发展,算法的发展不会向技术那么快的发展,其说起来就是数学。虽然可能不像MFC那样,我做一个能看见的窗口,但是算法能让我变得更加有内涵,不再仅仅是调用别人的库函数,调用别人的类库,我可以自己思考,记得高中老师说得好:数学就是一种思维体操。其实这几年,我也发现,离开数学,一个人的思维真的很容易迟钝下来,变得懒于思考,不会自己主动去解决问题。

算法的应用不仅仅停留在某一个学科某一个方面,它往往再各学科在现实生活中都是相同的,如我们所了解的蚁群算法和遗传算法。如Floyd算法,无论在运筹学中,还是在网络路由,我们都需要寻找最短路径,使成本降至最低。也许算法的通用性和算法的强大,让我对它更加疯狂。因为它值得我去疯狂,其实这还要感谢July,他向我们传达了一种精神——执着。

 

Java企业方向:Java在企业中的应用包括很多,公司网站、ERP等,其涉及的技术更是庞大:包括J2SE、我们还要学习JSP、ServletJavaBeanJSTL等基本技术,还有SpringStrutsHibernateEJB等技术,还要学习TomcatWeblogic等服务器的配置使用。在架构上,我们不能不了解设计模式,这是精髓之所在啊。对于Java的类库的掌握,恐怕已经足够我研究了吧,其对IO处理、线程、并行计算、XML的处理、正则、数据库操作、安全的保证、日志记录、邮件、事务、网络等都遍历个精光。如果要加上其他开源的类库,恐怕

更庞杂了,如果单从灵活使用上来说,都让我没有精力,更别说其中所蕴含的思想以及系统架构和设计模式。

         Java的另一个方向:也许就是Android了。Android又是另一套系统,需要在Java的基础上重新架构我的思维。要学会Android处理问题的方法,以及比较其与其他技术如JavaMe的不同。

 

密码与安全方向:这很大一部分其实涉及的就是算法,如RSADESAESMD5等。但其安全方向还得需要搞一些应用上的东西,如软件加密与破解等、网络安全、数字认证等,展开后其技术面也开始扩展开来,让人无从下手。这不是简简单单的Hacker、也不是纯数学家所干的事情,而是综合地去学习真正的安全专家和数学家所需掌握的东西。

 

 

嵌入式方向:其包括硬件方向和软件方向。硬件方向自然偏向电子工程、自动化、控制方向了。其所需要了解的知识也不少,模电数电必须的吧,单片机必须的吧,好一点掌握DSP,计算机组成原理、C语言、汇编语言少不了吧,控制理论对于自动化也不必说了吧。

嵌入式软件方向,其中之一就是偏于移动化,就是上面所说的androidJavaMe了,这里就不谈了。还有一个就是驱动了,USB驱动,各种硬件驱动。有Linux的,有Windows的,其所需要掌握的也不必搞纯硬件和纯软件的少吧。

 

最惊心动魄的莫过于游戏了:首先现在的大型游戏采用C++的比较多,而WindowsGDIMFC得懂吧,各种游戏中使用的算法,就如云风《我的游戏编程感悟》一书所讲的,什么A*算法,什么掌握一门脚本,如Lua都是需要的。DirectXOpenGL更不用说了吧。什么OGRE、这个那个乱七八糟。关于图形图像也许也算一个方向,如OpenCV。其实游戏不是简单地涉及娱乐,它不仅是娱乐,不仅是一门艺术,而且还真称地上是一门科学,一门很综合的科学:其中,不仅包括各种算法,寻路等算法、数据结构,还包括物理知识、

音视频处理、图形图像处理等等。也许很多还涉及到计算机前言,如人工智能等,不知道神经网络、机器学习算不算,甚至涉及到传感器等知识,这让我想起了XBOX360啊。

 

这么多方向,拿什么拯救我已经时间不多的大学以及那渺茫的人生。

对于基础课:如离散数学、数据结构、操作系统、计算机组成原理、数据库、编译原理的学习掌握,更是将我的时间再一次压缩、、、那什么拯救,数学、算法、C、足够了。可是我真的放不下….

 

喜欢思想,因为思想能缔造一个新鲜、永不停息的大脑。

不是我不喜欢形式,只是形式化让我感觉那么如浮云飘渺,随时都可能烟消云散。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值