ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

架构师之路(一):何时选用合适的语言

2021-01-30 16:35:00  阅读:190  来源: 互联网

标签:java 语言 C# 何时 汇编语言 选用 开发 架构师


1.编程语言之争

网络上关于“哪种是最佳的编程语言之争”的话题一直经久不息,常常会引起不同的语言社区之间的激烈纷争。

我直接开门见山,不存在最好的语言,也不存在最佳的编程规范,进一步来说,没有最好的算法、方法、优化、技术等等。所有理智而寻求进一步发展的程序员都知道,我们所使用的所有编程语言,本质来说,都是进行科学计算的一种工具。如果,有人制造出了一把更加方便的“工具”,那么,我们为什么不使用呢?当然,这个“工具”可能仅仅是对某项工具有效,并且在其他任务上没有体现出高效性。

所以,有一个问题自然就浮出水面,我们在什么时候应该使用某种语言,以及给出理由为什么在此时此项工作上使用这种语言?

接下来,我会以不同语言的特性及适用场景进行分析。

2.不同编程语言分析

何时选用汇编语言:当你和最底层的硬件打交道的时候,选用汇编语言;或者说,你打算开始优化算法时。这里,没有说你不可以使用汇编语言进行上层应用开发,但是,考虑某些因素,这显得有点不切实际。最后再强调一下,当你需要更多原始的控制----方便你书写和阅读代码,建议使用汇编语言。

何时选用C/C++:C和C++是除了汇编语言之外的,另外两种较为底层的语言。如今,它们仍然在本身语言层面没有垃圾回收机制,需要开发者自行处理调试内存泄露和相关问题,但这样的缺陷也恰恰是这类语言的最强大的优势。尽管使用这类语言,需要在开发过程中花费大量时间来解决问题,但是也提供了优化的机会,这比直接使用垃圾回收机制又很大层度的优化空间。所以,当你开发内核、游戏引擎、一般时间和资源比较重要的应用是,轻易不要使用“java、C#、Scala”这类语言。虽然,在开发过程中,比较节省时间,但是这类语言比“C/C++”消耗更多的内存,甚至对于解决科学计算和经济学问题帮助较少。

所以,我们又为什么大量使用“java/C#/Scala/F#”这类语言呢?事实是,我们不需要每个应用都需要考虑运行时间和效率的问题,并且,在某些方面(比如工具库、资源管理),这类语言可能比“C/C++”有着更大的优势。

何时选用java:从中立角度来说,java很适合服务器端应用,以及web端的应用开发。java可以快速配合数据库运行,同时有限控制资源开销。但是从语言本身来说,java可能在某些方面做的并不是很好。这也是,java行业内的开发人员,一直强调将特定的语言开发规范推广为行业规范,这样有效避免了很多语言本身的问题。

何时选用C#:C#和java的应用场景非常类似,当你考虑到某类应用适合用java开发的时候,这是也应该提醒自己还有一个C#的选项。

何时选用F#:在开发函数式编程相关、且独立于平台的应用,你可以考虑F#、Scala这类语言。它们更易于处理算法、方法、函数等,这些独立于CPU和线程的任务。

3.总结

所以,在你进行系统应用开发时,需要记住一件事。并不少按照教义或信条选用语言进行开发,而是在合适的场景选用合适的语言和工具。合适的才是最好的。

标签:java,语言,C#,何时,汇编语言,选用,开发,架构师
来源: https://www.cnblogs.com/zjz-819823900/p/14349437.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有