c标准是有很大的差距的。首先一个不遵循标准的c/c++程序是不通用的,换个编译器说不定就不被承认了。所以我非常推崇gcc,理由之一是它完全符合
ansi
c标准,无论它的c还是c++编译器都很严整,功能上一点也不缺乏(有人说gcc不能做图形界面的程序,这一点完全错误,到处都有的qt库和gtk库都能做出很好的界面),另外一个理由便是它免费,毕竟稍微大一点的软件企业就不会屈从与微软的编译器和平台,而一个免费的c编译器无疑可以创造更多的利益;就算要转vc,标准的c程序也是几乎不要作任何改动的。当然,这一切的前提是,你真的很想很好的学编程,做一个这方面的精英。如果只不过是兴趣,或者只是想拿一个ms的工程师认证然后在国内企业找份诸如设计vf、vb程序之类的工作,那完全可以忽略我上面的话,去找个认证培训班,认认真真听听课,好好完成练习,从vb或者vc入手,考好认证是很不会太难的。毕竟现在很多很好的大学里都从来不缺乏计算机的课程,不会缺少算法或者编译原理的课程,不会没有计算机科学的研究院,而那里面出来的人一般都具备了很好的基础知识,会更加容易成为前面所说的精英。
歌曲名:Real Love歌手:Ruby Murray
专辑:Anthology
Beach House - Real Love
I met you somewhere
in a air beneath the stairs
They sound up and they move
It finds you and they go boo
Boo boo boo
The color you say is black
Is the world at my back
In the size of your eyes
Is there a righteous prize
Oh oh ohhhh
I met you
They sewed the throne with out hearts
Then he cold, stands apart
In the bland moonlight
Watch this seabird fall
Real love it finds you somewhere your bound to it
You know you know
we belong
by the stream to the dawn
you know you know
http://music.baidu.com/song/2751414
Lynn Greiner的文章《脚本世界现状》遭到痛批 一些人对文章明显的疏漏表示出了不满 因为文章只涵盖了PHP Perl Python Ruby Tcl和JavaScript Lynn只选择这些语言 因为那她是为三年前的一篇文章做的后续报道 此外 大多数IT经理即使没有亲自编写过代码 也都至少熟悉其中一种脚本语言
然而 尽管我们已经深入了解上述五种语言 但是开发人员使用语言的却不仅限于这五种 由于每种编程语言都是适合于解决某个具体问题的工具 因此每个IT公司都能挑选一个最适合自己的语言 在本文中 我们会分享一些新兴的脚本语言 以提供些指导
Scala
Scala对开发人员而言是别具吸引力的 按照其网站所说 Scala 既是对象面向型又是实用型的 它混合了一些现代语言功能 同时与Java保持着密切的兼容性
Object Mentor的高级顾问Wampler说 Scala是我见到的最好的一体适用的语言 Scala弥补了Java的不足 比方Java为对象面向型编程提供的支持冗繁而有限 此外 Scala支持功能性编程——在学术计算机科学界已存在很长一段时间的一种方法 但现在被证明用来编写强效并行软件非常有用 并行技术对在大型网站和企业扩展软件十分重要
Trampoline Systems开发人员David Ritchie Maclver认为 Scala的主要好处是能避开Java 他说 就图书库的支持 性能和易于部署而言 我可以匹配Java 许多Java工具也推到Scala 他认为 他的公司正为可视化软件的软件采用Scala 随着这一更新 将减少Java和Ruby的使用
但是 Maclver并不推崇Scala的一切 他说 为了发挥并行优势 人们会推动Scala的发展 但请不要受制于这种诱惑 因为它不能取代Java
Groovy
另一种语言就是Groovy 根据其网站所称 Groovy是为Java虚拟机(JVM)而设计的一种灵活而动态的语言 集Java之长 但受Python Ruby和Smalltalk的启发 具备额外的功能和特点
Groovy令人信服之处在哪里呢?首先提出这一问题的开源新闻平台批评家说 我感到惊讶的是Groovy没有出现在任何地方 如果有一个动态语言能平衡企业的拥堵 那它就是Groovy 它能汇编进Java字节码 并直接利用庞大的Java库 却省去了繁琐的Java句法 几年的时间后 Python和Ruby被Groovy取代将不会使我感到惊讶
Groovy让Java开发的指令有效表达 同时又与Java代码保持相互兼容性
Closure
您的公司可能会采用最新的硬件 但您的软件可以充分利用其多线程功能吗?您可能想看看Clojure 它是一个以虚拟机为目标的动态编程语言 其网站上解释说 Clojure被设计成一个通用语言 它是将高效和强劲的基础设施同脚本语言的可接近性和互动发展相结合的多线程编程 Clojure是一种直接编辑JVM字节码的语言 却保存了完整的动态特点 每个由Clojure支持功能在运行时也获得支持 Clojure提供对Java框架的轻松访问 通过可选类型提示和类型推断确保调用的Java可避免映射
小?强大?Java?这三个能并存吗? Clojure是一种体积小 功能强大的语言 它在虚拟机上编辑并运行 因此不需要新的基础设施 此外 它也可以让您以更少的代码处理更多事情 这对发展进程和维护都是好事 特别有益于在缺乏像Java那样足够多的程序员开销时 利用多核硬件
现在软件开发中最紧迫的问题在于如何更好地利用多核CPU 以提高性能和降低能源成本 就方便与安全性而言 Clojure用于并行要比其他任何语言都要优越 它继承的Lisp极大地提高程序员的生产方式 随着时间的增长 它能实现简单的DSL创建以便商家验证程序的正确性 它能在模拟机上运行并能顺利与数百万行遗留的Java代码融合还仅是其表面现象
Lua
正式点说 Lua是一个强大 快速 轻量 可嵌入的脚本语言 Lua结合了简单的程序句法并具备强大的基于关联数组和可扩展的语义的数据描述 Lua是动态型的 它的运行通过为基于寄存器的虚拟机解释字节码来实现 通过增量垃圾收集自动管理内存 非常适合配置 撰写脚本 和快速原型
通俗点说 这只是一个非常小的语言工具用它办事很快
开发人员RalphHempel将Lua描述为 编程语言中最棒的小秘密 他还说 虽然它没有一个正式认可的库分配机制 但却有大量的标准库供文件系统访问 网络连接 数据库访问等等 对我来说 该系统最好的部分是坚如磐石的语言核心和考虑周密的升级和补丁 Lua的发布由从一开始就参与该语言的 Three Amigos 控制 Hempel已向LEGO Mindstorms NXT移植Lua
Lua的优势在于它的快速敏捷式开发超过了传统的语言 它给你所需要的积木 您可以以任何方式建立你想要的任何东西 惊人的小和快是Lua特点 就技术层面而言 它是杰作
F#
NET开发社区并非没有一套脚本语言增强功能 其中最突出的是F# 它起先作为微软的编程语言研究 集安全 简洁 性能 表达和脚本于一身 能高品质运行 支持现代运行系统 现在微软把F#转变成 NET平台上的充分支援语言
F#促进编程的功能性不可改变类型 而这适合并行和分布式程序的编写 此外 它支持编程的陈述风格 陈述风格可以让你区分为解决问题开发一些智能库的高级程序员和使用它来解决日常问题的初级程序员
许多编程语言可以很容易地写一些小东西 再扩展成一个较大的应用程序 但当软件需要变成一个真正的有强大逻辑结构的库时 问题就来了 F#就可以让你做得很好 你可以从简单的(就像使用动态类型语言如Python或Ruby那样)开始 最终完成一个非常强大的程序(如同C #或Java ) F#的关键益处是做到过渡完全流利而无须经历任何痛苦的步骤 事实上 你不需要重写任何开始时的代码
F#额外的好处是通过学习F#有助于你成为更好的C#程序员 F#有助于人们了解LINQ 如果你未来想平行运行什么东西 它可能是很好的准备
Boo
Boo在其主页上宣布 它是 为CLI(通用语言基础设施)设计的 一个新的面向对象的静态类型的编程语言 具备Python inspired句法并特别侧重于语言和编译器的可扩展性
这不是一种解释语言 因为它的编纂是为了CLI 由于它在 Net上运行 您拥有 Net的所有权力 只有它更灵活 而且您把它当作一个脚本或编好的程序 Boo也有足够的技术优势 如能在汇编过程中操纵编译器输出
计算机语言是制作软件的一种工具 Boo作为一种计算机语言与其他工具( Net 生态系统)一样表现出色 但Boo更具竞争力 因它给予开发者空前的力量开发自己的语言工具 大多数语言围绕一套固定的概念工作 Boo赋予开发者制作自己的语言概念的能力 此外 Boo句法也很奇妙 并配备了各种口译以加速发展
lishixinzhi/Article/program/Java/Javascript/201311/25328