前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优秀的程序员是懂指针和递归的

优秀的程序员是懂指针和递归的

作者头像
用户1289394
发布2018-02-28 11:29:02
8280
发布2018-02-28 11:29:02
举报
文章被收录于专栏:Java学习网Java学习网

  上周还是什么时候,和老大的一次谈话,他提到,他觉得Java程序员只能是个半吊子(大概意思是这样)。当时,我反驳说,其实还是可以有牛人的。但元旦琢磨了下,觉得还是一个思考层次的问题。

  如果单从Java语言来看,确实是很简单的。没有指针,内存自动回收,大量的设计模式,简化了递归的思考,真把人当成了一个傻子,希望把所有复杂性都掩盖好,这样就不容易犯错。好笑的是,现在大量的学校开始以Java作为教学语言,这有没有问题?如果教学是以简化编程,更注重计算机科学的学习,那没有问题。当如果天天讲一些Java的新特性,1.4 1.5的区别,讲autobox,那就太好笑了。一个不适合做程序员的学生也可以达到及格。

  我们再看看lisp,看看C。其实一个是递归的代言词,一个是指针的代言词。如果你无法从多个层次进行抽象,那么你很难适应lisp函数式编程的风格,也就不奇怪理解不了Google的Mapreduce。如果你不了解指针,那你几乎看不懂一行操作系统代码。你几乎就很难去架构一个数据的存取方式。

  但还是有一些Java大牛的,James Gosing就是其中一位,他们都是C和lisp或者说指针和递归的高手。我们可以更加一步来抽象,算法其实包含了大量的递归,编译原理是lambda演算,里面也有大量递归,操作系统实现有大量指针,数据库,网络都是指针的天下。

  所以什么是一个优秀的Java程序员呢?从一个特别的层次下定义:他一定熟悉或者精通C和lisp/haskell/erlang等语言。。

  同时,我们公司一博士也发表感慨,说感觉Javascript好难学啊,这门语言太复杂了。其实Javascript的复杂是由于它本身就吸收了C和lisp的精华。所以closure、pointer都可以得到体现。不了解Javascript指针的同学可以看看我的对象真经。所以,Javascript是一门看似简单,但很能体现水平的语言。不过,如果能一开始就抱有这样的一个心态,学习Javascript时就会少了些浮躁。请相信,将来Javascript会有更大的舞台。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档