西西河

主题:【原创】编程心得 -- 荆棘探兴

共:💬198 🌺258
全看树展主题 · 分页首页 上页
/ 14
下页 末页
家园 关于编程思想

这个编程思想,我一直有个疑问:有独立于编程语言的编程思想吗?毕竟各种语言的设计理念就不同,比如C++与ruby的编程思想肯定会激烈掐架的——那么到底没有放之四海而皆准的编程思想呢?

家园 设计思想无非就是算法,当然软件实现是要考虑

到具体语言的特性,例如C++等面向对象语言,就要深刻体会类、继承、封装、虚函数、抽象类、接口、多态等,而不是肤浅理解,否则不得OO设计精髓。之后再学习设计模式、面向方面编程等。建议多看类库的实现代码,这些代码都很经典,要多动手编程。

家园 C#排第五了

最近用C#做一个项目,现学的。如果不涉及到算法优化的话,实在是做应用逻辑的利器。语言本身设计得非常周到。我都怀疑我做完了能不能回头再适应C了。

缺点也有。最大的缺点当然是它是微软的。MONO好像影响力始终不大。另外和C/C++库的接口是个巨大的恶梦(相对于C#本身的方便而言,要是相对于C/C++,不算什么)。有哪位了解Java的JNI的,有这个问题吗?

家园 JNI显然是个噩梦

家园 遇到的unknown problem

编程最烦的莫过于编译通不过,却怎么也找不到错误了吧。

学VHDL,从书上抄了一个可复位的D触发器的程序。maxplus2愣是通不过,给出的错误提示是:unknown problem.

这可真是让人郁闷了,一群人凑一起,看不到20行的程序一节课,没找到错误。喊老师来,琢磨到下课,也还是没找到错误。

唉~心情那个郁闷啊~

家园 有啊。

比如当在写GUI程序时,面向对象就是放之四海皆准的编程思想。

就算C语言没有类,用C语言实现的GUI框架GTK中,也用struct+函数指针生生造出了一套单根继承的面向对象框架。你会发现GTK与Java的swing其设计思想非常相似,虽然他们一个是C语言实现,一个是JAVA语言实现。

所以,语言与语言之间的编程思想可能会掐架,但是,当到了具体应用领域,任何语言所提倡的“思想”,都得臣服于该应用领域的“思想”之下。

而实际上,之所以不同的语言之间其提倡的“思想”存在差异,原因就是,每个语言设计之初,都有自己针对的应用领域,而不同的应用领域间,其“思想”存在差异。

家园 凑个热闹

很久没写code了,凑个热闹瞎聊聊。以前用过汇编,然后C,接触Java后学习面向对象的思维,再学习C++。有个挺深的感触,或者说是窍门:不管是什么语言,都要做到弄明白自己写的东西在内存里面是什么样子的,才可以说掌握了初步的技能。

打好了语言的基础,解决了工具的问题,下一步就是弄明白技术范围(domain),了解工具所服务的对象,否则最多也就是做个匠人,做做重复的工作。讲个笑话,如果夸一个工作了两三年的语言大牛,那是夸人;如果夸一个工作了五年以上的是个语言大牛,那就是骂人了 :-)

而只有在不断地利用工具解决问题中提炼出了符合自己思维模式的工作方式(methdology)以及直觉(敏锐性),才能说已经是个入门的程序员了。

入门之后的造化分两种,一种跟天赋密切相关的,走技术深度路线,说到底就是个数学问题。另一种应用导向,靠服务打天下。

所谓的大牛,并不一定智商最高。接触多了,才发现那些大神,可能只是身体好性格稳兴趣高,所以花时间解决过比别人多几倍的问题,从而敏锐性大大超过他人而已。

而专家,在起步的时候,可能只比余者多了解那么一点点东西,然后被逼着捧着一不小心就成了专家。

(乱七八糟的敲了一通,发现真是没营养的瞎聊,打住。。。)

家园 说的很实在
家园 花!

这么有见地的帖子,怎么花那么少,顶一下。

家园 其实,编程思想从来就是独立的

而编程语言才是依附于编程思想的。

但是往往新人是从编程语言入手的。至于编程思想,往往是到了一定阶段后才能用心体会。而这个体会,又往往与他所用的语言的熟悉程度和善用程度正相关,所以给人的感觉就反过来了。

一个简单的脉络,贻笑大方:

语句化编程

结构化编程

模块化编程

面向对象编程

Generic 编程

虚拟机编程

和现在微软的.NET编程

他们都各自试图解决一些先后出现的问题。而这些个解决方案往往带来一种,或者若干种新的流行的编程语言。那么,你说,是先有问题,再有方案呢,还是先有编程语言,再有编程思想?

非权威不成熟的看法。

家园 Objective-C

托了iPhone的福……升势迅猛,进入前十。我也在学。语法有点怪呀。

家园 格式问题?

比如该用tab的地方用了空格,或大小写,或typo

家园 C#的原罪就是他是MS系的

MS自己闭门造车,把C#越弄越复杂了,前景堪忧。好在现在Orcale正在大肆折腾Java,颇有自断手足的意思,

家园 习惯了就好了

我觉得很好用啊。。

就是那个半自动化的内存管理比较脑残

家园 好像不会有这种问题吧?

VHDL不区分大小写啊,应该用TAB的地方也都用的TAB啊。

全看树展主题 · 分页首页 上页
/ 14
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河