代码之家  ›  专栏  ›  技术社区  ›  ljs TheVillageIdiot

当你已经很熟悉C语言时,学习Java是值得的吗?

  •  6
  • ljs TheVillageIdiot  · 技术社区  · 16 年前

    因为C语言在很多方面都是Java的直接派生,我想知道在学习了关于C语言的相当合理的事实后,学习Java是否有任何好处?

    音符: 请提供明确、直接的建议,而不是讨论,以便与SO指南保持一致。

    10 回复  |  直到 14 年前
        1
  •  8
  •   Adam Davis    16 年前

    如果你想用Java编程,学习Java。就这么简单。

    模式、算法和设计思想不会有太大的不同,学习语言本身就是一种回报。

    但是,Java在很多平台上运行得比C语言好(虽然Mon在改变),所以如果你想把你的脚趾放到平台无关代码中,你可能会尝试Java。你会注意到它的边缘有点粗糙,但不喜欢去C++或C。

    -亚当

        2
  •  5
  •   Odd    16 年前

    两者之间的句法差异并不很大,尽管你得到了很多在.java中无法找到的.NET特定代码,比如[]标签。但是我发现api和开发方法是完全不同的。每一个的后端都与另一个非常不同,在.NET中,一些高效且工作良好的代码可能不适合Java,反之亦然。

    我在这两方面都工作过,如果你在Java中工作的话,你必须习惯的限制在IDE中。在开发速度和易部署性方面,没有一个ide能与visual studio相比。(无论如何是国际海事组织)。

    我在很多Java项目上工作了很多。你会学到很多不同的编程技术和方法。具体地说,我建议使用j2ee,这种差异肯定会给您使用不同语言和技术的感觉。

        3
  •  5
  •   Keith Elder    16 年前

    我要用一个不同的答案。如果你正在为windows平台编写应用程序,我看不到任何好处。我之所以说那是你的“工作”,取决于你是否了解这个平台。我只能假设你的工作有赖于它,否则,你为什么要投资于它(希望这是有意义的)。

    我的建议不是停止学习,而是学习一些能给你一个完全不同视角的东西。具体来说,我建议学习一些动态的或功能性的东西。比如说f,或者试试ruby或者python。我认为这是一个更好的时间投资。

    我的02美元。

    -基思

        4
  •  4
  •   Mike Deck    16 年前

    我主要是一个爪哇人,但是在这里和那里做了一点C语言。imo两者之间没有足够的区别,无法从拓宽编程视野的角度真正获得很多好处。一般来说,当我想学习一门新语言时,我想找到一些东西,迫使我从不同的角度来看待一个程序。Java的观点基本上与C语言相同。一些高级语言特征如何工作,API在某些地方有所不同,但总体上Java和C都是内存管理的、静态类型的、面向对象的语言。

        5
  •  3
  •   Ned Batchelder    14 年前

    作为一个新鲜的人(谁知道C好,爪哇没有那么多),我会建议你这样做。

    如果你在找工作:

    投资于学习C和& Java的差异。这是因为,它会增加你的价值,减少你找工作的时间。

    如果你需要一个项目[在Java中完成]:

    那么,显然你必须学会正确!

    如果您正在寻找新技术:

    不要在Java中浪费时间,去寻找Python、Ruby或Erlang。这是因为,80%的C和Java都是一样的,你只需要学习剩下的20%个(最大值),我觉得这是浪费时间。

        6
  •  1
  •   Toby Hede    16 年前

    这里有两个考虑因素。

    如果你想学习,以便在Java环境中工作,那么学习Java显然是朝着这个方向迈出的一步。在某些方面,它应该相当直接,因为C和Java之间的实质性差异相对较小。具体取决于您使用的技术,在您使用的支持堆栈中可能存在一些实现差异,但用原始语言来说,差别很小。

    然而,如果你想学习Java来进一步促进个人发展,那么我会说,你的时间花在学习一些能让你伸展更多的东西上是更好的。像python、ruby或erlang这样的语言将真正扩展你作为程序员的视野。每一个都需要一个与你在Java或C语言中发现的稍微不同的思维集。

        7
  •  0
  •   Mostlyharmless    16 年前

    当然。很多工作都需要Java。学习JAVA并能在简历上令人信服地表达你的意思,你就不必和那些没有太多线索的人力资源和招聘人员争吵了。

    由于两者或多或少都是一样的,除了在少数地方,这是一个非常好的投资回报。更不用说它打开了使用其他框架的可能性。

        8
  •  0
  •   zappan    16 年前

    C和Java之间的相似性使您能够更快地了解Java。原则是相同的,在搜索工作时,你会获得竞争优势,或者通过选择哪个平台更适合项目(基于项目的商业侧和可伸缩性)来完成自己的项目,因为可以在Linux服务器上对Java进行缩放。不需要额外的许可证费用)。

        9
  •  0
  •   Internet Friend    16 年前

    我很了解Java,必须学习C语言来完成一个工作项目。这是非常无痛的,我学到了很多 二者都 过程中的语言。

    Java还将提供整个“一次写入,到处运行”的事情,并开辟一条基于UNIX/Linux服务器的集成项目的路径。

        10
  •  0
  •   Nat    16 年前

    这个问题的答案更多地取决于你自己的个人情况,而不是语言之间的相似性。 如果你有时间学习Java,那很好,但是有没有更宝贵的东西你可以在那个时候做。

    如果你专注于走微软的路线,学习Java是不好的,代价是花费更多的时间去了解C语言中更深入的知识,或者学习一个能让你更有价值的微软产品,比如.NET 3.5框架中的新项目。

    在.NET世界中,如果不学习与大多数公司环境中的语言使用无关的语言,就可以学到很多东西。

    做一个多面手会给你一个更广阔的发展前景,但做一个专家能更直接地赚到钱。