有位大牛说”模式是语言缺乏表现力的佐证”。开始不理解,这么多语言,什么Java、C#都是用设计模式来创建工程,不是说模式是对于具体问题的解决吗?
后来发现原来这句话还的确挺有道理,我们使用面向对象的观点来创建项目工程,然后解决具体问题,但是,语言很多使用使用固有的东西难以解决问题,问题本来就是一个对象,但是你这对象的语言又不能表述这个问题,那不就是说你缺乏表现能力呗。嘿嘿~歪理
不过,没有正式接触过Python、ruby之类的很具有表现力的纯正的面向对象语言,所以就不好拿出具体的例子来说明。
不过,在c#中,却不料模式,我们不能因为这些先天缺陷就抛弃c#仔,太不人道了。以前没有认真的想过模式的东西,后来发现自己却慢慢琢磨出来一些东西,且称为觉醒了。不过,我的觉醒不成体系,对于问题的思索只是顿悟然后网却,对于像GoF23这些牛人的相比就自然是鲁班门前弄大斧。不过,有这样的几个东西很喜欢:工厂模式、装饰模式、单例模式
工厂模式让我们认识到我们缺乏来身体力行基本的解耦合准则。
装饰模式我只是觉得不按顺序的出牌方式很好玩。
单例模式只是用的最多吧。
还有就是,关于实现模式的过程,充满了挑战,简单的工厂模式,你可能会用到反射来动态生成,这也是我在看动软代码生成器的时候发现的,以前一直没有这样想过,哎~我这脑子,天天就只知道睡大觉了
嘿嘿,模式,我也不懂,就闲说两句凑凑文章数吧
以前的文章中曾经说过关于Django的东西,并且写了几篇关于Django入门的东西,算是对Django官方入门文档的翻译吧,这两天在想关于创造力的东西,觉得Django有必要在拿起来然后好好看看,因为Django默认就是mvc的模式,所以如果不了解mvc的话就会觉得很不熟悉,不过幸好前段时间看了微软的MVC系列,并且身体力行的试着写了点东西,所以现在很容易就了解了。不过,微软的东西都是巨头,不管是IDE还是调试,所以就对于Django尝试返璞归真,只是使用cmd窗口以及没有提示的编辑器。
对于Django,有一个感觉就是一切都简单了,因为很多东西都是底层帮你负责,一般如果要写一个小的东西就不会涉及到底层数据库的存储等,所以,如果你不知道具体的存储也没有关系。Django帮我们做了很多。其实,这个和rails差不多,因为打算做好Python的学习,因此是Django而不是rails,不过貌似论效率的话rails更胜一筹。
在Django中经常使用到的命令:
manage.py runserver
manage.py syncdb
manage.py sql somethingofyours
manage.py startapp yourapp
当然,这些也会经常遇到,所以,不用刻意去记住。不过,为了自解释性的需要,在写Django中函数的时候,建议还是写全称而不是缩写,这是一个规范而不是强制的约束。
其实想使用xampp来搭建Apache环境使用mysql,但是没有成功克服xampp最著名的端口占用问题,并且短期内不会使用虚拟机来搭建新的Linux环境,于是就使用SQLite来作为数据库,也是很著名的一个数据库,不过,现在还没有找到图形界面,所以用着很不习惯,只是命令行的东西对于我这依赖于windows的人来说的确一时难以适应。嘿嘿,要不然就自己写GUI~额,开玩笑~
其实,学习Django很简单,因为Python并不是很难,在官方下载下来具体的文档以后,安装就行了,还有就是可以搭建一个本地的Django文档,使用sphnix来创建,具体可以谷歌“Django本地文档创”.
对于Django有几个需要知道的概念,下一篇写~
最近看到一篇文章说要找到一门让自己开心的语言(还有让自己有饭吃的语言),让我想到了自己现在的处境。可以说c#已经算是让我能够有饭吃的语言了吧,至少是这样认为的,但是,他却不是让我开心的语言,原因很多,主要就是觉得没有创造力了。而函数编程F#等我有不是特别明白,自然谈不上高兴,别揪心就行了。于是想到了Python和ruby。
以前就看过Python,感觉很多地方的确符合自己的习惯,但是,被c#宠的想要向VS那样强大的IDE于是就没了下文,仅限于暑期实践报告的时候写了一个抓取数据并进行分析的程序。不过,对Python一直保持着好感,因为,看到他的第一眼就觉得这个东西很神奇,因为你不再需要繁琐的去来做构架,而是只要按照自己的思路编程,让自己快乐就行。
当然,ruby作为一门更新的语言,很多地方时吸取了Python等众多语言的优点,更加的强大,但是从大家的评价以及自己的感受上来看,我觉得不适合自己:
1 ruby太慢。貌似c的速度比这些都快,但是由于总是在指针上搞迷糊所以就取速度还可以的Python,至于ruby,太慢。
2 ruby太单一。说道ruby,大家就都会想到rails,的确,以我的个人感觉,ruby是靠rails发家的,额~但是,发家以后就不思进取了,不想别的领域扩展,起码的数值处理等也不好,让我这个面临毕业论文需要数学处理的人只能选择Python。
3 社区稳定性。对于这些开源的语言,社区就是他们的动力,但是从大家的反应来看ruby的社区貌似挺乱的,这可怎么敢放心把开心的原点交给你呀。所以,这个社区的稳定也是很重要的。相比之下,Python虽然版本有2.X和3.X,并且不向下兼容,但是十几年的历史Google、NASA撑腰,我还是很放心的。
4 个人感觉。看到Python,我很快就进入状态了,但是ruby总是不太明白,所以可能是自己对于面向对象的修行不够,那就先从Python入手吧。
所以,其实不是不想选择ruby,同样我也被ruby的优雅所吸引,但是,只能考虑现实来让自己开心啦,嘿嘿,人生苦短,我用Python~