转CSDN:
关键问题就是:在编程语言方面达到什么程度才有资格担任系统架构设计呢?、
我认为首先架构师要对语言本身有非常充分的理解和能熟练运行语言,
其次能根据不同语言的特点和优势在系统的各个构件运用不同的语言,比如说:
1)动态配置模块可以用类似XML的脚本描述语言,这是因为在配置一般在
系统启动初期执行,所以不需要太高的效率,而且可能经常更改,所以用脚本比较好。
2)系统的一些复杂计算模块使用C++模板来实现就比较好,因为效率高而且数据类型和算法相互分离。
3)系统通信部分比较复杂,要根据实际的需求进行详细的规划,必要时要建立原型进行负载和性能测试,
对异构系统进行标准数据交换使用WEB SERVICE,对自定义的通信协议可以直接建立在SOCKET基础
之上。对OLTP等在线业务可以直接使用JAVA应用服务器,或使用事务处理或消息中间件进行。
4)和数据库的接口可以直接使用高层的JDBC/ODBC,但是对于高速的数据存储程序,比如对于服务器端的、
大并发量的数据插入或读取,就需要使用和特定数据库相关的特性,比如对ORACLE数据库可以通过
‘RAWID’这种机制最快访问到数据记录。对于重复的读可以使用缓存机制,但只适合要读取的数据不是
频繁被修改的情况,如果要读取的数据过几秒就被修改,那缓存这部分数据是没有意义的。
5) 除了性能方面,系统的容错性和可伸缩性和具体的语言也有关系,比如JAVA语言有垃圾收集机制,但C++
没有,这时架构师可能要对C/C++写模块使用预先分配内存策略来保证所需的内存不发生问题。
总之:成为一名合格的架构师是不太容易的事情,绝对不是不需要精通语言,恰恰相反,需要精通一门而最好熟悉多门才能应对当前复杂多变的业务流程,从而设计出强健可靠性的系统。
分享到:
相关推荐
仓颉编程语言语言规约.pdf
* 编程语言的使用是指使用设计和实现好的语言编写程序的过程。 * 编程语言使用需要遵循一定的编程规范和风格,如代码格式、命名惯例等。 * 编程语言使用需要考虑到语言的可读性、可维护性和可扩展性等方面。 编译器...
编程语言排行榜编程语言排行榜编程语言排行榜编程语言排行榜编程语言排行榜编程语言排行榜编程语言排行榜编程语言排行榜编程语言排行榜编程语言排行榜编程语言排行榜
仓颉编程语言:什么是仓颉编程语言,它的特点是什么? 仓颉编程语言:什么是仓颉编程语言,它的特点是什么? 仓颉编程语言:什么是仓颉编程语言,它的特点是什么? 仓颉编程语言:什么是仓颉编程语言,它的特点是...
ST语言,全称为Structured Text,是IEC 61131-3标准下的编程语言之一,常用于工业控制领域的PLC(可编程逻辑控制器)编程。ST语言以其丰富的表达能力和接近高级编程语言的语法特性,深受工程师们的青睐。本手册全面...
ST语言,全称为Structured Text,是一种结构化文本编程语言,被广泛应用于工业自动化领域的PLC(可编程逻辑控制器)编程。该语言完全符合国际电工委员会(IEC)制定的标准IEC61131-3,是PLCopen组织推荐的五种标准...
为了适应这种情况,Zemax提供了一种专有的编程语言——Zemax编程语言(ZPL),让设计师们能够更深入地开发和利用Zemax软件。 Zemax编程语言(ZPL)是一种专门为光学设计软件Zemax设计的脚本语言。它允许用户编写...
* 开源语言:Perl语言是开源的,用户可以自由地使用、修改和分发。 Perl语言的应用领域非常广泛,包括: * 文本处理:Perl语言可以用于文本处理,例如文本编辑、文本解析、文本生成等。 * 网络编程:Perl语言可以...
1. **高级文本编程语言**:使用文本而非图形符号进行编程,使代码易于阅读和维护。 2. **结构化的编程**:支持函数和过程,便于实现模块化编程。 3. **简单的标准结构**:遵循一定的语法规则,使得程序编写更加规范...
根据提供的标题“编程语言原理(第10版)”及描述“编程语言原理(第10版 编程语言原理)”,我们可以推断出这本书主要讲述了编程语言的基础理论与实践应用,是学习和理解编程语言设计与实现的重要参考资料。...
Unity3d脚本编程 使用C#语言开发跨平台游戏,适用于新手,本书全面系统地介绍了基于C#的Unity 3D跨平台开发,涉及Unity 3D 跨平台原理分析、Unity 3D 和Mono 的结合,以及在游戏脚本编程中使用C#语言
"FX2N系列PLC基本指令及编程编程语言的特点" FX2N系列PLC基本指令是指FX2N系列Programmable Logic Controller(可编程逻辑控制器)的基本指令集,它们是PLC编程语言的基础。这些指令包括图形符号、梯形图语言和助记...
Go语言是一种静态类型、编译型、并发型、垃圾回收的编程语言,由Google开发,于2009年发布。Go语言的设计目标是提供一种高效、简洁、可靠的编程语言,结合了静态类型和动态类型语言的优点。 语言简史 Go语言的设计...
Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 Rust 编程语言入门 ...
仓颉编程语言:一文读懂,什么是仓颉编程语言? 仓颉编程语言:一文读懂,什么是仓颉编程语言? 仓颉编程语言:一文读懂,什么是仓颉编程语言? 仓颉编程语言:一文读懂,什么是仓颉编程语言? 仓颉编程语言:一文读...
这种纯文本方式提供了更大的灵活性和表达能力,使得程序员能够用更接近于传统高级编程语言(如C或Pascal)的方式编写代码,这对于有软件背景的工程师来说更加熟悉和方便。 在ST语言中,你可以使用结构化的控制流...
ST 语言是一种编程语言,用于开发各种应用程序。本手册将对 ST 语言的基本原理、语法、数据类型、运算符、控制结构、函数、数组、字符串等方面进行详细介绍。 ST 语言基本原理 ST 语言是一种高级编程语言,具有...
2013年4月的Tiobe编程语言排行榜显示,Objective-C的使用份额相比去年同期增长了1.36%,成为排名前20位中增幅最大的编程语言。尽管如此,Objective-C的排名与2012年4月相同,仍然位列第四。值得注意的是,此次排行榜...
汇编语言是一种面向机器的编程语言,它可以直接利用计算机硬件特性并能通过汇编指令直接控制机器硬件。因此,使用汇编语言可以编写出在时间和空间上效率最优的程序。然而,汇编语言的学习并不是一件容易的事,它需要...
Go编程语言,也被称为Golang,是由Google在2007年发起的开源项目,旨在创造一种简单、高效且安全的编程语言。Go语言的设计灵感来源于C语言,但同时引入了垃圾回收、并发编程和类型安全性等现代特性,使得它在系统...