我自己在学习编程的过途中有的几个疑问,1)什么编程语言我需要学。 2)学多少种才算可以。最后通过我自己学习感受和对其他编程高手(主要是新闻组)的请教,我认为找到了满意我的答案。抛砖引玉,做个参考吧。
对于初学者,我建议从 python 开始学。因为它在语言设计上很整洁,帮助文件也很全面。而且也是 object-oriented (O-O),尽管我把它作为一个初学者开始的语言,并不代表它的用处和功能不强大。实际上它是个功能强大,可以用来做大的编程工程的语言。
我知道国内对 python 可能还不了解,因为它相对来说也比较新(1990),到现在有12年的历史了,但是它在国外已经被广泛接受和认同,快速发展。不过我知道邮电出版社最近刚出了一本介绍 python 编程的书,大家可以查询。python 的主页 www.python.org
Java 也是个很好的语言来开始学编程。不过它比 python 复杂。国外的大学现在都采用 java 作为电脑专业的凯时语言。总之我觉得除了 python 之外,它也可以作为一个极好的初学者语言。
不过,会了这两种语言,并不代表你就是一个编程员了。学会编程的关键就是 -- “ 编程思想“ 。 学会怎样用一种很“ 广泛的思维“ 去考虑“ 编程问题 “,也就是这种思维是可以放之于任何一种编程语言都可以解决问题的,而不是局限于单纯的一种语言。这样当你需要学习一种新的语言时,你只要学习他的语法等等就可以了,至于怎样用这种语言解决编程问题不是早就在你的脑子里了吗。所以,这也就是为什么很多程序员可以拿到一种语言,一两个星期就可以使用的很熟练了。这,也同样要求你去学几种完全不同的语言。
C 语言是非常有效率的,很多时候你都需要考虑内存的管理等底层的东西。很可惜这些都需要你去花很多的时间去做,问每一个 C/C++ 的程序员,用 C/C++ 编程是不是一个很头疼的事。好消息是,现在的机器都已经很高级,运算的很快,在很多时候我们是不用考虑用 C/C++ 去做,忽略它所带来的好处,当然除非这个工程真的很需要处理底层的东西(象 内核的编辑,3-D 图形等)。很多时候 python, java 等都可以实现。另外在现在很多工程所要求的时间都不是足够充裕来用 C/C++ 去做,所以在商业上时间就是金钱,这个代价谁也付不起。
我这里并没有说 C/C++ 不好,你不应该学。相反我觉得我们应该学,但不是作为一个初学者的语言来学。在 C 和 C++ 之间,我推荐先学 C 。.因为它相对来说较小,简单。作为一种底层编程语言,C,你可以学到很直接的内存管理,指针,等。另外,很多语言都是用 C 来设计的, 比如 perl , java, python
其它语言值得一学的有 perl , Lisp(当然你也很一说 effile, proflog),提到 perl 是因为它的实用性,广泛的应用在网络和系统管理,perl 提倡 "There is always more than one way to do it" 这主要是从 perl 的语法以及它的独特设计上来获得,记得用几行code 你就可以写出很有效率的程序?这也就是为什么我很喜欢perl 了。但是perl 的语法着实让很多人头疼 而且对于用 perl 写的大型程序,维护性不是很好,python 就没有这方面的问题,这也是为什么很多 perl 的用户转向了 python 。很多人用 perl 的目的和用 python 一样,避免在不要求 C 的效率时 使用 C。
Lisp 据说是很有启迪性的语言,会让你成为一个更好的程序员.(我还没有到达那个程度 :-)
我个人推荐 (python, java, C ,perl, 和 Lisp),因为他们使用不同的方法来编程,每一种都会在某种程度上交给你些很有价值的东西。
谈到学习编程,单纯的上课和看书只会让你学习语言的特性等,只有学会用编程的思想来思考才是你终生受用的。这些只能依靠 “ 练习 “ 具体就是 1) 读程序 2) 写程序 看似简单,但坚持下来你才会真正体会到,这里没有其他可以投机取巧的方法学习编程了。
至于学多少种,是越多越好吧。但并不是指每个都精通,我想大家也没那么多时间和精力。但在你有了坚实的编程经验和基础,了解其它语言的设计方法、构造会开阔你的眼界,没准什么时候你也可以编出自己的语言(咱中国人编的!!) :-)
要提醒大家的是,如果每种语言总是略学皮毛,然后又急匆匆的跳到另外一种语言,那你就会一事无成,永远彷徨在初学者的门槛边。我想这句话不只是对程序员,对我们来说也是生活中的一个道理。
分享到:
相关推荐
本文旨在探讨一种从零开始的编程逻辑方法,帮助初学者建立坚实的编程基础。我们将以Python语言为例,介绍其基础知识及其在编程教育中的独特价值。 #### 二、Python语言概述 Python是一种广泛使用的高级编程语言,...
C语言作为一门基础且强大的编程语言,对于初学者来说至关重要。它不仅可以帮助你理解计算机底层的工作原理,还能为学习其他高级语言打下坚实的基础。因此,在学习编程之初,建议先从C语言入手,然后再逐渐过渡到如...
初学者常将HDL当作软件编程语言对待,试图逐行理解代码,但这样往往难以看出硬件结构。实际上,HDL代码经过编译和综合后,会被转化为硬件电路,因此,理解HDL如何映射到硬件结构至关重要。 3. 浮躁的学习态度 很多...
《C语言初学者必看》是一本专门为C语言学习者设计的教材,旨在帮助初学者快速掌握这门基础且强大的编程语言。C语言是计算机科学领域广泛应用的一种编程语言,它以其简洁、高效和灵活的特点,成为了许多软件开发的...
这本书籍对于想要深入理解ATL技术的初学者来说是一份宝贵的资源。ATL是C++编程中一个重要的工具,尤其在构建轻量级、高性能的COM对象时,它的优势尤为突出。 ATL编程的核心概念主要围绕以下几个方面: 1. **COM...
在学习C++的过程中,初学者常常会遇到各种挑战和困惑。以下是一些重要的忠告,旨在帮助你更好地掌握这门强大的编程语言: 1. 将C++视为独立的语言,不要将它与C混为一谈。虽然两者有相似之处,但C++提供了更高级的...
Matlab 编程必备手册(适合初学者) Matlab 作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算能力和丰富的绘图功能,同时也具有和 C、FORTRAN 等高级语言一样进行程序设计。利用...
Python是一种高级编程语言,因其简洁明了的语法和丰富的库支持而受到广大开发者的喜爱,尤其适合初学者入门。在Python的世界里,库扮演着至关重要的角色,它们为各种复杂任务提供了现成的解决方案,降低了编程的难度...
Scratch编程是一种图形化编程语言,适合初学者入门学习编程。通过拖拽积木块的方式,Scratch让编程变得更加简单和有趣。Scratch的基础操作包括拖拽积木块、点击角色、拖拽角色等。通过这些操作,我们可以轻松地实现...
本教程“C:C++编程必看教程.zip”针对初学者设计,旨在帮助他们清晰、高效地掌握这两种语言的核心概念。 C语言是1972年由Dennis Ritchie在贝尔实验室开发的,它的设计目标是简洁、高效,能够直接控制硬件资源。...
混合C语言和汇编语言编程的主要场景有以下几种: 1. 性能关键区:在某些计算密集型或实时性要求高的部分,可以使用汇编语言来编写性能敏感的函数,然后在C语言程序中调用这些函数,以提升整体程序的运行效率。 2. ...
【标题】"mYQQ-项目案例适合初学者"是一个非常适合初学者的编程学习资源,主要涉及C#语言的源代码开发。这个项目案例旨在帮助新手程序员熟悉C#编程语言,掌握软件开发的基本流程和技巧。 【描述】"mYQQ-项目案例...
2. **编程语言入门**:通常,初学者案例会从一种或几种常见的编程语言开始,如Python、Java或C++。学习编写简单的“Hello, World!”程序,理解变量、数据类型、条件语句和循环等基本语法结构。 3. **算法与数据结构...
Python是一种流行的高级编程语言,因其简洁的语法和强大的功能而受到全球程序员的广泛喜爱,尤其适合初学者入门。本文将推荐几本优秀的Python入门书籍,帮助初学者快速掌握这一语言。 1. **《Python核心编程第三版...
Java是一种高级计算机语言,以其面向对象、分布式处理、多线程和卓越的可移植性、安全性等特点备受青睐。对于初学者来说,理解Java的核心概念至关重要。以下是对几个关键术语的详细解释: 1. API(Application ...
C#是一种广泛应用于软件开发,尤其是Windows桌面应用和游戏开发的编程语言。它以其简洁、类型安全和面向对象的特性而受到程序员的喜爱。本资源集合是针对C#初学者的一份宝贵学习材料,包含了100个入门实例源码以及...
C++ Builder是一款强大的集成开发环境,特别适合初学者入门编程,因为它提供了直观的图形化界面和面向对象的C++语言支持。在这个“初学者学习C++ Builder第一个程序”的项目中,我们将探讨如何利用C++ Builder创建一...
初学者会了解到C语言的简洁性、高效性和灵活性,以及它如何成为其他许多编程语言的基础。 2. **基础语法**:包括变量、数据类型(如整型、浮点型、字符型等)、运算符(算术、比较、逻辑、位操作等)、流程控制(如...