编程:那种语言更能学到设计模式,架构思想呢

编程:那种语言更能学到设计模式,架构思想呢,第1张

Q1:关于纯粹的面向对象语言

初学者不要太执着于某些教材所谓的"纯粹的完全的"面向对象 面向对象并不是像一些人想的那样silver bullet 从面向对象和面向过程的相互关系中可以发现, 从设计模式的学习中中也可以发现: 两者不过是你中有我, 我中有你, 不可分离的

Q2:关于语言与编程(模式)

借用大牛的话: 深入一种语言去编程才能深刻理解, 另外,可以多用几门语言(包括动态和编译的)有助于理解不同编程方式 集中并深入一种语言去编程的能力, 也就是超越了一种特定的语言 java, C#, C++的区别只是在入手难易和应用领域不同 个人还是认同C++之父的话, c++是程序员值得学习的语言, 它的表达能力强大, 某种程度能够cover另外两种 但说到底, 高手都是通过深入而后超越一种语言得到了思想

design pattern某种角度上可以看作是面向对象版本的数据结构 而架构思想和一些框架都是多种模式结合的一种实现, 这些不是简单的学习来完全理解的 建议依据实际工作和项目中的框架多多实战, 而模式又何止Gof的23种呢

最后个人心得是:1必须多读程序, 2尽量多写.

代码只是实现了逆序输出,而没有把sentence中的内容逆序,每逆序输出一个单词,都用结束符来替换。

#include "stdioh"

#include "stringh"

void InverseByWord(char sentence)

{

int n,i,j;

n=strlen(sentence);// 计算字符串长度。

for(i=n-1;i>-1;i--)// 从最后一个元素开始循环,直到第一个元素

{

if((sentence+i)=='\0')//如果是结束符的话,仍然设置为结束符。由于字符串长度不变,所以结束符位置不变。

{

printf("%c",(sentence+i));// 输出结束符

(sentence+i)='\0';//设置结束符

}

if((sentence+i)==' ')// 如果是空格的话,说明新的单词开始。

{

n=strlen(sentence);// 计算字符串长度

for(j=i+1;j<n;j++)// 从i+1开始输出新的单词

{

printf("%c",(sentence+j));

(sentence+j)='\0';// 输出后清除字符。

}}}

printf("%s\n",sentence);//输出字符串

}

void main()

{

char pStr[100]="This is an interesting programe";

InverseByWord(pStr);

}

12 C 语言的特点

C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的

功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。

用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 象PC- DOS 、

WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:

1 C是中级语言

它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象

汇编语言一样对位、字节和地址进行 *** 作, 而这三者是计算机最基本的工作单元。

2 C是结构式语言

结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的

信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调

试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循

环、条件语句控制程序流向, 从而使程序完全结构化。

3 C语言功能齐全

C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另

外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑

判断功能也比较强大, 可以实现决策目的。

4 C语言适用范围大

C 语言还有一个突出的优点就是适合于多种 *** 作系统, 如DOS、UNIX,也适用于

多种机型。

计算机软件工程学:程序设计语言、数据结构、离散数学、 *** 作系统、编译技术、软件工程概论等。

软件工程是普通高等学校本科专业,属于计算机类专业。软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

不对,面向对象必须以类class为基础,以类为程序的基本单位

而C语言是以函数为程序的基本单位,没有类的概念,所以不是面向对象

C语言应属于结构化程序设计模式,即使用顺序分支循环三种结构完成所有事情,以过程(在C语言中是函数)为基本单位,因此它是面向过程的

设计模式还是上java吧

如果你对 *** 作系统感兴趣可以看linux的源代码

事实上如你所说,现代os 内核采用了大量的面向对象的思路和分层的设计

c语言实现OO的主要办法是函数指针,在linux内核中用的非常之多

我个人觉得OS另一个重要的设计思想是分层抽象。

你写一个linked list就头大实在是基本功的问题,和设计模式这么高层的没关系。

Python设计模式主要分为三大类:创建型模式、结构型模式、行为型模式;三 大类中又被细分为23种设计模式,以下这几种是最常见的。

单例模式:是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个是实例时,单例对象就能派上用场。单例对象的要点有三个:一是某个类只能有一个实例;二是它必须自行创建整个实例,三是它必须自行向整个系统提供这个实例。

工厂模式:提供一个创建对象的接口,不像客户端暴露创建对象的过程,使用一个公共的接口来创建对象,可以分为三种:简单工厂、工厂方法、抽象工厂。一个类的行为或其算法可以在运行时更改,这种类型的设计模式属于行为型模式。

策略模式:是常见的设计模式之一,它是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。换句话来讲,就是针对一个问题而定义出一个解决的模板,这个模板就是具体的策略,每个策略都是按照这个模板进行的,这种情况下我们有新的策略时就可以直接按照模板来写,而不会影响之前已经定义好的策略。

门面模式:门面模式也被称作外观模式。定义如下:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。门面模式注重统一的对象,也就是提供一个访问子系统的接口。门面模式与模板模式有相似的地方,都是对一些需要重复方法的封装。但本质上是不同的,模板模式是对类本身的方法的封装,其被封装的方法也可以单独使用;门面模式,是对子系统的封装,其被封装的接口理论上是不会被单独提出来使用的。

问题一:专业程序员需要掌握的几种语言 受到这篇文章()的启发,我突然想起对我所会的和要学的语言做个分类。确定一下专业的程序员到底需要会多少种语言。1系统类。只有C一个,必须学,而且需要在几个系统上编程就要学几次。学习系统类语言需要的是对系统结构和运行原理的了解,因此抽离系统的学习语法/抽象库/代码结构是没有任何意义的。2面对对象类。C#,Java等,推荐Java。构架方法优美大气,代码容易修改容易阅读,复用性好。然而做事上架梁叠屋,吃个馒头洗三遍手。可以学习构架方法,千万别学做事方法。3一门快速的脚本语言。Python, Php, Perl, Bash,各有特色。实际上如果你有空可以统统学一遍,非常有好处。快速脚本语言的特色就是整合其他代码和已经存在的东西,快速的构建出一个可用的程序。按照上面的分类,程序员最少要会五种语言,我假定是C/Java/Python/Scheme/A 80x86。C++不要学,那个是万恶之源。那么下面列举了我推荐的一些书单,可以由浅而深的学习这些语言。1入门,《21天学习C语言》《Dive Into Python》《80x86汇编基础教程》等等,这类书的目地是快速的教会是使用语言和语法。完成这个阶段的程序员可以找一些简单的题目做一下,但还不能独立完成普通程序的编写。2简单,《Think In Java》《数据结构与算法(Java语言版)》《设计模式》。这个层面基本涉及了数据结构,设计模式和编程方法。完成这个阶段后,可以找几个实际项目玩一玩了。3普通,《 *** 作系统:设计和实现》《Unix系统编程》《windows核心编程》《TCP-IP详解》《Effective C》。这个层面涉及了系统运作原理和细节。完成这个阶段就可以写一些系统工具了。4阅读,《Python源码剖析》《深入浅出MFC》《Linux内核完全注释》。这个阶段注重阅读和积累各种代码经验。5专家,《计算机程序的构造和解释》《计算机程序设计艺术》《MIT算法导论》《数值算法》。通过前面的学习,普通程序编写应当已经不成问题。这个阶段面对的是将实际问题抽象成数学问题后,试图从数学上进行解决的过程。从此以上,就是数学的领域了。

问题二:要当程序员 需要会哪几种语言 现在比较流行的是JAVA,这个比较容易,以后应该也比较好找工作,你也可以学C/C++,比较难。你先确定你以后的方向,是网页编程,是游戏开发,是做纯软件,还是镶入式开发,然后学相应的语言和开发工具。

问题三:成为程序员要学什么语言 那你要做哪方面的,程序员要具备的素质有很多,不是程序员三个字就可以说清的,底层,前端,框架,都需要不只一种语言,新手C语言,java必学。

问题四:如果想成为一个程序员应该学习什么知识 程序员需要学习程序的逻辑,其次是需要学习编程的语言,这才是最根本的,有了语言才能和计算机“沟通”

如果做一个专业的程序员:

1基础语言知识 :从底层的ASM 到结构化的C,到面向对象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一门

2基础数学知识: 高等数学(数学分析) 线性代数 离散数学,概率数理统计等等

3基础计算机原理: *** 作系统原理,微机原理,编译原理 数据库原来等等

问题五:程序员需要学些什么? 要看你喜好了,做什么都是有兴趣才能学好

想学程序 先确定要学什么 c c++ c# java pb vb等等

现在流行就是c#和java c++也可以 不过比较有深度

先学语法 再学程序实例 最后做项目程序员 工资中上等吧 但是很辛苦

如果你认真学习 不到半年你就会学的很好

问题六:程序员学习语言的顺序最好是什么? 个人认为没什么最好的,按你个人发展方向的不同,会有一定差异,

比如我是走WINDOWS方向的,我可说说我的,

这也是我走了无数弯路才知道的一个走法,

首先的话推荐好一门高级语言,找找编程的感觉,而我选的是C语言。

然后建议学学汇编,这个主要原因是为了充分获得底层编程的体验,深刻理解机器运行程序的机理。N多人说汇编没用,要知道的是我们是在跟机器打交道,所以我们应该以机器的方式去思考一些问题,总之对编程能力是有好处。

之后就是学习数据结构,主要是学习算法,组织数据结构和解决问题的能力。

之后就看看 *** 作系统原理,这是为下一部打下更好的基础,

再后面就是WIN32, Windows编程这些,具体就不多描述了。

学到一定程度时,应该把一些基础课程补补,像什么数据库原理,计算机原理,等等

这些补上,对自己都是有好处的,

最后想说的,无论什么方向,数据结构,和基福课程都是要学的。因为这些都是内功,

框架什么的都只是招式而已。还有就是不要总想着什么语言流行什么不流行,搞得自己一会

学这个,一会又学那个,这只会浪费时间,语言都是通的,选好一个自己认为能接受的,就

一直把它学下去。当这语言通了之后,再学其它语言,只是很轻松的事。

一些小建议希望有帮助。

问题七:想做程序员,学哪种语言好? 不知道你在哪个城市,在一线城市,比如北京程序员的待遇是非常好的。开发语言比如Java,PHP等等都是非常好的,当然这几年移动端APP开发比较火,你也可以学习安卓和ios开发。

问题八:程序员应该优先学哪些语言? 那一种都只要学的深,都能工资高,你不妨选一门语言,深入的学一学,比如java,学学它的反射,虚拟机运行原理,框架这些,然后看看数据库,html这方面的,你一们语言学深了,看别的语言都不难,都异曲同工,还有你可以看看公司的招聘要求。

问题九:现在学什么程序语言最好?? 靠!你如果想成为一个优秀的程序员的话,数学对你来说是非常重要的!计算机归根结底就是在搞数学,我看到很多计算机高手都是数学高手!我觉得语言没的必要学那么多,只要学一门就够了!语言都差不多的,一门语言和别的语言的不同之处,也就是提供的数据结构的不同,比如C语言与C++语言的不同之处就是C++里面提供了类,所以说C++语言面向对象;有人说JAVA语言更安全,为什么呢;因为JAVA里面没的指针,所以更安全;所以从这些来看语言的不同之处就在于他所提供的数据结构的不同,正是这些让语言间有了差别;所以说数据结构对学计算机的人来说是非常重要的;我在网上看到很多大学的学生说学校教的东西没的用,计算机的知识变的好快等!其实我觉得学校的学的东西,虽然不能拿到社会上用,但是都是很有用的,他给你建立了一套体系!教会了你计算机的思考方式,培养了你的计算机素质,计算机的东西再变的快,但是他的根本不会变,只要你把学校教给你东西把握好,你就能跟上他丁发展,你就不会觉得他变化的快了!

你想成为一个程序员:你可以只懂C语言,你只要会编程,只要能把代码搞的通就行了,其他的什么都不知道都可以,别人会说你是一个程序员;如果你想成为这样的程序员的话,你就可以只看C语言了!

但是你要成为一个优秀的程序员的话,你要学的东西太多了,语言只是很少的一点,因为你要考虑到你编写的程序的,效率,如果你站的高一点(作为一个软件工程师的级别)你会考虑到你代码的风格和可维护性;要考虑到效率,你就应该知道C语言是怎么样被运行的;那样你就需要去学编译原理,如果还要了解的更清楚,那还要去学很多计算机方面的基础内容( *** 作系统,组成原理等等)

如果你要考虑到代码风格的话,你就要去学软件相关的知识,比如软件工程,软件项目管理等,只有你了解了这些你才知道怎么样写出维护性好的程序来!

这个是我自己的看法!希望大家不要骂我哈!我是很重视基础的,说句实在话我很瞧不起,那种整天学语言的人,那重整天拿着VC++到处跑的人,遇到点新东西他们就会头痛!

所以做我觉得你可以先从C语言学起,先粗略的学一次,然后再往低层和上层发展,比如定义了个int A = 2 ;

你可以问自己一下,计算机是怎么样来实现这个的,这样你就需要去学系统结构啊,还有别的底层的知识

你编写了个程序,你可以看一下,如果自己一个月以后来读这个程序,你还看的懂吗?去学软件工程的知识,了解为什么需要好的程序风格!

我觉得只有你把这些都搞的比较明白了,你可能才算的上是一个优秀的程序员!

以上就是关于编程:那种语言更能学到设计模式,架构思想呢全部的内容,包括:编程:那种语言更能学到设计模式,架构思想呢、C语言程序设计思路、C语言的主要用途等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9345158.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存