比如说,了解,熟悉,精通?达到什么层次算是熟悉或者算是精通?
1
leetao94 OP 我觉得很多新人对这个问题都有困惑吧~~望大佬们可以解惑一下~~
|
2
Monad 2017-04-22 09:22:44 +08:00 4
了解:知道语法和怎么写 Hello, World
熟悉:工作中能够用它干活 精通:使用过程中极少出现语言层面(而不是库函数)你不明确的地方 |
4
murmur 2017-04-22 09:26:33 +08:00
精通至少得是读过部分源代码 了解很多技术细节才敢说精通吧
|
5
wayslog 2017-04-22 09:27:20 +08:00 via Android
了解:知道某语言优缺点。
熟悉:能用这种语言的写法写出正确的而且流畅的代码,以及至少完成一个项目(大小不限) 精通:无外乎三点,本技术领域著名人才(Linus 之于 C ,轮子之于 C++, R 大之于 JVM),本语言创始人或者主力开发维护者(BS 之于 C++),本明星项目开发者。 个人浅见…希望其他人补充,不指望说服别人。 |
11
visonme 2017-04-22 09:48:13 +08:00
了解: 算是入门吧,语言的基础,作用范围,能写简单的 demo
熟悉: 在工作中没有使用语言的障碍(如果有也应该多发在技术层面) 精通: 这应该算是脱离语言层面了,已经能从底层去优化,改造语言了(或者说 hack ) 个人的理解,仅仅在语言层面谈论。 |
12
AngelCriss 2017-04-22 09:54:35 +08:00 via Android
@wayslog 轮子???幻之上帝啊喂!
|
13
AngelCriss 2017-04-22 09:55:49 +08:00 via Android 1
没人能精通 C++,所以没有精通这个层次。
|
14
loy6491 2017-04-22 09:58:21 +08:00 via iPhone
比面试官懂得多就是精通
|
15
otakustay 2017-04-22 10:08:38 +08:00
觉得不怎么懂就说了解,觉得自己很牛就写熟悉,打死不写精通
|
19
sagaxu 2017-04-22 10:15:32 +08:00
月薪 1 万就是了解, 2 万到 5 万就是熟悉, 5 万以上就是精通
|
21
libook 2017-04-22 10:21:44 +08:00
了解:花十五分钟去搜百科、官方文档和介绍文章,搞清楚这个语言是什么、发展历史、什么特性、适用于哪些情景、目前的火热程度。
入门:花一两天看官方入门教程,或者搜搜大牛写的入门教程,配好环境写一个包含输入输出、判断、循环等简单编程语法的程序。 掌握:花一周到两周的时间尝试使用一些高级特性,如网络通信、面向对象(如果是 OO 友好语言的话)、二进制操作、文件操作、至少一种数据库操作、常用库|包|模块|插件、简单的 UI (如果具备 UI 特性的话)。 熟练:做过项目。 精通:熟悉底层机制、性能优化、栈内技术选型、架构规划等。 |
22
misaka20038numbe 2017-04-22 10:43:05 +08:00
了解,看过入门书前几章。
熟悉,能实现需求。 精通,明白了这个语言是怎么实现出来的。 |
23
scnace 2017-04-22 10:45:10 +08:00 via Android
不要说精通 除非你把源码都看了一遍…
|
24
elvodn 2017-04-22 11:00:51 +08:00 1
初级: 看完教程->可以写一些简单逻辑;
中级: 阅读完语言规范,不会出现语言使用级别 BUG->可独立完成小型项目(10k-); 高级: 熟练掌握语言优缺点,精通官方库并了解常用第三方库->拥有使用该语言完成中型项目(50k+)的经验; 专家级: 熟读语言与官方库源代码,掌握大量第三方库的使用与优缺点->设计并主导以该语言为主的大型项目(100k+)的研发; 大师级: 对于这个语言已经没有什么未知之处了->参与语言的研发,提交语言提案; 宗师级: 大量提案被采纳->在语言研发项目组获得崇高地位; 禅师级: 您用有对该语言的最终解释权; |
25
billlee 2017-04-22 11:30:27 +08:00
了解:知道基本语法,能使用,不出现语义使用上的 bug.
熟悉:知道全部语法、常用标准库的优缺点和适用场景,能写出符合该语言的风格习惯的代码。 精通:知道语言和常用标准库的实现机制,能在做 profiling 之前避开大部分性能问题。 |
26
phrack 2017-04-22 11:32:55 +08:00
完了,我简历上写的精通 python ,我得去改成熟悉。
|
28
wayslog 2017-04-22 11:36:36 +08:00
@AngelCriss 帝球知名度明显不如轮子嘛。。。
|
29
Lispre 2017-04-22 11:39:19 +08:00
能用一门语言挣到大钱就是我对精通的唯一评价,也许你会觉得我这回答如同放屁,那我也没话多说。社会价值决定一切。
|
31
iyaozhen 2017-04-22 11:57:54 +08:00 via Android
反正来面试的写精通 Java 的都死的很惨。
面试官:“这小伙子牛逼呀,先从 jvm 开始问吧” |
32
lmqdlr 2017-04-22 13:16:20 +08:00 via Android
踩坑>挖坑>填坑
|
33
di94sh 2017-04-22 13:29:21 +08:00 via Android
熟悉:可以查看帮助文档进行不熟悉部件使用,懂的大部分基础优化方法。对一套系统,比如 Linux 上的编程接口使用熟练,不长使用的可以查看文档,或者示例解决 。
精通:不懂,我正在往熟练道路上前行。。。 |
34
UnisandK 2017-04-22 13:43:32 +08:00 1
看 C 是 C
看 C 不是 C 看 C 还是 C |
35
cankoor 2017-04-22 14:05:12 +08:00
我正在写一个 PHP 进阶教程,顺便自己加深 PHP 的了解。
据我的理解,初级应该是给你一个功能需求,你能够独立实现,但是不考虑代码质量和性能。这个阶段应该很容易达到,但是从初级到中级很多人就会很迷茫。 中级应该开始考虑代码质量以及性能,同时能够熟练运用标准库中的东西。在熟悉语言的同时要开始了解业界使用的开发工具和开发流程,比如包管理,代码测试,持续集成等。还要学习语言的各种扩展,掌握其中几种重要的扩展,比如 session 。同时要开始着手了解语言的底层,比如垃圾回收机制等。 高级应该了解语言的底层,熟悉语言是如何实现的。这时候应该不会拘束于语言之中,而是举一反三,在学习其他语言的时候都能够很快精通。这时候他们应该更加关注的是大规模的架构和性能吧。我没到这种阶段,所以我也不了解。 以我自身的体会,从初级到中级这个过程式非常漫长的。这里涉及到开发流程、开发工具和重要知识点提炼等,如果没有一个专业的前辈来引导的话,这个过程会很迷茫,而且很多时间浪费在该学习什么(寻找必要知识点)上面。 所以我在写这样一份进阶教程,但是由于自己能力有限,所以很多方面写的不好,到时候我应该会开源出来,希望广大站友一起协作完成这份教程 :). |
36
conwey 2017-04-22 14:16:05 +08:00 via Android
这贴让我想到四大编程魔神
|
37
hepin1989 2017-04-22 14:29:18 +08:00
对于编程语言,我的建议是学习,不要只是学习语法,而是学习作者对于这个世界的问题域的思考,也就是范式。
建议您学习的语言: Clojure Scala Elixir Erlang Java Golang [《 Netty 实战》即将上市了]( https://www.v2ex.com/t/356574) |
38
uuair 2017-04-22 15:01:00 +08:00
我觉得最高级就是随心所欲的写要写的东西吧。。。何必纠结这些过程呢,语言不就是一个东西么?就跟上床需要的那张床一样,只是工具而已。。
|
39
Antidictator 2017-04-22 16:04:26 +08:00 via Android
@conwey 魔道
|
40
shijingshijing 2017-04-22 17:51:08 +08:00
精通 --- 我觉得至少要了解到编译器级别,知道这一门语言的各种特性和语法,以及在汇编(机器)级别上的实现。
当然最上面应该还有个 founder 级别的,开宗立派的那个级别。 |
41
whileFalse 2017-04-22 18:31:00 +08:00 1
当我要面试别人的时候,看到简历中写着:
了解 -> 你不具有使用该语言解决生产问题的能力,我不会问你任何有关问题。 熟练 -> 你能熟练使用该技能进行生产,并理解该语言的一部分高级特性,能够使用这些特性优化你的程序。我会问你使用该语言的时候用了哪些高级特性?语言有哪些坑,怎样避免踩坑。 精通 -> 你应该能回答我提出的所有该领域相关问题,或者能向我展示你使用过该语言的何种高级技巧,解决了什么问题。如果你在我的问题上卡壳了,我会因此给你一个负面评价。 我觉得比了解熟练精通更合适的描述是,你用某种语言 /某项技术做了什么。 我的简历,如果特意强调语言的话,会是这么写: 使用 Java 和 JS 为前后端程序员编写运维库。包含基于 UDP 组播的局域网服务发现等功能。 JS 使用了多种 ES6/7 特性。 使用 Go 实现了基于配置文件的 RESTful API 网关,支持请求合并、条件分支等功能。 使用 Python 撰写大部分运维脚本 实际上这几种语言我连语法都不熟悉,经常要上网搜语法。然而我能用他们解决生产问题。 当然了,我的简历肯定不会强调语言了。 |
42
FunctionOne 2017-04-22 20:25:25 +08:00
把所有的坑踩一遍应该就好了。
|
43
leetao94 OP @whileFalse 看你的回答,我觉得以后写简历有谱了
|
44
loading 2017-04-22 21:28:49 +08:00 via Android
我业余水平,所以我一般用:
听说过,了解,略懂。 |
45
luoqeng 2017-04-22 23:42:44 +08:00
Asking questions on the newsgroup/mailing list
Asking good questions on the newsgroup/mailing list Answering questions Paid to write code in that language Written 10k lines of code in the language Written a compiler for the language Written an optimizing compiler Written a book on the language Participated on the standards committee Written the book on the language. https://www.quora.com/How-do-I-understand-my-level-in-programming-language |
46
GeekGao 2017-04-23 00:05:31 +08:00
个人浅见:
了解:对于有些语言特性只是知道但是项目中没有实际使用过 熟悉:对于所知语言特性都有代码实践过 精通:对语言特性、规范、存在意义或历史都可以谈自己的见解,对常见的优化手段和坑可以头头是道的讲出口。 |
47
acros 2017-04-23 00:14:07 +08:00
了解: 在这个公司能做业务逻辑(可能需要人带着)
熟悉:拿到老大的任务可以独立完成 精通:部门其他人不会修的 bug 你会,做出来产品稳定性比他们好,开发速度更快。 |
48
lrxiao 2017-04-23 00:21:03 +08:00
做 PLT 的怎么分(
|
49
iwyvi 2017-04-23 06:51:38 +08:00 via Android
看到就是半血,摸到就是一丝
|