lmshl 最近的时间轴更新
lmshl

lmshl

V2EX 第 69210 号会员,加入于 2014-07-28 18:09:34 +08:00
今日活跃度排名 7731
Scala 语法糖多吗?
程序员  •  lmshl  •  43 天前  •  最后回复来自 hepin1989
22
[北京/上海]全栈工程师求职
求职  •  lmshl  •  2016-03-03 16:19:20 PM  •  最后回复来自 guoxing
9
lmshl 最近回复了
我们用 Option / Either ,非必要不抛异常😏
推荐一个我喜欢的知乎答案,答主:雾雨魔理沙
https://www.zhihu.com/question/471105298/answer/1995471916
我老婆最一年也在教一些计算机课程(单片机,深度学习等)
她问我该让学生们看什么自学,我就只推荐了 CS61A ,B 站有搬运( https://www.bilibili.com/video/BV16W411W76H
如果能把基础课程啃完的话,这些应用技术应该是最后临找工作前 3 个月随便刷刷就够了。毕竟离开了学校就再也没有环境能让学生们静下心来学基础,做理论题了
不,这是编程范式的问题,不是 AI 问题

比如,RPC 服务,有时候 IDE 可能无法知道某个函数是一个远程接口的调用点;
-- 像 algebric effect / zio / tagless final 等范式,会给这类函数两个标记,`IO` 和 `Effect`,比如一个 `Repository[F].getX() -> F[Result]` 中,Repository 就是依赖的 Env ,F 就是 `IO`。Rust 的 async/await 也会对远程接口做一个基本修饰。

再比如,反射出来的的类,IDE 很难通过文本知道,某个变量是什么对象;
-- 像 Scala / Rust 等现代编程语言,编译器足够强大,类型信息都可以在编译期生成完备,没必要拖到运行时给黑客留那么多注入空间。

再比如,很多项目都有依赖注入、门面、工厂的概念,这些概念可以让你的写的代码更优秀,但是让你改代码时,往往牵一发而动全身;
-- 还是 Scala ,注入可以在编译期解决。再配合完备的类型系统,可以帮助程序员将 90% 运行时错误在编译期发现。

更甚至,执行字符串 eval('print("hello")') 。
-- 编译器越强大,需要手动 `eval` 的场景就会越来越少

这些无法跳转的函数调用常常会给程序员带来很多烦恼,程序员需要写很多 annotation 去告诉 IDE ,或者在 docblock 中说,嗨,老李,这个函数在某某文件的某行被调用啦,修改前记得看看对那边有没有影响!
-- 将这些信息编码到类型中,下次编译的时候,编译器会提醒你还需要注意修改哪里

所以,人工智能时代的 IDE ,会为程序员解决这个烦恼吗?
-- 所以,你需要的是用现代化编程语言配合现代化编程范式,Scala / Rust / Kotlin ......
我司项目,大约 20 多人开发规模
mysql: 同事在用,我用 pg
redis: 同事在用,我基本上内存里做缓存了
nginx: 作为 k8s ingress 在用,前端也在用它做静态托管
es: 推荐系统组在用,不懂这玩意儿
mq: 听说过没用过
docker + k8s: 这套是我搭建的
rpc + protobuf: 在用,内部通信和对外接口都有暴露 grpc 端口
session + cookie: 前端项目谁离得开它?
jwt: 多好的签名算法


除了上面的这些,我还在用
cassandra
knative(serving & eventing) + istio
open telemetry
grafana + prometheus
kafka
graph database
其他想不起来了
23 天前
回复了 awanganddong 创建的主题 程序员 对业务深入程度的问题
我讲个故事:
2012 年刚参加工作的时候,我入职了一家对日外包软件开发公司,技术栈是 .NET 。公司里有两位前辈与故事有关,老宋和李哥:老宋在这家公司干了十几年,业务熟手;李哥则是技术非常强,业务理解不算差。而当时我的 leader (老宋)曾不止一次跟我强调:“技术是有上限的,技术做到一定程度还是要转向业务,对业务理解越深,职业发展越顺”。大意如此,我不敢说一字不差的背下来,只传达核心思想。

2013 年,公司从日本回来一位同事胖子,公司给他定的薪资有 15k ,是老宋和李哥的 2.5 倍有余。得知这个消息的老宋和李哥一个星期天天往老板办公室跑,谈涨薪,无果。

一周后,技术强的李哥面试了一家银行软件开发,并收到 offer 。
而老宋,看着他拿起一本 Java SSH 网站开发的书翻几页,越看越无奈,又合上书看看我们,又翻开书再看几页,如此循环了一会儿,对我们说:“我真羡慕你们还年轻,学得进去。我这个年纪已经学不进去了”


我的观点:
极端点说,如果你的业务是银行财务相关,或者数学 /物理计算模拟软件。业务背后有经济规律 /法律甚至数学物理定律撑腰,那我觉得业务可能更重要一些。

如果你的业务是互联网 CRUD ,其中步骤来自老板 /产品经理朝令夕改的脑洞。或者你们只是在研究如何骗用户点你们平台的广告,那我并不觉得这类业务有什么值得深入的。
26 天前
回复了 JarvenI 创建的主题 程序员 半路出家如何写好代码?
@shilianmlxg 没有,但是 JS 作为披着 C 外皮的 Scheme ,你熟悉 JS 的前提下,直接看 Scheme 版 SICP 不是什么难事。7 年前我就是这么看的,当时我只是个卑微的前端。
26 天前
回复了 JarvenI 创建的主题 程序员 半路出家如何写好代码?
@JarvenI 看 Python 版 <SICP> 入门其实没什么问题,也更有实用价值,不用非得追求 scheme 版,但课后题一定要全刷,只有刷完最后一道课后题才能真正理解 <SICP> 在讲什么,空看是没有用的
26 天前
回复了 JarvenI 创建的主题 程序员 半路出家如何写好代码?
中文确实有进阶路线,机械工业出版社的黑皮砖头书就是进阶路线。
远离极客时间,知识星球,等一切知(割)识(韭)付(菜)费平台。打开学堂在线,离散数学 /组合数学学起来,操作系统 /算法学起来,唯有正襟危坐扎扎实实的上课 /做题,别无他法
26 天前
回复了 JarvenI 创建的主题 程序员 半路出家如何写好代码?
emmmmm
<SICP> 被誉为神书正是因为他讲的是基础啊,是“编码”这件事的本质。程序的求值模型是怎样的,如何构造惰性 /无穷列表,以及如何自己实现解释器

我看的是 Scheme 原版 + MIT 翻译的视频,至今只看了前三章。效果显著,薪资翻了十倍,对于我一个带专来说已经是很翻身了
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1107 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 19:46 · PVG 03:46 · LAX 12:46 · JFK 15:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.