• Feeds

  • 一次内部Scala编程竞赛

    今天在team内举办了一次Scala编程竞赛。

    由于team每周都有自发报名的例行技术活动,某天突发奇想举办一次编程大赛活动,考虑到一些同事对Scala有兴趣,因此决定拿Scala来试验,可以让更多的同事了解Scala以及产生共同话题。因此活动就这么定下来。

    提前2周发了预告,也给了相关参考资料和学习教程。期间不少同事也买了国内出版的几本Scala书。但个人喜欢的O’Reilly Programming Scala好像在国内没有出版。

    为避免走进应试的误区,比赛题目并未提前公布。有很多网友也在微博上打听,由于此题还需要在其它team和场合用,因此暂不公开。大家可以参考下《编程之美》让CPU占用率曲线听你指挥那一章,比较相似。

    学习期间恰好大家的工作都非常忙,白天没时间学习,晚上最近也常加班。计划找一个有经验的Scala讲师培训一次也未落实,因此后来又将学习时间延长了一周。

    开赛前夕也有些忐忑,如果都不及格怎么办?因此比赛前将比赛规则放宽了一点,如用Scala完成有困难的team可以用其它编程语言参赛,但是仅在所有Scala选手都未合格完成题目情况下非Scala语言优胜者才能获奖。

    比赛2个队员分成一组,可以一起查资料和讨论,比赛大约持续了2-3小时,比赛结果比预计的要好很多,大部分组队都用Scala的Actor Model完成了题目并取得了不错的结果。

    比赛6点开始,9点之前比赛结束。有部分成员8点左右被电话匆匆叫走,估计在约会过程中还在心神不宁的想着如何优化自己的代码。

    总结:

    • 2-3小时时间偏短,写一段好的代码从构思、开发到调优需要4-6小时。
    • 最好有一个免打扰的环境,我们竞赛过程中经常有电话过来打断队员去处理其它问题。
    • 由于Scala之类后端语言并不适合在笔记本上跑性能,因此不适合在咖啡馆等更放松的场合搞。
    • 选题的建议,有一定复杂度,避免有投机取巧者10-20行代码完成;门槛低,不同层次技术人员都能参与;优化的空间大,总是可以找到更优方法。


    (图:边学边用)

    如想及时阅读Tim Yang的文章,可通过页面右上方扫码订阅最新更新。

    « | »

    10 Comments  »

    1. Sam

      有趣,记得到时公布一下题目,让我等伪爱好者也做做题目:)

    2. scala有些很common的结构编译器优化不够, 很普通的循环要比纯java的循环慢很多, 这阵子先放下了,之前研究了很长时间scala, 等一些问题改进来来看,一直关注中

    3. ciel

      方便公开题目么?

    4. yexuhui

      这种形式很好

    5. 楼拴柱

      请公布下题目,我看进入新浪需要什么水准?

    6. 赞这样的技术氛围啊。
      PS:个人觉得Scala很不错,尤其是可以方便地使用现存的Java代码这一个特点(当然,这一点也可能导致像写java一样写scala的问题)。

    7. 很赞的活动

    8. 小拿

      很好地激发团队的技术学习的积极性,不错的方式~

    9. happiness

      很有趣的东西

    10. Lifan

      最好能把活动公开

    Leave a Comment