`
xiaonuomi
  • 浏览: 530 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

那些活在记忆或现实中的程序设计语言

阅读更多

       程序设计语言是学习计算机的重要组成部分。首先声明,我这里不会对任何两种语言作对比,也不会评价哪个语言怎么样,仅仅是谈谈我在学习过程中的一些感受。
      很多人对语言有着一定的宗教情节,一般来说是第一种语言或者花时间最多的语言。就像很多人总是对初恋恋恋不忘一样,同样第一门语言也难以忘怀,不管记忆是美好的还是痛苦的,不管是享受还是受虐。最终的结果也无外乎几种,相守相伴大半生,或者只是匆匆过客另寻新欢,或者爱太痛,最终想爱不敢爱。我想大多数人的第一门编程语言会是C/C++,显然她并不是一个很温顺而任人摆布的人,当然如果你足够强大足够魅力的话就另当别论。在这其中很多人会找到自己的真爱,而可能有很大部分的人会感觉不会再爱了。像张小娴写的,在对的时间,遇见对的人,是一种幸福;在对的时间,遇见错的人,是一种悲伤;在错的时间,遇见对的人,是一声叹息 在错的时间,遇见错的人,是一种无奈。也许是本来就是错的人,又或许只是时间不对。对于刚上大学的很多学生之前除了上网聊天看电影打游戏外基本没多少接触计算机,对编程更是知之甚少。对于编程语言来说,有的是对计算机更亲近 更友好,就如C/C++,而有的对人类更亲近更友好,如Ruby,Python。因此对于之前基础知识缺乏的人来说,这个时间显然是不对的。
       但是,现实生活中一见钟情并不是大多数,感情是可以慢慢培养的,当你对一个人充分了解和熟悉后或许你会对其态度有很大的转变,当然也不排除更加坚定你当初的想法。因此很多人开始去了解C/C++的全部,了解其过去,了解其成长经历,了解她的好,也了解她的小脾气。于是你慢慢发现原来她是这么温顺还带一些可爱,她发脾气只是因为你不够了解她惹她生气了。当然她也不会是完美的,因为她就像某一群体的人一样,是不允许有错的,错都是你犯得。但程序始终只是程序,不要因此指望程序员会在生活中仍然认为错都是自己犯的,总会能发现自己的不足。
      同样我学的第一门语言是C++,大一的时候这一门课本来是没开的,但是发了一本书,是我们院老师自己编的《C++程序设计》。受好奇心的驱使,就翻翻看,然后就在网上搜搜,发现这个东西虽然看起来不能吃,但是很厉害的样子。在网上的推荐下,在图书馆借了本《易学C++》回去,在寒假时候看了看,同时也试着运行书上的例子。最开始的时候以为只要看完了就应该可以自己搞个什么软件了吧,估计很多同学当初有和我一样的看法,认为编程就得要弄出个图形界面什么的。最后直至书看完了,也没发现有这么个东西,这个时候就有点失望加迷茫了啊,到底要怎么才能弄出那个东西了(很多同学是不是也想过)。于是去网上搜啊搜,就看到些关于Windows编程啊或者MFC之类的东西,但同时也看到说学C++和用C++做GUI编程不是一回事,学好C++才是王道。后来借了一些C++方面的书来看,比如老大Bjarne Stroustrup写的《C++程序设计语言》啊,虽然不大看的懂,但也在迷迷糊糊的看。那时候存在一种错误的倾向,把大量时间用来关注其语法细节,而不是用其来完成一些事情,导致的结果就是学了很久,虽然也考了个二级,但我深知我的水平仍然停留在HelloWorld级别。因此这个学期选了C++的课,打算经过系统训练来达到提高自己水平的目的。借用一句话,C++虐我千百遍,我待C++如初恋。
      大二时候突发奇想,买了本《Head first Java》来看,说实话这本书比较二(想知为什么自己去搜),而且讲的也不太系统,但仍不可否认这是一本入门级的好书。看着书上的讲解和运行着书上的事例,也或多或少对Java有一点了解,但我觉得收获最多的是,自己终于知道GUI编程是个什么东西了。同样借用一句话,Java很优雅,但我却并没有继续深入,一个原因是半期过后作业铺天盖地而来,一个是我还是喜欢学C++,毕竟得有始有终啊。
      因为特别原因在一个小广告公司上过几天班,学了点Photoshop,当时足以应付公司的需求了。说明一下,这个当然不是我水平高,而是他们的业务需求不高。其中两个难点我一直没有突破,一个是特效,一个是鼠绘,所以我只是一个会简简单单使用工具完成一些小需求而已,毕竟昵图网还是有很多资源只要花少量人民币就可以轻松拥有。当然上班时候这方面的技术需求少了,你就的干点别的,于是就的使用写真机,喷绘机,亲自操作,独立完成。在这过程中也懂了点油墨色彩什么的。大二时,同宿舍的同学上了网页方面的课。于是有着攻城师梦想且早已深知HTML是必备技能的我,眼看时机成熟就开始学,因为刚开学,没有太多任务,可以自由安排。
      于是又去图书馆借了本书《深入浅出HTML》,说实话,我智商真心不高,刚开始的时候看的不是太懂,加上我的好读书不求甚解的精神。但是慢慢的还是有所了解了,知道网页的三个主要组成部分,HTML、CSS、JavaScript。学完HTML,又看《CSS基础教程》,最后马马虎虎完成了一个课程作业,是真的马虎,没有谦虚。然后又去开始找JavaScript方面的书,刚开始的书感觉都不大适合我这样的初学者。就像我看《Python基础教程》的时候一头雾水一样,当然可能是我水平有限,而无关翻译或是原书的问题。后来找到本《循序渐进Javascript》,李强翻译(李强翻译过《JavaScript The Definitive Guide》第5版,第六版是淘宝UED翻译的)。看完《循序渐进Javascript》对JavaScript有了点了解,于是又买了本《JavaScript DOM 编程艺术》,看完后对DOM有了一定了解。接着看《JavaScript高级程序设计》有了更深刻的了解,当然接下来还看了一些书,就不一一列举。我也明白书看的再多,不如实践来的深刻。我的桌子上还躺着《JavaScript The Definitive Guide》最新影印版等着我完成了。
      不得不说一下我对JavaScript的一些看法,我觉得和PHP有一些相似,都是一个从屌丝到高富帅的逆袭过程。而且JavaScript毫无疑问已经是浏览器平台的霸主,其已经是目前浏览器端唯一的编程语言。而目前由于Node.js的出现,在服务器端也是独树一帜。当然也可以跑在Java虚拟机上了。
      很多人对JavaScript有一些误解,一个常见的是关于和Java的,有的说毫无关系,有的认为是其子集(这个错的离谱)。其实《JavaScript The Definitive Guide》已经说的很清楚,JavaScript语法源于Java(在设计时候也要求让其看起来像Java),其函数式编程来自Scheme(Lisp的主要方言之一),其基于原型的继承方式来自Self。JavaScript中不太好的特性比较多,而且很多东西比较迷惑人,但总体来说,是很容易上手的。
      因此我现在觉得学编程的比较好的方式是从HTMl+CSS+JavaScript开始。然后再学习一些较底层的语言或者其他语言,有很多人推荐从Ruby或是Python开始,我也觉得挺好;也有很多人推荐从函数式语言开始,但我对函数式语言不了解,《计算机程序的构造和解释》也只是翻了几页,所知的只是JavaScript中的那些。
     PHP也学过一点,跟着书上例子实现过,但总体来说,也是HelloWorld水平。然后Ruby最近看了点,我很喜欢,打算好好学习,因为我喜欢web方向,也想研究下Rails。
     不得不说,以上的过程正好是在暴露我的缺点,什么都想去玩一下,到最后什么都不会,但幸好我最终还是发现了这一点,而且以前想学的东西都了解过了,就不再像当初那样什么都想玩一下。而且现在招聘更看重基础能力,算法、数据结构,计算机网络,操作系统等等之类的。因此修炼内功才是关键,也玩够了,该定下来了。当然最重要的是,我希望这些话不只是说说而已,而是必须付诸实践。路已经选择,能做的是怎么走的更好。
     路漫漫其修远兮。

 

分享到:
评论

相关推荐

    C程序设计语言(第2版·新版)习题解答.pdf

    《C程序设计语言(第2版·新版)习题解答》一书是对K&R所著的《C程序设计语言(第2版新版)》中所有练习题的详细解答。该书旨在帮助学习者深入理解C语言,并提升其编程技能。作为C语言的经典教材,K&R原著详细介绍了...

    计算机程序与程序设计语言-教案.docx

    在教学中,通过讨论算法、程序、程序设计和程序设计语言之间的关系,学生能够深入理解计算机科学的基础概念。教师可以引导学生进行自主学习,比如通过网络搜索了解不同类型的高级语言以及它们的编译和解释过程,同时...

    第三章计算机程序设计语言.docx

    硬件方面基于冯诺依曼硬件体系结构,程序设计语言的发展也体现在两个方面:一方面是程序设计语言的分类和发展,另一方面是程序设计语言的应用和普及。 3.2 主流的程序设计语言 程序设计语言可以分为四类:机器语言...

    单词记忆测试器程序设计

    【单词记忆测试器程序设计】是一个基于汇编语言(MASMPlus 1.2 集成环境)的程序,其主要目标是帮助用户记忆英语单词。程序包含以下几个关键功能: 1. **输入单词**: - 用户可以输入一系列英文单词,每个单词长度...

    C程序设计语言第2版习题解答

    在《C程序设计语言第二版》的学习过程中,理解基本语法和数据类型是基础,掌握控制结构(如if语句、循环)和函数的使用是关键。随着深入,你将接触到指针、内存管理以及结构体等高级主题。这些知识点不仅需要理论...

    PLC常用程序设计语言.pdf

    在PLC程序设计中,需要根据实际情况选择合适的语言,梯形图语言和布尔助记符语言是基本程序设计语言,它们通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能。功能表图语言和结构化语句描述语言是高级...

    计算机应用基础--第三章计算机程序设计语言.ppt

    "计算机应用基础--第三章计算机程序设计语言" 计算机程序设计语言是计算机应用基础的第三章,涵盖了计算机程序设计语言的概述、分类、发展历程、应用领域等内容。本章节旨在帮助读者掌握计算机程序设计语言的基本...

    PLC可编程控制器程序设计语言简介.pdf

    PLC可编程控制器程序设计语言是指在可编程控制器中使用的一种程序设计语言,可以帮助用户快速地设计和实现控制程序。这些语言包括梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言、结构化语句描述语言等...

    机器语言与汇编语言高级程序设计语言.pptx

    在程序设计语言中,这些记号串就是程序。 机器语言:机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。机器语言的特点是...

    单词记忆测试程序设计.doc

    【单词记忆测试程序设计】 本课程的任务是设计一个基于单片机的单词记忆测试程序,旨在帮助用户测试和提升英语单词的记忆能力。该程序的核心功能包括单词的录入、屏幕显示、用户反馈以及正确率计算。 1. **单词...

    《程序设计语言编译原理》(第3版)课后答案

    《程序设计语言编译原理》是计算机科学领域中的一本经典教材,主要讲解了如何将高级编程语言转换为机器可执行代码的过程。陈火旺教授是该领域的知名专家,他的第3版教材深入浅出地阐述了编译器的设计与实现。这本书...

    java的记忆程序设计

    "Java的记忆程序设计"指的是在Java环境中开发的用于测试和提升记忆力的程序。这个程序可能包含各种互动元素,如问答、游戏或其他教育工具,旨在帮助用户通过有趣的方式来记忆各种信息。 在Java中进行程序设计时,...

    程序设计语言和编码PPT课件.pptx

    在学习程序设计语言的过程中,了解这些概念对于编写出既符合规范又高效的代码至关重要。 首先,让我们从程序设计语言的基本组成部分入手。一个完整的程序设计语言应当具备数据成分、运算成分、控制成分和传输成分。...

    程序设计语言和编码.ppt

    程序设计语言和编码是软件开发过程中的核心环节,它们直接影响着软件的质量、可维护性和开发者的工作效率。在软件工程的编码阶段,程序员需要依据详细设计文档编写程序,而选择合适的编程语言和保持良好的编程风格至...

    程序设计语言的发展概述.pptx

    程序设计语言的发展历程是计算机科学中的一个重要主题,它反映了计算机技术的进步和创新。程序设计语言,简单来说,就是一套规则,用于编写计算机程序,这些程序可以控制计算机执行特定任务。程序则是由一系列指令...

    程序设计语言.pptx

    程序设计语言是软件开发的核心部分,它用于将设计和分析阶段的抽象概念转化为计算机能够理解和执行的指令。编码,或称编程序,是这个过程的关键步骤,它涉及到将详细设计的具体逻辑转换为可执行代码。在软件工程中,...

    让兴趣在程序设计语言的课堂教学中飞扬.pdf

    在程序设计语言的教学中,激发学生兴趣是至关重要的。兴趣可以点燃学生智慧的火花,成为他们学习动力的催化剂。教师的角色是创造一个有趣的课堂环境,利用各种教学策略来培养学生的求知欲,增强他们对程序设计语言的...

    11.3-程序与程序设计语言.ppt

    在IT领域,程序和程序设计语言是至关重要的概念。程序是一种特定形式的指令集,用于指导计算机执行特定任务。它们是算法的具体实现,是将人类解决问题的逻辑转化为计算机能理解和执行的语言。 首先,我们来深入理解...

Global site tag (gtag.js) - Google Analytics