`
blogfeifei
  • 浏览: 1198387 次
文章分类
社区版块
存档分类
最新评论

你想学编程的话,我建议选择手机编程(j2me)

 
阅读更多
有一个非计算机专业的朋友,觉得做病毒很酷,决定学Dephi。大家知道在病毒满天飞的今天,简单的一种病毒根本攻破不了打满补丁的操作系统,那位想做病毒的朋友做出的第一个病毒可能很快就在其他同学那里发现这个病毒根本不起作用,成就感很快消失,而要做出个能令自己自豪的病毒,要对操作系统进行很深的研究,要花的时间和对基础的要求绝对会把我这个非计算机专业的朋友充满挫折感,从此视编程为畏途。
还有一个非计算机专业的朋友,觉得做网站很酷,决定学asp。在网上十分容易就能下载到大量的asp源代码的今天,我估计我这位朋友大部分会通过修改下载的源代码来做出自己第一个像样的作品,而修改做出的作品因为参考的例子都已经很成熟,再给它增色已经很难,所以很难再去体现你自己的劳动。试想,你把作品给别人看的时候,别人第一句话就是“这不是抄XXX论坛(网站)的吗?我也会啊,一个小时我就能搞定啦”。所以带来的成就感你总是觉得有点假。而且asp这种不适用于大型项目的技术和他的非计算机专业背景决定了这个朋友很难在计算机行业深钻下去,很大机会将一直从事asp网站开发,从而一个月就挣一千多块钱(广州asp程序员平均工资才1500),在广州2007年预计平均工资3500/月的今天,他很快就觉得原来编程也就是这样,没有什么前途。
而相当多的计算机科班出身的朋友说绝对不建议挑c++入门,因为实在是太难了,很难看到有意义的成果,越学越厌倦。因而这些计算机科班出身的朋友都视编程为畏途,要么就跑去做web,要么就转行了。
而我一直从事asp.net和C#开发,我觉得C#是一门很优秀的面向对象语言,C#2.0,3.0在面向对象和动态语言方面已经超越了java,asp.net是一门优秀的做web的技术,还十分容易入门,很快就能做出自己像样的作品,从而充满成就感,有更大的兴趣学下去。但是因为很容易就能做出像样的作品,所以很多朋友就满足于此,并没有深入研究下去,浪费了C#这门好语言!
有没有一门编程语言既能快速入门,很快就能做出像样的作品,从而充满成就感,有动力继续学下去;又能促使你不满足现有作品,从而有动力使自己深专下去呢?根据我的经验,我推荐j2me
J2me是java三大分支,主要用于移动设备开发和嵌入式开发。大家现在去买一款新的手机,很多都写着具有java程序的功能,这里的java程序就是使用j2me开发。所以如果你学习j2me,就能够把你自己的程序放到你的手机上,能随时在你心仪的MM前炫耀,能随时show出来让师弟师妹从此佩服得你要死。当然也能随时使用你为自己定做的程序来提高你的工作效率和生活质量。这种成就感远比做web实在得多,亲近得多。
j2me只需要掌握几个核心的package就能写出能来真实成就感的游戏,比如坦克大战啊,能与电脑对战的井字棋啊,而上面这些游戏范例网上都有教程,所以你只要研究一下教程很快就能做出来了。有人会说,这不就是跟asp一样了吗?不,游戏这种东西可塑性十分强,网上的游戏范例都有很大的空间让你去修改和扩展功能,把它们做得更漂亮,功能更强,直到最后一个你觉得满意的作品出来的时候,已经与原来的游戏范例相比简直天壤之别。而修改和扩展功能,j2me与C++相比,回避了最令人生厌,让无数计算机专业科班出身的同学决定转行的指针,其比C++更完善的面向对象编程使修改和扩展功能更容易。所以我建议如果你学j2me,建议从学做游戏开始,除了以上这个特点,还因为一般二十几岁的年轻人总是对游戏的兴趣大于做其他软件。
J2me是用于手机开发,它对性能方面的要求你会很快就能感觉到,所以你会很快就想到要提高程序性能,从而会在这方面做研究,慢慢地你就会带着很浓烈的兴趣去主动研究很多人都很厌倦的算法与程序结构。在桌面计算机性能很强的今天,C++ 和WEB就很难做到这点。
J2me是用于手机开发,你当然希望你引以自豪的作品既能在你的手机上跑得好又能在你的女朋友或心仪的MM上跑得好,那么爱情的力量会驱使你在兼容性,迁移性上下功夫,自然你就会带着很浓烈的兴趣去主动研究设计模式,去深钻面向对象编程理念。要知道,很多学asp.net,Java,C++的人可是被逼着去学,学回来的效果也当然不会很好。
另外j2me所使用的java语言是一门十分优秀的面向对象编程语言,所以将j2me做为你的入门语言,将会是在你这张白纸上留下美好的开始,从而对你以后学习其他语言带来十分大的帮助,你以后转向j2se,j2ee都会容易很多。
据我了解,算法与程序结构,面向对象编程思维,设计模式这些都是往计算机行业纵深发展的必须要掌握的技术,而J2me能够让你充满兴趣的主动去学习这些东西。你说,j2me是不是一个好向导?
怎么样,通过我上面所讲的,你是否对j2me这门既能很快给你带来成就感,从而有很浓烈的兴趣学下去,又可以帮助你以后能够在计算机行业深钻下去,向做将在亚洲出现的下一个比尔盖茨的目标奋斗的技术很感兴趣呢?
分享到:
评论

相关推荐

    j2me手机高级编程

    这是《j2me手机高级编程》的源代码。 需要的朋友可以下载看看。 好的话希望顶一下 谢谢

    BlackBerry_J2ME_编程指南--BlackBerry_编程

    这是关于黑莓程序开发的指南,如果你想这方面入门的话,可以看看,应该能获得很多启发的哦

    tengge py for s60编程教程

    本pys60教程包为业余爱好者在手机上所写,特别适合没有电脑,在手机上编程的手机爱好者。 python for s60编程最适合机型为塞班s60v3横屏手机。请自行在手机上安装python平台, 代码编写编译反编译测试工具“ipro7”...

    一款来自国外的Java吃豆子游戏源代码.rar

    学习Java游戏开发的话,像这种吃豆子之类的小游戏,从中可学习到很多基础的Java编程技巧,游戏的开发最考验编程水平了,本吃豆子游戏代码结构挺规范,有空了就看下吧。(本游戏非Android版,是运行于j2me环境的版本...

    JAVA自学之路

    在这儿之后,你可以选择向J2ME、或者Java GUI、Socket编程等方向努力,但是通过第一篇的办法,你可以很容易就将这方向过滤掉(永远不要忘了我们是为了就业),好吧,暂时和它们诀别,还是向着J2EE的方向前进吧。...

    J2me横版动作游戏源代码

    内容索引:JAVA源码,游戏娱乐,J2ME源码 J2me横版动作游戏源代码,在手机上可以运行,如果电脑上安装有MIDP支持的话,也可以运行,附有源文件和资源文件。本游戏带格斗、奔跑、物体碰撞等游戏编程要点,可以作为一个...

    java必了解的六大问题

    建议如果学习java体系的话可以这样去学习: *第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架; *第二阶段:java界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都...

    象棋手机游戏部分源码

    此为在J2ME环境下开发的手机游戏中国象棋的主要代码,里面讲到了中国象棋AI实现的一种方法,采用MIDP1.0…… 要最终实现在手机上运行,还需要加一点东西,仅供手机编程初学者参考 <br>如果对您有帮助的话请...

    手机游戏开发精粹 第14章(样章)

    手机游戏编程精粹 第14章(样章)部分为J2ME手机游戏开发部分的第一章,包括J2ME 介绍,环境搭建和调试技巧等内容,语言通俗移动,是初学者最好的入门材料之一,看了本章发现还不错的话,可以考虑购买啊!

    新版Android开发教程.rar

    � 高档手机选择面增加。 � A ndroid 在设计初期就考虑了与现其有业务的融合,改变以往从计算机为主改成从手机使用为导向。新 生应用如:G oogle 地图及其衍生应用、 GMail 、 GTalk 等。 � GPS 卫星导航功能,...

    java 动作游戏源代码

    J2me横版动作游戏源代码,在手机上可以运行,如果电脑上安装有MIDP支持的话,也可以运行,附有源文件和资源文件。本游戏带格斗、奔跑、物体碰撞等游戏编程要点,可以作为一个学习资料。

    ejb 3.0实用教程

    EJB3 最激动人心的是POJO 编程模型,我想对开发人员的影响将是非常大的,因为他降低了开发人员编写EJB 的 要求。EJB3 的bean 类将更像常规的Java bean。不要求像过去那样实现特殊的回调界面或者扩展EJB 类。...

    Java游戏中斜视角编辑器及引擎源代码

    内容索引:JAVA源码,游戏娱乐,编辑器,引擎,Java游戏源码 Java游戏中斜视角编辑器及引擎源代码,这个有点太专业,但如果你从事J2me流编程的话,绝对是很实用的东西,像我们这种菜鸟只能望而兴叹了,高手写游戏经常用...

    java面试题

    答:String是不可变的对象,每次对String类型进行改变都相当于产生了一个新的对象,StringBuffer是可变的字符序列,所以如果要经常改变某个字符串的话建议使用StringBuffer。 list、set、map问题? 答:set 不允许...

    JAVA面试题最全集

    子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这...

Global site tag (gtag.js) - Google Analytics