午餐时间推荐的内容"Scala简介"讲座

Ben*_*ngs 12 scala

我将与Scala的技术人员进行短暂的(30-40分钟)午餐时间谈话.我想对一些最合适的内容提出一些建议.大多数人都会有Java和/或C#(以及其他各种语言)的经验.

要涵盖哪些关键事项?我想简要介绍一下Scala语法,以便人们在查看代码示例时不会感到迷茫.我还将介绍该语言及其设计者背后的一些历史.什么能帮助人们从谈话中获得最大收益?

Joh*_*lla 17

人们几乎肯定会来谈谈这个问题的答案:"我为什么要使用Scala?" 您可以提供的任何帮助他们回答的内容都很有价值.

  • 将对Scala背后的历史和个性的讨论保持在最低限度.

  • 旋风式的语法之旅很有用,但请保持简短.

  • 花费大量的演讲演示示例并与Java进行比较.展示Scala闪耀的案例.你应该从字面上运行并执行代码,这样人们才能真实地亲身体验事物的运作方式.

  • 一定要掩盖弱点!提供客观和平衡的概述.


oxb*_*kes 6

我做了类似的讨论 - 主要是那些有Java背景的人.我觉得拿一块真正的Java(大约30行)并迭代地添加scala功能效果非常好.30行Java最终以6(6!)个scala结束.当然,这一点是6行比30行更易读和可维护.

我将scala转换为逐行Java等效,然后介绍:

  • 类型推断
  • 选项
  • 关闭
  • 模式匹配(在列表中)
  • 输入别名
  • 尾递归

我发现这个片段花了很长时间,因为观众对scala语法的细节非常感兴趣(特别是在函数表达式周围).在进行模式匹配之前,我有一张幻灯片解释了你可以在匹配中使用的各种东西.


Dan*_*ral 5

强硬.人们必须平衡新的和熟悉的.例如:

  • 讨论特征,它们与接口和多重继承的区别.请注意,所有Scala集合中的大多数方法实际上都可以在trait上找到Traversable,它具有一个抽象方法:foreach.

  • 说说函数和部分函数,​​show map/ filter/ foreach以及它们如何使用函数.

  • 谈论模式匹配 - 展示如何unapply使用表示独立性,同时案例类使常见案例变得容易.

最重要的是要避免任何可能很难快速理解的主题,否则你可能会浪费时间.例如,我不会谈论的伟大话题:自我类型,方差,理解.

选择比您有时间更多的主题.让公众引导他们对他们更感兴趣的topcis的谈话.如果有人开始过多地讨论一个话题,说你会很高兴稍后详细解释它,并问他们是否会介意你是否愿意另一个话题.另一方面,如果每个人似乎特别关注一件事,那就坚持下去吧.否则,可能会觉得你想隐藏一些东西.