atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质



#---语言的 工具和材料双重性

有的人说语言是个工具,有的人说语言是个材料..实际上语言同时属于两个属性..走跟个光的波粒二重性雅十..



#---语言的工具属性





走跟个对于开发效率最大的影响就是工具...

现今,使用比较广泛的语言主要的c语言系列的..  

按照开发效率次序:: c++<java<groovy<php/c#<Gail框架



作者 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax



#---语言的材料属性

程序语言所对应的应该是等“材料”,而不是“工具”。。那么对应工具的是什么呢?是 vs,dw, Eclipse,Visual Studio 等编程环境,以及各种编译器,调试器,make,界面设计工具,等等。这些真正的“工具”




程序语言的优雅程度是次要的问题吗?一个复杂而不安全的语言就像劣质的木料和粘胶。它不但会让餐桌和椅子的美观程度大打折扣,而且会造成它们结构的不牢靠, 。同时它还会造成工作效率低下









#---语言无关性..总是有人说:“程序语言只是一种工具。只要你的算法好,不管用什么语言都能写出一样好的程序。

 



很多大牛会提及语言无关性。

并不认为这句话是错的,只是觉得不是所有人都有资格说这句话。如果是一个菜鸟,大言不惭的说语言无关性,那可真是笑话了。一门语言都无法精通的人,何谈语言无关性。是的,相同的问题可以同步多种编程语言解决。对于大牛来说,无论使用哪种语言可能都是得心应手,并不是他对所有的语言都精通,而是他已经掌握了编程语言的本质以及编程思想,学习一门新的语言可能只是十天半月的问题。但是对于初学者来说,编程本质与思想,以及对于细节问题的纠结,使他们无法脱离问题本身,而将大部分精力花在语言上,这没什么不值得的。



所以我认为,你可以说语言无关性,但你首先要扛得起“大牛”这两个。



再者,大牛也不要对初学者强调语言无关性,你是在误导他们。等他们真正达到那个境界,这个思想自然就领悟了。









参考

语言不是工具,而是材料王垠:程序语言不是工具 - 博客 - 伯乐在线.htm

atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质的更多相关文章

  1. Java是如何实现平台无关性的

    相信对于很多Java开发来说,在刚刚接触Java语言的时候,就听说过Java是一门跨平台的语言,Java是平台无关性的,这也是Java语言可以迅速崛起并风光无限的一个重要原因.那么,到底什么是平台无关 ...

  2. Java虚拟机与平台无关性

    概述 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. --<深入理解Java虚拟机>(从这里可以看到,字节码是一种文件格式) 我们都知道计算机只 ...

  3. 2017年"程序媛和工程狮"绝对不能忽视的编程语言、框架和工具

      2017年"程序媛和工程狮"绝对不能忽视的编程语言.框架和工具 在过去的一年里,软件开发行业继续大踏步地向前迈进.回顾 2016 年,我们看到了更多新兴的流行语言.框架和工具, ...

  4. Atitit.编程语言的主要的种类and趋势 逻辑式语言..函数式语言...命令式语言

    Atitit.编程语言的主要的种类and趋势 逻辑式语言..函数式语言...命令式语言 1. 编程语言的主要的种类 逻辑式语言..函数式语言...命令式语言 1 2. 逻辑式语言,,不必考虑实现过程而 ...

  5. C语言第一节 C语言程序与开发工具

    开发工具的选择 可以用来写代码的工具:记事本.UltraEdit.Vim.Xcode等 选择Xcode的原因:苹果官方提供的开发利器.简化开发过程.有高亮显示功能 使用Xcode新建一个C程序的源代码 ...

  6. Android For JNI(一)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序

    Android For JNI(一)--JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序 当你的Android之旅一步步的深入的时候,你其实会发现,很多东西都必须去和framew ...

  7. Atitit 编程语言原理与概论attilax总结

    Atitit 编程语言原理与概论attilax总结 1. 语言的分类1 2. 语言评价标准1 3. 编程语言原理(第10版) 目录: 2 4. 代码之髓:编程语言核心概念2 5. <编程语言实现 ...

  8. 十大PHP程序员必备工具

    十大PHP程序员必备工具 1.Notepad++ 总结来说就是小而精,7.4版本的软件包只有2.9M,比一般的IDE小数十倍,但是Notepad++的功能确是很全面的,代码高亮,语法折叠,宏功能,内置 ...

  9. atitit.编程语言的未来趋势与进化结果

    atitit.编程语言的未来趋势与进化结果 1 语言就像物种一样,会形成进化树,没有前途的分支将枯死脱落. 1 2 机器语言 1 3 汇编语言 2 4 C语言, 硬件抽象层 2 5 高级语言:java ...

随机推荐

  1. spring中Bean的生命周期

    初始化方法:在Bean实例初始化后自动执行的方法 销毁方法:在Bean实例销毁前执行的方法 <bean id="bm" class="springTest.Car& ...

  2. nodejs--偏函数

    偏函数的例子,解释--假设有一个参数或变量已经预置的函数A,我们通过调用A来产生一个新的函数B,函数B就是我们说的偏函数 偏函数解决这样的问题:如果我们有函数是多个参数的,我们希望能固定其中某几个参数 ...

  3. iOS工作笔记(十四)

    1.scrollview的frame指的是其可视范围,contentSize指的是其滚动范围,分别是在水平方向和竖直方向上的 所以要让scrollview在水平方向不能滚动,那么需要如下设置 _scr ...

  4. 对需要聚类的数据使用canopy做初步的计算

    K值聚类的时候,需要自己指定cluster的数目. 这个cluster数目一般是通过canopy算法进行预处理来确定的. canopy具体描述可以参考这里. 下面是 golang语言的一个实现(对经纬 ...

  5. Linux下守护进程初探

    守护进程一直后台运行,与终端脱离,一般负责周期性地执行系统任务,服务器应用一般以守护进程进行运行.实现一个守护进程主要分为5部: 1.脱离父进程 2.setsid(可以选择再次fork) 3.umas ...

  6. 网页中的JavaScript

    变量的声明和赋值 var count;定义变量 count = 5;赋值 var” - 用于声明变量的关键字 “count” - 变量名 同时声明和赋值变量 var count = 10; 声明多个变 ...

  7. C#键盘钩子 鼠标钩子

    最新对C#模拟键盘按键,鼠标操作产生了兴趣.特从网上收集了一些常用的API用来调用键盘,鼠标操作. class Win32API { #region DLL导入 /// <summary> ...

  8. EXCEL某列长度超过255个字符导入SQL SERVER的处理方法

    问题描述: [Excel 源 [1]] 错误: 输出“Excel 源输出”(9) 上的 输出列“Description 3”(546) 出错.返回的列状态是:“文本被截断,或者一个或多个字符在目标代码 ...

  9. 第45讲:Scala中Context Bounds代码实战及其在Spark中的应用源码解析

    今天学业习了上下文界定的内容,看下这段代码 class Pair_Ordering[T:Ordering](val first : T,val second : T){  def bigger(imp ...

  10. Webpack使用教程六(Plugins)

    webpack可以通过插件进行功能扩展.webpack拥有很多的内置插件和第三方插件.下面以webpack自带的插件bannerPlugin为例,说明插件的简单用法.bannerPlugin可以将任何 ...