我是大学的学生,所以我的经验有限,因此问题。
如果有人对你说,这是一个编码任务,你在看什么才能选择你将要做的语言或范例?
希望这个问题有意义吗?
答案 0 :(得分:13)
有许多因素会产生影响:
这假设您实际上可以选择语言,当然。一种语言可能最适合这个问题,但如果你对它不够了解,那么它几乎不是一个选择,除非你有时间学习。
答案 1 :(得分:3)
我认为问题是“你怎么知道这项工作的正确工具是什么?”
部分取决于要求。如果他们谈论Web界面或数据库,您可能需要一些SQL经验和HTML经验。如果他们提到高性能图形显示,那么可能会提示C / C ++和OpenGL / DirectX。如果要求谈论高速数字处理,你可能需要...嗯...别的东西。 ;)
接下来要做的就是可以选择的东西。如果您在一个主要具有Java经验的团队中工作,除非您有非常好的理由要切换,否则您可能会坚持使用Java,或者如果您已经拥有十几个Visual Studio许可证,那么它可能就是某种.NET解决方案。
答案 2 :(得分:1)
我总是看几个不同的方面。其中大部分归结为语言支持库,环境和人为因素而非语言本身。也就是说,不同的语言具有不同的优势,选择与您需要的语言相匹配的语言非常重要。以下是我在开始一个新项目时考虑的一些事项。
答案 3 :(得分:0)
除非这是一个基本上尖叫的任务,告诉你哪种语言最适合你,你应该选择一个你最流利的语言......我想。
答案 4 :(得分:0)
这完全取决于您的兴趣和专业知识。如果您对Java有很好的了解,那么您是否希望花时间在C / c ++ / C#中进行编码?
就我而言,我会考虑可行性。如果解决方案在.Net中可行,我将使用.Net。
还需要考虑的其他事项是要实现任务的平台。如果目标服务器可以是Linux / Mac / Windows,那么请转到Java。如果任务需要太多的系统级工作,请转到c。 等等...
答案 5 :(得分:0)
冗余是关键。我会选择我最熟悉的语言,因为我的工作效率会更高。
尝试选择一种语言并掌握它。当然,了解大多数语言是件好事,然后你可以选择最适合你的语言。
然后坚持你最喜欢的那个。
对我来说,它是Asp.Net C#/ jQuery。
PHP有一个很好的社区,它是免费的。如果你是新人,我会从这开始。
答案 6 :(得分:0)
我看一个问题,我想在很高的层次上我将如何用我所知道的一些语言来实现它。比方说,我知道在MFC / C ++中实现一个对话框需要两倍的代码,就像在C#中实现它一样,而且我的Java有点生疏。我会选择用C#编程。
但是,由于您是学生,您可能希望选择一种您不熟悉的语言,并使用该语言实施该项目。我的理由是我进入大学非常了解C ++。用C ++实现我知道我可以做的事情对我来说并不是很好。但是,在我不熟悉的C#中实现它会让我从程序中获得更多的知识,而不是我本来会得到的。在学校里保持这个概念,你最终会知道更多。
所以基本上你的选择取决于你是否想用你知道的最简单的语言编写它,或者你想用你想要学习的语言编写代码。每个决定都有不同的优势。
答案 7 :(得分:0)
我要看的第一件事是:我所知道的语言/范例是什么?基于这个答案,我会问自己哪种语言/范式的优势能够解决问题。这是一个例子:
我了解JavaScript,Java和Python(用于此对话)。这个问题是基于网络的吗?支持JavaScript的巨大论据。很容易尝试新想法对这个问题有价值吗?支持Python的大论据。它是长期运行和性能敏感的吗?这是Java的论据。
答案 8 :(得分:0)
在现实世界中,您几乎总是在构建由其他人创建的库和框架。所以我问的第一个问题通常是什么是最好的库和框架,然后在它们的基础上构建。按照我使用它们的大致顺序分解为:
用于密集图形和图像处理的C ++,一些数字工作和高级解释器。
用于Web服务器端的Java + XSLT(虽然我已经做了大约6年没用过多少web了,可能会使用Ruby来查找那些东西,或者在MS商店中使用.net)
C#用于商业表格和不太密集的图形
python用于非常小的脚本,偶尔也是小型GUI应用程序。
C99如果我想使用较低级别的库,较低级别的解释器,以及偶尔的PIC或嵌入式系统。
我最终还是做了一些Fortran维护,但从未启动过Fortran项目。
这些绝不是决定性的,但我发现这些领域的效果都很好。其中一些是判断 - 我想换掉长编译时间和简单的模块化来获得性能和表现力(C ++)的组合吗?我是否想要快速创建基于表单的现代GUI(C#)?我是否想操纵指针并编写自己的垃圾收集例程(C)?我想快速尝试一种算法来查看它是否有效(Python)?
答案 9 :(得分:0)
选择已有详细记录的语言。