分享 译文:一个 Perl 程序员职业生涯的中年危机

5long · 发布于 2017年09月08日 · 最后由 jakit 回复于 2017年11月01日 · 4203 次阅读
A72675
本帖已被设为精华帖!

译文在我的 blog 上:
https://5long.github.io/post/mid-career-crisis-of-perl-programmer.html
英文原文:
http://www.modernperlbooks.com/mt/2014/02/the-mid-career-crisis-of-the-perl-programmer.html

文章略长,目测原作者当时(2014 年)是经历了面试 Google 的挫败,回顾自身的人生经历,有感而发。

共收到 20 条回复
E94ba8

翻译自然流畅,不生涩。请问能注明来源转载吗?

A72675
E94ba8gingerhot 回复

可以,但原文的许可协议(CC-BY-NC-SA 3.0)不仅要求注明出处,还有别的要求。官方的中文简单诠释可以看这里:https://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh

1 Rei 将本帖设为了精华贴 09月09日 15:50
2456

非常有意思,读起来就像面对面坐着吐槽一样。

E94ba8
A726755long 回复

多谢,没有问题~ 👍

602

哎...现实很残酷啊...

A908ae

ruby转其他oop语言应该比较容易吧,最多牺牲一些灵活的写法,多出点语法上不那么好看的冗余代码。如果底层一点的话,补充点算法和优化内存的小技巧。切换语言的代价真的没那么大,毕竟现代编程语言提供的抽象工具本质上大同小异。当然我还是最喜欢ruby,不过也不排斥写其他语言。

1232

作为一个 Elixir 程序员,也是这样的感受😂

96

我在写 Perl 时的效率太高,去写别的语言短时间内根本达不到同等水平。毕竟这是十六年积累下来的经验。毕竟这是两万小时的练习成果。哈哈,我写ruby也是这样啊,估计也有两万小时了吧😂 。解决问题写很elegant的方法(method),方法搞不定的用meta-programming,再搞不定还可以用ast语法树。(可以叫做super meta-programming吗哈哈), 其他语言根本达不到同等效率。即使之前用了python,但是感觉对于python也就是调调api,解决解决算法问题这样的程度,根本达不到得心应手的程度。

96

翻译的很好,对我这个 Perl 爱好者有启发

12楼 已删除
A9642e

想跟着博主抱头痛哭,😂。我想起来最早考虑出国,就有职业方面的考虑。国内 Ruby 还是相对小众,数来数去靠谱的公司太少了。

照我看来,有这么几种方法能让你找到写 Perl 的工作:

  • 自己创办公司,自己创造职位
  • 与不在乎技术选型的客户合作,自己创造职位
  • 在现有的工作中逐渐引入 Perl,直到 Perl 的地位不好取代,这样自己创造职位
  • 找到现存的还在用 Perl 的公司(等于“搬到阿姆斯特丹”,或者“维护 1997 年传下来的代码”,或者“撞大运”)
  • 用 Perl 造出一个惊为天人的东西,让人不得不用。比如说 mod_perl,或者 Movable Type。cPanel 和 Catalyst 也算得上吧。

在国内经历过换工作的 Ruby 程序员可能多多少少都会体会到。

虽然一再告诫自己不能只局限于一种语言,不过还是觉得如果工作能用自己喜欢/熟练的语言和工具是最好的。

96

hackernews 貌似也有文章的相关讨论 https://news.ycombinator.com/item?id=7373038

一个很有意思的回复

one soon can do s/perl/currentfancylanguage/g

1466

感觉好像日和吐槽啊2333 楼主是学过日语吗?

A72675
1466hegwin 回复

呃,虽然我看过搞笑漫画日和,但这里并不清楚你所说的“好像日和吐槽”具体是什么意思。而且我也没有学过日语。

如果你是在评价行文风格,那么我想应该是因为原文文风就是如此。当然也有可能是我在翻译中意外地加工成了现在的样子。

5917

如果把 Ruby 变成自由职业者专用语言,那最好不过了,企业市场嘛,Perl 的现状就是 Ruby 的未来

96
E94ba8gingerhot 回复

看到你的头像,跟 cpan 某个贡献者的似乎一样的,你该不会就是那个人吧?

96
13903hooooopo 回复

Catalyst 太大了,而且很多模块用了 C 实现,有些 Linux 发行版没有装一些模块,编译不过,我开始的时候自己也不会解决(上大一的时候),直到后来熟悉了 Linux C 之后,终于明白它少了依赖 lib,testing 不过,装上了终于通过了。东西很大,执行效率一般。

适合企业级使用,成本也很高。

所以要用的话,我还是用 Dancer。

96
A908aeadamshen 回复

Perl 不是书面 OOP 语言,而是非常独特的一种思想的语言,首先它是 C 那种模块式的,然后 Object 其实是 package 模拟的,当然你可以用 Moose 带上了很多 has 之类的 关键字 DSL,不好解释,但是你可以想象一下用 IE 年代的 JavaScript 进行 OOP 的感受。 它每一个变量本身就是 Scalar,是一种“多元体”,跟 PHP 的 Scalar 基本一样。它每个变量都为不同的数据类型开辟了空间,详情看 perltut 等等 man 文档 perldoc。

E94ba8
32jakit 回复

偷了 Karen 的头像很久了。RubyChina 是我现在唯一还用这个头像的地方。

96
E94ba8gingerhot 回复

感觉他挺辛苦的,维护那么多文档

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册