我想学习编程,但是不知道该怎么开始。

Python018

我想学习编程,但是不知道该怎么开始。,第1张

我建议最好是从基础入手,而不是一开始就进行可视化编程。虽然如今国内绝大多数pc都是使用的windows,但是毕竟这知识这个世界的冰山一角。扎实的基础自然会更有用处。编程其实重要的是程序思维,然后是算法和数据结构。这些都是超出语言的,就是说不管是学c学java学delphi还是别的什么,这一部分都是一致的。因此培养这部分的知识可以说是一本万利的事情。初学肯定是通过语言熟悉思想熟悉算法和数据结构,到一定的时候就是纯粹的思想和算法数据结构的学习,便已经脱离程序语言了。经历过这些阶段,换一种语言不过是重新了解一下描述的方式,就像你了解了中文思维,山东话和四川话的差别就不会太大;了解了拉丁语的思维,整个语系的语言都不过是简简单单的记忆工作,应用就好。入门的语言,理论上是怎么方便学哪个,看那个顺眼学哪个。当然这里面还是有不同的推荐的。一般来说我比较推荐pascal、c/c++、java。并不是因为这三个东西很通用很有前途,而是它们实在是严整而有规则(c/c++还显得稍微的宽松了一点),而严谨的语法要求和明确的概念区分是有利于编程思维的形成和算法数据结构的学习的。同样的因为这个理由我不推荐vb,而并不是因为它功能不强大(事实上vb在windows环境中是相当牛的语言)另外一个建议是,如果学c,不要一开始就用vc。ms提供的很多东西很方便,有很多很简单的实现方法,但是它们不标准。vc与ansi

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