代码之家  ›  专栏  ›  技术社区  ›  popopome

你用什么过程来学习一种新的编程语言?[闭门]

  •  3
  • popopome  · 技术社区  · 15 年前

    这个问题是为有经验的程序员准备的。当你学习一门你想学的新语言时,你是否有一套程序可以遵循?

    我希望我有一个有效的方法或一个待办事项清单,我可以遵循,使学习过程更加精简。

    你喜欢独自学习还是和朋友一起学习?有没有什么地方可以让你轻松获得新语言的语法?你是否制作了一份特别的备忘单,在上面你可以快速地写下控制结构和重要的关键词?

    你有什么特别的记忆吗?

    每当我开始学习一门新语言时,我都会浪费大量的时间在书中摸索,这些书有一半是给初学者看的,从来没有给有经验的开发人员看。

    13 回复  |  直到 7 年前
        1
  •  8
  •   Anson MacKeracher    15 年前

    就我个人而言,我发现我需要用一种新的有趣的语言来实现一个实质性的项目。你可以一开始就阅读一本书,熟悉语法,接触有趣的特性,但什么都不能让你像项目一样用新语言思考。

        2
  •  4
  •   CoderDennis    15 年前

    我的出发点不仅仅是学习一门新语言。我找到了一个需要(或者非常适合)新语言的项目,并开始编码。

    资源取决于语言,但在线教程或一本好的“学习语言”书籍都非常有用。我不想记住任何东西,只是把文档放在身边,搜索我需要编写的每一段代码的解决方案。算法在不同语言之间变化不大,所以大多数情况下只是查找我需要的特定结构的语法。

        3
  •  3
  •   TWA    15 年前

    我通常会这样做:

    • 阅读以熟悉新知识 语言语法
    • 查找现有的开源项目 我对……感兴趣
    • 将其移植到新语言
    • 必要时重复上述步骤
        4
  •  2
  •   JaredPar    15 年前

    我通常从几个基本程序开始。通常是我正在阅读的书中的样本,然后稍微修改它们,使其更加复杂,并使粗糙的边缘变圆。

    在那之后,我就去看电影了 Project Euler 开始喋喋不休地解决问题。这是熟悉新语言和基本结构的好方法。

        5
  •  2
  •   Nosredna    15 年前

    首先,我必须确保我知道如何用“旧”的方式做事,也就是说我在其他语言中习惯的方式。

    但我不想陷入(例如)像编写C代码一样编写Python代码的陷阱,所以我阅读了新语言给我的所有东西,而更熟悉的语言则没有。

        6
  •  1
  •   Stefano Borini    15 年前

    我读了一本很好的手册,并将其与我已经知道的语言进行了比较。所以我只是了解了他们之间的区别。

        7
  •  1
  •   akf    15 年前

    学习一门新语言的一种非常流行的方法是为自己创建一个简单的项目,并用新的目标语言实现它。

        8
  •  1
  •   fretje    15 年前

    我会创造一些我以前已经做过的东西,这样我可以专注于语言本身,而不是设计或项目主题。
    我也会花一些时间去寻找(这个地方是一个很好的起点;-)和阅读一本关于语言的好书。

    剩下的就是 实习 (就像外面的一切,不是吗)。

        9
  •  1
  •   Jason Williams    15 年前

    编程的基础只需要很少的构造——一个好的程序员将能够用一小部分可用的语言特性编写出伟大的代码。

    最棒的是,当你想做一些新的事情时,你知道去哪里找,而且你做得很好,但是你不必费心去学习那些你永远不会真正使用的垃圾。

        10
  •  1
  •   Ksempac    15 年前

    我会读一些关于语言大概念的常见问题解答/书籍。

    然后我会尝试在我已经知道的语言之间进行比较,以避免在langage X中应用langage Y中使用的概念。每种语言作为完成事情的方式,即使乍一看它们看起来很相似,也不应该混合使用。

    这将是第一步。

    在更长的时间里,我会在一个论坛上关注这个语言的部分。我会在这几天里阅读许多帖子的答案,以便掌握高级概念、技巧和最常用的文库。这也有助于我注意到当我开始流利地使用语言时:当你开始能够回答某一特定语言上的许多随机问题时,这意味着你在这方面做得相当好。

        11
  •  1
  •   banan3'14    7 年前

    我希望我有一个有效的方法或一个待办事项清单,我可以遵循,使学习过程更加精简。

    您应该创建一个涵盖以下主题的项目。

    • 评论
    • 名称空间
      • if else
      • 循环
      • switch case
    • include / import / use

    特定类别:

    • 康斯特/决赛
    • 创建接口并实现
    • 继承

    数据结构

    • 大堆
      • 映射、队列、堆栈
      • 对它们的行动:
        • 插入
        • 搜索
        • 迭代

    在许多方面:

    • 代替
    • 参加
    • 分裂

    操作员

    赋值运算符 = 这有时很棘手。您必须检查它是否创建浅拷贝或深拷贝。

    怎么做 == obj.equals(other) ?

    串联: s1 . s2 s1 + s2 ?

    你能超载吗?

    编程技术

    • 异常处理
    • 与用户的交互( read , write
    • 单元测试

    int , bool , char

    功能。

    混杂的

    • 正则表达式
    • 数据格式:
      • XML
    • 文件和流
    • HTTP方法
    • 日期和时间

      你应该熟悉一些流行的图书馆,比如 Math , algorithm .

        12
  •  0
  •   Wayne Seymour Wayne Seymour    15 年前

    然后我在编译器或解释器的命令行中运行一些常用命令。 我在网上寻找论坛,以了解其他人对此的看法。 然后研究如何在java中使用外部参数,如psvm(String[]args)。

        13
  •  0
  •   Oguz    7 年前

    Here 是一门关于数据结构和软件设计的课程。

    推荐文章