• 请不要在回答技术问题时复制粘贴 AI 生成的内容
eyp82
V2EX  ›  程序员

大家是怎么熟练的在两门以上语言之间切换的?

  •  1
     
  •   eyp82 · Dec 31, 2016 · 10736 views
    This topic created in 3597 days ago, the information mentioned may be changed or developed.

    我感觉每门语言都有很多细节 /使用习惯 /设计理念需要去掌握, 适应. 切换语言而且要求切换过去之后整个的思路写法什么的全部符合该语言的习惯有点困难啊. 不知道大家怎么搞定的?

    PS, 那种临时抓本书操练几个小时就直接开撸程序的不在我的讨论范围, 我觉得那种写出来的代码大部分是垃圾, 对, 就是垃圾.

    Supplement 1  ·  Dec 31, 2016
    又看了一下我的主帖, 最下面一段说是垃圾有些过分了, 虽然这么写出来代码质量确实很大可能不高. 大家忽略最后一段,抱歉.
    84 replies  •  2017-01-03 01:37:23 +08:00
    zxgngl
    zxgngl
    Dec 31, 2016
    1
    把相似的点列在一张纸上或者文档里,用得多了就记住了。
    xingo
    xingo
    Dec 31, 2016 via Android
    2
    前端:我每天在至少 3 门语言中切换
    ragnaroks
    ragnaroks
    Dec 31, 2016❤️1
    3
    https://devdocs.io/

    PS, 代码垃不垃圾由市场决定.
    murmur
    murmur
    Dec 31, 2016
    4
    你选类 c 的语言就好了。。
    eyp82
    eyp82
    OP
    Dec 31, 2016
    5
    @ragnaroks 说的貌似好有道理, 但市场谁管你代码烂不烂, 反正出问题让开发人员没日没夜的填坑罢了.
    eyp82
    eyp82
    OP
    Dec 31, 2016
    6
    @xingo 好奇是哪三门?
    murmur
    murmur
    Dec 31, 2016❤️6
    7
    个人经验
    1 、不要听所谓高人指引,保持思路的流畅性是最重要的,因为你一天能写多少代码啊,一半时间在思考 1/4 时间在发呆吧,拉姆达表达式、函数式编程固然好,但是你都按 c 的套路写也没问题,只要按编码规范,定期代码审查,现在又不是说谁写的代码短谁就效率高,也没人无聊去考究 forEach 和 for 循环哪个效率高
    2 、造轮子之前查一下别人做过没有,很多时候你写出垃圾代码是因为你做的东西可能就是库函数一句话,或者有那种炒鸡成熟的实现,这种就不要做了,别人的代码身经百战了,什么项目没用过?比如我要实现 array 里元素的 swap ,这是大学 c 语言里最基础的编程了,不,但是这样写不 js ,于是我搜 npm array swap 果真别人已经封装好了,有兴趣可以看看那些奇技淫巧都是怎么做的,学不来你还引不来么
    3 、个人感觉,不是太牛逼的选语言还是围绕类 c 语言来选,函数式语言不是那么好理解的
    hweining
    hweining
    Dec 31, 2016
    8
    前端: node.js 从入门再入门 对了 iOS Dev 还有 swift
    xwartz
    xwartz
    Dec 31, 2016
    9
    @xingo 该不会是 HTML / CSS / JS 吧...
    msg7086
    msg7086
    Dec 31, 2016❤️1
    10
    比如我写 Python 的时候得强迫自己写出 Java 风,写 Ruby 的时候则要写出 Lisp 风。

    有时候感觉挺难的。
    liqingcan
    liqingcan
    Dec 31, 2016
    11
    把搜索引擎的窗口备好,哪里忘了查哪里。
    jackisnotspirate
    jackisnotspirate
    Dec 31, 2016
    12
    打开自己的代码库,照着风格写。
    t6attack
    t6attack
    Dec 31, 2016
    13
    每门都学的浅,或者每门都学的深。都没这个问题。
    学的浅的你已经 BS 了,解决办法当然是往深了学了。
    lcc4376
    lcc4376
    Dec 31, 2016
    14
    多語言(Python, C#, Javascript)+多系統之間切換(Windows, Mac, Linux Server), 久了就習慣了
    onlyhot
    onlyhot
    Dec 31, 2016 via iPhone
    15
    php js 常常搞错
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Dec 31, 2016
    16
    @murmur 我咋感觉函数比类简单呢,一般上手也是先学函数再学类啊
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Dec 31, 2016
    17
    我反正写 Python 的时候总能写出一股 C 风,写 C 的时候一股 Python 风……
    billlee
    billlee
    Dec 31, 2016
    18
    学 C++, 然后各种设计理念就都懂了
    bdbai
    bdbai
    Dec 31, 2016 via Android
    19
    @BXIA 函数式语言😂不是函数
    sammo
    sammo
    Dec 31, 2016
    20
    降低对于语言风格的敏感度
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Dec 31, 2016
    21
    @bdbai oops ,想到了 Scheme ……
    stillsilly
    stillsilly
    Dec 31, 2016
    22
    @xingo 23333
    exoticknight
    exoticknight
    Dec 31, 2016
    23
    1. 用比较强的规范约束自己的代码风格
    2. 用 IDE
    eminemcola
    eminemcola
    Dec 31, 2016
    24
    xml 算语言么 如果算的话大部分人每天都在至少两门语言中切换吧
    SingeeKing
    SingeeKing
    Dec 31, 2016
    25
    做网站的:
    html css javascript
    php sql json xml
    嗯。。几门了。。。
    siloong
    siloong
    Dec 31, 2016
    26
    同时在 N 多语言中切换。。刚切过去的时候比较混乱会忘记自己在写什么,写两行熟悉下就好了
    feng32
    feng32
    Dec 31, 2016 via Android
    27
    平时工作用 c, bash, awk, python, html, javascript, ecma script
    自己的业余项目用 c++, c#, python

    切换起来没太大困难,多用用就熟了
    TheCure
    TheCure
    Dec 31, 2016
    28
    IDE
    MrBearin
    MrBearin
    Dec 31, 2016
    29
    @ragnaroks 这个网站赞啊
    deanguqiang
    deanguqiang
    Dec 31, 2016 via iPhone
    30
    每天在 c python matlab verilog vhdl 间切换,有时需要看自己的老代码来回忆一下正确的语法
    yellowV2ex
    yellowV2ex
    Dec 31, 2016
    31
    我以为是普通话和粤语
    cuebyte
    cuebyte
    Dec 31, 2016
    32
    前端工程师笑而不语
    iyaozhen
    iyaozhen
    Dec 31, 2016 via Android
    33
    IDE 的重要性
    然后还有代码规范

    感觉还好吧
    GtDzx
    GtDzx
    Dec 31, 2016
    34
    不太严格的讲,一个编程语言有数组、 if 、 for 或函数调用就是图灵完全的。用这些啥都能写出来了。
    murmur
    murmur
    Dec 31, 2016
    35
    @BXIA 函数式编程。。。可能我打错了?
    lain0
    lain0
    Dec 31, 2016
    36
    多语言之间切换
    多编辑器之间切换
    多浏览器之间切换
    多操作系统之间切换
    #神级操作
    jy01264313
    jy01264313
    Dec 31, 2016
    37
    用 google 就好了
    imbahom
    imbahom
    Dec 31, 2016 via Android
    38
    每天要用到: 接 sdk , Java,Objective-C , php,lua ,c++ ,打包工具 Python,JavaScript 。
    现实就是,经常会间歇性地对正在用的语法产生怀疑
    Xrong
    Xrong
    Dec 31, 2016
    39
    js, python, php 经常搞混。。。
    dtw5t
    dtw5t
    Dec 31, 2016
    40
    前端: HTML 、 CSS 、 JavaScript 、 node.js 、 Vue.js
    maomaomao001
    maomaomao001
    Dec 31, 2016 via Android
    41
    @eyp82 HTML , css JavaScript 呗~~~ 又或者 react , sass , typescript ,各种
    Allianzcortex
    Allianzcortex
    Dec 31, 2016
    42
    Java Python Scala 混用,表示还好.......

    Python 不建议用 map/reduce ,建议用 list-comprehension 来解决问题。但 Scala 虽然有 for-yield ,却一直要用 map/reduce 一系列的函数式操作来处理 Immutable Object ...

    Java 语法是 verbose yet obvious , JavaBean 风格的代码写着好变态,但 Java 的 GC 和应用场景都不用说,不用都不好意思
    keenkiller
    keenkiller
    Dec 31, 2016
    43
    唯手熟尔
    ihuguowei
    ihuguowei
    Dec 31, 2016 via Android
    44
    好多前端强行几种语言,能够算得上的只有 JS 吧,还有框架跟语言分不清的~~
    dusong7
    dusong7
    Dec 31, 2016
    45
    python C C#。。。。
    indooorsman
    indooorsman
    Dec 31, 2016 via Android
    46
    html css js 算 3 种语言么😂
    indooorsman
    indooorsman
    Dec 31, 2016 via Android
    47
    原来有段时间同时写 Python JS Java ,写出来都是 JS 风格…
    kingcos
    kingcos
    Dec 31, 2016
    48
    前段时间写数据结构,在 C C++ Java Objective-C Swift 之间切换。。。
    之前看 iOS 的视频,看 OC 直接翻译成 Swift 。。。
    fox0001
    fox0001
    Dec 31, 2016 via Android
    49
    多写代码
    Immortal
    Immortal
    Dec 31, 2016
    50
    经常接触
    wudanyang
    wudanyang
    Dec 31, 2016
    51
    搞定一门语言,然后在这个基础上延伸
    yunshansimon
    yunshansimon
    Dec 31, 2016 via iPad
    52
    写网页可以快速在 html , css , js 里切换。因为它们完全不同。一个阶段只能写一种主语言,写 swift 的时候换到调试 java 会疯的。写之前先要进入状态,先设想一下可能使用的伪代码,然后写实现。上层逻辑是差不多的,比如都是 mvc 模型。后端都是路由加 api , php 和 nodejs 是完全一样的。数据库访问 sql 和 nosql 完全不一样,建议别混写。我在同时写后台 nodejs 加 mongodb 和前台 android 加 sqllite ,尽量把数据访问包装成相同对象,相同方法和属性,只在真正实现方法上再写不同。以前从来不在 java 里用 callback 的,现在上来先写 interface …所以,用多种语言习惯了也没那么可怕,但过程确实痛苦。
    blueset
    blueset
    Dec 31, 2016 via Android
    53
    在 Python 3, PHP, JS, C/C++, HTML/CSS, zh-CN, en-US, ja-JP 之间切换过,感觉基本上忘了的话就去查文档吧。
    至于习惯思路之类的基本上有一种跟语法一体的感觉。
    zonghua
    zonghua
    Dec 31, 2016
    54
    我精通的一门编程语言叫做 BUG
    kmyzzy
    kmyzzy
    Jan 1, 2017 via Android
    55
    @lain0 还有多性别之间切换
    konakona
    konakona
    Jan 1, 2017
    56
    各自的 IDE 一定要有。
    haoc
    haoc
    Jan 1, 2017
    57
    @Allianzcortex python 为什么不建议 map/reduce?
    wweir
    wweir
    Jan 1, 2017 via Android
    58
    @lain0 这几个具体都做到了,特别是操作系统。现在 3 个主流操作系统都在用
    linux40
    linux40
    Jan 1, 2017 via Android
    59
    熟能生巧
    y1shan
    y1shan
    Jan 1, 2017
    60
    肌肉反应
    Allianzcortex
    Allianzcortex
    Jan 1, 2017 via iPhone
    61
    @haoc 因为可读性差。 3 里面已经把 reduce 放到 functools 目录下了,必须引用才能用
    libook
    libook
    Jan 1, 2017❤️1
    62
    其实楼主应该是想问如何在特性不同但可用在同一领域的语言中切换;比如同样是服务端开发,有时候会因为追求不同特性而在一个项目的不同子项目使用不同语言,举个例子,基础业务使用 JS ,部分旧业务不重写继续用 Java 、 PHP 、 Ruby ,认证授权使用 C++,在一个迭代中可能需要在这些语言中来回切换。。。

    不同语言对面向对象、同步异步思想等等支持是不一样的,设计程序和架构的时候也要区分考虑。

    这也是我比较困惑的问题,有的时候甚至是同一门语言用在不同地方也是不一样的,比如 JS 用在服务端有 require 很方便,但用在前端通常都是在 babel 下用 import ,然后在旧版 MongoDB 中只能用 ES5 。

    可能搜索引擎做速查是个比较靠谱的方法。
    eyp82
    eyp82
    OP
    Jan 1, 2017
    63
    @libook [handshake][handshake]
    yuchting
    yuchting
    Jan 1, 2017 via Android
    64
    一般写游戏程序前端用 c#,后端用 java ,切换难度小,有时候会写 js ,这个时候难度较大,需要自己以前的学习笔记和 google
    kaneg
    kaneg
    Jan 1, 2017 via iPhone
    65
    我平时的工作就是在 Java 和 Python (严格来说是 Jython )之间切换,偶尔在语法上会出现一些交错,但都是小问题。编程主要还是一个思路问题,两种语言让我思路更开阔,不会被一种语言的缺点束缚,在一种语言有瓶颈的时候也许另一种可以轻松解决。
    iLluSioN
    iLluSioN
    Jan 1, 2017
    66
    写 Python 的时候总想加分号……
    mingyun
    mingyun
    Jan 1, 2017
    67
    @iLluSioN 加分号也没错吧
    singer
    singer
    PRO
    Jan 1, 2017 via iPhone
    68
    C++ PHP 作用自如
    结尾都要;
    不慌
    Senevan
    Senevan
    Jan 1, 2017 via Android
    69
    JS PY C VHDL Matlab 这一个学期同时用简直痛不欲生
    Senevan
    Senevan
    Jan 1, 2017 via Android
    70
    只要别碰硬件描述语言,什么都好说,硬件描述语言无论之前用什么熟都会感到别扭
    Em5O7B1JGfjQnBry
    Em5O7B1JGfjQnBry
    Jan 1, 2017 via Android
    71
    C++/Python 切换的时候,写 Python 常写 if/while 带括号、语句带分号,不过 pep8 提示一下写写就换过来了
    jydeng
    jydeng
    Jan 1, 2017
    72
    没什么问题好像, js 、 C#、 sql 无缝切换
    moliliang
    moliliang
    Jan 1, 2017
    73
    多写
    geralt0725
    geralt0725
    Jan 1, 2017
    74
    问这类问题的时候,脑子里是不是只有代码实现本身?

    在代码实现之外,技术还有很多东西
    在技术本身之外,依然还有很多东西

    代码垃圾不垃圾就那么重要吗?
    everettjf
    everettjf
    Jan 1, 2017
    75
    边百度边写
    iLluSioN
    iLluSioN
    Jan 1, 2017
    76
    @mingyun 加了倒是也能用 但是一般都不加……
    z742364692
    z742364692
    Jan 1, 2017 via Android
    77
    Java+JS 是少不了的
    z742364692
    z742364692
    Jan 1, 2017 via Android
    78
    还有个 SQL 也跑不掉
    Tokin
    Tokin
    Jan 1, 2017
    79
    脑子里第一个想到的就是 IDE 里,不同的语言不同的高亮规则。。。
    colewp
    colewp
    Jan 2, 2017 via Android
    80
    Java/Python/JS/Node.js/PHP/HTML/CSS ,目前就这些,我觉得还好,不会混乱
    itkdqwzero
    itkdqwzero
    Jan 2, 2017 via Android
    81
    项目间切换会慢一点
    特别是工作与个人项目的切换,架构与底层技术都不一样
    做技术不能怕麻烦
    cleveryun
    cleveryun
    Jan 2, 2017
    82
    切换语言?很多时候可能是因为切换了项目,讲真,老切换项目容易心情烦躁。
    Flygoat
    Flygoat
    Jan 2, 2017
    83
    你会看到我在 PHP 里莫名其妙调用 Python 解析器。
    zxgngl
    zxgngl
    Jan 3, 2017
    84
    我的经验是,当你使用两门语言都很熟练的时候,切换起来就容易了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4247 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 282ms · UTC 04:02 · PVG 12:02 · LAX 20:02 · JFK 23:02
    ♥ Do have faith in what you're doing.