请教下,对于一种语言,如何称之为精通?

2018-08-01 09:47:20 +08:00
 superXiong

最近由于接手某新项目,需要用到 ruby 的 ROR 框架,负责人是业界大牛,一个劲给我讲着 ROR 的好处, 最后说:“虽然这个语言现在不是很流行,但是面向程序员很友好,如果你能精通,对其他语言的学习也是有很大帮助的。”

我没搞明白他讲的最后那句话的意思......有时候学习一种语言,学到一定程度,业务可以搞定了,就不知道该往哪个方向走......

主要是精通这个词,何谓之精通?对于 ROR,或者说说比较火的 Java 和 Python,如何才能称之为精通?

6345 次点击
所在节点    程序员
73 条回复
yulitian888
2018-08-01 13:34:26 +08:00
@msg7086 我只知道的是 VS6 能让我看到内存运行状况,VS6 可以加载符号调试不属于我的程序,嗯,仅此而已。
msg7086
2018-08-01 13:37:51 +08:00
@yulitian888 那我们说的就不是一个层面的东西了。
易语言本身也不是用来处理底层。
拿类似用途的 VB6 举例,VB6 应该也不能做你说的这些事吧。
azh7138m
2018-08-01 13:51:11 +08:00
@yulitian888 重命名很难,要分析作用域的,又不是简单的文本替换
yulitian888
2018-08-01 13:56:00 +08:00
@azh7138m Code DOM,我做过
azh7138m
2018-08-01 13:59:22 +08:00
@yulitian888 System.CodeDom ?那是微软给你搞好了
yulitian888
2018-08-01 14:16:39 +08:00
@azh7138m 嗯,说的好有道理哦,似乎比我自己更懂我的经历
visonme
2018-08-01 14:31:18 +08:00
如果说某种语言精通,我的理解通常是:你已经了解该语言的基本架构并具备 hack 该语言的能力了。 而此时熟练应用该语言开发是最最最最基础的能力了。

之所以很多人会告诉你“如果你能精通,对其他语言的学习也是有很大帮助的”,因为大多数语言的底层架构是相似的,对于一个已经了解语言底层架构的人来说,熟悉新的语言那不是很容易码?

熟练应用某种语言是基础,深入某种语言除了语言本身还需要很多了解很多额外的技术的
azh7138m
2018-08-01 15:35:19 +08:00
@yulitian888 没毛病,一般是操作 AST 的
zhzer
2018-08-01 15:52:10 +08:00
对于上班来说,能轻松满足需求就算精通,毕竟面向甲方编程
chungzh
2018-08-01 16:24:19 +08:00
C++:精通我?没有的事!
crist
2018-08-01 17:23:32 +08:00
这世上没有任何人敢说精通 C++
chris89
2018-08-01 17:52:55 +08:00
个人认为
就是使用同样的语言和机器配置
处理相同的问题时
你的程序运行时间 /内存使用率等都是最优的
应该算是吧?
bumz
2018-08-01 18:27:28 +08:00
与其自以为「精通」某一门语言,不如掌握所有的程序语言:

[如何掌握所有的程序语言]( http://www.yinwang.org/blog-cn/2017/07/06/master-pl)
loqixh
2018-08-01 19:38:21 +08:00
@yulitian888 这个 你故意曲解吧? 别人说的是易语言同一水平 IDE 看了下易语言是 2000 年开发的 那时 vs 还真没有 只有 vc6
wupher
2018-08-01 19:39:24 +08:00
Java (groovy kotlin scala) / Python / Ruby (含 ROR 框架)这三块都有用过。

ROR 是个很也不起的开发框架,最早接触时还是 v1.0 版本。那里不是 Ruby 程序员买 MacBook 就是为了方便使用 TextMate 来进行 ROR 开发。印象里那时大部分公司还是用 struts,与满眼的 xml 配置文件相比,Ruby On Rails 真是太酷了。话说也是那时 t 上关注的 DHH。

那时大家都认为 Ruby & ROR 是 Web 开发框架的未来,好吧,十来年过去了,它仍旧属于小众。其实,即使是用 Ruby,大家现在更喜欢用更轻量的 Sintra like。

但是 RoR 的思想和影响还是影响了业界,像之后的 sintra flask SpringMVC ……都受到它的影响,从这点来说,ROR 还是挺牛 B 的。包括现在偶尔在项目中用的 Groovy 和 GRails 也是对 Ruby 及 RoR 的学习和致敬。

Ruby 语言灵活,多变。各种 meta class 和代码生成技巧可以非常方便的将之封装成 DSL,这是它的一大优势。当然,过于灵活的结构与 meta 封装,在多人团队中怎样保持统一的代码风格和过度包装,这也是一项挑战。

Java 语言如果用于 Web 开发,现在一般用多 SpringMVC 甚至 SpringFramework。相较之下,它的性能会比 Ruby 更好。连接灵活度更高,尤其是与各种第三方中间件。

Python 也可以使用于 web 开发,flask Django Twist,不过它的热门我觉得是由于 pandas sci tf。唉,想想 python challenge 的第一题 2^38,再想想上周折腾的坑爹 BigDecimal,这方面真没的比。
kaifeii
2018-08-01 19:40:16 +08:00
自举
JerryCha
2018-08-01 19:50:13 +08:00
纸上手写代码无 bug
Leigg
2018-08-01 20:22:52 +08:00
精通再上一层就是语言创始者,自己体会咯。
Eagleyes
2018-08-01 21:36:10 +08:00
类比语文吧。
编程像说话,像写作文一样,脱口而出,不用想,就勉强算精通。
说英语,用英语写作,你脑子里都要转换翻译一样,这就不算精通
way2create
2018-08-01 21:40:29 +08:00
看你面对谁了,面对不懂的领导,会吹 NB 就叫精通了(滑稽

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/475828

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX